X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol.c;h=13a57937ef872368aa12d27795e80d7d43a49668;hp=fc23c8e22625ac678d95ff1c2d7de957336a2f54;hb=3219be5770716bdb0c8b6e9e4c674a447c5085f2;hpb=789a4c4f400de31d43b9c5f349f1de417443074a diff --git a/src/protocol.c b/src/protocol.c index fc23c8e2..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)-2) <= 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) -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; } - 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;