mldonkey-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mldonkey-commits] Changes to mldonkey/src/networks/donkey/donkeyProtoOv


From: mldonkey-commits
Subject: [Mldonkey-commits] Changes to mldonkey/src/networks/donkey/donkeyProtoOvernet.ml
Date: Mon, 08 Aug 2005 12:47:41 -0400

Index: mldonkey/src/networks/donkey/donkeyProtoOvernet.ml
diff -u mldonkey/src/networks/donkey/donkeyProtoOvernet.ml:1.17 
mldonkey/src/networks/donkey/donkeyProtoOvernet.ml:1.18
--- mldonkey/src/networks/donkey/donkeyProtoOvernet.ml:1.17     Fri Jul 22 
10:58:55 2005
+++ mldonkey/src/networks/donkey/donkeyProtoOvernet.ml  Mon Aug  8 16:47:31 2005
@@ -19,9 +19,7 @@
 
 open Printf2
 open Md4
-
-  open AnyEndian
-
+open AnyEndian
 open BasicSocket
 open CommonOptions
 open Options
@@ -30,19 +28,19 @@
 open LittleEndian
 open CommonGlobals
 open DonkeyMftp
-open DonkeyOvernet  
+open DonkeyOvernet
 
 module Proto = struct
-    
+
     let names_of_tag = file_common_tags
-    
+
     let buf_peer buf p =
       buf_md4 buf p.peer_md4;
       buf_ip buf p.peer_ip;
       buf_int16 buf p.peer_port;
       buf_int8 buf p.peer_kind
-    
-    let get_peer s pos = 
+
+    let get_peer s pos =
       let md4 = get_md4 s pos in
       let ip = get_ip s (pos+16) in
       let port = get_int16 s (pos+20) in
@@ -56,8 +54,7 @@
         peer_last_recv = 0;
         peer_last_send = 0;
       }, pos + 23
-    
-    
+
     let write buf t =
       match t with
       | OvernetConnect p ->
@@ -66,31 +63,31 @@
           buf_ip buf p.peer_ip;
           buf_int16 buf p.peer_port;
           buf_int8 buf p.peer_kind
-      
+
       | OvernetConnectReply peers ->
           buf_int8 buf 11;
-          buf_list16 buf_peer buf peers      
-      
+          buf_list16 buf_peer buf peers
+
       | OvernetPublicize p ->
           buf_int8 buf 12;
           buf_md4 buf p.peer_md4;
           buf_ip buf p.peer_ip;
           buf_int16 buf p.peer_port;
           buf_int8 buf p.peer_kind
-      
+
       | OvernetPublicized p ->
           buf_int8 buf 13
-      
+
       | OvernetSearch (kind, md4, _) ->
           buf_int8 buf 14;
           buf_int8 buf kind;
           buf_md4 buf md4
-      
+
       | OvernetSearchReply (md4, peers) ->
           buf_int8 buf 15;
           buf_md4 buf md4;
           buf_list8 buf_peer buf peers
-      
+
       | OvernetGetSearchResults (md4, kind, min, max) ->
           buf_int8 buf 16;
           buf_md4 buf md4;
@@ -98,24 +95,24 @@
 (*          buf_int8 buf kind; *)
           buf_int16 buf min;
           buf_int16 buf max
-      
+
       | OvernetSearchFilesResults (md4, [r_md4, r_tags]) ->
           buf_int8 buf 17;
           buf_md4 buf md4;
           buf_md4 buf r_md4;
           buf_tags buf r_tags names_of_tag
-      
+
       | OvernetSearchSourcesResults (md4, [p]) ->
 (*          buf_int8 buf 17;
           buf_md4 buf md4;
           buf_md4 buf r_md4;
           buf_tags buf r_tags names_of_tag
 *) ()
-      
+
       | OvernetNoResult md4 ->
           buf_int8 buf 18;
           buf_md4 buf md4
-      
+
       | OvernetPublishFiles (md4, [r_md4, r_tags]) ->
           buf_int8 buf 19;
           buf_md4 buf md4;
@@ -129,43 +126,43 @@
           buf_md4 buf p.peer_md4;
           buf_tags buf r_tags names_of_tag
 *)
-          
+
       | OvernetPublished md4 ->
           buf_int8 buf 20;
           buf_md4 buf md4
-      
+
       | OvernetGetMyIP port ->
           buf_int8 buf 27;
           buf_int16 buf port
-      
+
       | OvernetGetMyIPResult (ip) ->
           buf_int8 buf 28;
           buf_ip buf ip
-      
+
       | OvernetGetMyIPDone ->
           buf_int8 buf 29
-      
+
       | OvernetFirewallConnection(md4,port) ->
           buf_int8 buf 24;
           buf_md4 buf md4;
           buf_int16 buf port
-      
+
       | OvernetFirewallConnectionACK(md4) ->
           buf_int8 buf 25;
           buf_md4 buf md4
-      
+
       | OvernetFirewallConnectionNACK(md4) ->
           buf_int8 buf 26;
           buf_md4 buf md4
-      
+
       | OvernetPeerNotFound peer ->
           buf_int8 buf 33;
           buf_peer buf peer
-      
+
       | OvernetUnknown21 peer ->
           buf_int8 buf 21;
           buf_peer buf peer
-      
+
       | OvernetUnknown (opcode, s) ->
           buf_int8 buf opcode;
           Buffer.add_string buf s
@@ -174,7 +171,7 @@
       | OvernetPublishSources _
       | OvernetSearchSourcesResults _ ->
           raise MessageNotImplemented
-    
+
     let get_peer_from_result ip port r_md4 r_tags =
       let peer_ip = ref ip in
       let peer_udpport = ref port in
@@ -187,32 +184,32 @@
                   if !verbose_overnet then
                   lprintf_nl "loc tag : [%s]" bcp;
                   if String2.starts_with bcp "bcp://" then
-                    let bcp2 = String.sub bcp 6 (String.length bcp - 6) 
+                    let bcp2 = String.sub bcp 6 (String.length bcp - 6)
                     in
                     match String2.split_simplify bcp2 ':' with
                     | [_;ip;port] ->
                         if !verbose_overnet then
-                          lprintf_nl "FIXME: Received BCP type 2 %s"
+                          lprintf_nl "[Overnet] Received BCP type 2 %s"
                             bcp;
 
-(* FIXME: A firewalled peer... 
+(* FIXME: A firewalled peer...
                                 peer_ip := Ip.of_string ip;
                                 peer_tcpport := int_of_string port;
                                 *)
-                    
+
                     | [ip;port] ->
                         peer_ip := Ip.of_string ip;
                         peer_tcpport := int_of_string port;
                     | _ ->
                        if !verbose_overnet then
-                          lprintf_nl "Ill formed bcp: [%s]" bcp;
+                          lprintf_nl "[Overnet] Ill formed bcp: [%s]" bcp;
                   else
                    if !verbose_overnet then
-                      lprintf "Ill formed bcp: [%s]" bcp;
+                      lprintf "[Overnet] Ill formed bcp: [%s]" bcp;
               )
           | _ ->
-            if !verbose_overnet then
-              lprintf_nl "Unused source tag [%s]"
+            if !verbose_unknown_messages then
+              lprintf_nl "[Overnet] Unused source tag [%s]"
                 (escaped_string_of_field tag)
       ) r_tags;
       {
@@ -224,11 +221,11 @@
           peer_last_send = 0;
           peer_kind = !peer_kind;
         }
-      
-    let parse ip port opcode s =  
+
+    let parse ip port opcode s =
       try
-        match opcode with  
-        | 10 -> 
+        match opcode with
+        | 10 ->
             let md4 = get_md4 s 0 in
             let ip = get_ip s 16 in
             let port = get_int16 s 20 in
@@ -242,10 +239,10 @@
               peer_last_recv = 0;
               peer_last_send = 0;
             }
-        | 11 -> 
+        | 11 ->
             let peers, pos = get_list16 get_peer s 0 in
             OvernetConnectReply peers
-        | 12 -> 
+        | 12 ->
             let md4 = get_md4 s 0 in
             let ip = get_ip s 16 in
             let port = get_int16 s 20 in
@@ -261,63 +258,52 @@
             }
         | 13 ->
             OvernetPublicized None
-        | 14 -> 
+        | 14 ->
             let kind = get_uint8 s 0 in
             let md4 = get_md4 s 1 in
             OvernetSearch (kind, md4, None)
-        
-        | 15 -> 
+        | 15 ->
             let md4 = get_md4 s 0 in
             let peers, pos = get_list8 get_peer s 16 in
             OvernetSearchReply (md4, peers)
-        
         | 16 ->
             let md4 = get_md4 s 0 in
             let kind = get_uint8 s 16 in
             let min = get_int16 s 17 in
             let max = get_int16 s 19 in
-            OvernetGetSearchResults (md4, Search_for_kind kind, min, max)  
-        
+            OvernetGetSearchResults (md4, Search_for_kind kind, min, max)
         | 17 ->
             let md4 = get_md4 s 0 in
             let r_md4 = get_md4 s 16 in
             let r_tags, pos = get_tags s 32 names_of_tag in
-            
             let sources = ref false in
             List.iter (fun tag ->
                 if tag.tag_name = Field_UNKNOWN "loc" then sources := true;
             ) r_tags;
             if !sources then
               let peer = get_peer_from_result ip port r_md4 r_tags in
-              
               OvernetSearchSourcesResults (md4, [peer])
             else
               OvernetSearchFilesResults (md4, [r_md4, r_tags])
-        
         | 18 ->
             let md4 = get_md4 s 0 in
             OvernetNoResult md4
-        
         | 19 ->
             let md4 = get_md4 s 0 in
             let r_md4 = get_md4 s 16 in
-            let r_tags, pos = get_tags s 32 names_of_tag in            
-                        
+            let r_tags, pos = get_tags s 32 names_of_tag in
             let sources = ref false in
             List.iter (fun tag ->
                 if tag.tag_name = Field_UNKNOWN "loc" then sources := true;
             ) r_tags;
             if !sources then
               let peer = get_peer_from_result ip port r_md4 r_tags in
-              
               OvernetPublishSources (md4, [peer])
             else
               OvernetPublishFiles (md4, [r_md4, r_tags])
-        
         | 20 ->
             let md4 = get_md4 s 0 in
             OvernetPublished md4
-        
         | 21 ->
 (* idem as 33, but IP seem to be a low ID *)
             if !verbose_overnet then begin
@@ -325,53 +311,46 @@
                 dump s;
                 lprint_newline ();
               end;
-            
             let peer, _ = get_peer s 0 in
             OvernetUnknown21 peer
-        
         | 24 ->
             if !verbose_overnet then
               lprintf_nl "RCVD: OVERNET FIREWALL CONNECTION (24)";
             let md4 = get_md4 s 0 in
             let port = get_int16 s 16 in
             OvernetFirewallConnection(md4,port)
-        
         | 25 ->
             if !verbose_overnet then
               lprintf_nl "RCVD: OVERNET FIREWALL CONNECTION ACK (25)";
             let md4 = get_md4 s 0 in
             OvernetFirewallConnectionACK(md4)
-        
         | 26 ->
             if !verbose_overnet then
               lprintf_nl "RCVD: OVERNET FIREWALL CONNECTION NACK (26)";
             let md4 = get_md4 s 0 in
             OvernetFirewallConnectionNACK(md4)
-        
         | 27 ->
             if !verbose_overnet then
               lprintf_nl "RCVD: GETMYIP MESSAGE (27)";
             OvernetGetMyIP (get_int16 s 0)
-        | 28 -> 
+        | 28 ->
             if !verbose_overnet then
               lprintf_nl "RCVD: GETMYIPRESULT MESSAGE (28)";
             let ip = get_ip s 0 in
             OvernetGetMyIPResult (ip)
-        | 29 -> 
+        | 29 ->
             if !verbose_overnet then
               lprintf_nl "RCVD: GETMYIPDONE MESSAGE (29)";
             OvernetGetMyIPDone
-        
         | 33 ->
             if !verbose_overnet then
               lprintf_nl "RCVD: PEER NOT FOUND (33)";
             let peer, _ = get_peer s 0 in
             OvernetPeerNotFound peer
-        
         | _ ->
             if !verbose_unknown_messages then
               begin
-                lprintf_nl "UNKNOWN: opcode %d" opcode;
+                lprintf_nl "[Overnet] unknown opcode %d" opcode;
                 dump s;
                 lprint_newline ();
               end;
@@ -384,23 +363,23 @@
               lprint_newline ();
             end;
           OvernetUnknown (opcode, s)
-    
+
     let udp_handler f sock event =
       match event with
         UdpSocket.READ_DONE ->
-          UdpSocket.read_packets sock (fun p -> 
+          UdpSocket.read_packets sock (fun p ->
               try
                 let pbuf = p.UdpSocket.udp_content in
                 let len = String.length pbuf in
-                if len < 2 || 
-                  int_of_char pbuf.[0] <> 227 then 
+                if len < 2 ||
+                  int_of_char pbuf.[0] <> 227 then
                   begin
                     if !verbose_unknown_messages then begin
-                        lprintf_nl "Received unknown UDP packet";
+                        lprintf_nl "[Overnet] Received unknown UDP packet";
                         dump pbuf;
                       end
-                  end 
-                else 
+                  end
+                else
                   begin
                     let (ip, port) =
                       match p.UdpSocket.udp_addr with
@@ -408,26 +387,26 @@
                           Ip.of_inet_addr inet, port
                       | _ -> assert false
                     in
-                    
+
                     let t = parse ip port (int_of_char pbuf.[1]) (String.sub 
pbuf 2 (len-2)) in
                     f t p
                   end
               with e ->
-                if !verbose_hidden_errors then begin
-                  lprintf_nl "Error %s in udp_handler, dump of packet:"
-                    (Printexc2.to_string e); 
+                if !verbose_unknown_messages then begin
+                  lprintf_nl "[Overnet] Error %s in udp_handler, dump of 
packet:"
+                    (Printexc2.to_string e);
                   dump p.UdpSocket.udp_content;
                   lprint_newline ()
                 end
           );
       | _ -> ()
-    
+
     let redirector_section = "DKKO"
     let options_section_name = overnet_options_section_name
     let overnet_section = overnet_section
     let overnet_port = overnet_port
     let overnet_tcpport = overnet_port
- 
+
     let udp_buf = Buffer.create 2000
 
     let udp_send sock ip port ping msg =
@@ -436,8 +415,8 @@
         buf_int8 udp_buf 227;
         write udp_buf msg;
         let s = Buffer.contents udp_buf in
-        if !verbose_overnet then 
-          begin            
+        if !verbose_overnet then
+          begin
             lprintf_nl "Sending UDP to %s:%d (0x%02X)"
               (Ip.to_string ip) port (get_uint8 s 1);
             lprintf_nl "  %s"  (message_to_string msg)
@@ -452,7 +431,7 @@
       match msg with
       | OvernetSearchFilesResults (target, ((_ :: _ :: _) as results)) ->
           List.iter (fun r ->
-              udp_send sock ip port ping 
+              udp_send sock ip port ping
                 (OvernetSearchFilesResults (target, [r]))
           ) results
       | OvernetSearchSourcesResults (target, ((_ :: _ :: _) as results)) ->
@@ -471,48 +450,48 @@
                 (OvernetPublishSources (target, [r]))
           ) results
       | _ -> udp_send sock ip port ping msg
-          
+
     let enable_overnet = enable_overnet
-    let command_prefix = "ov_"    
+    let command_prefix = "ov_"
     let source_brand = true
-    let web_info = "ocl"    
+    let web_info = "ocl"
   end
-  
+
 module Overnet_initial = Make(Proto)
-  
-let overnet_protocol_connect_version = 
+
+let overnet_protocol_connect_version =
   define_option overnet_section [
-    Proto.options_section_name; 
-    "protocol_connect_version"] 
+    Proto.options_section_name;
+    "protocol_connect_version"]
     "The protocol version sent on Overnet connections"
     int_option 1044
-  
-let overnet_protocol_connectreply_version = 
-  define_option overnet_section [Proto.options_section_name; 
"protocol_connectreply_version"] 
+
+let overnet_protocol_connectreply_version =
+  define_option overnet_section [Proto.options_section_name; 
"protocol_connectreply_version"]
     "The protocol version sent on Overnet connections replies"
     int_option 44
-  
-  
+
+
 (* In Overnet case, the TCP protocol is changed, so we need to create a special
 TCP port for Overnet clients, that will not be used by normal Edonkey
 and Kademlia clients. *)
-  
+
 let tcp_sock = ref None
 
 module Overnet = struct
     include Overnet_initial
-    
-    let enable enabler =       
+
+    let enable enabler =
       enable enabler;
       try
-        let sock = TcpServerSocket.create 
+        let sock = TcpServerSocket.create
             "overnet client server"
             (Ip.to_inet_addr !!client_bind_addr)
-          (!!overnet_port) 
+          (!!overnet_port)
           (DonkeyClient.client_connection_handler true) in
-        
+
         tcp_sock := Some sock;
-        
+
         match Unix.getsockname (BasicSocket.fd (TcpServerSocket.sock sock)) 
with
           Unix.ADDR_INET (ip, port) ->
             assert (port = !!overnet_port)
@@ -520,12 +499,12 @@
       with e ->
           lprintf_nl "Could not assign TCP port %d for Overnet\n" 
!!overnet_port;
           tcp_sock := None
-    
-    let disable () = 
+
+    let disable () =
       disable ();
       (match !tcp_sock with
           None -> ()
-        | Some sock -> 
+        | Some sock ->
             tcp_sock := None;
             TcpServerSocket.close sock Closed_by_user);
 end




reply via email to

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