X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol_key.c;h=e393dd64a945216ce28a36b2dbe88661e9678e18;hp=049fc1e8073c093a602275f9235a97fbfb4cd15c;hb=e810545dc2ae158745624c1575b76c55f883c892;hpb=e3220cacb5bc79fc56167e61b7a342f88a33a479 diff --git a/src/protocol_key.c b/src/protocol_key.c index 049fc1e8..e393dd64 100644 --- a/src/protocol_key.c +++ b/src/protocol_key.c @@ -1,7 +1,7 @@ /* protocol_key.c -- handle the meta-protocol, key exchange - Copyright (C) 1999-2003 Ivo Timmermans , - 2000-2003 Guus Sliepen + Copyright (C) 1999-2005 Ivo Timmermans , + 2000-2005 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_key.c,v 1.1.4.24 2003/11/17 15:30:18 guus Exp $ + $Id$ */ #include "system.h" @@ -142,10 +142,11 @@ bool req_key_h(connection_t *c) bool send_ans_key(connection_t *c, const node_t *from, const node_t *to) { - char key[MAX_STRING_SIZE]; + char *key; cp(); + key = alloca(2 * from->keylength + 1); bin2hex(from->key, key, from->keylength); key[from->keylength * 2] = '\0'; @@ -267,6 +268,8 @@ bool ans_key_h(connection_t *c) return false; } + if(from->options & OPTION_PMTU_DISCOVERY && !from->mtuprobes) + send_mtu_probe(from); flush_queue(from);