mldonkey-users
[Top][All Lists]
Advanced

[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...




reply via email to

[Prev in Thread] Current Thread [Next in Thread]