improvements to bzr protocol

Bug #83935 reported by Martin Pool
8
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
High
Andrew Bennetts

Bug Description

The current bzr wire encoding is a bit of a placeholder. There are some things we might do to improve it:

1. Put an encoding version at the start of requests and responses, to allow the later changes. Although there is a request for the version of the server this implies that we already basically know how to communicate.

Concretely this can be done by eg prefixing the request with a line saying "bzr hpss v2". If the first line is _not_ that (or not similar) then it can be assumed to be in the primitive format. The two should never overlap because we know what verbs can start a request.

2. Allow for more complex arguments -- I suggest we should use bencode to pack the arguments. That would avoid the restriction on what strings can be used, and allow for lists, dicts, etc in the arguments.

3. Consider being able to serve http from the same port and server - again this can be done by just looking at the first line of the request.

4. Consider how we will serve non-anonymous connections for write access. Perhaps it is enough to rely on either sshd or an httpsd to authenticate the client. If that is so no protocol changes are needed. We might separately want to be able to look at the web server's authentication headers.

(Follows on from conversation with Andrew)

Tags: hpss
Martin Pool (mbp)
Changed in bzr:
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Martin Pool (mbp) wrote :

It should also include the client and server version strings, so they can be logged.

Revision history for this message
Andrew Bennetts (spiv) wrote :

We've got a version two of the protocol, that does prefix requests (and responses) with a protocol version identifier, so point 1 is fixed.

The rest of the bug is still open, though.

Revision history for this message
Andrew Bennetts (spiv) wrote :

Points 1, 2 and 3 are now done.

Point 4 has been moved to a new bug: bug #231001.

Changed in bzr:
assignee: nobody → spiv
status: Confirmed → Fix Committed
Andrew Bennetts (spiv)
Changed in bzr:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.