]> git.meshlink.io Git - meshlink/blobdiff - src/net_packet.c
Add a test for a constellation of three nodes.
[meshlink] / src / net_packet.c
index 9fabffd7ed5ddb61746e1e7514312c0f78218fc2..3eea0517e5a7a4287d93980576fb06758392eec1 100644 (file)
@@ -196,42 +196,11 @@ static void mtu_probe_h(meshlink_handle_t *mesh, node_t *n, vpn_packet_t *packet
 }
 
 static uint16_t compress_packet(uint8_t *dest, const uint8_t *source, uint16_t len, int level) {
-       if(level == 0) {
-               memcpy(dest, source, len);
-               return len;
-       } else if(level == 10)
-               return -1;
-       else if(level < 10) {
-#ifdef HAVE_ZLIB
-               unsigned long destlen = MAXSIZE;
-               if(compress2(dest, &destlen, source, len, level) == Z_OK)
-                       return destlen;
-               else
-#endif
-                       return -1;
-       } else
-               return -1;
-
-       return -1;
+       abort();
 }
 
 static uint16_t uncompress_packet(uint8_t *dest, const uint8_t *source, uint16_t len, int level) {
-       if(level == 0) {
-               memcpy(dest, source, len);
-               return len;
-       } else if(level > 9)
-               return -1;
-#ifdef HAVE_ZLIB
-       else {
-               unsigned long destlen = MAXSIZE;
-               if(uncompress(dest, &destlen, source, len) == Z_OK)
-                       return destlen;
-               else
-                       return -1;
-       }
-#endif
-
-       return -1;
+       abort();
 }
 
 /* VPN packet I/O */
@@ -269,7 +238,7 @@ static void receive_udppacket(meshlink_handle_t *mesh, node_t *n, vpn_packet_t *
 void receive_tcppacket(meshlink_handle_t *mesh, connection_t *c, const char *buffer, int len) {
        vpn_packet_t outpkt;
 
-       if(len > sizeof outpkt.data)
+       if(len > sizeof(outpkt).data)
                return;
 
        outpkt.len = len;
@@ -464,9 +433,11 @@ bool receive_sptps_record(void *handle, uint8_t type, const void *data, uint16_t
 
        if(type == SPTPS_HANDSHAKE) {
                if(!from->status.validkey) {
+                       logger(mesh, MESHLINK_INFO, "SPTPS key exchange with %s (%s) succesful", from->name, from->hostname);
                        from->status.validkey = true;
                        from->status.waitingforkey = false;
-                       logger(mesh, MESHLINK_INFO, "SPTPS key exchange with %s (%s) succesful", from->name, from->hostname);
+                       if(from->utcp)
+                               utcp_reset_timers(from->utcp);
                }
                return true;
        }
@@ -586,7 +557,7 @@ void handle_incoming_vpn_data(event_loop_t *loop, void *data, int flags) {
        vpn_packet_t pkt;
        char *hostname;
        sockaddr_t from = {{0}};
-       socklen_t fromlen = sizeof from;
+       socklen_t fromlen = sizeof(from);
        node_t *n;
        int len;