mirror of
https://github.com/transmission/transmission
synced 2025-01-31 11:23:40 +00:00
(rpc) ensure "doc/rpc-spec.txt" is added to the tarball
This commit is contained in:
parent
eb91a824c3
commit
9d7501bfd5
4 changed files with 3 additions and 86 deletions
|
@ -20,6 +20,7 @@ if BUILD_WX
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SUBDIRS = \
|
SUBDIRS = \
|
||||||
|
doc \
|
||||||
third-party \
|
third-party \
|
||||||
libtransmission \
|
libtransmission \
|
||||||
$(DAEMON_DIR) \
|
$(DAEMON_DIR) \
|
||||||
|
|
|
@ -295,6 +295,7 @@ AC_CONFIG_FILES([Makefile
|
||||||
beos/Makefile
|
beos/Makefile
|
||||||
cli/Makefile
|
cli/Makefile
|
||||||
daemon/Makefile
|
daemon/Makefile
|
||||||
|
doc/Makefile
|
||||||
libtransmission/Makefile
|
libtransmission/Makefile
|
||||||
third-party/Makefile
|
third-party/Makefile
|
||||||
third-party/miniupnp/Makefile
|
third-party/miniupnp/Makefile
|
||||||
|
|
1
doc/Makefile.am
Normal file
1
doc/Makefile.am
Normal file
|
@ -0,0 +1 @@
|
||||||
|
EXTRA_DIST = rpc-spec.txt
|
|
@ -1,86 +0,0 @@
|
||||||
This is a somewhat incomplete description of the Azureus messaging
|
|
||||||
protocol which is further described here:
|
|
||||||
|
|
||||||
http://www.azureuswiki.com/index.php/Azureus_messaging_protocol
|
|
||||||
|
|
||||||
A client that understands the azureus messaging protocol should set
|
|
||||||
the 8th bit of the first byte of the reserved area in the handshake.
|
|
||||||
For example: reserved[0] = 0x80
|
|
||||||
|
|
||||||
Like normal bittorrent messages, all azureus messages begin with the
|
|
||||||
length of the rest of the message in bytes as a 4-byte integer in
|
|
||||||
network byte order. This length does not include the 4 bytes for the
|
|
||||||
length itself.
|
|
||||||
|
|
||||||
After that is another 4-byte network byte order integer containing the
|
|
||||||
length of the following message id string in bytes, then the message
|
|
||||||
id string, then a 1 byte integer containing the protocol version. The
|
|
||||||
current version is 1.
|
|
||||||
|
|
||||||
The message payload format for various message IDs is below.
|
|
||||||
|
|
||||||
AZ_HANDSHAKE
|
|
||||||
payload is a bencoded dictionary:
|
|
||||||
identity:
|
|
||||||
string, 20 bytes client identity. The identity should be
|
|
||||||
calculated once on startup similarly to the peer_id, except
|
|
||||||
than each byte should be completely random and not limited to
|
|
||||||
alphanumeric characters.
|
|
||||||
client:
|
|
||||||
string, client name. eg: Transmission
|
|
||||||
version:
|
|
||||||
string, client version. eg: 0.7
|
|
||||||
tcp_port: (optional)
|
|
||||||
int, tcp port for incoming peer connections.
|
|
||||||
udp_port: (optional)
|
|
||||||
int, udp listening port (what is this used for exactly?)
|
|
||||||
udp2_port: (optional)
|
|
||||||
int, udp non-data listening port (I don't know what this is for either)
|
|
||||||
handshake_type: (optional)
|
|
||||||
int, 0 for plain or 1 for crypto
|
|
||||||
messages:
|
|
||||||
list, each item is a dict for the supported messages and versions:
|
|
||||||
id:
|
|
||||||
string, message id
|
|
||||||
ver:
|
|
||||||
string, 1 byte version, currently 1
|
|
||||||
|
|
||||||
AZ_PEER_EXCHANGE
|
|
||||||
these messages should be sent approximately once a minute (is this true?)
|
|
||||||
payload is a bencoded dictionary:
|
|
||||||
infohash:
|
|
||||||
string, 20 byte info_hash for the torrent
|
|
||||||
added:
|
|
||||||
list, each item is a 6 byte string for an IP address and port
|
|
||||||
added since the last peer exchange message.
|
|
||||||
added_HST:
|
|
||||||
string, one byte for each item in the added list.
|
|
||||||
Each byte is the handshake type (0 plain, 1 crypto) for the matching
|
|
||||||
item in the added list.
|
|
||||||
added_UDP:
|
|
||||||
string, two bytes for each item in the added list.
|
|
||||||
Each pair of bytes is the UDP port (network byte order) for the
|
|
||||||
matching item in the added list.
|
|
||||||
dropped:
|
|
||||||
same format as added, contains peers dropped since last peer exchange
|
|
||||||
dropped_HST:
|
|
||||||
same format as added_HST
|
|
||||||
dropped_UDP:
|
|
||||||
same format as added_UDP
|
|
||||||
|
|
||||||
BT_KEEP_ALIVE
|
|
||||||
zero-length payload
|
|
||||||
|
|
||||||
The following messages all have the same payload as the corresponding
|
|
||||||
bittorrent message, not including the bittorrent 4-byte length and
|
|
||||||
1-byte id.
|
|
||||||
|
|
||||||
BT_CHOKE - 0
|
|
||||||
BT_UNCHOKE - 1
|
|
||||||
BT_INTERESTED - 2
|
|
||||||
BT_UNINTERESTED - 3
|
|
||||||
BT_HAVE - 4
|
|
||||||
BT_BITFIELD - 5
|
|
||||||
BT_REQUEST - 6
|
|
||||||
BT_PIECE - 7
|
|
||||||
BT_CANCEL - 8
|
|
Loading…
Reference in a new issue