]> git.meshlink.io Git - meshlink/blobdiff - src/protocol_auth.c
Merge branch 'master' of git://tinc-vpn.org/tinc into 1.1
[meshlink] / src / protocol_auth.c
index 7595c48e16c48ba482d32467301d705d80f8f702..a542ca9ea922813b75cc741f24dbe8d1f2550c9c 100644 (file)
@@ -110,6 +110,9 @@ bool id_h(connection_t *c, char *request) {
                return send_ack(c);
        }
 
+       if(!experimental)
+               c->protocol_minor = 0;
+
        if(!c->config_tree) {
                init_configuration(&c->config_tree);
 
@@ -123,13 +126,10 @@ bool id_h(connection_t *c, char *request) {
                        if(!read_ecdsa_public_key(c))
                                return false;
        } else {
-               if(!ecdsa_active(&c->ecdsa))
+               if(c->protocol_minor && !ecdsa_active(&c->ecdsa))
                        c->protocol_minor = 1;
        }
 
-       if(!experimental)
-               c->protocol_minor = 0;
-
        c->allow_request = METAKEY;
 
        if(c->protocol_minor >= 2)
@@ -226,7 +226,6 @@ bool send_metakey(connection_t *c) {
 static bool metakey_ec_h(connection_t *c, const char *request) {
        size_t siglen = ecdsa_size(&c->ecdsa);
        char key[MAX_STRING_SIZE];
-       char sig[siglen];
 
        logger(LOG_DEBUG, "Got ECDH metakey from %s", c->name);
 
@@ -547,7 +546,7 @@ static bool upgrade_h(connection_t *c, char *request) {
        }
 
        logger(LOG_INFO, "Got ECDSA public key from %s (%s), upgrading!", c->name, c->hostname);
-       append_connection_config(c, "ECDSAPublicKey", pubkey);
+       append_config_file(c->name, "ECDSAPublicKey", pubkey);
        c->allow_request = TERMREQ;
        return send_termreq(c);
 }
@@ -652,7 +651,7 @@ bool ack_h(connection_t *c, char *request) {
        if(tunnelserver)
                send_add_edge(c, c->edge);
        else
-               send_add_edge(broadcast, c->edge);
+               send_add_edge(everyone, c->edge);
 
        /* Run MST and SSSP algorithms */