Fix compression when using the SPTPS protocol.
authorGuus Sliepen <guus@tinc-vpn.org>
Wed, 24 Jul 2013 18:48:31 +0000 (20:48 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Wed, 24 Jul 2013 18:48:31 +0000 (20:48 +0200)
src/net_packet.c

index 1254e48432d7822dd5057c9638cf68c460ded890..6f7a3a101b7d5182c89998ab886b841d017616ad 100644 (file)
@@ -776,10 +776,12 @@ bool send_sptps_data(void *handle, uint8_t type, const char *data, size_t len) {
                b64encode(data, buf, len);
                /* If no valid key is known yet, send the packets using ANS_KEY requests,
                   to ensure we get to learn the reflexive UDP address. */
-               if(!to->status.validkey)
-                       return send_request(to->nexthop->connection, "%d %s %s %s -1 -1 -1 %d", ANS_KEY, myself->name, to->name, buf, myself->incompression);
-               else
+               if(!to->status.validkey) {
+                       to->incompression = myself->incompression;
+                       return send_request(to->nexthop->connection, "%d %s %s %s -1 -1 -1 %d", ANS_KEY, myself->name, to->name, buf, to->incompression);
+               } else {
                        return send_request(to->nexthop->connection, "%d %s %s %d %s", REQ_KEY, myself->name, to->name, REQ_SPTPS, buf);
+               }
        }
 
        /* Otherwise, send the packet via UDP */