X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol.c;h=18fe4409455459313ca9df3bbceb10728b3cf54e;hp=fc23c8e22625ac678d95ff1c2d7de957336a2f54;hb=75d351eaf1264cfb7aa47166469e8ec722712a89;hpb=789a4c4f400de31d43b9c5f349f1de417443074a diff --git a/src/protocol.c b/src/protocol.c index fc23c8e2..18fe4409 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -738,19 +738,21 @@ 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)-2) <= 0) + if(read(cl->meta_socket, &((char*)(&tmp))[1], sizeof(tmp) - 3) <= 0) { syslog(LOG_ERR, "%d: Receive failed: %m", __LINE__); return -1; } + syslog(LOG_DEBUG, "%08lx %08lx %d %hd", tmp.from, tmp.to, tmp.expiry, tmp.len); 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,7 +791,7 @@ 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) -1) < 0) + if(write(fw->nexthop->meta_socket, &tmp, sizeof(tmp) -2) < 0) { syslog(LOG_ERR, "send failed: %s:%d: %m", __FILE__, __LINE__); return -1;