Use the correct originator node when relaying SPTPS UDP packets.
authorEtienne Dechamps <etienne@edechamps.fr>
Sun, 10 May 2015 17:46:47 +0000 (18:46 +0100)
committerEtienne Dechamps <etienne@edechamps.fr>
Sun, 10 May 2015 17:46:47 +0000 (18:46 +0100)
Currently, when relaying SPTPS UDP packets, the code uses the direct
sender as the originator, instead of preserving the original source ID.

This wouldn't cause any issues in most cases because the originator and
the sender are the same in simple one-hop relay chains, but this will
break as soon as there is more than one relay.

src/net_packet.c

index ddfc872..27a6542 100644 (file)
@@ -1404,7 +1404,7 @@ skip_harder:
                /* If we're not the final recipient, relay the packet. */
 
                if(to != myself) {
                /* If we're not the final recipient, relay the packet. */
 
                if(to != myself) {
-                       send_sptps_data_priv(to, n, 0, DATA(&pkt), pkt.len - 2 * sizeof(node_id_t));
+                       send_sptps_data_priv(to, from, 0, DATA(&pkt), pkt.len - 2 * sizeof(node_id_t));
                        try_tx_sptps(to, true);
                        return;
                }
                        try_tx_sptps(to, true);
                        return;
                }