X-Git-Url: https://git.librecmc.org/?p=oweals%2Ftinc.git;a=blobdiff_plain;f=src%2Fmeta.c;h=eb005fdf4dc8b0e6bb5b1b8f3486fc3564867ecf;hp=0a40d8c485882f0904040c3c2c6c90eda3ee5ecd;hb=bb2495e569fb161b42efd633eb1c471b8222b1fb;hpb=85adeef21275633b78a234b2660cbe3bc9dd2c33 diff --git a/src/meta.c b/src/meta.c index 0a40d8c..eb005fd 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.4 2000/10/15 00:59:34 guus Exp $ + $Id: meta.c,v 1.1.2.10 2000/11/15 01:06:10 zarq Exp $ */ #include "config.h" @@ -27,10 +27,18 @@ #include #include #include -#include +#include +#include + +#ifdef HAVE_OPENSSL_EVP_H +# include +#else +# include +#endif #include "net.h" #include "system.h" +#include "protocol.h" int send_meta(conn_list_t *cl, char *buffer, int length) { @@ -43,14 +51,15 @@ cp 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) { @@ -106,7 +115,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); } @@ -118,9 +127,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; @@ -140,7 +149,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); @@ -165,7 +174,6 @@ cp } cl->last_ping_time = time(NULL); - cl->want_ping = 0; cp return 0; }