[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co...
From: |
mldonkey-commits |
Subject: |
[Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co... |
Date: |
Sun, 01 Oct 2006 17:54:00 +0000 |
CVSROOT: /sources/mldonkey
Module name: mldonkey
Changes by: spiralvoice <spiralvoice> 06/10/01 17:54:00
Modified files:
distrib : ChangeLog
src/daemon/common: commonNetwork.ml commonNetwork.mli
commonTypes.ml
src/daemon/driver: driverCommands.ml driverControlers.ml
driverInteractive.ml
src/networks/bittorrent: bTInteractive.ml bTProtocol.ml
src/networks/direct_connect: dcInteractive.ml
src/networks/donkey: donkeyClient.ml donkeyGlobals.ml
donkeyInteractive.ml donkeyMain.ml
donkeyProtoClient.ml donkeyProtoUdp.ml
donkeyUdp.ml
src/networks/fileTP: fileTPInteractive.ml
src/networks/gnutella: gnutellaInteractive.ml
src/networks/opennap: opennapInteractive.ml
src/networks/soulseek: slskInteractive.ml
Log message:
patch #5404
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1035&r2=1.1036
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonNetwork.ml?cvsroot=mldonkey&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonNetwork.mli?cvsroot=mldonkey&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonTypes.ml?cvsroot=mldonkey&r1=1.57&r2=1.58
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverCommands.ml?cvsroot=mldonkey&r1=1.179&r2=1.180
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverControlers.ml?cvsroot=mldonkey&r1=1.86&r2=1.87
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverInteractive.ml?cvsroot=mldonkey&r1=1.105&r2=1.106
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTInteractive.ml?cvsroot=mldonkey&r1=1.113&r2=1.114
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTProtocol.ml?cvsroot=mldonkey&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcInteractive.ml?cvsroot=mldonkey&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyClient.ml?cvsroot=mldonkey&r1=1.101&r2=1.102
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyGlobals.ml?cvsroot=mldonkey&r1=1.99&r2=1.100
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyInteractive.ml?cvsroot=mldonkey&r1=1.127&r2=1.128
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyMain.ml?cvsroot=mldonkey&r1=1.57&r2=1.58
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyProtoClient.ml?cvsroot=mldonkey&r1=1.37&r2=1.38
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyProtoUdp.ml?cvsroot=mldonkey&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyUdp.ml?cvsroot=mldonkey&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/fileTP/fileTPInteractive.ml?cvsroot=mldonkey&r1=1.49&r2=1.50
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/gnutella/gnutellaInteractive.ml?cvsroot=mldonkey&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/opennap/opennapInteractive.ml?cvsroot=mldonkey&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/soulseek/slskInteractive.ml?cvsroot=mldonkey&r1=1.23&r2=1.24
Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1035
retrieving revision 1.1036
diff -u -b -r1.1035 -r1.1036
--- distrib/ChangeLog 1 Oct 2006 17:50:21 -0000 1.1035
+++ distrib/ChangeLog 1 Oct 2006 17:53:59 -0000 1.1036
@@ -15,6 +15,8 @@
=========
2006/10/01
+5404: New command porttest, support for eMule- and Azureus-style porttest
+ (thx to pango for Azureus result parsing)
5421: HTML: Add "Users" to options frame (unease)
5429: New common lprintf_file_nl function
5432: Updates and fixes for the Win resource file (schlumpf)
Index: src/daemon/common/commonNetwork.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonNetwork.ml,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- src/daemon/common/commonNetwork.ml 23 Sep 2006 20:29:46 -0000 1.31
+++ src/daemon/common/commonNetwork.ml 1 Oct 2006 17:53:59 -0000 1.32
@@ -109,6 +109,10 @@
lprintf_nl "op_network_reset";
if c.op_network_ports == cc.op_network_ports then
lprintf_nl "op_network_ports";
+ if c.op_network_porttest_start == cc.op_network_porttest_start then
+ lprintf_nl "op_network_porttest_start";
+ if c.op_network_porttest_result == cc.op_network_porttest_result then
+ lprintf_nl "op_network_porttest_result";
) !networks_ops;
lprint_newline ()
@@ -129,6 +133,8 @@
let network_clean_exit n = try n.op_network_clean_exit () with _ -> true
let network_reset n = try n.op_network_reset () with _ -> ()
let network_ports n = n.op_network_ports ()
+let network_porttest_start n = n.op_network_porttest_start ()
+let network_porttest_result n = n.op_network_porttest_result ()
let networks_iter f =
List.iter (fun r ->
@@ -281,6 +287,8 @@
op_network_clean_exit = (fun _ -> true);
op_network_reset = (fun _ -> ni_ok name "reset");
op_network_ports = (fun _ -> ni_ok name "ports"; []);
+ op_network_porttest_start = (fun _ -> ni_ok name "porttest_start");
+ op_network_porttest_result = (fun _ -> fni name "porttest_result");
}
in
let rr = (Obj.magic r: network) in
Index: src/daemon/common/commonNetwork.mli
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonNetwork.mli,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- src/daemon/common/commonNetwork.mli 19 Sep 2006 17:07:42 -0000 1.16
+++ src/daemon/common/commonNetwork.mli 1 Oct 2006 17:53:59 -0000 1.17
@@ -48,6 +48,8 @@
val register_commands : (string * string * CommonTypes.arg_kind * string) list
-> unit
val network_connect_servers : CommonTypes.network -> unit
val network_ports : CommonTypes.network -> (int * string) list
+val network_porttest_start : CommonTypes.network -> unit
+val network_porttest_result : CommonTypes.network ->
CommonTypes.network_porttest
val network_forget_search : CommonTypes.network -> CommonTypes.search -> unit
val network_close_search : CommonTypes.network -> CommonTypes.search -> unit
val network_private_message : CommonTypes.network -> string -> string -> unit
Index: src/daemon/common/commonTypes.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonTypes.ml,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- src/daemon/common/commonTypes.ml 23 Sep 2006 20:29:46 -0000 1.57
+++ src/daemon/common/commonTypes.ml 1 Oct 2006 17:53:59 -0000 1.58
@@ -462,6 +462,12 @@
mutable upload : Int64.t;
}
+type network_porttest =
+ PorttestNotAvailable
+| PorttestNotStarted
+| PorttestInProgress of int
+| PorttestResult of int * string
+
type network = {
network_name : string;
network_num : int;
@@ -510,6 +516,8 @@
mutable op_network_clean_exit : (unit -> bool);
mutable op_network_reset : (unit -> unit);
mutable op_network_ports : (unit -> (int * string) list);
+ mutable op_network_porttest_start : (unit -> unit);
+ mutable op_network_porttest_result : (unit -> network_porttest);
}
and ui_user = {
Index: src/daemon/driver/driverCommands.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverCommands.ml,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -b -r1.179 -r1.180
--- src/daemon/driver/driverCommands.ml 23 Sep 2006 22:28:58 -0000 1.179
+++ src/daemon/driver/driverCommands.ml 1 Oct 2006 17:53:59 -0000 1.180
@@ -1121,6 +1121,19 @@
_s "network disabled"
) , "<num> :\t\t\t\tdisable a particular network";
+ "porttest", Arg_none (fun o ->
+ let buf = o.conn_buf in
+ networks_iter (fun n ->
+ match network_porttest_result n with
+ PorttestNotAvailable -> ()
+ | _ -> network_porttest_start n);
+ if o.conn_output = HTML then
+ Printf.bprintf buf "Click this \\<a
href=\\\"porttest\\\"\\>link\\</a\\> to see results"
+ else
+ Printf.bprintf buf "Test started, you need a HTML browser to display
results";
+ ""
+ ) , ":\t\t\t\tstart network porttest";
+
]
(*************************************************************************)
Index: src/daemon/driver/driverControlers.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverControlers.ml,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -b -r1.86 -r1.87
--- src/daemon/driver/driverControlers.ml 19 Sep 2006 17:07:43 -0000
1.86
+++ src/daemon/driver/driverControlers.ml 1 Oct 2006 17:53:59 -0000
1.87
@@ -1489,6 +1489,25 @@
read_theme_page this_page else
if !!html_mods then !!CommonMessages.download_html_js_mods0
else !!CommonMessages.download_html_js_old)
+ | "porttest" ->
+ html_open_page buf t r true;
+ let age time =
+ Date.time_to_string (BasicSocket.last_time () - time) "verbose" in
+ networks_iter (fun n ->
+ let result =
+ match network_porttest_result n with
+ PorttestNotAvailable -> None
+ | PorttestNotStarted -> Some "porttest not started"
+ | PorttestInProgress time ->
+ Some (Printf.sprintf "porttest started %s ago" (age time))
+ | PorttestResult (time, s) ->
+ Some (Printf.sprintf "porttest finished %s ago, %s" (age
time) s)
+ in
+ (match result with
+ None -> ()
+ | Some result ->
+ Printf.bprintf buf "%s:<br> %s<br>\n" n.network_name
result));
+ Printf.bprintf buf "<br><br><a href=\"porttest\">Reload</a>"
| cmd ->
html_open_page buf t r true;
Printf.bprintf buf "No page named %s" (html_escaped cmd)
Index: src/daemon/driver/driverInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverInteractive.ml,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -b -r1.105 -r1.106
--- src/daemon/driver/driverInteractive.ml 25 Sep 2006 21:37:14 -0000
1.105
+++ src/daemon/driver/driverInteractive.ml 1 Oct 2006 17:53:59 -0000
1.106
@@ -1704,7 +1704,8 @@
( "0", "srh br", "Has search", "Search" ) ;
( "0", "srh br", "Has chat", "Chat" ) ;
( "0", "srh br", "Has rooms", "Rooms" ) ;
- ( "0", "srh", "Has multinet", "Multinet" ) ]
+ ( "0", "srh", "Has multinet", "Multinet" ) ;
+ ( "0", "srh", "Has porttest", "Porttest" ) ]
let print_network_modules buf o =
let buf = o.conn_buf in
@@ -1719,6 +1720,10 @@
if not (List.mem VirtualNetwork n.network_flags) then
try
let net_has e = if List.mem e n.network_flags then "yes" else ""
in
+ let net_has_porttest () =
+ match network_porttest_result n with
+ PorttestNotAvailable -> ""
+ | _ -> "yes" in
Printf.bprintf buf "\\<tr class=\\\"dl-%d\\\"\\>"
(html_mods_cntr ());
html_mods_td buf [
("", "sr br", n.network_name);
@@ -1729,7 +1734,8 @@
("", "sr br", net_has NetworkHasSearch);
("", "sr br", net_has NetworkHasChat);
("", "sr br", net_has NetworkHasRooms);
- ("", "sr" , net_has NetworkHasMultinet); ];
+ ("", "sr br", net_has NetworkHasMultinet);
+ ("", "sr" , (net_has_porttest ())); ];
Printf.bprintf buf "\\</tr\\>";
with _ -> ()
);
Index: src/networks/bittorrent/bTInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTInteractive.ml,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -b -r1.113 -r1.114
--- src/networks/bittorrent/bTInteractive.ml 1 Oct 2006 17:47:11 -0000
1.113
+++ src/networks/bittorrent/bTInteractive.ml 1 Oct 2006 17:54:00 -0000
1.114
@@ -52,6 +52,35 @@
module VB = VerificationBitmap
+let porttest_result = ref PorttestNotStarted
+
+let interpret_azureus_porttest s =
+ let failure_message fmt =
+ Printf.sprintf ("Port test failure, " ^^ fmt) in
+ try
+ let value = decode s in
+ match value with
+ | Dictionary alist ->
+ (try
+ match List.assoc (String "result") alist with
+ | Int 1L -> "Port test OK!"
+ | Int 0L ->
+ (try
+ match List.assoc (String "reason") alist with
+ | String reason -> failure_message "%s" reason
+ | _ -> raise Not_found
+ with Not_found ->
+ failure_message "%s" "no reason given")
+ | Int status ->
+ failure_message "unknown status code (%Ld)" status
+ | _ -> raise Not_found
+ with Not_found ->
+ failure_message "%s" "no status given")
+ | _ ->
+ failure_message "unexpected value type %s" (Bencode.print value)
+ with _ ->
+ failure_message "%s" "broken bencoded value"
+
exception Already_exists
exception Torrent_can_not_be_used
@@ -1160,7 +1189,25 @@
!!client_port, "client_port TCP";
!!BTTracker.tracker_port, "tracker_port TCP";
]);
-
+ network.op_network_porttest_result <- (fun _ -> !porttest_result);
+ network.op_network_porttest_start <- (fun _ ->
+ let module H = Http_client in
+ azureus_porttest_random := (Random.int 100000);
+ porttest_result := PorttestInProgress (last_time ());
+ let r = {
+ H.basic_request with
+ H.req_url =
+ Url.of_string (Printf.sprintf
+
"http://azureus.aelitis.com/natcheck.php?port=%d&check=azureus_rand_%d"
+ !!client_port !azureus_porttest_random);
+ H.req_proxy = !CommonOptions.http_proxy;
+ H.req_user_agent = get_user_agent ();
+ } in
+ H.wget r (fun file ->
+ let result = interpret_azureus_porttest (File.to_string file) in
+ porttest_result := PorttestResult (last_time (), result)
+ )
+ );
client_ops.op_client_info <- op_client_info;
client_ops.op_client_connect <- op_client_connect;
client_ops.op_client_disconnect <- op_client_disconnect;
Index: src/networks/bittorrent/bTProtocol.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTProtocol.ml,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- src/networks/bittorrent/bTProtocol.ml 23 Sep 2006 20:29:47 -0000
1.26
+++ src/networks/bittorrent/bTProtocol.ml 1 Oct 2006 17:54:00 -0000
1.27
@@ -231,6 +231,13 @@
open AnyEndian
open BTTypes
+let log_prefix = "[BT]"
+
+let lprintf_nl fmt =
+ lprintf_nl2 log_prefix fmt
+
+let azureus_porttest_random = ref 0
+
type ghandler =
BTHeader of (gconn -> TcpBufferedSocket.t ->
(string * string * Sha1.t) -> unit)
@@ -542,6 +549,9 @@
buf_used b (slen+29);
h gconn sock (proto, rbits, file_id);
end
+ else
+ if (String.sub b.buf b.pos (min b.len 100)) = "NATCHECK_HANDSHAKE"
then
+ write_string sock (Printf.sprintf "azureus_rand_%d"
!azureus_porttest_random)
else if (TcpBufferedSocket.closed sock) then
let (ip,port) = (TcpBufferedSocket.peer_addr sock) in
lprintf_nl "bt-handshake: closed sock from %s:%d b.len:%i
slen:%i"
Index: src/networks/direct_connect/dcInteractive.ml
===================================================================
RCS file:
/sources/mldonkey/mldonkey/src/networks/direct_connect/dcInteractive.ml,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- src/networks/direct_connect/dcInteractive.ml 5 Sep 2006 14:15:19
-0000 1.27
+++ src/networks/direct_connect/dcInteractive.ml 1 Oct 2006 17:54:00
-0000 1.28
@@ -380,6 +380,7 @@
[
!!dc_port, "client_port";
]);
+ network.op_network_porttest_result <- (fun _ -> PorttestNotAvailable);
network.op_network_recover_temp <- (fun s -> ());
network.op_network_load_complex_options <- (fun _ -> ());
network.op_network_save_complex_options <- (fun _ -> ());
Index: src/networks/donkey/donkeyClient.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyClient.ml,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -b -r1.101 -r1.102
--- src/networks/donkey/donkeyClient.ml 25 Sep 2006 22:40:55 -0000 1.101
+++ src/networks/donkey/donkeyClient.ml 1 Oct 2006 17:54:00 -0000 1.102
@@ -2137,7 +2137,8 @@
let module M = DonkeyProtoClient in
if !verbose_msg_clients then begin
- lprintf_nl "Message from incoming client";
+ lprintf_nl "Message from incoming client %s:%d"
+ (Ip.to_string (peer_ip sock)) (peer_port sock);
M.print m;
end;
@@ -2281,6 +2282,13 @@
lprintf_nl "NewUserIDReq: "; M.print m;
None
+ | M.EmulePortTestReq t ->
+ porttest_sock := Some sock;
+ set_closer sock (fun _ _ -> porttest_sock := None);
+ set_lifetime sock 30.;
+ write_string sock (client_msg_to_string (emule_proto ()) m);
+ None
+
| _ ->
if !verbose_unknown_messages then
begin
Index: src/networks/donkey/donkeyGlobals.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyGlobals.ml,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -b -r1.99 -r1.100
--- src/networks/donkey/donkeyGlobals.ml 25 Sep 2006 22:40:55 -0000
1.99
+++ src/networks/donkey/donkeyGlobals.ml 1 Oct 2006 17:54:00 -0000
1.100
@@ -125,8 +125,6 @@
let tag_server = 201
let tag_file = 202
-let page_size = 4096L
-
let donkey_download_counter = ref Int64.zero
let donkey_upload_counter = ref Int64.zero
@@ -184,7 +182,7 @@
let master_server = ref (None: DonkeyTypes.server option)
let udp_sock = ref (None: UdpSocket.t option)
let listen_sock = ref (None : TcpServerSocket.t option)
-let reversed_sock = ref (None : TcpServerSocket.t option)
+let porttest_sock = ref (None : TcpBufferedSocket.t option)
let new_shared = ref false
(*************************************************************************)
Index: src/networks/donkey/donkeyInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyInteractive.ml,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -b -r1.127 -r1.128
--- src/networks/donkey/donkeyInteractive.ml 23 Sep 2006 22:28:58 -0000
1.127
+++ src/networks/donkey/donkeyInteractive.ml 1 Oct 2006 17:54:00 -0000
1.128
@@ -60,8 +60,15 @@
let _s x = _s "DonkeyInteractive" x
let _b x = _b "DonkeyInteractive" x
+let porttest_result = ref PorttestNotStarted
+
module VB = VerificationBitmap
+let log_prefix = "[EDK]"
+
+let lprintf_nl fmt =
+ lprintf_nl2 log_prefix fmt
+
let result_name r =
match r.result_names with
[] -> None
@@ -1529,6 +1536,28 @@
network.op_network_reset <- (fun _ -> ());
network.op_network_close_search <- (fun s -> ());
+ network.op_network_porttest_start <- (fun _ ->
+ porttest_result := PorttestInProgress (last_time ());
+ let module H = Http_client in
+ let r = { H.basic_request with
+ H.req_url = Url.of_string
+ (Printf.sprintf
"http://porttest.emule-project.net:81/ct_noframe.php?lang=&tcpport=%d&udpport=%d"
+ !!donkey_port (!!donkey_port + 4));
+ H.req_proxy = !CommonOptions.http_proxy;
+ H.req_max_retry = 10;
+ H.req_user_agent = get_user_agent () } in
+ H.wget r (fun file ->
+ Unix2.tryopen_read file (fun cin ->
+ try
+ while true do
+ let line = input_line cin in
+ try
+ if Str.string_match (Str.regexp "^<P>Testing IP") line 0 then
+ porttest_result := PorttestResult (last_time (), line)
+ with _ -> ()
+ done
+ with End_of_file -> ())
+ ));
network.op_network_forget_search <- forget_search
(* emule<->mldonkey disconnects during chat, and this doesn't seem to auto
reconnect
Index: src/networks/donkey/donkeyMain.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyMain.ml,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- src/networks/donkey/donkeyMain.ml 5 Sep 2006 14:15:20 -0000 1.57
+++ src/networks/donkey/donkeyMain.ml 1 Oct 2006 17:54:00 -0000 1.58
@@ -118,10 +118,6 @@
| Some sock ->
listen_sock := None;
TcpServerSocket.close sock Closed_by_user);
- (match !reversed_sock with None -> ()
- | Some sock ->
- reversed_sock := None;
- TcpServerSocket.close sock Closed_by_user);
(match !udp_sock with None -> ()
| Some sock ->
udp_sock := None;
@@ -392,6 +388,8 @@
!overnet_port_info, "overnet_port TCP+UDP";
!kademlia_port_info, "kademlia_port UDP";
]);
+ network.op_network_porttest_result <-
+ (fun _ -> !DonkeyInteractive.porttest_result);
CommonInteractive.register_gui_options_panel "eDonkey"
gui_donkey_options_panel;
CommonInteractive.register_gui_options_panel "Overnet"
Index: src/networks/donkey/donkeyProtoClient.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyProtoClient.ml,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- src/networks/donkey/donkeyProtoClient.ml 23 Sep 2006 20:29:47 -0000
1.37
+++ src/networks/donkey/donkeyProtoClient.ml 1 Oct 2006 17:54:00 -0000
1.38
@@ -1068,6 +1068,20 @@
end
+module EmulePortTestReq = struct
+
+ type t = string
+
+ let print s =
+ lprintf_nl "Emule porttest request %s" (String.escaped s)
+
+ let parse s = s
+
+ let write buf =
+ buf_int8 buf 0x12
+
+ end
+
type t =
| ConnectReq of Connect.t
| ConnectReplyReq of Connect.t
@@ -1111,6 +1125,7 @@
| EmuleMultiPacketReq of Md4.t * t list
| EmuleMultiPacketAnswerReq of Md4.t * t list
| EmuleCompressedPart of Md4.t * int64 * int64 * string
+| EmulePortTestReq of EmulePortTestReq.t
let rec print t =
begin
@@ -1178,11 +1193,11 @@
EmuleSignatureReq.print t
| EmulePublicKeyReq t ->
EmulePublicKeyReq.print t
-
| EmuleCompressedPart (md4, statpos, newsize, bloc) ->
lprintf_nl "EmuleCompressedPart for %s %Ld %Ld len %d"
(Md4.to_string md4) statpos newsize (String.length bloc)
-
+ | EmulePortTestReq t ->
+ EmulePortTestReq.print t
| UnknownReq (opcode, s) ->
let len = String.length s in
lprintf_nl "UnknownReq: magic (%d), opcode (%d) len (%d)" opcode
@@ -1314,6 +1329,9 @@
in
EmuleMultiPacketAnswerReq (md4, iter s 17 len)
+ | 0xfe (* 254 *) ->
+ EmulePortTestReq s
+
| code ->
if !CommonOptions.verbose_unknown_messages then
lprintf_nl "EDK: unknown eMule message %d" code;
@@ -1596,6 +1614,10 @@
buf_int8 buf 0x85;
EmulePublicKeyReq.write buf t
+ | EmulePortTestReq t ->
+ buf_int8 buf 0xfe;
+ EmulePortTestReq.write buf;
+
| UnknownReq (opcode, s) ->
Buffer.add_string buf s
Index: src/networks/donkey/donkeyProtoUdp.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyProtoUdp.ml,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- src/networks/donkey/donkeyProtoUdp.ml 16 Jan 2006 16:05:14 -0000
1.14
+++ src/networks/donkey/donkeyProtoUdp.ml 1 Oct 2006 17:54:00 -0000
1.15
@@ -455,6 +455,7 @@
| EmuleReaskAckUdpReq of Md4.t
| EmuleFileNotFoundUdpReq
| EmuleQueueFullUdpReq
+| EmulePortTestReq
| UnknownUdpReq of int * string
@@ -484,6 +485,7 @@
| 145 -> EmuleReaskAckUdpReq (get_md4 s 1)
(* | 146 -> EmuleFileNotFoundUdpReq *)
| 147 -> EmuleQueueFullUdpReq
+ | 254 -> EmulePortTestReq
| _ -> raise Exit
with
@@ -524,6 +526,8 @@
Printf.bprintf b "EmuleFileNotFoundUdpReq"
| EmuleQueueFullUdpReq ->
Printf.bprintf b "EmuleQueueFullUdpReq"
+ | EmulePortTestReq ->
+ Printf.bprintf b "EmulePortTestReq"
| UnknownUdpReq (magic, s) ->
Printf.bprintf b "UnknownReq magic %d\n" magic;
@@ -613,6 +617,14 @@
buf_int8 buf 53;
QueryIDReplyUdp.write buf t
+ | EmulePortTestReq ->
+ buf_int8 buf 2;
+ buf_int8 buf 0;
+ buf_int8 buf 0;
+ buf_int8 buf 0;
+ buf_int8 buf 0xfe;
+ buf_int8 buf 0x31
+
| EmuleQueueFullUdpReq
| EmuleFileNotFoundUdpReq
| EmuleReaskAckUdpReq _
Index: src/networks/donkey/donkeyUdp.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyUdp.ml,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- src/networks/donkey/donkeyUdp.ml 1 Sep 2006 16:25:15 -0000 1.23
+++ src/networks/donkey/donkeyUdp.ml 1 Oct 2006 17:54:00 -0000 1.24
@@ -223,7 +223,7 @@
let udp_client_handler t p =
if !verbose_udp then
- lprintf "Received UDP message:\n%s\n" (Udp.print t);
+ lprintf_nl "Received UDP message:\n%s" (Udp.print t);
let udp_from_server p =
match p.UdpSocket.udp_addr with
@@ -306,6 +306,15 @@
| Udp.EmuleReaskFilePingUdpReq t -> ()
+ | Udp.EmulePortTestReq ->
+ (match !porttest_sock with
+ None -> ()
+ | Some sock ->
+ let s = Buffer.create 10 in
+ DonkeyProtoUdp.write s Udp.EmulePortTestReq;
+ TcpBufferedSocket.write_string sock (Buffer.contents s);
+ porttest_sock := None)
+
| _ ->
if !verbose_unexpected_messages then
lprintf "Unexpected UDP message: %s\n"
Index: src/networks/fileTP/fileTPInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/fileTP/fileTPInteractive.ml,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- src/networks/fileTP/fileTPInteractive.ml 25 Sep 2006 21:38:24 -0000
1.49
+++ src/networks/fileTP/fileTPInteractive.ml 1 Oct 2006 17:54:00 -0000
1.50
@@ -423,4 +423,5 @@
network.op_network_forget_search <- (fun s -> ());
network.op_network_connect_servers <- (fun s -> ());
network.op_network_reset <- (fun _ -> ());
+ network.op_network_porttest_result <- (fun _ -> PorttestNotAvailable);
network.op_network_recover_temp <- (fun s -> ())
Index: src/networks/gnutella/gnutellaInteractive.ml
===================================================================
RCS file:
/sources/mldonkey/mldonkey/src/networks/gnutella/gnutellaInteractive.ml,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- src/networks/gnutella/gnutellaInteractive.ml 23 Sep 2006 22:26:38
-0000 1.65
+++ src/networks/gnutella/gnutellaInteractive.ml 1 Oct 2006 17:54:00
-0000 1.66
@@ -219,6 +219,7 @@
[
!!client_port, "client_port TCP+UDP";
]);
+ network.op_network_porttest_result <- (fun _ -> PorttestNotAvailable);
network.op_network_share <- (fun fullname codedname size ->
(*
lprintf "*************** op_network_share %s\n
Index: src/networks/opennap/opennapInteractive.ml
===================================================================
RCS file:
/sources/mldonkey/mldonkey/src/networks/opennap/opennapInteractive.ml,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- src/networks/opennap/opennapInteractive.ml 5 Sep 2006 14:15:20 -0000
1.25
+++ src/networks/opennap/opennapInteractive.ml 1 Oct 2006 17:54:00 -0000
1.26
@@ -241,6 +241,7 @@
[
!!client_port, "client_port TCP";
]);
+ network.op_network_porttest_result <- (fun _ -> PorttestNotAvailable);
network.op_network_recover_temp <- (fun s -> ());
Index: src/networks/soulseek/slskInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/soulseek/slskInteractive.ml,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- src/networks/soulseek/slskInteractive.ml 5 Sep 2006 14:15:20 -0000
1.23
+++ src/networks/soulseek/slskInteractive.ml 1 Oct 2006 17:54:00 -0000
1.24
@@ -182,6 +182,7 @@
let _ =
network.op_network_ports <- (fun _ -> []);
+ network.op_network_porttest_result <- (fun _ -> PorttestNotAvailable);
network.op_network_recover_temp <- (fun s -> ());
network.op_network_load_complex_options <- (fun _ -> ());
network.op_network_download <- (fun r ->
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/01
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/01
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co...,
mldonkey-commits <=
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/01
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/02
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/08
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/08
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/09
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/21
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/23
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/25
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/25
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/10/25