Jelajahi Sumber

Fix user-initiated key-exchange not working when already in FiSH

Bryan Drewery 14 tahun lalu
induk
melakukan
5c50366874
1 mengubah file dengan 2 tambahan dan 1 penghapusan
  1. 2 1
      src/mod/server.mod/servmsg.c

+ 2 - 1
src/mod/server.mod/servmsg.c

@@ -797,8 +797,9 @@ void handle_DH1080_init(const char* nick, const char* uhost, const char* from, s
   }
 
   putlog(LOG_MSGS, "*", "[FiSH] Received DH1080 public key from (%s!%s) - sending mine", nick, uhost);
-  notice(nick, "DH1080_FINISH " + myPublicKeyB64, DP_HELP);
   fish_data_t* fishData = FishKeys.contains(nick) ? FishKeys[nick] : new fish_data_t;
+  fishData->sharedKey.clear();
+  notice(nick, "DH1080_FINISH " + myPublicKeyB64, DP_HELP);
   fishData->myPublicKeyB64 = myPublicKeyB64;
   fishData->myPrivateKey = myPrivateKey;
   fishData->sharedKey = sharedKey;