X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol.c;h=18fe4409455459313ca9df3bbceb10728b3cf54e;hp=44f012f75acc7698fd43f7eae16e2b89eed87c1c;hb=75d351eaf1264cfb7aa47166469e8ec722712a89;hpb=eb1c9814e6b2a5206be1fadf19e0dc779690a69e diff --git a/src/protocol.c b/src/protocol.c index 44f012f7..18fe4409 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -335,20 +335,14 @@ cp tmp->len = strlen(my_public_key_base36); strcpy(&(tmp->key), my_public_key_base36); -cp - syslog(LOG_DEBUG, "key sent = %s", my_public_key_base36); -cp - fw = lookup_conn(to); + fw = lookup_conn(to); -cp if(!fw) { syslog(LOG_ERR, "Attempting to send key answer to " IP_ADDR_S ", which does not exist?", IP_ADDR_V(to)); return -1; } -cp - syslog(LOG_DEBUG, "key sent = %s", &(tmp->key)); cp if(debug_lvl > 2) @@ -744,21 +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, "key = %s", key); + syslog(LOG_DEBUG, "%s", key); if(debug_lvl > 3) syslog(LOG_DEBUG, "got ANS_KEY from " IP_ADDR_S " for " IP_ADDR_S, @@ -797,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;