X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol.c;h=2416599d4a0efe09cfbbae7fa761df67f77dd300;hp=7bd64cc91bd7f5f63ddad91706ecd84ceb81423f;hb=ff87f385c3a81499eff6b848aed8548cf6e5132e;hpb=ac73c72488dd8b33464fac1f392e89df48f7a23b diff --git a/src/protocol.c b/src/protocol.c index 7bd64cc9..2416599d 100644 --- a/src/protocol.c +++ b/src/protocol.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: protocol.c,v 1.28.4.22 2000/08/08 08:48:50 guus Exp $ + $Id: protocol.c,v 1.28.4.23 2000/08/08 13:47:57 guus Exp $ */ #include "config.h" @@ -126,7 +126,7 @@ cp int send_tcppacket(conn_list_t *cl, void *data, int len) { cp - if(debug_lvl > 1) + if(debug_lvl > 3) syslog(LOG_DEBUG, _("Sending PACKET to %s (%s)"), cl->vpn_hostname, cl->real_hostname); @@ -140,7 +140,7 @@ cp if((write(cl->meta_socket, data, len)) != len) { - syslog(LOG_ERR, _("Send failed: %s:%d: %m"), __FILE__, __LINE__); + syslog(LOG_ERR, _("Sending PACKET data failed: %s:%d: %m"), __FILE__, __LINE__); return -1; } @@ -686,17 +686,23 @@ cp return -1; } - if(len>1600) + if(len > MTU) { syslog(LOG_ERR, _("Got too big PACKET from %s (%s)"), cl->vpn_hostname, cl->real_hostname); return -1; } + if(debug_lvl > 3) + syslog(LOG_DEBUG, _("Got PACKET length %d from %s (%s)"), len, + cl->vpn_hostname, cl->real_hostname); + /* Evil kludge comming up */ while(len) { - syslog(LOG_DEBUG, _("Direct read count=%d len=%d rp=%p socket=%d"), count, len, ((char *)&rp)+count, cl->meta_socket); + if(debug_lvl > 3) + syslog(LOG_DEBUG, _("Direct read count=%d len=%d rp=%p socket=%d"), count, len, ((char *)&rp)+count, cl->meta_socket); + result=read(cl->meta_socket,((char *)&rp)+count,len); if(result<0) { @@ -708,10 +714,6 @@ cp len-=result; } - if(debug_lvl > 3) - syslog(LOG_DEBUG, _("Got PACKET length %d from %s (%s)"), len, - cl->vpn_hostname, cl->real_hostname); - total_socket_in += len; rp.data.len = ntohs(rp.data.len); @@ -732,7 +734,7 @@ cp xrecv(f, &rp); else { - add_queue(&(f->rq), &rp, rp.len); +/* add_queue(&(f->rq), &rp, rp.len); We can't do this since rp is on the stack */ if(!cl->status.waitingforkey) send_key_request(rp.from); }