X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fprotocol_auth.c;h=790d324d0b054457a9d2e42f848d141dc3cf43fe;hb=248d300f1be0d5f2aae39202041699ab2b46c56b;hp=ccb7976c2700813131a62206f8cd7d3d1443db75;hpb=268c8545aaf83b7433f43402f5c77e39e20006ef;p=tinc diff --git a/src/protocol_auth.c b/src/protocol_auth.c index ccb7976c..790d324d 100644 --- a/src/protocol_auth.c +++ b/src/protocol_auth.c @@ -65,7 +65,7 @@ static bool send_proxyrequest(connection_t *c) { memcpy(s4req + 2, &c->address.in.sin_port, 2); memcpy(s4req + 4, &c->address.in.sin_addr, 4); if(proxyuser) - strcpy(s4req + 8, proxyuser); + memcpy(s4req + 8, proxyuser, strlen(proxyuser)); s4req[sizeof s4req - 1] = 0; c->tcplen = 8; return send_meta(c, s4req, sizeof s4req); @@ -83,10 +83,10 @@ static bool send_proxyrequest(connection_t *c) { s5req[i++] = 2; s5req[i++] = 1; s5req[i++] = strlen(proxyuser); - strcpy(s5req + i, proxyuser); + memcpy(s5req + i, proxyuser, strlen(proxyuser)); i += strlen(proxyuser); s5req[i++] = strlen(proxypass); - strcpy(s5req + i, proxypass); + memcpy(s5req + i, proxypass, strlen(proxypass)); i += strlen(proxypass); c->tcplen += 2; } else { @@ -506,7 +506,7 @@ bool send_ack(connection_t *c) { get_config_int(lookup_config(c->config_tree, "Weight"), &c->estimated_weight); - return send_request(c, "%d %s %d %x", ACK, myport, c->estimated_weight, c->options); + return send_request(c, "%d %s %d %x", ACK, myport, c->estimated_weight, (c->options & 0xffffff) | (PROT_MINOR << 24)); } static void send_everything(connection_t *c) { @@ -626,9 +626,6 @@ bool ack_h(connection_t *c, const char *request) { c->options &= ~OPTION_CLAMP_MSS; } - if(c->protocol_minor > 0) - c->node->status.ecdh = true; - /* Activate this connection */ c->allow_request = ALL;