bugmonotone - Bugs: bug #30237, mtn au remote_stdio crashes on...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #30237: mtn au remote_stdio crashes on anonymous connection

Submitter:  Thomas Keller <tommyd>
Submitted:  Wed 23 Jun 2010 11:36:20 PM UTC
   
 
Category:  networking Severity:  3 - Normal
Item Group:  crash Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
mtn version --full: 

mtn-0.48

Sun 11 Jul 2010 06:10:32 PM UTC, comment #2: 

Fixed and tests updated in 596b85d40b22403c34e763948a4580fffb3c2e0a. The code on the server side is sufficiently intertwined with the netsync code (in particular the fallback-to-anonymous on an unknown client key) that just sending an all-zero key ID makes it work.

Timothy Brownawell <tbrownaw>
Group Member
Sun 27 Jun 2010 09:50:48 PM UTC, comment #1: 

A similar problem occurs if the server is started with --no-transport-auth (could f.e. be the case for remote_stdio over ssh://) - no crash happens in this case, but the client just stalls.

I've looked at network/session.cc (request_automate) and I think the easiest (best?) way to solve the issue is to introduce a new netcmd, like automate_cmd_anon or something, which only sends the unverified nonce as session token over the network (if we even need this), and raise the netsync version. Surely, a common "auth_cmd" for both, netsync and automate, would be better, but I don't know how we could achieve this without breaking netsync largely. At best we could introduce another auth command and use that while deprecating (but keeping) the old code until 2.0.

Opinions?

Thomas Keller <tommyd>
Group administrator
Wed 23 Jun 2010 11:36:20 PM UTC, original submission:  

$ mtn au remote_stdio localhost --key ''
mtn: warning: No database given; assuming ':memory:' database. This means that we can't
mtn: warning: verify the server key, because we have no record of what it should be.
mtn: warning: no branch pattern found in URI, will try to use suitable database defaults if available
mtn: connecting to mtn://localhost
mtn: first time connecting to server mtn://localhost
mtn: I'll assume it's really them, but you might want to double-check
mtn: their key's fingerprint: 3813665344df95db54e8f691c92969d76c69eae6
mtn: warning: saving public key for server@localhost to database
mtn: fatal: error: netcmd.cc:607: I(client.inner()().size() == constants::merkle_hash_length_in_bytes)

Thomas Keller <tommyd>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by tbrownaw (Posted a comment)
  • -email is unavailable- added by tommyd (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-07-11 tbrownaw StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code