]> 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 03ecc945097f55ba9fc0dc6b42b9dd1fbb34b583..3eea0517e5a7a4287d93980576fb06758392eec1 100644 (file)
@@ -238,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;
@@ -433,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;
        }
@@ -555,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;