瀏覽代碼

Small fix to send pushes if not a reply.

Adam Ierymenko 8 年之前
父節點
當前提交
12d32b9311
共有 1 個文件被更改,包括 6 次插入4 次删除
  1. 6 4
      node/Node.cpp

+ 6 - 4
node/Node.cpp

@@ -736,9 +736,11 @@ void Node::ncSendConfig(uint64_t nwid,uint64_t requestPacketId,const Address &de
 				unsigned int chunkIndex = 0;
 				while (chunkIndex < totalSize) {
 					const unsigned int chunkLen = std::min(totalSize - chunkIndex,(unsigned int)(ZT_UDP_DEFAULT_PAYLOAD_MTU - (ZT_PACKET_IDX_PAYLOAD + 256)));
-					Packet outp(destination,RR->identity.address(),Packet::VERB_OK);
-					outp.append((unsigned char)Packet::VERB_NETWORK_CONFIG_REQUEST);
-					outp.append(requestPacketId);
+					Packet outp(destination,RR->identity.address(),(requestPacketId) ? Packet::VERB_OK : Packet::VERB_NETWORK_CONFIG);
+					if (requestPacketId) {
+						outp.append((unsigned char)Packet::VERB_NETWORK_CONFIG_REQUEST);
+						outp.append(requestPacketId);
+					}
 
 					const unsigned int sigStart = outp.size();
 					outp.append(nwid);
@@ -800,7 +802,7 @@ void Node::ncSendError(uint64_t nwid,uint64_t requestPacketId,const Address &des
 		}
 		outp.append(nwid);
 		RR->sw->send(outp,true);
-	}
+	} // else we can't send an ERROR() in response to nothing, so discard
 }
 
 } // namespace ZeroTier