X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol.c;h=13a57937ef872368aa12d27795e80d7d43a49668;hp=4935dc233ba3c14bab43717ff20b207626453477;hb=33cfdf43f4309c17d6df811b3c5d0af3a1c8679f;hpb=b4290c3f4360f3cf01bb44957da0d8a20eac75f3 diff --git a/src/protocol.c b/src/protocol.c index 4935dc23..13a57937 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -738,19 +738,20 @@ int ans_key_h(conn_list_t *cl) conn_list_t *fw, *gk; char *key; cp - if(read(cl->meta_socket, &((char*)(&tmp))[1], sizeof(tmp)-3) <= 0) + if(read(cl->meta_socket, &((char*)(&tmp))[1], sizeof(tmp) - 3) <= 0) { syslog(LOG_ERR, "%d: Receive failed: %m", __LINE__); return -1; } key = xmalloc(tmp.len); - - if(read(cl->meta_socket, key, tmp.len + 1) <= 0) + + if(read(cl->meta_socket, key, tmp.len + 2) <= 0) { syslog(LOG_ERR, "%d: Receive failed: %m", __LINE__); return -1; } + syslog(LOG_DEBUG, "%s", key); if(debug_lvl > 3) syslog(LOG_DEBUG, "got ANS_KEY from " IP_ADDR_S " for " IP_ADDR_S, @@ -789,12 +790,12 @@ cp syslog(LOG_DEBUG, "Forwarding public key to " IP_ADDR_S, IP_ADDR_V(fw->nexthop->vpn_ip)); tmp.type = ANS_KEY; - if(write(fw->nexthop->meta_socket, &tmp, sizeof(tmp) -2) < 0) + if(write(fw->nexthop->meta_socket, &tmp, sizeof(tmp) - 2) < 0) { syslog(LOG_ERR, "send failed: %s:%d: %m", __FILE__, __LINE__); return -1; } - if(write(fw->nexthop->meta_socket, key, tmp.len + 1) < 0) + if(write(fw->nexthop->meta_socket, key, tmp.len + 2) < 0) { syslog(LOG_ERR, "send failed: %s:%d: %m", __FILE__, __LINE__); return -1;