X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol_key.c;h=f0fe316b2f65f5496b7acf829f6a25a9b5682e98;hp=a3ef4d60a15c4896e9d6988f8e39a94f40444cb5;hb=e9576632dc4b780b867044269d06cc50f76d8c05;hpb=de78d79db84c486afcc353884ec1770866beb653 diff --git a/src/protocol_key.c b/src/protocol_key.c index a3ef4d60..f0fe316b 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-2005 Ivo Timmermans, - 2000-2006 Guus Sliepen + 2000-2008 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 @@ -134,6 +134,12 @@ bool req_key_h(connection_t *c) if(tunnelserver) return false; + if(!to->status.reachable) { + logger(LOG_WARNING, _("Got %s from %s (%s) destination %s which is not reachable"), + "REQ_KEY", c->name, c->hostname, to_name); + return true; + } + send_req_key(to->nexthop->connection, from, to); } @@ -197,6 +203,12 @@ bool ans_key_h(connection_t *c) if(tunnelserver) return false; + if(!to->status.reachable) { + logger(LOG_WARNING, _("Got %s from %s (%s) destination %s which is not reachable"), + "ANS_KEY", c->name, c->hostname, to_name); + return true; + } + return send_request(to->nexthop->connection, "%s", c->buffer); }