}
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 */
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;
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;
}
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;