diff --git a/root/root.cpp b/root/root.cpp index c34d52d4b..b67ed3548 100644 --- a/root/root.cpp +++ b/root/root.cpp @@ -576,7 +576,7 @@ static void handlePacket(const int sock,const InetAddress *const ip,Packet &pkt) if ((sourcePeer->v6s >= 0)&&(forwardTo->v6s >= 0)) { Packet outp(dest,s_self.address(),Packet::VERB_RENDEZVOUS); outp.append((uint8_t)0); - dest.appendTo(outp); + source.appendTo(outp); outp.append((uint16_t)sourcePeer->ip6.port()); outp.append((uint8_t)16); outp.append((const uint8_t *)(sourcePeer->ip6.rawIpData()),16); @@ -588,7 +588,7 @@ static void handlePacket(const int sock,const InetAddress *const ip,Packet &pkt) outp.reset(source,s_self.address(),Packet::VERB_RENDEZVOUS); outp.append((uint8_t)0); - source.appendTo(outp); + dest.appendTo(outp); outp.append((uint16_t)forwardTo->ip6.port()); outp.append((uint8_t)16); outp.append((const uint8_t *)(forwardTo->ip6.rawIpData()),16); @@ -602,7 +602,7 @@ static void handlePacket(const int sock,const InetAddress *const ip,Packet &pkt) if ((sourcePeer->v4s >= 0)&&(forwardTo->v4s >= 0)) { Packet outp(dest,s_self.address(),Packet::VERB_RENDEZVOUS); outp.append((uint8_t)0); - dest.appendTo(outp); + source.appendTo(outp); outp.append((uint16_t)sourcePeer->ip4.port()); outp.append((uint8_t)4); outp.append((const uint8_t *)sourcePeer->ip4.rawIpData(),4); @@ -614,7 +614,7 @@ static void handlePacket(const int sock,const InetAddress *const ip,Packet &pkt) outp.reset(source,s_self.address(),Packet::VERB_RENDEZVOUS); outp.append((uint8_t)0); - source.appendTo(outp); + dest.appendTo(outp); outp.append((uint16_t)forwardTo->ip4.port()); outp.append((uint8_t)4); outp.append((const uint8_t *)(forwardTo->ip4.rawIpData()),4);