[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/donkey/...
From: |
mldonkey-commits |
Subject: |
[Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/donkey/... |
Date: |
Thu, 12 Oct 2006 12:48:24 +0000 |
CVSROOT: /sources/mldonkey
Module name: mldonkey
Changes by: spiralvoice <spiralvoice> 06/10/12 12:48:24
Modified files:
distrib : ChangeLog
src/networks/donkey: donkeyOvernet.ml
Log message:
patch #5454
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1049&r2=1.1050
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyOvernet.ml?cvsroot=mldonkey&r1=1.68&r2=1.69
Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1049
retrieving revision 1.1050
diff -u -b -r1.1049 -r1.1050
--- distrib/ChangeLog 12 Oct 2006 12:47:07 -0000 1.1049
+++ distrib/ChangeLog 12 Oct 2006 12:48:24 -0000 1.1050
@@ -15,6 +15,7 @@
=========
2006/10/12
+5454: OV/KAD: Block blocked ips + small Overnet updates (bogeyman)
5451: HTML: clickable new messages indicator (jave)
2006/10/09
Index: src/networks/donkey/donkeyOvernet.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyOvernet.ml,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -b -r1.68 -r1.69
--- src/networks/donkey/donkeyOvernet.ml 5 Sep 2006 14:15:20 -0000
1.68
+++ src/networks/donkey/donkeyOvernet.ml 12 Oct 2006 12:48:24 -0000
1.69
@@ -451,7 +451,16 @@
let pre_connected_peers = ref 0
let is_overnet_ip ip =
- Ip.usable ip && Ip.of_string "1.0.0.0" <> ip
+ let is_not_banned ip =
+ match !Ip.banned ip with
+ None -> true
+ | Some reason ->
+ if !verbose_overnet then
+ lprintf_nl "%s blocked: %s"
+ (Ip.to_string ip) reason;
+ false
+ in
+ Ip.usable ip && Ip.of_string "1.0.0.0" <> ip && is_not_banned ip
module LimitedList = struct
@@ -756,12 +765,16 @@
match !udp_sock with
None -> ()
| Some sock ->
+(* Why check this? Because it may have been blocked since it was added *)
+ if ip <> Ip.localhost && is_overnet_ip ip && port <> 0 then
Proto.udp_send sock ip port false msg
let udp_send_ping ip port msg =
match !udp_sock with
None -> ()
| Some sock ->
+(* Why check this? Because it may have been blocked since it was added *)
+ if ip <> Ip.localhost && is_overnet_ip ip && port <> 0 then
Proto.udp_send sock ip port true msg
let udp_send p msg =
@@ -928,7 +941,8 @@
if p.peer_ip <> Ip.localhost && is_overnet_ip p.peer_ip &&
p.peer_port <> 0 && p.peer_created <> 0 then begin
let nbits = common_bits p.peer_md4 s.search_md4 in
- begin
+(* Don't add ourself *)
+ if not (nbits = 128 && s.search_kind == FillBuckets) then begin
try
Fifo.iter (fun pp ->
if pp.peer_ip = p.peer_ip &&
@@ -1305,7 +1319,8 @@
for j = 1 to Fifo.length b do
let p = Fifo.take b in
(* bad peers have kind = 4 and did not respond within peer_expire *)
- if not (p.peer_kind = 4 && p.peer_expire <= last_time ()) then
+ (* Why check is_overnet_ip? Because it may have been blocked since it
was added *)
+ if not (p.peer_kind = 4 && p.peer_expire <= last_time ()) &&
is_overnet_ip p.peer_ip then
Fifo.put b p
else
begin
@@ -1335,7 +1350,9 @@
incr connected_peers;
decr pre_connected_peers;
(* bad peers are removed *)
- end else if p.peer_kind = 4 && p.peer_expire <= last_time () then
begin
+ (* Why check is_overnet_ip? Because it may have been blocked since
it was added *)
+ end else if (p.peer_kind = 4 && p.peer_expire <= last_time ()) ||
+ not (is_overnet_ip p.peer_ip) then begin
decr pre_connected_peers;
KnownPeers.remove known_peers p;
if !verbose_overnet then lprintf_nl "update_bucket2: removing
%s:%d" (Ip.to_string p.peer_ip) p.peer_port;
@@ -1418,6 +1435,7 @@
(* copy all boot_peers to unknown_peers *)
LimitedList.iter (fun (ip, port) ->
+ if ip <> Ip.localhost && is_overnet_ip ip && port <> 0 then
LimitedList.add unknown_peers (ip, port)
) !!boot_peers;