Well...
From: http://bugs.gentoo.org/show_bug.cgi?id=207320, found out that:
When executing:
ip addr flush dev XXXX
On unprivileged user, you get infinite loop of iproute2... Reported
this to upstream.
So I had to workaround this using explicit del.

-r 2677:2682 
https://svn.openvpn.net/projects/openvpn/contrib/alon/BETA21-userpriv-fixups

On 1/25/08, Alon Bar-Lev <alon.bar...@gmail.com> wrote:
> Thanks!
> I was not aware of the null tun.
> The following should fix the problem.
>
> -r 2677:2679 
> https://svn.openvpn.net/projects/openvpn/contrib/alon/BETA21-userpriv-fixups
>
> Alon.
>
> On 1/25/08, Steven Pritchard <st...@silug.org> wrote:
> > Trying to build the Fedora package for rc6, I'm getting an error from
> > %check, which basically does this:
> >
> >   ./openvpn --config sample-config-files/loopback-client &
> >   ./openvpn --config sample-config-files/loopback-server
> >   wait
> >
> > I'm getting the following error:
> >
> >   Thu Jan 24 14:15:33 2008 /sbin/ip addr flush dev null
> >   Device "null" does not exist.
> >   Thu Jan 24 14:15:33 2008 Linux ip flush failed: shell command exited with 
> > error status: 255
> >
> > Full build log here:
> >
> >   http://koji.fedoraproject.org/koji/getfile?taskID=370966&name=build.log
> >
> > Steve
> > --
> > Steven Pritchard - K&S Pritchard Enterprises, Inc.
> > Email: st...@kspei.com             http://www.kspei.com/
> > Phone: (618)624-4440               Mobile: (618)567-7320
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > Openvpn-devel mailing list
> > Openvpn-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/openvpn-devel
> >
>
>
Index: openvpn/tun.c
===================================================================
--- openvpn/tun.c	(revision 2677)
+++ openvpn/tun.c	(revision 2682)
@@ -1221,17 +1221,24 @@
   if (tt)
     {
 #ifdef CONFIG_FEATURE_IPROUTE
-	char command_line[256];
-	/*
-	 * Flush IP configuration for the device
-	 */
-	openvpn_snprintf (command_line, sizeof (command_line),
-			  "%s addr flush dev %s",
+	if (tt->type != DEV_TYPE_NULL && tt->did_ifconfig)
+	  {
+	    char command_line[256];
+	    struct gc_arena gc = gc_new ();
+
+	    openvpn_snprintf (command_line, sizeof (command_line),
+			  "%s addr del dev %s local %s peer %s",
 			  iproute_path,
-			  tt->actual_name
+			  tt->actual_name,
+			  print_in_addr_t (tt->local, 0, &gc),
+			  print_in_addr_t (tt->remote_netmask, 0, &gc)
 			  );
-	msg (M_INFO, "%s", command_line);
-	system_check (command_line, NULL, S_FATAL, "Linux ip flush failed");
+
+	    msg (M_INFO, "%s", command_line);
+	    system_check (command_line, NULL, S_FATAL, "Linux ip addr del failed");
+
+	    gc_free (&gc);
+	  }
 #endif
       close_tun_generic (tt);
       free (tt);

Reply via email to