[bittorrent] Encryption, Azureus Extended Messaging and reserved bits...
alan.mcgovern at gmail.com
Mon Sep 11 11:21:27 EDT 2006
[sorry for posting this twice, i didn't reply to the list the first time]
Cool. Thats great. Let me know if you find anything about Peer Exchange. I
might give the azureus devs a beep and see if they can provide some
information without me having to resort to rooting through their source
If i do get any information, i will update the
wiki.theory.org/BitTorrentSpecification page and give the list a mail to let
ye know of the updates.
As it stands for using the reserved bits, there doesn't seem to be any
formal listing *anywhere*, or even an informal one. What i'm going to do (in
the next day or two) is expand the above mentioned BitTorrent page with the
2 reserved bits that i know of (Fast Peers Extendsion and Azureus Extended
Messaging). So hopefully anyone else here that knows of other reserved bits,
what they're used for (and hopefully a link for implementing what they're
used for) could be put there aswell.
On 9/11/06, Joris Guisson <joris.guisson at gmail.com> wrote:
> > On 9/11/06, Alan McGovern < alan.mcgovern at gmail.com> wrote:
> > >
> > > I've completed a C# based bittorrent library, and i've been busy
> > > extending it to support the fast peers extensions (complete-ish for the
> > > moment) and implementing the connection Encryption methods. Now, the problem
> > > i'm coming across is that there is no listing of what each bit in the
> > > reserved 8 bytes is currently being used for, so I'm at a loss for finding
> > > out if a remote peer does support Encryption/Extended Messaging, i don't
> > > even know how to advertise that i support encryption/extended messaging.
> > >
> > For the bits in use you should check bittorrent.org (site seems down at
> > the moment), but several other clients probably use other bits, to indicate
> > additional stuff.
> > Is there a list somewhere of what bits are currently being used for what
> > > purposes? Also, is there anything that's more detailed than http://www.azureuswiki.com/index.php/Message_Stream_Encryption
> > > for when it comes to actually implementing encryption? What messages
> > > need to be passed to and from the peers. From what i was able to figure out
> > > from extensive googling is that the handshaking procedure is greatly
> > > modified for the encrypted connections. Is it a case of assuming that
> > > encryption is enabled and then retrying the connection if it fails?
> > >
> > Something like that, first you try encrypted then unencrypted.
> > Everything pretty much remains the same with encryption, the only difference
> > is the encrypted handshake and after the handshake everything is sent
> > encrypted.
> > For Peer Exchange, i can't seem to find anything which explains how this
> > > is supposed to be implemented. Are there any documents available anywhere?
> > >
> > Not that I know of, I have been trying to find some info on this and
> > haven't found much usefull.
> > Lastly, there are competing DHT implementations out there. What ones are
> > > documented? Which one is recommended to use? I can't find documentation for
> > > either of them, and i *really* don't want to have to resort to examining
> > > python/java code.
> > >
> > You can find the mainline DHT spec on bittorrent.org. You are lucky, I
> > had to resort to 'reverse engineering' python code, which is bloody
> > annoying.
> > Joris,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the BitTorrent