X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fprotocol_auth.c;h=21f13a13ad042b9a7e5df7de10612db692341f9b;hb=084ba04f51441098c55d3bd21b11bbe368e7b52e;hp=a1395b715e0169f2defb668338ac7fe28bb5ab69;hpb=1ffa0e102dc0d036241ee1ea2a13df42526c0872;p=meshlink diff --git a/src/protocol_auth.c b/src/protocol_auth.c index a1395b71..21f13a13 100644 --- a/src/protocol_auth.c +++ b/src/protocol_auth.c @@ -22,8 +22,6 @@ #include "conf.h" #include "connection.h" -#include "control.h" -#include "control_common.h" #include "cipher.h" #include "crypto.h" #include "digest.h" @@ -39,7 +37,6 @@ #include "prf.h" #include "protocol.h" #include "rsa.h" -#include "script.h" #include "sptps.h" #include "utils.h" #include "xalloc.h" @@ -176,20 +173,7 @@ static bool finalize_invitation(connection_t *c, const char *data, uint16_t len) logger(DEBUG_CONNECTIONS, LOG_INFO, "Key succesfully received from %s (%s)", c->name, c->hostname); - // Call invitation-accepted script - char *envp[7] = {NULL}; - char *address, *port; - - xasprintf(&envp[0], "NETNAME=%s", netname ? : ""); - xasprintf(&envp[3], "NODE=%s", c->name); - sockaddr2str(&c->address, &address, &port); - xasprintf(&envp[4], "REMOTEADDRESS=%s", address); - xasprintf(&envp[5], "NAME=%s", myself->name); - - execute_script("invitation-accepted", envp); - - for(int i = 0; envp[i] && i < 7; i++) - free(envp[i]); + //TODO: callback to application to inform of an accepted invitation sptps_send_record(&c->sptps, 2, data, 0); return true; @@ -289,18 +273,7 @@ bool id_h(connection_t *c, const char *request) { return false; } - /* Check if this is a control connection */ - - if(name[0] == '^' && !strcmp(name + 1, controlcookie)) { - c->status.control = true; - c->allow_request = CONTROL; - c->last_ping_time = now.tv_sec + 3600; - - free(c->name); - c->name = xstrdup(""); - - return send_request(c, "%d %d %d", ACK, TINC_CTL_VERSION_CURRENT, getpid()); - } + /* Check if this is an invitation */ if(name[0] == '?') { if(!invitation_key) { @@ -755,7 +728,7 @@ bool ack_h(connection_t *c, const char *request) { } terminate_connection(n->connection, false); - /* Run graph algorithm to purge key and make sure up/down scripts are rerun with new IP addresses and stuff */ + /* Run graph algorithm to keep things in sync */ graph(); } }