Wireshark
4.5.0
The Wireshark network protocol analyzer
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
Variables
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
m
o
p
r
s
t
u
v
w
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
Typedefs
a
b
c
d
e
f
g
h
i
m
p
r
s
t
u
v
w
Enumerations
Enumerator
a
b
c
e
f
h
i
n
o
r
s
t
w
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
epan
dissectors
packet-edonkey.h
1
/* packet-edonkey.h
2
* Declarations for edonkey dissection
3
* Copyright 2003, Xuan Zhang <xz@aemail4u.com>
4
* Copyright 2007, Stefano Picerno <stefano.picerno@gmail.com>
5
* Copyright 2008, Stefan Monhof <stefan.monhof@stud.uni-due.de>
6
*
7
* eDonkey dissector based on protocol descriptions from mldonkey:
8
* http://savannah.nongnu.org/download/mldonkey/docs/Edonkey-Overnet/edonkey-protocol.txt
9
* http://savannah.nongnu.org/download/mldonkey/docs/Edonkey-Overnet/overnet-protocol.txt
10
*
11
* Kademlia dissector based on source code inspection of aMule 2.1.3 and eMule 0.48a
12
* Modified and added on the basis of information and names from the eMule 0.49a source code
13
*
14
* Wireshark - Network traffic analyzer
15
* By Gerald Combs <gerald@wireshark.org>
16
* Copyright 1998 Gerald Combs
17
*
18
* SPDX-License-Identifier: GPL-2.0-or-later
19
*/
20
21
void
proto_register_edonkey(
void
);
22
23
#define EDONKEY_MAX_SNAP_SIZE 1500
24
#define EDONKEY_TCP_HEADER_LENGTH 5
25
#define EDONKEY_UDP_HEADER_LENGTH 2
26
27
/* Definitions for EDONKEY protocols */
28
#define EDONKEY_PROTO_EDONKEY 0xe3
/* eDonkey */
29
#define EDONKEY_PROTO_EMULE_EXT 0xc5
/* eMule extensions */
30
#define EDONKEY_PROTO_EMULE_COMP 0xd4
/* eMule compressed (data is zlib compressed) */
31
32
/* Definitions for EDONKEY messages */
33
/* EDONKEY TCP MESSAGES */
34
/* Client <-> Server */
35
#define EDONKEY_MSG_HELLO 0x01
36
#define EDONKEY_MSG_BAD_PROTO 0x05
37
#define EDONKEY_MSG_GET_SERVER_LIST 0x14
38
#define EDONKEY_MSG_OFFER_FILES 0x15
39
#define EDONKEY_MSG_SEARCH_FILES 0x16
40
#define EDONKEY_MSG_DISCONNECT 0x18
41
#define EDONKEY_MSG_GET_SOURCES 0x19
42
#define EDONKEY_MSG_SEARCH_USER 0x1a
43
/* define EDONKEY_MSG_UNKNOWN 0x1b */
44
#define EDONKEY_MSG_CLIENT_CB_REQ 0x1c
45
/* define EDONKEY_MSG_UNKNOWN 0x20 */
46
#define EDONKEY_MSG_MORE_RESULTS 0x21
47
#define EDONKEY_MSG_GET_SOURCES_OBFU 0x23
48
#define EDONKEY_MSG_SERVER_LIST 0x32
49
#define EDONKEY_MSG_SEARCH_FILE_RESULTS 0x33
50
#define EDONKEY_MSG_SERVER_STATUS 0x34
51
#define EDONKEY_MSG_SERVER_CB_REQ 0x35
52
#define EDONKEY_MSG_CALLBACK_FAIL 0x36
53
#define EDONKEY_MSG_SERVER_MESSAGE 0x38
54
#define EDONKEY_MSG_ID_CHANGE 0x40
55
#define EDONKEY_MSG_SERVER_INFO_DATA 0x41
56
#define EDONKEY_MSG_FOUND_SOURCES 0x42
57
#define EDONKEY_MSG_SEARCH_USER_RESULTS 0x43
58
#define EDONKEY_MSG_FOUND_SOURCES_OBFU 0x44
59
60
/* Client <-> Client */
61
#define EDONKEY_MSG_HELLO_CLIENT 0x10
/* 0x01 0x10 */
62
#define EDONKEY_MSG_SENDING_PART 0x46
63
#define EDONKEY_MSG_REQUEST_PARTS 0x47
64
#define EDONKEY_MSG_NO_SUCH_FILE 0x48
65
#define EDONKEY_MSG_END_OF_DOWNLOAD 0x49
66
#define EDONKEY_MSG_VIEW_FILES 0x4a
67
#define EDONKEY_MSG_VIEW_FILES_ANSWER 0x4b
68
#define EDONKEY_MSG_HELLO_ANSWER 0x4c
69
#define EDONKEY_MSG_NEW_CLIENT_ID 0x4d
70
#define EDONKEY_MSG_CLIENT_MESSAGE 0x4e
71
#define EDONKEY_MSG_FILE_STATUS_REQUEST 0x4f
72
#define EDONKEY_MSG_FILE_STATUS 0x50
73
#define EDONKEY_MSG_HASHSET_REQUEST 0x51
74
#define EDONKEY_MSG_HASHSET_ANSWER 0x52
75
/*#define EDONKEY_MSG_UNKNOWN 0x53 */
76
#define EDONKEY_MSG_SLOT_REQUEST 0x54
77
#define EDONKEY_MSG_SLOT_GIVEN 0x55
78
#define EDONKEY_MSG_SLOT_RELEASE 0x56
79
#define EDONKEY_MSG_SLOT_TAKEN 0x57
80
#define EDONKEY_MSG_FILE_REQUEST 0x58
81
#define EDONKEY_MSG_FILE_REQUEST_ANSWER 0x59
82
/*#define EDONKEY_MSG_UNKNOWN 0x5b*/
83
#define EDONKEY_MSG_GET_SHARED_DIRS 0x5d
84
#define EDONKEY_MSG_GET_SHARED_FILES 0x5e
85
#define EDONKEY_MSG_SHARED_DIRS 0x5f
86
#define EDONKEY_MSG_SHARED_FILES 0x60
87
#define EDONKEY_MSG_SHARED_DENIED 0x61
88
89
/* OVERNET EXTENSIONS */
90
/*#define OVERNET_MSG_UNKNOWN 0x62*/
91
/*#define OVERNET_MSG_UNKNOWN 0x63*/
92
93
/* EMULE EXTENSIONS */
94
#define EMULE_MSG_HELLO 0x01
95
#define EMULE_MSG_HELLO_ANSWER 0x02
96
#define EMULE_MSG_DATA_COMPRESSED 0x40
97
#define EMULE_MSG_QUEUE_RANKING 0x60
98
#define EMULE_MSG_FILE_DESC 0x61
99
#define EMULE_MSG_SOURCES_REQUEST 0x81
100
#define EMULE_MSG_SOURCES_ANSWER 0x82
101
#define EMULE_MSG_PUBLIC_KEY 0x85
102
#define EMULE_MSG_SIGNATURE 0x86
103
#define EMULE_MSG_SEC_IDENT_STATE 0x87
104
#define EMULE_MSG_MULTIPACKET 0x92
105
#define EMULE_MSG_MULTIPACKET_ANSWER 0x93
106
#define EMULE_MSG_CALLBACK 0x99
107
#define EMULE_MSG_AICH_REQUEST 0x9b
108
#define EMULE_MSG_AICH_ANSWER 0x9c
109
#define EMULE_MSG_AICHFILEHASH_ANSWER 0x9d
110
#define EMULE_MSG_AICHFILEHASH_REQUEST 0x9e
111
#define EMULE_MSG_DATA_COMPRESSED_64 0xa1
112
#define EMULE_MSG_SENDING_PART_64 0xa2
113
#define EMULE_MSG_REQUEST_PARTS_64 0xa3
114
#define EMULE_MSG_MULTIPACKET_EXT 0xa4
115
116
/* EDONKEY UDP MESSAGES */
117
#define EDONKEY_MSG_UDP_SERVER_STATUS_REQUEST 0x96
118
#define EDONKEY_MSG_UDP_SERVER_STATUS 0x97
119
#define EDONKEY_MSG_UDP_SEARCH_FILE 0x98
120
#define EDONKEY_MSG_UDP_SEARCH_FILE_RESULTS 0x99
121
#define EDONKEY_MSG_UDP_GET_SOURCES 0x9a
122
#define EDONKEY_MSG_UDP_FOUND_SOURCES 0x9b
123
#define EDONKEY_MSG_UDP_CALLBACK_REQUEST 0x9c
124
#define EDONKEY_MSG_UDP_CALLBACK_FAIL 0x9e
125
/* #define EDONKEY_MSG_UDP_UNKNOWN 0xa0 */
126
#define EDONKEY_MSG_UDP_SERVER_LIST 0xa1
127
#define EDONKEY_MSG_UDP_GET_SERVER_INFO 0xa2
128
#define EDONKEY_MSG_UDP_SERVER_INFO 0xa3
129
#define EDONKEY_MSG_UDP_GET_SERVER_LIST 0xa4
130
131
/* EMULE UDP EXTENSIONS */
132
#define EMULE_MSG_UDP_REASKFILEPING 0x90
133
#define EMULE_MSG_UDP_REASKACK 0x91
134
#define EMULE_MSG_UDP_FILE_NOT_FOUND 0x92
135
#define EMULE_MSG_UDP_QUEUE_FULL 0x93
136
137
/* OVERNET UDP EXTENSIONS */
138
#define OVERNET_MSG_UDP_CONNECT 0x0a
139
#define OVERNET_MSG_UDP_CONNECT_REPLY 0x0b
140
#define OVERNET_MSG_UDP_PUBLICIZE 0x0c
141
#define OVERNET_MSG_UDP_PUBLICIZE_ACK 0x0d
142
#define OVERNET_MSG_UDP_SEARCH 0x0e
143
#define OVERNET_MSG_UDP_SEARCH_NEXT 0x0f
144
#define OVERNET_MSG_UDP_SEARCH_INFO 0x10
145
#define OVERNET_MSG_UDP_SEARCH_RESULT 0x11
146
#define OVERNET_MSG_UDP_SEARCH_END 0x12
147
#define OVERNET_MSG_UDP_PUBLISH 0x13
148
#define OVERNET_MSG_UDP_PUBLISH_ACK 0x14
149
#define OVERNET_MSG_UDP_IDENTIFY_REPLY 0x15
150
#define OVERNET_MSG_UDP_IDENTIFY_ACK 0x16
151
#define OVERNET_MSG_UDP_FIREWALL_CONNECTION 0x18
152
#define OVERNET_MSG_UDP_FIREWALL_CONNECTION_ACK 0x19
153
#define OVERNET_MSG_UDP_FIREWALL_CONNECTION_NACK 0x1a
154
#define OVERNET_MSG_UDP_IP_QUERY 0x1b
155
#define OVERNET_MSG_UDP_IP_QUERY_ANSWER 0x1c
156
#define OVERNET_MSG_UDP_IP_QUERY_END 0x1d
157
#define OVERNET_MSG_UDP_IDENTIFY 0x1e
158
/*#define OVERNET_MSG_UDP_UNKNOWN 0x21 */
159
160
/* EDONKEY META TAG TYPES */
161
#define EDONKEY_MTAG_UNKNOWN 0x00
162
#define EDONKEY_MTAG_HASH 0x01
163
#define EDONKEY_MTAG_STRING 0x02
164
#define EDONKEY_MTAG_DWORD 0x03
165
#define EDONKEY_MTAG_FLOAT 0x04
166
#define EDONKEY_MTAG_BOOL 0x05
167
#define EDONKEY_MTAG_BOOL_ARRAY 0x06
168
#define EDONKEY_MTAG_BLOB 0x07
169
#define EDONKEY_MTAG_WORD 0x08
170
#define EDONKEY_MTAG_BYTE 0x09
171
#define EDONKEY_MTAG_BSOB 0x0a
172
#define EDONKEY_MTAG_STR1 0x11
173
#define EDONKEY_MTAG_STR16 0x20
174
#define EDONKEY_MTAG_SHORTNAME 0x80
175
176
/* EDONKEY SPECIAL TAGS */
177
#define EDONKEY_STAG_UNKNOWN 0x00
178
#define EDONKEY_STAG_NAME 0x01
179
#define EDONKEY_STAG_SIZE 0x02
180
#define EDONKEY_STAG_TYPE 0x03
181
#define EDONKEY_STAG_FORMAT 0x04
182
#define EDONKEY_STAG_COLLECTION 0x05
183
#define EDONKEY_STAG_PART_PATH 0x06
184
#define EDONKEY_STAG_PART_HASH 0x07
185
#define EDONKEY_STAG_COPIED 0x08
186
#define EDONKEY_STAG_GAP_START 0x09
187
#define EDONKEY_STAG_GAP_END 0x0a
188
#define EDONKEY_STAG_DESCRIPTION 0x0b
189
#define EDONKEY_STAG_PING 0x0c
190
#define EDONKEY_STAG_FAIL 0x0d
191
#define EDONKEY_STAG_PREFERENCE 0x0e
192
#define EDONKEY_STAG_PORT 0x0f
193
#define EDONKEY_STAG_IP 0x10
194
#define EDONKEY_STAG_VERSION 0x11
195
#define EDONKEY_STAG_TEMPFILE 0x12
196
#define EDONKEY_STAG_PRIORITY 0x13
197
#define EDONKEY_STAG_STATUS 0x14
198
#define EDONKEY_STAG_AVAILABILITY 0x15
199
#define EDONKEY_STAG_QTIME 0x16
200
#define EDONKEY_STAG_PARTS 0x17
201
#define EDONKEY_STAG_MOD_VERSION 0x55
202
203
/* EMULE SPECIAL TAGS */
204
#define EMULE_STAG_COMPRESSION 0x20
205
#define EMULE_STAG_UDP_CLIENT_PORT 0x21
206
#define EMULE_STAG_UDP_VERSION 0x22
207
#define EMULE_STAG_SOURCE_EXCHANGE 0x23
208
#define EMULE_STAG_COMMENTS 0x24
209
#define EMULE_STAG_EXTENDED_REQUEST 0x25
210
#define EMULE_STAG_COMPATIBLE_CLIENT 0x26
211
#define EMULE_STAG_COMPLETE_SOURCES 0x30
212
#define EMULE_STAG_SIZE_HI 0x3a
213
#define EMULE_STAG_SERVER_VERSION 0x91
214
#define EMULE_STAG_COMPAT_OPTIONS1 0xef
215
#define EMULE_STAG_UDPPORTS 0xf9
216
#define EMULE_STAG_MISCOPTIONS1 0xfa
217
#define EMULE_STAG_VERSION 0xfb
218
#define EMULE_STAG_BUDDYIP 0xfc
219
#define EMULE_STAG_BUDDYUDP 0xfd
220
#define EMULE_STAG_MISCOPTIONS2 0xfe
221
222
/* EDONKEY SEARCH TYPES */
223
#define EDONKEY_SEARCH_BOOL 0x00
224
#define EDONKEY_SEARCH_NAME 0x01
225
#define EDONKEY_SEARCH_META 0x02
226
#define EDONKEY_SEARCH_LIMIT 0x03
227
228
/* EDONKEY SEARCH OPERATORS */
229
#define EDONKEY_SEARCH_AND 0x00
230
#define EDONKEY_SEARCH_OR 0x01
231
#define EDONKEY_SEARCH_ANDNOT 0x02
232
233
/* EDONKEY SEARCH MIN/MAX */
234
#define EDONKEY_SEARCH_MIN 0x01
235
#define EDONKEY_SEARCH_MAX 0x02
236
237
/* KADEMLIA TAGS */
238
#define KADEMLIA_TAGTYPE_HASH 0x01
239
#define KADEMLIA_TAGTYPE_STRING 0x02
240
#define KADEMLIA_TAGTYPE_UINT32 0x03
241
#define KADEMLIA_TAGTYPE_FLOAT32 0x04
242
#define KADEMLIA_TAGTYPE_BOOL 0x05
243
#define KADEMLIA_TAGTYPE_BOOLARRAY 0x06
244
#define KADEMLIA_TAGTYPE_BLOB 0x07
245
#define KADEMLIA_TAGTYPE_UINT16 0x08
246
#define KADEMLIA_TAGTYPE_UINT8 0x09
247
#define KADEMLIA_TAGTYPE_BSOB 0x0A
248
#define KADEMLIA_TAGTYPE_UINT64 0x0B
249
250
#define KADEMLIA_TAGTYPE_STR1 0x11
251
#define KADEMLIA_TAGTYPE_STR2 0x12
252
#define KADEMLIA_TAGTYPE_STR3 0x13
253
#define KADEMLIA_TAGTYPE_STR4 0x14
254
#define KADEMLIA_TAGTYPE_STR5 0x15
255
#define KADEMLIA_TAGTYPE_STR6 0x16
256
#define KADEMLIA_TAGTYPE_STR7 0x17
257
#define KADEMLIA_TAGTYPE_STR8 0x18
258
#define KADEMLIA_TAGTYPE_STR9 0x19
259
#define KADEMLIA_TAGTYPE_STR10 0x1A
260
#define KADEMLIA_TAGTYPE_STR11 0x1B
261
#define KADEMLIA_TAGTYPE_STR12 0x1C
262
#define KADEMLIA_TAGTYPE_STR13 0x1D
263
#define KADEMLIA_TAGTYPE_STR14 0x1E
264
#define KADEMLIA_TAGTYPE_STR15 0x1F
265
#define KADEMLIA_TAGTYPE_STR16 0x20
266
#define KADEMLIA_TAGTYPE_STR17 0x21
267
#define KADEMLIA_TAGTYPE_STR18 0x22
268
#define KADEMLIA_TAGTYPE_STR19 0x23
269
#define KADEMLIA_TAGTYPE_STR20 0x24
270
#define KADEMLIA_TAGTYPE_STR21 0x25
271
#define KADEMLIA_TAGTYPE_STR22 0x26
272
273
#define KADEMLIA_TAG_MEDIA_ARTIST 0xD0
/* <string> */
274
#define KADEMLIA_TAG_MEDIA_ALBUM 0xD1
/* <string> */
275
#define KADEMLIA_TAG_MEDIA_TITLE 0xD2
/* <string> */
276
#define KADEMLIA_TAG_MEDIA_LENGTH 0xD3
/* <uint32> !!! */
277
#define KADEMLIA_TAG_MEDIA_BITRATE 0xD4
/* <uint32> */
278
#define KADEMLIA_TAG_MEDIA_CODEC 0xD5
/* <string> */
279
#define KADEMLIA_TAG_USER_COUNT 0xF4
/* <uint32> */
280
#define KADEMLIA_TAG_FILE_COUNT 0xF5
/* <uint32> */
281
#define KADEMLIA_TAG_FILECOMMENT 0xF6
/* <string> */
282
#define KADEMLIA_TAG_FILERATING 0xF7
/* <uint8> */
283
#define KADEMLIA_TAG_BUDDYHASH 0xF8
/* <string> */
284
#define KADEMLIA_TAG_CLIENTLOWID 0xF9
/* <uint32> */
285
#define KADEMLIA_TAG_SERVERPORT 0xFA
/* <uint16> */
286
#define KADEMLIA_TAG_SERVERIP 0xFB
/* <uint32> */
287
#define KADEMLIA_TAG_SOURCEUPORT 0xFC
/* <uint16> */
288
#define KADEMLIA_TAG_SOURCEPORT 0xFD
/* <uint16> */
289
#define KADEMLIA_TAG_SOURCEIP 0xFE
/* <uint32> */
290
#define KADEMLIA_TAG_SOURCETYPE 0xFF
/* <uint8> */
291
292
#define EDONKEY_PROTO_ADU_KADEMLIA 0xA4
293
#define EDONKEY_PROTO_ADU_KADEMLIA_COMP 0xA5
294
295
#define EDONKEY_PROTO_KADEMLIA 0xE4
296
#define EDONKEY_PROTO_KADEMLIA_COMP 0xE5
297
298
/* KADEMLIA (opcodes) (udp) */
299
#define KADEMLIA_BOOTSTRAP_REQ 0x00
/* <PEER (sender) [25]> */
300
#define KADEMLIA2_BOOTSTRAP_REQ 0x01
/* */
301
302
#define KADEMLIA_BOOTSTRAP_RES 0x08
/* <CNT [2]> <PEER [25]>*(CNT) */
303
#define KADEMLIA2_BOOTSTRAP_RES 0x09
/* */
304
305
#define KADEMLIA_HELLO_REQ 0x10
/* <PEER (sender) [25]> */
306
#define KADEMLIA2_HELLO_REQ 0x11
/* */
307
308
#define KADEMLIA_HELLO_RES 0x18
/* <PEER (receiver) [25]> */
309
#define KADEMLIA2_HELLO_RES 0x19
/* */
310
311
#define KADEMLIA_REQ 0x20
/* <TYPE [1]> <HASH (target) [16]> <HASH (receiver) 16> */
312
#define KADEMLIA2_REQ 0x21
/* */
313
314
#define KADEMLIA_RES 0x28
/* <HASH (target) [16]> <CNT> <PEER [25]>*(CNT) */
315
#define KADEMLIA2_RES 0x29
/* */
316
317
#define KADEMLIA_SEARCH_REQ 0x30
/* <HASH (key) [16]> <ext 0/1 [1]> <SEARCH_TREE>[ext] */
318
/*#define UNUSED 0x31 Old Opcode, don't use. */
319
#define KADEMLIA_SEARCH_NOTES_REQ 0x32
/* <HASH (key) [16]> */
320
#define KADEMLIA2_SEARCH_KEY_REQ 0x33
/* */
321
#define KADEMLIA2_SEARCH_SOURCE_REQ 0x34
/* */
322
#define KADEMLIA2_SEARCH_NOTES_REQ 0x35
/* */
323
324
#define KADEMLIA_SEARCH_RES 0x38
/* <HASH (key) [16]> <CNT1 [2]> (<HASH (answer) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1) */
325
/*#define UNUSED 0x39 Old Opcode, don't use. */
326
#define KADEMLIA_SEARCH_NOTES_RES 0x3A
/* <HASH (key) [16]> <CNT1 [2]> (<HASH (answer) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1) */
327
#define KADEMLIA2_SEARCH_RES 0x3B
/* */
328
329
#define KADEMLIA_PUBLISH_REQ 0x40
/* <HASH (key) [16]> <CNT1 [2]> (<HASH (target) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1) */
330
/*#define UNUSED 0x41 Old Opcode, don't use. */
331
#define KADEMLIA_PUBLISH_NOTES_REQ 0x42
/* <HASH (key) [16]> <HASH (target) [16]> <CNT2 [2]> <META>*(CNT2))*(CNT1) */
332
#define KADEMLIA2_PUBLISH_KEY_REQ 0x43
/* */
333
#define KADEMLIA2_PUBLISH_SOURCE_REQ 0x44
/* */
334
#define KADEMLIA2_PUBLISH_NOTES_REQ 0x45
/* */
335
336
#define KADEMLIA_PUBLISH_RES 0x48
/* <HASH (key) [16]> */
337
/*#define UNUSED 0x49 Old Opcode, don't use. */
338
#define KADEMLIA_PUBLISH_NOTES_RES 0x4A
/* <HASH (key) [16]> */
339
#define KADEMLIA2_PUBLISH_RES 0x4B
/* */
340
341
#define KADEMLIA_FIREWALLED_REQ 0x50
/* <TCPPORT (sender) [2]> */
342
#define KADEMLIA_FINDBUDDY_REQ 0x51
/* <TCPPORT (sender) [2]> */
343
#define KADEMLIA_CALLBACK_REQ 0x52
/* <TCPPORT (sender) [2]> */
344
345
#define KADEMLIA_FIREWALLED_RES 0x58
/* <IP (sender) [4]> */
346
#define KADEMLIA_FIREWALLED_ACK_RES 0x59
/* (null) */
347
#define KADEMLIA_FINDBUDDY_RES 0x5A
/* <TCPPORT (sender) [2]> */
348
349
/* KADEMLIA (parameter) */
350
#define KADEMLIA_FIND_VALUE 0x02
351
#define KADEMLIA_STORE 0x04
352
#define KADEMLIA_FIND_NODE 0x0B
353
354
/* Kad search + some unused tags to mirror the ed2k ones. */
355
#define KADEMLIA_TAG_FILENAME 0x01
/* <string> */
356
#define KADEMLIA_TAG_FILESIZE 0x02
/* <uint32> */
357
#define KADEMLIA_TAG_FILESIZE_HI 0x3A
/* <uint32> */
358
#define KADEMLIA_TAG_FILETYPE 0x03
/* <string> */
359
#define KADEMLIA_TAG_FILEFORMAT 0x04
/* <string> */
360
#define KADEMLIA_TAG_COLLECTION 0x05
361
#define KADEMLIA_TAG_PART_PATH 0x06
/* <string> */
362
#define KADEMLIA_TAG_PART_HASH 0x07
363
#define KADEMLIA_TAG_COPIED 0x08
/* <uint32> */
364
#define KADEMLIA_TAG_GAP_START 0x09
/* <uint32> */
365
#define KADEMLIA_TAG_GAP_END 0x0A
/* <uint32> */
366
#define KADEMLIA_TAG_DESCRIPTION 0x0B
/* <string> */
367
#define KADEMLIA_TAG_PING 0x0C
368
#define KADEMLIA_TAG_FAIL 0x0D
369
#define KADEMLIA_TAG_PREFERENCE 0x0E
370
#define KADEMLIA_TAG_PORT 0x0F
371
#define KADEMLIA_TAG_IP_ADDRESS 0x10
372
#define KADEMLIA_TAG_VERSION 0x11
/* <string> */
373
#define KADEMLIA_TAG_TEMPFILE 0x12
/* <string> */
374
#define KADEMLIA_TAG_PRIORITY 0x13
/* <uint32> */
375
#define KADEMLIA_TAG_STATUS 0x14
/* <uint32> */
376
#define KADEMLIA_TAG_SOURCES 0x15
/* <uint32> */
377
#define KADEMLIA_TAG_PERMISSIONS 0x16
378
#define KADEMLIA_TAG_QTIME 0x16
379
#define KADEMLIA_TAG_PARTS 0x17
380
#define KADEMLIA_TAG_MEDIA_ARTIST 0xD0
/* <string> */
381
#define KADEMLIA_TAG_MEDIA_ALBUM 0xD1
/* <string> */
382
#define KADEMLIA_TAG_MEDIA_TITLE 0xD2
/* <string> */
383
#define KADEMLIA_TAG_MEDIA_LENGTH 0xD3
/* <uint32> !!! */
384
#define KADEMLIA_TAG_MEDIA_BITRATE 0xD4
/* <uint32> */
385
#define KADEMLIA_TAG_MEDIA_CODEC 0xD5
/* <string> */
386
#define KADEMLIA_TAG_ENCRYPTION 0xF3
/* <uint8> */
387
#define KADEMLIA_TAG_FILERATING 0xF7
/* <uint8> */
388
#define KADEMLIA_TAG_BUDDYHASH 0xF8
/* <string> */
389
#define KADEMLIA_TAG_CLIENTLOWID 0xF9
/* <uint32> */
390
#define KADEMLIA_TAG_SERVERPORT 0xFA
/* <uint16> */
391
#define KADEMLIA_TAG_SERVERIP 0xFB
/* <uint32> */
392
#define KADEMLIA_TAG_SOURCEUPORT 0xFC
/* <uint16> */
393
#define KADEMLIA_TAG_SOURCEPORT 0xFD
/* <uint16> */
394
#define KADEMLIA_TAG_SOURCEIP 0xFE
/* <uint32> */
395
#define KADEMLIA_TAG_SOURCETYPE 0xFF
/* <uint8> */
396
397
/* KADEMLIA (version) */
398
#define KADEMLIA_VERSION1_46c 0x01
/*45b - 46c*/
399
#define KADEMLIA_VERSION2_47a 0x02
/*47a*/
400
#define KADEMLIA_VERSION3_47b 0x03
/*47b*/
401
#define KADEMLIA_VERSION5_48a 0x05
/* -0.48a */
402
#define KADEMLIA_VERSION6_49aBETA 0x06
/* -0.49aBETA1 */
403
#define KADEMLIA_VERSION7_49a 0x07
/* -0.49a */
Generated by
1.9.8