#include "system.h"
-#include "cipher.h"
#include "connection.h"
-#include "crypto.h"
#include "logger.h"
#include "meshlink_internal.h"
#include "net.h"
}
bool send_req_key(node_t *to) {
- if(!node_read_ecdsa_public_key(to)) {
+ if(!node_read_ecdsa_public_key(mesh, to)) {
logger(DEBUG_PROTOCOL, LOG_DEBUG, "No ECDSA key known for %s (%s)", to->name, to->hostname);
send_request(to->nexthop->connection, "%d %s %s %d", REQ_KEY, mesh->self->name, to->name, REQ_PUBKEY);
return true;
sptps_stop(&to->sptps);
to->status.validkey = false;
to->status.waitingforkey = true;
- to->last_req_key = now.tv_sec;
+ to->last_req_key = mesh->loop.now.tv_sec;
to->incompression = mesh->self->incompression;
return sptps_start(&to->sptps, to, true, true, mesh->self->connection->ecdsa, to->ecdsa, label, sizeof label, send_initial_sptps_data, receive_sptps_record);
}
}
case ANS_PUBKEY: {
- if(node_read_ecdsa_public_key(from)) {
+ if(node_read_ecdsa_public_key(mesh, from)) {
logger(DEBUG_PROTOCOL, LOG_WARNING, "Got ANS_PUBKEY from %s (%s) even though we already have his pubkey", from->name, from->hostname);
return true;
}
}
logger(DEBUG_PROTOCOL, LOG_INFO, "Learned ECDSA public key from %s (%s)", from->name, from->hostname);
- append_config_file(from->name, "ECDSAPublicKey", pubkey);
+ append_config_file(mesh, from->name, "ECDSAPublicKey", pubkey);
return true;
}
case REQ_KEY: {
- if(!node_read_ecdsa_public_key(from)) {
+ if(!node_read_ecdsa_public_key(mesh, from)) {
logger(DEBUG_PROTOCOL, LOG_DEBUG, "No ECDSA key known for %s (%s)", from->name, from->hostname);
send_request(from->nexthop->connection, "%d %s %s %d", REQ_KEY, mesh->self->name, from->name, REQ_PUBKEY);
return true;
sptps_stop(&from->sptps);
from->status.validkey = false;
from->status.waitingforkey = true;
- from->last_req_key = now.tv_sec;
+ from->last_req_key = mesh->loop.now.tv_sec;
sptps_start(&from->sptps, from, false, true, mesh->self->connection->ecdsa, from->ecdsa, label, sizeof label, send_sptps_data, receive_sptps_record);
sptps_receive_data(&from->sptps, buf, len);
return true;