mldonkey-commits
[Top][All Lists]
Advanced

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

[Mldonkey-commits] Changes to mldonkey/src/daemon/driver/driverControler


From: mldonkey-commits
Subject: [Mldonkey-commits] Changes to mldonkey/src/daemon/driver/driverControlers.ml
Date: Wed, 21 Sep 2005 14:10:07 -0400

Index: mldonkey/src/daemon/driver/driverControlers.ml
diff -u mldonkey/src/daemon/driver/driverControlers.ml:1.45 
mldonkey/src/daemon/driver/driverControlers.ml:1.46
--- mldonkey/src/daemon/driver/driverControlers.ml:1.45 Tue Sep 13 09:54:46 2005
+++ mldonkey/src/daemon/driver/driverControlers.ml      Wed Sep 21 18:10:06 2005
@@ -40,6 +40,11 @@
   lprintf "%s[dCon] "
     (log_time ()); lprintf_nl2
 
+(* prints a new logline with date, module and does not start newline *)
+let lprintf_n () =
+  lprintf "%s[EDK] "
+    (log_time ()); lprintf
+
 let rec dollar_escape o with_frames s =
   String2.convert false (fun b escaped c ->
       if escaped then
@@ -95,7 +100,8 @@
   let buf = o.conn_buf in
   let cmd = Url.decode cmd in
   let cmd =
-    if String2.check_prefix cmd "ed2k://" then "dllink " ^ cmd
+    if String2.check_prefix cmd "ed2k://" ||
+       String2.check_prefix cmd "http://"; then "dllink " ^ cmd
     else if String2.check_prefix cmd "fha://" then "ovlink " ^ cmd
     else cmd in
   let l = String2.tokens cmd in
@@ -439,7 +445,7 @@
 
 let iac_will_naws = "\255\253\031"
 
-let user_reader o telnet sock nread  =
+let user_reader o telnet sock nread =
   let b = TcpBufferedSocket.buf sock in
   let end_pos = b.pos + b.len in
   let new_pos = end_pos - nread in
@@ -561,7 +567,6 @@
   match event with
     TcpServerSocket.CONNECTION (s, Unix.ADDR_INET (from_ip, from_port)) ->
       let from_ip = Ip.of_inet_addr from_ip in
-      if Ip.matches from_ip !!allowed_ips then
         let token = create_token unlimited_connection_manager in
         let sock = TcpBufferedSocket.create_simple token
           "telnet connection"
@@ -581,6 +586,7 @@
             conn_width = 80;
             conn_height = 0;
           } in
+      if Ip.matches from_ip !!allowed_ips then begin
         TcpBufferedSocket.prevent_close sock;
         TcpBufferedSocket.set_max_output_buffer sock !!interface_buffer;
         TcpBufferedSocket.set_reader sock (user_reader o telnet);
@@ -590,16 +596,24 @@
         TcpBufferedSocket.write_string sock iac_will_naws;
 
         before_telnet_output o sock;
-        TcpBufferedSocket.write_string sock (text_of_html !!motd_html);
+        TcpBufferedSocket.write_string sock
+          (Printf.sprintf "Welcome to MLDonkey %s" Autoconf.current_version);
 
         TcpBufferedSocket.write_string sock (dollar_escape o false
             "\n$bWelcome on mldonkey command-line$n\n\nUse $r?$n for 
help\n\n");
 
         after_telnet_output o sock
+       end
       else begin
-        lprintf_nl () "Telnet connection from %s rejected (see allowed_ips 
setting)"
-          (Ip.to_string from_ip);
-        Unix.close s
+        before_telnet_output o sock;
+       let reject_message =
+         Printf.sprintf "Telnet connection from %s rejected (see allowed_ips 
setting)\n"
+           (Ip.to_string from_ip)
+       in
+       TcpBufferedSocket.write_string sock (dollar_escape o false 
reject_message);
+       shutdown sock Closed_connect_failed;
+       lprintf_n () "%s" reject_message;
+       Unix.close s
       end
 
   | _ -> ()




reply via email to

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