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/donkeyGlobals


From: mldonkey-commits
Subject: [Mldonkey-commits] Changes to mldonkey/src/networks/donkey/donkeyGlobals.ml
Date: Sat, 19 Nov 2005 10:37:41 -0500

Index: mldonkey/src/networks/donkey/donkeyGlobals.ml
diff -u mldonkey/src/networks/donkey/donkeyGlobals.ml:1.59 
mldonkey/src/networks/donkey/donkeyGlobals.ml:1.60
--- mldonkey/src/networks/donkey/donkeyGlobals.ml:1.59  Sun Nov 13 17:30:24 2005
+++ mldonkey/src/networks/donkey/donkeyGlobals.ml       Sat Nov 19 15:37:40 2005
@@ -935,6 +935,32 @@
 let _ =
   option_hook client_private_key (fun _ ->
     client_public_key := Unix32.load_key (!!client_private_key);
+
+    (
+    let key_checked = ref false in
+    let key_check_again = ref false in
+    let rec check_client_private_key () =
+      key_checked := true;
+      if not (String.sub !!client_private_key 0 5 = "MIIBC") then
+        if !key_check_again then
+         begin
+           lprintf_nl () "can not create proper client_private_key, 
exiting...";
+           exit 70
+         end
+       else
+          begin
+            lprintf_nl () "bad client_private_key detected, creating new key";
+           set_simple_option donkey_ini "client_private_key" 
(Unix32.create_key ());
+           key_check_again := true
+         end
+    in
+    if not !key_checked then check_client_private_key ();
+    if !key_check_again then
+      begin
+       lprintf_nl () "re-checking private key";
+       check_client_private_key ()
+      end
+    );
   )
 
 let server_accept_multiple_getsources s =




reply via email to

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