Changes between Initial Version and Version 15 of Ticket #252


Ignore:
Timestamp:
Nov 29, 2008, 8:18:14 PM (12 years ago)
Author:
charles
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #252

    • Property Cc wiedi@… added
    • Property Status changed from new to assigned
    • Property Owner set to charles
    • Property Milestone changed from 0.80 to Sometime
  • Ticket #252 – Description

    initial v15  
    1 Attached is a relatively simple hack to add IPv6 support to Transmission. Beware: the format for storing peers in array form has changed. The "compact" form directly from the tracker was used before, but there is no room in that format for longer addresses, so I have changed it to use a 19-byte format instead:
    2 
    3    * is6 flag (1 byte)
    4       * 1 for IPv6 addresses, 0 for IPv4 addresses
    5    * Address (16 bytes)
    6       * IPv4 addresses are at the end (higher address) of the field (ie. 12 garbage bytes + 4 address bytes)
    7    * Port (2 bytes)
    8 
    9 I chose not to use in6_addr for everything and instead use this flag because I'm not certain that the 6to4 format (::ffff:172.16.0.82, IP-agnostic in6_addr behavior) will work everywhere.
    10 
    11 Interface code should require no changes; the addr field in tr_peer_stat_t has been increased in length to store IPv6 addresses. The OS X interface currently limits the maximum width of the IP field in the torrent inspector to 100 pixels, which is much too small to store a full-length IPv6 address. 350 pixels seemed to work well for me.
     1These are a series of patches by jhujhiti to add IPv6 support to Transmission.