int autoconnect = 3;
-bool node_read_ecdsa_public_key(node_t *n) {
+bool node_read_ecdsa_public_key(meshlink_handle_t *mesh, node_t *n) {
if(ecdsa_active(n->ecdsa))
return true;
return n->ecdsa;
}
-bool read_ecdsa_public_key(connection_t *c) {
+bool read_ecdsa_public_key(meshlink_handle_t *mesh, connection_t *c) {
if(ecdsa_active(c->ecdsa))
return true;
return false;
}
-static bool read_ecdsa_private_key(void) {
+static bool read_ecdsa_private_key(meshlink_handle_t *mesh) {
FILE *fp;
char filename[PATH_MAX];
return mesh->self->connection->ecdsa;
}
-static bool read_invitation_key(void) {
+static bool read_invitation_key(meshlink_handle_t *mesh) {
FILE *fp;
char filename[PATH_MAX];
return mesh->invitation_key;
}
-void load_all_nodes(void) {
+static void load_all_nodes(meshlink_handle_t *mesh) {
DIR *dir;
struct dirent *ent;
char dname[PATH_MAX];
}
-char *get_name(void) {
+char *get_name(meshlink_handle_t *mesh) {
char *name = NULL;
get_config_string(lookup_config(mesh->config, "Name"), &name);
return name;
}
-bool setup_myself_reloadable(void) {
+bool setup_myself_reloadable(meshlink_handle_t *mesh) {
mesh->localdiscovery = true;
keylifetime = 3600; // TODO: check if this can be removed as well
mesh->maxtimeout = 900;
autoconnect = 3;
mesh->self->options |= OPTION_PMTU_DISCOVERY;
- read_invitation_key();
+ read_invitation_key(mesh);
return true;
}
/*
Add listening sockets.
*/
-static bool add_listen_address(char *address, bool bindto) {
+static bool add_listen_address(meshlink_handle_t *mesh, char *address, bool bindto) {
char *port = mesh->myport;
if(address) {
/*
Configure node_t mesh->self and set up the local sockets (listen only)
*/
-bool setup_myself(void) {
+bool setup_myself(meshlink_handle_t *mesh) {
char *name, *hostname, *cipher, *digest, *type;
char *address = NULL;
bool port_specified = false;
- if(!(name = get_name())) {
+ if(!(name = get_name(mesh))) {
logger(DEBUG_ALWAYS, LOG_ERR, "Name for tinc daemon required!");
return false;
}
mesh->self->options |= PROT_MINOR << 24;
- if(!read_ecdsa_private_key())
+ if(!read_ecdsa_private_key(mesh))
return false;
/* Ensure mesh->myport is numeric */
/* Check some options */
- if(!setup_myself_reloadable())
+ if(!setup_myself_reloadable(mesh))
return false;
/* Compression */
graph();
if(autoconnect)
- load_all_nodes();
+ load_all_nodes(mesh);
/* Open sockets */
mesh->listen_sockets = 0;
int cfgs = 0;
- if(!add_listen_address(address, NULL))
+ if(!add_listen_address(mesh, address, NULL))
return false;
if(!mesh->listen_sockets) {
/*
initialize network
*/
-bool setup_network(void) {
+bool setup_network(meshlink_handle_t *mesh) {
init_connections();
init_nodes();
init_edges();
mesh->pingtimeout = 5;
maxoutbufsize = 10 * MTU;
- if(!setup_myself())
+ if(!setup_myself(mesh))
return false;
return true;