Move repeating MIN/MAX macros into dropin.h.
[tinc] / src / protocol_misc.c
index a78728f..284006b 100644 (file)
@@ -20,7 +20,7 @@
 
 #include "system.h"
 
-#include "conf.h"
+#include "address_cache.h"
 #include "connection.h"
 #include "logger.h"
 #include "meta.h"
 #include "netutl.h"
 #include "protocol.h"
 #include "utils.h"
-#include "xalloc.h"
-
-#ifndef MIN
-#define MIN(x, y) (((x)<(y))?(x):(y))
-#endif
 
 int maxoutbufsize = 0;
 int mtu_info_interval = 5;
@@ -43,6 +38,8 @@ bool send_termreq(connection_t *c) {
 }
 
 bool termreq_h(connection_t *c, const char *request) {
+       (void)c;
+       (void)request;
        return false;
 }
 
@@ -54,6 +51,7 @@ bool send_ping(connection_t *c) {
 }
 
 bool ping_h(connection_t *c, const char *request) {
+       (void)request;
        return send_pong(c);
 }
 
@@ -62,20 +60,14 @@ bool send_pong(connection_t *c) {
 }
 
 bool pong_h(connection_t *c, const char *request) {
+       (void)request;
        c->status.pinged = false;
 
-       /* Succesful connection, reset timeout if this is an outgoing connection. */
+       /* Successful connection, reset timeout if this is an outgoing connection. */
 
-       if(c->outgoing) {
+       if(c->outgoing && c->outgoing->timeout) {
                c->outgoing->timeout = 0;
-               c->outgoing->cfg = NULL;
-
-               if(c->outgoing->ai) {
-                       freeaddrinfo(c->outgoing->ai);
-               }
-
-               c->outgoing->ai = NULL;
-               c->outgoing->aip = NULL;
+               reset_address_cache(c->outgoing->node->address_cache, &c->address);
        }
 
        return true;
@@ -95,7 +87,7 @@ bool send_tcppacket(connection_t *c, const vpn_packet_t *packet) {
                return false;
        }
 
-       return send_meta(c, (char *)DATA(packet), packet->len);
+       return send_meta(c, DATA(packet), packet->len);
 }
 
 bool tcppacket_h(connection_t *c, const char *request) {
@@ -114,7 +106,7 @@ bool tcppacket_h(connection_t *c, const char *request) {
        return true;
 }
 
-bool send_sptps_tcppacket(connection_t *c, const char *packet, int len) {
+bool send_sptps_tcppacket(connection_t *c, const void *packet, size_t len) {
        /* If there already is a lot of data in the outbuf buffer, discard this packet.
           We use a very simple Random Early Drop algorithm. */
 
@@ -122,7 +114,7 @@ bool send_sptps_tcppacket(connection_t *c, const char *packet, int len) {
                return true;
        }
 
-       if(!send_request(c, "%d %d", SPTPS_PACKET, len)) {
+       if(!send_request(c, "%d %zu", SPTPS_PACKET, len)) {
                return false;
        }