Package: vtun
Version: 3.0.2-1
Severity: normal
Tags: patch

Hi

I'm trying to setup interface using ifup tool.
"up" section of config file contains the only one line:
  program "ifup -v %%=imec" wait;

This command is failed to run from vtund but runs
successfully when started manually with appropriate
substitution.
The output from failed ifup looks like this:
  Configuring interface tun112=imec (inet)
  run-parts --verbose /etc/network/if-pre-up.d
  run-parts: executing /etc/network/if-pre-up.d/bridge
  run-parts: /etc/network/if-pre-up.d/bridge exited because of uncaught signal 
47
  run-parts: executing /etc/network/if-pre-up.d/uml-utilities
  run-parts: /etc/network/if-pre-up.d/uml-utilities exited because of uncaught 
signal 47
  run-parts: executing /etc/network/if-pre-up.d/vde2
  run-parts: /etc/network/if-pre-up.d/vde2 exited because of uncaught signal 47
  run-parts: executing /etc/network/if-pre-up.d/vlan
  run-parts: /etc/network/if-pre-up.d/vlan exited because of uncaught signal 47
  run-parts: executing /etc/network/if-pre-up.d/wireless-tools
  run-parts: /etc/network/if-pre-up.d/wireless-tools exited because of uncaught 
signal 47
  
  Failed to bring up imec.

I think this problem could be related to ignored and inherited SIGCHLD.
The patch is in the attachment. It works for me.


-- System Information:
Debian Release: 5.0
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.27.10-avi (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to ru_RU.UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages vtun depends on:
ii  debconf [debconf-2.0]  1.5.24            Debian configuration management sy
ii  libc6                  2.7-16            GNU C Library: Shared libraries
ii  liblzo2-2              2.03-1            data compression library
ii  libssl0.9.8            0.9.8g-14         SSL shared libraries
ii  zlib1g                 1:1.2.3.3.dfsg-12 compression library - runtime

vtun recommends no packages.

vtun suggests no packages.
diff -ur vtun-3.0.2/lib.c vtun-3.0.2.1/lib.c
--- vtun-3.0.2/lib.c	2008-01-08 01:35:40.000000000 +0300
+++ vtun-3.0.2.1/lib.c	2008-12-22 12:25:15.000000000 +0300
@@ -307,6 +307,13 @@
 	   return 0;	 
      }
 
+     {
+	struct sigaction sa;
+	memset(&sa,0,sizeof(sa));     
+	sa.sa_handler=SIG_DFL;
+	sigaction(SIGCHLD,&sa,NULL);
+     }
+
      args = subst_opt(cmd->args, opt);
      if( !cmd->prog ){
 	/* Run using shell */

Reply via email to