X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fmeta.c;h=a4cfc838ec3b34bb3c64c95baf30f5a8c06f0a09;hb=7fcc0c6415488ed6ce0089a67ab7cfdd5d0d83ca;hp=bc9d0b5218c2db97305d9ff7fca3ec47bed6ab31;hpb=9c2f805255fa36b05e8fe9391f639581d938b653;p=tinc diff --git a/src/meta.c b/src/meta.c index bc9d0b52..a4cfc838 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.6 2000/10/24 15:46:16 guus Exp $ + $Id: meta.c,v 1.1.2.11 2000/11/15 13:33:25 guus Exp $ */ #include "config.h" @@ -26,11 +26,20 @@ #include #include #include +#include +#include +/* This line must be below the rest for FreeBSD */ #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,15 +52,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) { @@ -93,11 +102,10 @@ cp cl->name, cl->hostname, strerror(x)); return -1; } -/* + if(cl->status.decryptin) bufp = inbuf; else -*/ bufp = cl->buffer + cl->buflen; lenin = read(cl->meta_socket, bufp, MAXBUFSIZE - cl->buflen); @@ -117,12 +125,12 @@ cp cl->name, cl->hostname); return -1; } -/* + 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; @@ -167,7 +175,6 @@ cp } cl->last_ping_time = time(NULL); - cl->want_ping = 0; cp return 0; }