tmp->from = myself->vpn_ip;
tmp->expiry = my_key_expiry;
tmp->len = strlen(my_public_key_base36);
- strcpy(&tmp->key, my_public_key_base36);
+ strcpy(&(tmp->key), my_public_key_base36);
-cp
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);
- if(debug_lvl > 2)
+cp
+ if(debug_lvl > 2)
syslog(LOG_DEBUG, "Sending public key to " IP_ADDR_S,
IP_ADDR_V(fw->nexthop->vpn_ip));
cp
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,
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;