git-annex/doc/todo/p2p_protocol_flag_days.mdwn
Joey Hess 17a0fa3dbc
negotiate P2P protocol version for tor remotes
This negotiation is not supported by versions of git-annex older
than 6.20180312. Well, maybe really 6.20180227 or so, but using that in
the changelog simplifies things since it was the version for the other
changes as well.

See commit c81768d425 for the back story.

As well as allowing for future protocol improvements, this will result
in negoatiating protocol version 1, which is an improvement over default
version 0.

In fact, it looks like no supported version of git-annex will use
protocol version 0, since version 1 was introduced in 6.20180227.
Still, removing the code for version 0 seems unncessary.
See commit 31e1adc005.

Sponsored-by: Brett Eisenberg on Patreon.
2021-10-11 15:58:51 -04:00

28 lines
1 KiB
Markdown

Some things to do with the [[design/P2P_protocol]]
are works in progress, needing a future flag day to complete.
## VERSION over tor
Old versions of git-annex, before 6.20180312, which speak the P2P protocol
over tor, don't support VERSION, and attempting to negotiate a version
will cause the server to hang up the connection. To deal with this
historical bug, the version is not currently negotiated when using the
protocol over tor. At some point in the future, when all peers can be
assumed to be upgraded, this should be changed.
> [[done]] --[[Joey]]
## git-annex-shell fallbacks
When using git-annex-shell p2pio, git-annex assumes that if it exits 1,
it does not support that, and falls back to the old sendkey/rerecvkey,
etc.
At some point in the future, once all git-annex and git-annex-shell
can be assumed to be upgraded to 6.20180312, this fallback can be removed.
It will allows removing a lot of code from git-annex-shell and a lot of
fallback code from Remote.Git.
> [[done]] --[[Joey]]
[[!tag confirmed]]