Your message dated Thu, 19 Dec 2024 18:02:07 +0000 with message-id <[email protected]> and subject line Bug#1090005: Removed package(s) from unstable has caused the Debian Bug report #339364, regarding vtun: Link timeout handling in UDP mode to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 339364: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=339364 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: vtun Version: 2.6-4 Severity: normal -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.12-1-686 Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R) Versions of packages vtun depends on: ii debconf 1.4.58 Debian configuration management sy ii libc6 2.3.5-6 GNU C Library: Shared libraries an ii liblzo1 1.08-2 data compression library ii libssl0.9.7 0.9.7g-2 SSL shared libraries ii psmisc 21.6-1 Utilities that use the proc filesy ii zlib1g 1:1.2.3-4 compression library - runtime vtun recommends no packages. -- debconf information: * vtun/passwords: diff -ru vtun-2.6-orig/ChangeLog vtun-2.6/ChangeLog --- vtun-2.6-orig/ChangeLog 2003-03-18 15:32:28.000000000 +0300 +++ vtun-2.6/ChangeLog 2005-11-15 23:07:35.000000000 +0300 @@ -1,4 +1,16 @@ - +ver 2.6.1: + Fix bug in link timeout handling for "proto udp; кееpalive yes;" + (Eugene Berdnikov). + Previous concept of "idle" was inactivity on ALL file descriptors. + For the case of uni-directed data flow (ex. bridge "hello" BPDUs on + STP-disabled link, router advertisements or аsymmetric routing), + no checks for backword traffic were performed. Vital for UDP mode. + + Minor fixes in lfd_lzo.c to ensure correct type casting. + + Add description of "keepalive timeout:count;" syntax to man page + and sample vtund.conf. + Future (2.7): SigINT should be heeded (Michael Tokarov) support for connecting ssl to non-ssl vtuns (sslauth option) <[email protected]> diff -ru vtun-2.6-orig/lfd_lzo.c vtun-2.6/lfd_lzo.c --- vtun-2.6-orig/lfd_lzo.c 2002-04-25 13:19:50.000000000 +0400 +++ vtun-2.6/lfd_lzo.c 2005-11-12 00:18:28.000000000 +0300 @@ -35,6 +35,7 @@ #ifdef HAVE_LZO +#include "lzoutil.h" #include "lzo1x.h" static lzo_byte *zbuf; @@ -53,7 +54,7 @@ int alloc_lzo(struct vtun_host *host) { int zlevel = host->zlevel ? host->zlevel : 1; - int mem; + lzo_uint mem; switch( zlevel ){ case 9: diff -ru vtun-2.6-orig/linkfd.c vtun-2.6/linkfd.c --- vtun-2.6-orig/linkfd.c 2002-12-15 22:23:03.000000000 +0300 +++ vtun-2.6/linkfd.c 2005-11-15 20:29:53.000000000 +0300 @@ -172,19 +172,37 @@ linker_term = VTUN_SIG_HUP; } -/* Statistic dump */ +/* Statistic dump and keep-alive monitor */ +static volatile sig_atomic_t ka_need_verify = 0; +static time_t stat_timer = 0, ka_timer = 0; + void sig_alarm(int sig) { - static time_t tm; + static time_t tm_old, tm = 0; static char stm[20]; - + + tm_old = tm; tm = time(NULL); - strftime(stm, sizeof(stm)-1, "%b %d %H:%M:%S", localtime(&tm)); - fprintf(lfd_host->stat.file,"%s %lu %lu %lu %lu\n", stm, - lfd_host->stat.byte_in, lfd_host->stat.byte_out, - lfd_host->stat.comp_in, lfd_host->stat.comp_out); - - alarm(VTUN_STAT_IVAL); + + if( (lfd_host->flags & VTUN_KEEP_ALIVE) && (ka_timer -= tm-tm_old) <= 0){ + ka_need_verify = 1; + ka_timer = lfd_host->ka_interval + + 1; /* We have to complete select() on idle */ + } + + if( (lfd_host->flags & VTUN_STAT) && (stat_timer -= tm-tm_old) <= 0){ + strftime(stm, sizeof(stm)-1, "%b %d %H:%M:%S", localtime(&tm)); + fprintf(lfd_host->stat.file,"%s %lu %lu %lu %lu\n", stm, + lfd_host->stat.byte_in, lfd_host->stat.byte_out, + lfd_host->stat.comp_in, lfd_host->stat.comp_out); + stat_timer = VTUN_STAT_IVAL; + } + + if ( ka_timer*stat_timer ){ + alarm( (ka_timer < stat_timer) ? ka_timer : stat_timer ); + } else { + alarm( (ka_timer) ? ka_timer : stat_timer ); + } } static void sig_usr1(int sig) @@ -230,26 +248,27 @@ break; else continue; - } - - if( !len ){ - /* We are idle, lets check connection */ - if( lfd_host->flags & VTUN_KEEP_ALIVE ){ - if( ++idle > lfd_host->ka_failure ){ - vtun_syslog(LOG_INFO,"Session %s network timeout", lfd_host->host); - break; - } - /* Send ECHO request */ - if( proto_write(fd1, buf, VTUN_ECHO_REQ) < 0 ) - break; + } + + if( ka_need_verify ){ + if( idle > lfd_host->ka_failure ){ + vtun_syslog(LOG_INFO,"Session %s network timeout", lfd_host->host); + break; + } + /* Send ECHO request */ + if (idle++ > 0) { + if( proto_write(fd1, buf, VTUN_ECHO_REQ) < 0 ){ + vtun_syslog(LOG_ERR,"Failed to send ECHO_REQ"); + break; + } } - continue; + ka_need_verify = 0; } /* Read frames from network(fd1), decode and pass them to * the local device (fd2) */ if( FD_ISSET(fd1, &fdset) && lfd_check_up() ){ - idle = 0; + idle = 0; ka_need_verify = 0; if( (len=proto_read(fd1, buf)) <= 0 ) break; @@ -356,6 +375,15 @@ sa.sa_handler=sig_hup; sigaction(SIGHUP,&sa,&sa_oldhup); + /* Initialize keep-alive timer */ + if( host->flags & VTUN_STAT|VTUN_KEEP_ALIVE ){ + sa.sa_handler=sig_alarm; + sigaction(SIGALRM,&sa,NULL); + + alarm( (host->ka_interval < VTUN_STAT_IVAL) ? + host->ka_interval : VTUN_STAT_IVAL ); + } + /* Initialize statstic dumps */ if( host->flags & VTUN_STAT ){ char file[40]; @@ -368,7 +396,6 @@ sprintf(file,"%s/%.20s", VTUN_STAT_DIR, host->host); if( (host->stat.file=fopen(file, "a")) ){ setvbuf(host->stat.file, NULL, _IOLBF, 0); - alarm(VTUN_STAT_IVAL); } else vtun_syslog(LOG_ERR, "Can't open stats file %s", file); } @@ -377,7 +404,7 @@ lfd_linker(); - if( host->flags & VTUN_STAT ){ + if( host->flags & VTUN_STAT|VTUN_KEEP_ALIVE ){ alarm(0); if (host->stat.file) fclose(host->stat.file); diff -ru vtun-2.6-orig/vtund.conf vtun-2.6/vtund.conf --- vtun-2.6-orig/vtund.conf 2002-12-16 20:20:50.000000000 +0300 +++ vtun-2.6/vtund.conf 2005-11-15 20:54:58.000000000 +0300 @@ -98,6 +98,10 @@ # keepalive - Enable 'yes' or disable 'no' connection # keep-alive. Ignored by the client. # +# May be in form 'interval:count', where 'interval' is the +# period of connection checks, and 'count' is the maximum +# number of retries. Indeed 'yes' = '30:4'. +# # ----------- # timeout - Connect timeout. # diff -ru vtun-2.6-orig/vtund.conf.5 vtun-2.6/vtund.conf.5 --- vtun-2.6-orig/vtund.conf.5 2003-03-18 15:32:28.000000000 +0300 +++ vtun-2.6/vtund.conf.5 2005-11-15 20:48:57.000000000 +0300 @@ -149,8 +149,10 @@ This option ignored by the client. .IP \fBencrypt\ \fByes\fR|\fBno\fR enable or disable encryption. This option ignored by the client. -.IP \fBkeepalive\ \fByes\fR|\fBno\fR -enable or disable connection keep-alive. +.IP \fBkeepalive\ \fByes\fR|\fBno\fR|\fIinterval\fB:\fIcount\fR +enable or disable connection keep-alive. Time \fIinterval\fR is a period +between connection checks, in seconds, and \fIcount\fR is the maximum number +of retries (\fByes\fR = \fI30\fB:\fI4\fR). This option is ignored by the client. .IP \fBstat\ \fByes\fR|\fBno\fR enable or disable statistics. If enabled \fBvtund\fR(8) will log -- Eugene Berdnikov
--- End Message ---
--- Begin Message ---Version: 3.0.4-2+rm Dear submitter, as the package vtun has just been removed from the Debian archive unstable we hereby close the associated bug reports. We are sorry that we couldn't deal with your issue properly. For details on the removal, please see https://bugs.debian.org/1090005 The version of this package that was in Debian prior to this removal can still be found using https://snapshot.debian.org/. Please note that the changes have been done on the master archive and will not propagate to any mirrors until the next dinstall run at the earliest. This message was generated automatically; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]. Debian distribution maintenance software pp. Thorsten Alteholz (the ftpmaster behind the curtain)
--- End Message ---

