[bittorrent] Encryption, Azureus Extended Messaging and reserved bits...

Alan McGovern alan.mcgovern at gmail.com
Sun Sep 10 18:00:19 EDT 2006

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.

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?

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?

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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ibiblio.org/pipermail/bittorrent/attachments/20060910/3b342661/attachment.html 

More information about the BitTorrent mailing list