X-Git-Url: http://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_packet.c;h=ccc1de64e10d517cdd6b1cdbeee0ee685b25ff0d;hb=3df86ef17bce9f24c3dad79ccc2b17aa6e93ea34;hp=a01b63595a4116359dddfc81f2f1332e1dba3e66;hpb=5104001bae7d09040703ddbe18cf8781c7aaa94f;p=tinc diff --git a/src/net_packet.c b/src/net_packet.c index a01b6359..ccc1de64 100644 --- a/src/net_packet.c +++ b/src/net_packet.c @@ -372,7 +372,7 @@ static bool receive_udppacket(node_t *n, vpn_packet_t *inpkt) { } return false; } - if(!sptps_receive_data(&n->sptps, ((sptps_packet_t *)&inpkt)->data, inpkt->len)) { + if(!sptps_receive_data(&n->sptps, ((sptps_packet_t *)inpkt)->data, inpkt->len)) { logger(DEBUG_TRAFFIC, LOG_ERR, "Got bad packet from %s (%s)", n->name, n->hostname); return false; } @@ -1056,7 +1056,7 @@ void handle_incoming_vpn_data(void *data, int flags) { // It might be from a 1.1 node, which might have a source ID in the packet. from = lookup_node_id(&spkt->srcid); if(from && !memcmp(&spkt->dstid, &nullid, sizeof nullid) && from->status.sptps) { - if(sptps_verify_datagram(&n->sptps, spkt->data, spkt->len - sizeof(spkt->srcid) - sizeof(spkt->dstid))) + if(sptps_verify_datagram(&from->sptps, spkt->data, spkt->len - sizeof(spkt->srcid) - sizeof(spkt->dstid))) n = from; else goto skip_harder; @@ -1077,7 +1077,7 @@ skip_harder: } if(n->status.sptps) { - if(memcmp(&spkt->dstid, &nullid, sizeof nullid)) { + if(!memcmp(&spkt->dstid, &nullid, sizeof nullid)) { direct = true; from = n; to = myself;