X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fmeta.c;h=6b2a8e2b6fa19beeaa966ae9fd08f76c3244313d;hp=85781b832bf159d58c931474d6a9e92f66ac3508;hb=4811afa073c871f2a52dfd5139bd0171046365eb;hpb=950fb8e916b0e248dcaa72c96859acd6046683aa diff --git a/src/meta.c b/src/meta.c index 85781b83..6b2a8e2b 100644 --- a/src/meta.c +++ b/src/meta.c @@ -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: meta.c,v 1.1.2.2 2000/10/11 10:35:15 guus Exp $ + $Id: meta.c,v 1.1.2.8 2000/10/29 22:55:14 guus Exp $ */ #include "config.h" @@ -28,9 +28,12 @@ #include #include #include +#include +#include #include "net.h" #include "system.h" +#include "protocol.h" int send_meta(conn_list_t *cl, char *buffer, int length) { @@ -42,13 +45,16 @@ cp syslog(LOG_DEBUG, _("Sending %d bytes of metadata to %s (%s): %s"), length, cl->name, cl->hostname, buffer); + buffer[length-1]='\n'; + if(cl->status.encryptout) { EVP_EncryptUpdate(cl->cipher_outctx, outbuf, &outlen, buffer, length); bufp = outbuf; + length = outlen; } else - bufp = buffer; + bufp = buffer; if(write(cl->meta_socket, bufp, length) < 0) { @@ -59,7 +65,7 @@ cp return 0; } -int broadcast_meta(conn_list_t *cl, const char *buffer, int length) +int broadcast_meta(conn_list_t *cl, char *buffer, int length) { conn_list_t *p; cp @@ -104,7 +110,7 @@ cp return 0; if(errno==0) { - if(debug_lvl>DEBUG_CONNECTIONS) + if(debug_lvl >= DEBUG_CONNECTIONS) syslog(LOG_NOTICE, _("Connection closed by %s (%s)"), cl->name, cl->hostname); } @@ -116,9 +122,9 @@ cp if(cl->status.decryptin) { - EVP_DecryptUpdate(cl->cipher_inctx, cl->buffer + cl->buflen, NULL, inbuf, lenin); + EVP_DecryptUpdate(cl->cipher_inctx, cl->buffer + cl->buflen, &lenin, inbuf, lenin); } - + oldlen = cl->buflen; cl->buflen += lenin; @@ -138,7 +144,7 @@ cp if(cl->reqlen) { - if(debug_lvl > DEBUG_META) + if(debug_lvl >= DEBUG_META) syslog(LOG_DEBUG, _("Got request from %s (%s): %s"), cl->name, cl->hostname, cl->buffer);