mirror of
git://erdgeist.org/opentracker
synced 2025-01-11 15:30:07 +00:00
Fix endianess issues, also obey number of peers requested in udp announces
This commit is contained in:
parent
90184649d0
commit
cadf1803e1
4
ot_udp.c
4
ot_udp.c
@ -84,10 +84,12 @@ void handle_udp4( int64 serversocket ) {
|
||||
/* if( !udp_test_connectionid( inpacket, remoteip ))
|
||||
fprintf( stderr, "UDP Connection id missmatch.\n" ); */
|
||||
|
||||
numwant = 200;
|
||||
/* We do only want to know, if it is zero */
|
||||
left = inpacket[64/4] | inpacket[68/4];
|
||||
|
||||
numwant = ntohl( inpacket[92/4] );
|
||||
if (numwant > 200) numwant = 200;
|
||||
|
||||
event = ntohl( inpacket[80/4] );
|
||||
port = *(uint16_t*)( static_inbuf + 96 );
|
||||
hash = (ot_hash*)( static_inbuf + 16 );
|
||||
|
@ -304,8 +304,8 @@ exit_loop:
|
||||
|
||||
/* else { Handle UDP reply */
|
||||
((uint32_t*)reply)[2] = htonl( OT_CLIENT_REQUEST_INTERVAL_RANDOM );
|
||||
((uint32_t*)reply)[3] = peer_list->peer_count - peer_list->seed_count;
|
||||
((uint32_t*)reply)[4] = peer_list->seed_count;
|
||||
((uint32_t*)reply)[3] = htonl( peer_list->peer_count - peer_list->seed_count );
|
||||
((uint32_t*)reply)[4] = htonl( peer_list->seed_count);
|
||||
|
||||
mutex_bucket_unlock_by_hash( hash );
|
||||
return (size_t)20;
|
||||
|
Loading…
Reference in New Issue
Block a user