X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fmeta.c;h=8e9c8d390d69574782b0494f188b24d9c216e391;hp=5048e63bb1d19236ae212867c4d8a954d345a4b1;hb=df3220a1549f992cbf4a9b6e67c1e67b69896c7d;hpb=b0dd705a264f0f72a7afba6de85200598cbe083b diff --git a/src/meta.c b/src/meta.c index 5048e63b..8e9c8d39 100644 --- a/src/meta.c +++ b/src/meta.c @@ -1,7 +1,7 @@ /* meta.c -- handle the meta communication - Copyright (C) 2000-2003 Guus Sliepen , - 2000-2003 Ivo Timmermans + Copyright (C) 2000-2005 Guus Sliepen , + 2000-2005 Ivo Timmermans 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,11 +17,12 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: meta.c,v 1.1.2.45 2003/10/10 16:24:24 guus Exp $ + $Id$ */ #include "system.h" +#include #include #include "avl_tree.h" @@ -30,7 +31,6 @@ #include "meta.h" #include "net.h" #include "protocol.h" -#include "system.h" #include "utils.h" bool send_meta(connection_t *c, const char *buffer, int length) @@ -48,7 +48,8 @@ bool send_meta(connection_t *c, const char *buffer, int length) if(c->status.encryptout) { result = EVP_EncryptUpdate(c->outctx, outbuf, &outlen, buffer, length); if(!result || outlen != length) { - logger(LOG_ERR, _("Error while encrypting metadata to %s (%s): %s"), ERR_error_string(ERR_get_error(), NULL)); + logger(LOG_ERR, _("Error while encrypting metadata to %s (%s): %s"), + c->name, c->hostname, ERR_error_string(ERR_get_error(), NULL)); return false; } bufp = outbuf; @@ -133,7 +134,8 @@ bool receive_meta(connection_t *c) if(c->status.decryptin && !decrypted) { result = EVP_DecryptUpdate(c->inctx, inbuf, &lenout, c->buffer + oldlen, lenin); if(!result || lenout != lenin) { - logger(LOG_ERR, _("Error while decrypting metadata from %s (%s): %s"), ERR_error_string(ERR_get_error(), NULL)); + logger(LOG_ERR, _("Error while decrypting metadata from %s (%s): %s"), + c->name, c->hostname, ERR_error_string(ERR_get_error(), NULL)); return false; } memcpy(c->buffer + oldlen, inbuf, lenin); @@ -147,7 +149,7 @@ bool receive_meta(connection_t *c) receive_tcppacket(c, c->buffer, c->tcplen); c->buflen -= c->tcplen; - lenin -= c->tcplen; + lenin -= c->tcplen - oldlen; memmove(c->buffer, c->buffer + c->tcplen, c->buflen); oldlen = 0; c->tcplen = 0; @@ -175,7 +177,7 @@ bool receive_meta(connection_t *c) return false; c->buflen -= reqlen; - lenin -= reqlen; + lenin -= reqlen - oldlen; memmove(c->buffer, c->buffer + reqlen, c->buflen); oldlen = 0; continue;