X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fmeta.c;h=31a387a07a31931599b3cbab0306c830989051aa;hb=c46e84837d1c84a8590e0e3507227670368884a7;hp=21cbe964661e5c6abdc96b859f283ed8417a16ca;hpb=c78a204f06182f50b0812c8e4fef6163e82097bf;p=tinc diff --git a/src/meta.c b/src/meta.c index 21cbe964..31a387a0 100644 --- a/src/meta.c +++ b/src/meta.c @@ -17,27 +17,36 @@ 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.1 2000/09/26 14:06:03 guus Exp $ + $Id: meta.c,v 1.1.2.5 2000/10/21 11:52:06 guus Exp $ */ #include "config.h" +#include -int send_meta(conn_list_t *cl, const char *buffer, int length) +#include +#include +#include +#include +#include + +#include "net.h" +#include "system.h" + +int send_meta(conn_list_t *cl, char *buffer, int length) { char outbuf[MAXBUFSIZE]; char *bufp; + int outlen; cp if(debug_lvl >= DEBUG_META) - syslog(LOG_DEBUG, _("Sending %d bytes of metadata to %s (%s): %s"), int length, + 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) { - if(EVP_EncryptUpdate(cl->cipher_outctx, cl->buffer + cl->buflen, NULL, inbuf, length) != 1) - { - syslog(LOG_ERR, _("Error during encryption of outgoing metadata to %s (%s)"), cl->name, cl->hostname); - return -1; - } + EVP_EncryptUpdate(cl->cipher_outctx, outbuf, &outlen, buffer, length); bufp = outbuf; } else @@ -52,7 +61,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 @@ -84,7 +93,7 @@ cp return -1; } - if(cl->status.encryptin) + if(cl->status.decryptin) bufp = inbuf; else bufp = cl->buffer + cl->buflen; @@ -97,7 +106,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); } @@ -109,11 +118,7 @@ cp if(cl->status.decryptin) { - if(EVP_DecryptUpdate(cl->cipher_inctx, cl->buffer + cl->buflen, NULL, inbuf, lenin) != 1) - { - syslog(LOG_ERR, _("Error during decryption of incoming metadata from %s (%s)"), cl->name, cl->hostname); - return -1; - } + EVP_DecryptUpdate(cl->cipher_inctx, cl->buffer + cl->buflen, NULL, inbuf, lenin); } oldlen = cl->buflen; @@ -135,7 +140,7 @@ cp if(cl->reqlen) { - if(debug_lvl > DEBUG_META) + if(debug_lvl >= DEBUG_PROTOCOL) syslog(LOG_DEBUG, _("Got request from %s (%s): %s"), cl->name, cl->hostname, cl->buffer);