[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-users] UDP source propagation => DDoS
From: |
Pierre Etchemaite |
Subject: |
[Mldonkey-users] UDP source propagation => DDoS |
Date: |
Sun, 17 Nov 2002 19:31:40 +0100 |
When an unknown source ask you for a file, its address is broadcasted to all
your ucp clients group for that file thru UDP, then added to the group.
The UDP message sent is DonkeyProtoServer.QueryLocationReplyUdpReq, so it
triggers donkey/donkeyClient.ml::query_locations_reply, that call, in order:
new_client: connection last_ok = now - 25 minutes
last_try = 0
state = 0
connect_as_soon_as_possible: last_try = last_ok (now - 25 min)
state = 1
schedule_client: next_try = last_try + min ((min_reask *
state) max_reask)
state = 1, min (min_reask, max_reask) should be min_reask, so
next_try must be now - 25min + min_reask. Usually min_reask is lower
than 25 mins, so next_try is in the past, the client is added at the
head of clients_lists.(0) and is connected in the next second !
Nice DDoS on the client that just asked you for a file ;)
Since your peers cannot distinguish source propagation packets from server
replies, either source propagation packets should be sent randomly delayed,
or query_locations_reply should call some "connect_soon" function instead of
connect_as_soon_as_possible, adding a delay to all first connections, even
for sources sent by servers...
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Mldonkey-users] UDP source propagation => DDoS,
Pierre Etchemaite <=