X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol_auth.c;h=14914ba8edc1b5eaa25e2ebc3c753f1b1c2e343f;hp=6b5b87405f92610b74a87f3872e2e0c22a38b328;hb=82ebfc923ddb050c88bdf5d65ac943a15ca8748a;hpb=594d5b5d15551bd802c43926c7cb8863b7531654 diff --git a/src/protocol_auth.c b/src/protocol_auth.c index 6b5b8740..14914ba8 100644 --- a/src/protocol_auth.c +++ b/src/protocol_auth.c @@ -1,7 +1,7 @@ /* protocol_auth.c -- handle the meta-protocol, authentication - Copyright (C) 1999-2002 Ivo Timmermans , - 2000-2002 Guus Sliepen + Copyright (C) 1999-2002 Ivo Timmermans , + 2000-2002 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: protocol_auth.c,v 1.1.4.7 2002/03/23 20:21:10 guus Exp $ + $Id: protocol_auth.c,v 1.1.4.12 2002/09/04 13:48:52 guus Exp $ */ #include "config.h" @@ -465,17 +465,13 @@ int send_ack(connection_t *c) to create node_t and edge_t structures. */ int x; - char *address, *port; struct timeval now; cp /* Estimate weight */ gettimeofday(&now, NULL); c->estimated_weight = (now.tv_sec - c->start.tv_sec) * 1000 + (now.tv_usec - c->start.tv_usec) / 1000; - sockaddr2str(&c->address, &address, &port); - x = send_request(c, "%d %s %s %d %lx", ACK, myport, address, c->estimated_weight, c->options); - free(address); - free(port); + x = send_request(c, "%d %s %s %d %lx", ACK, myport, c->estimated_weight, c->options); cp return x; } @@ -506,16 +502,12 @@ void send_everything(connection_t *c) { e = (edge_t *)node->data; - if(e == c->edge) - continue; - send_add_edge(c, e); } } int ack_h(connection_t *c) { - char myaddress[MAX_STRING_SIZE]; char hisport[MAX_STRING_SIZE]; char *hisaddress, *dummy; int weight; @@ -524,7 +516,7 @@ int ack_h(connection_t *c) connection_t *other; avl_node_t *node; cp - if(sscanf(c->buffer, "%*d "MAX_STRING" "MAX_STRING" %d %lx", hisport, myaddress, &weight, &options) != 4) + if(sscanf(c->buffer, "%*d "MAX_STRING" %d %lx", hisport, &weight, &options) != 3) { syslog(LOG_ERR, _("Got bad %s from %s (%s)"), "ACK", c->name, c->hostname); return -1; @@ -561,13 +553,10 @@ cp c->edge = new_edge(); cp - c->edge->from.node = myself; -// c->edge->from.tcpaddress = str2sockaddr(address, port); - c->edge->from.udpaddress = str2sockaddr(myaddress, myport); - c->edge->to.node = n; -// c->edge->to.tcpaddress = c->address; + c->edge->from = myself; + c->edge->to = n; sockaddr2str(&c->address, &hisaddress, &dummy); - c->edge->to.udpaddress = str2sockaddr(hisaddress, hisport); + c->edge->address = str2sockaddr(hisaddress, hisport); free(hisaddress); free(dummy); c->edge->weight = (weight + c->estimated_weight) / 2;