Преглед на файлове

Increase DHT transaction ID from 2 to 4 bytes to avoid conflict

Tatsuhiro Tsujikawa преди 9 години
родител
ревизия
8203ee3d0d
променени са 2 файла, в които са добавени 4 реда и са изтрити 4 реда
  1. 1 1
      src/DHTConstants.h
  2. 3 3
      src/DHTMessage.cc

+ 1 - 1
src/DHTConstants.h

@@ -47,7 +47,7 @@ constexpr uint16_t DHT_VERSION = 3U;
 
 constexpr size_t DHT_ID_LENGTH = 20;
 
-constexpr size_t DHT_TRANSACTION_ID_LENGTH = 2;
+constexpr size_t DHT_TRANSACTION_ID_LENGTH = 4;
 
 // See --dht-message-timeout option.
 constexpr auto DHT_MESSAGE_TIMEOUT = 10_s;

+ 3 - 3
src/DHTMessage.cc

@@ -62,9 +62,9 @@ DHTMessage::~DHTMessage() {}
 
 void DHTMessage::generateTransactionID()
 {
-  unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
-  util::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
-  transactionID_.assign(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
+  transactionID_.resize(DHT_TRANSACTION_ID_LENGTH);
+  util::generateRandomData(reinterpret_cast<unsigned char*>(&transactionID_[0]),
+                           transactionID_.size());
 }
 
 } // namespace aria2