}
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;
}
// 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;
}
if(n->status.sptps) {
- if(memcmp(&spkt->dstid, &nullid, sizeof nullid)) {
+ if(!memcmp(&spkt->dstid, &nullid, sizeof nullid)) {
direct = true;
from = n;
to = myself;