ソースを参照

Merge branch 'enclink-fixes'

* enclink-fixes:
  * Kill connection if no shared cipher
  * Be more verbose about which enctype is being used on link from hub
Bryan Drewery 14 年 前
コミット
2d2a86eec9
2 ファイル変更11 行追加1 行削除
  1. 2 0
      src/dcc.c
  2. 9 1
      src/enclink.c

+ 2 - 0
src/dcc.c

@@ -1022,6 +1022,8 @@ dcc_chat_pass(int idx, char *buf, int atr)
           return;
         }
 
+        sdprintf(STR("Using '%s' (%d/%d) for link with %s"), enclink[i].name, enclink[i].type, i, dcc[idx].nick);
+
         if (buf[0]) {
           const char *expected_nick = newsplit(&buf);
 

+ 9 - 1
src/enclink.c

@@ -291,7 +291,15 @@ void link_challenge_to(int idx, char *buf) {
     }
     free(tmpp);
 
-    sdprintf(STR("Choosing '%s' (%d/%d) for link"), enclink[i].name, enclink[i].type, i);
+    // No shared type!
+    if (i == -1) {
+      sdprintf(STR("No shared cipher with %s"), dcc[idx].nick);
+      killsock(dcc[idx].sock);
+      lostdcc(idx);
+      return;
+    }
+
+    sdprintf(STR("Choosing '%s' (%d/%d) for link to %s"), enclink[i].name, enclink[i].type, i, dcc[idx].nick);
     link_hash(idx, rand);
     dprintf(-dcc[idx].sock, STR("neg %s %d %s\n"), dcc[idx].shahash, enclink[i].type, dcc[idx].nick);
     socklist[snum].enclink = i;