<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/linux-igd/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/linux-igd/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/linux-igd/bugs/</id><updated>2014-07-16T22:58:59.258000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>#7 "TimerThreadRemove failed!" message because eventId is garbled</title><link href="https://sourceforge.net/p/linux-igd/bugs/7/?limit=25#71e6" rel="alternate"/><published>2014-07-16T22:58:59.258000Z</published><updated>2014-07-16T22:58:59.258000Z</updated><author><name>nyet</name><uri>https://sourceforge.net/u/nyet/</uri></author><id>https://sourceforge.netdafd6d3cb435916a26f7fd402a63e965b43d0903</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Sorry. Forgot to mark it as pre.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;***&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;home&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;nyet&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;initialize&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;portmap&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;patch&lt;/span&gt;
&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;pmlist&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;
&lt;span class="o"&gt;+++&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;pmlist&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;
&lt;span class="err"&gt;@@&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="err"&gt;@@&lt;/span&gt;
                   &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;externalPort&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;internalPort&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                   &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;protocol&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;internalClient&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;desc&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;   &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;portMap&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;temp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;portMap&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;malloc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;portMap&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="o"&gt;+&lt;/span&gt;   &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;portMap&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;temp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;portMap&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;calloc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;portMap&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

    &lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;m_PortMappingEnabled&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="err"&gt;@@&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="err"&gt;@@&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;desc&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="k"&gt;sizeof&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;m_PortMappingDescription&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="n"&gt;strcpy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;m_PortMappingDescription&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;desc&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nf"&gt;strcpy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;m_PortMappingDescription&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;m_PortMappingLeaseDuration&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;+&lt;/span&gt;   &lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;expirationEventId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt;@@&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;212&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;213&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="err"&gt;@@&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;temp&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;pmlist_Tail&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// We are the Tail, but not the Head so we have prev&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;pmlist_Tail&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pmlist_Tail&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;           &lt;span class="n"&gt;free&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pmlist_Tail&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;+&lt;/span&gt;           &lt;span class="n"&gt;free&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;pmlist_Tail&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="n"&gt;action_succeeded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</summary></entry><entry><title>"TimerThreadRemove failed!" message because eventId is garbled</title><link href="https://sourceforge.net/p/linux-igd/bugs/7/" rel="alternate"/><published>2014-07-16T22:56:41.353000Z</published><updated>2014-07-16T22:56:41.353000Z</updated><author><name>nyet</name><uri>https://sourceforge.net/u/nyet/</uri></author><id>https://sourceforge.net695ee3f629b9ecd786954eddfe4ad767bc8b33aa</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720495" rel="nofollow"&gt;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720495&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;em&gt;&lt;/em&gt;&lt;em&gt; /home/nyet/17-initialize-portmap-struct.patch&lt;br /&gt;
--- a/pmlist.c&lt;br /&gt;
+++ b/pmlist.c&lt;br /&gt;
@@ -18,7 +18,7 @@&lt;br /&gt;
                   char &lt;/em&gt;externalPort, char internalPort,&lt;br /&gt;
                   char protocol, char &lt;em&gt;internalClient, char &lt;/em&gt;desc)&lt;br /&gt;
 {&lt;br /&gt;
-   struct portMap&lt;em&gt; temp = (struct portMap&lt;/em&gt;) malloc(sizeof(struct portMap));&lt;br /&gt;
+   struct portMap&lt;em&gt; temp = (struct portMap&lt;/em&gt;) calloc(1,sizeof(struct portMap));&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;m_PortMappingEnabled&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;@@ -35,6 +35,7 @@&lt;br /&gt;
    if (strlen(desc) &amp;lt; sizeof(temp-&amp;gt;m_PortMappingDescription)) strcpy(temp-&amp;gt;m_PortMappingDescription, desc);&lt;br /&gt;
        else strcpy(temp-&amp;gt;m_PortMappingDescription, "");&lt;br /&gt;
    temp-&amp;gt;m_PortMappingLeaseDuration = duration;&lt;br /&gt;
+   temp-&amp;gt;expirationEventId = -1;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;temp&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;@@ -212,7 +213,7 @@&lt;br /&gt;
        else if (temp == pmlist_Tail) // We are the Tail, but not the Head so we have prev&lt;br /&gt;
        {&lt;br /&gt;
            pmlist_Tail = pmlist_Tail-&amp;gt;prev;&lt;br /&gt;
-           free (pmlist_Tail-&amp;gt;next);&lt;br /&gt;
+           free (temp);&lt;br /&gt;
            pmlist_Tail-&amp;gt;next = NULL;&lt;br /&gt;
            action_succeeded = 1;&lt;br /&gt;
        }&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>upnpd segfaults in libc*.so</title><link href="https://sourceforge.net/p/linux-igd/bugs/6/" rel="alternate"/><published>2012-07-07T15:57:31Z</published><updated>2012-07-07T15:57:31Z</updated><author><name>Nick Leverton</name><uri>https://sourceforge.net/u/leveret/</uri></author><id>https://sourceforge.net11049d5c9ecb8bacd28256558bbe25ae7608a204</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Reported by some Debian users, see &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=499827" rel="nofollow"&gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=499827&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;upnpd[10145]: segfault at 7 ip b7e8a0a9 sp b4df81d0 error 4 in&lt;br /&gt;
libc-2.7.so[b7e1a000+155000]&lt;/p&gt;
&lt;p&gt;Mar  4 07:04:46 rover upnpd[18238]: ExpireMapping: Proto:UDP Port:4500&lt;br /&gt;
Mar  4 07:05:26 rover kernel: [476754.504058] upnpd[18241]: segfault at 90d46ee ip b7e6f8f7 sp b6de9bd8 error 4 in libc-2.7.so[b7e05000+138000]&lt;/p&gt;
&lt;p&gt;Mar  8 00:57:42 rover upnpd[31797]: ExpireMapping: Proto:UDP Port:5353 &lt;br /&gt;
Mar  8 00:57:42 rover upnpd[31797]: ExpireMapping: Proto:UDP Port:4500 &lt;br /&gt;
Mar  8 00:58:27 rover kernel: [800334.797920] upnpd[31805]: segfault at a19072e ip b7eb98f7 sp b4633848 error 4 in libc-2.7.so[b7e4f000+138000]&lt;/p&gt;
&lt;p&gt;Mar 11 09:27:36 rover upnpd[31747]: *** glibc detected *** /usr/sbin/ &lt;br /&gt;
upnpd: malloc(): memory corruption (fast): 0x08198d30 ***&lt;/p&gt;
&lt;p&gt;Valgrind logs:&lt;/p&gt;
&lt;p&gt;==9510== Thread 12:&lt;br /&gt;
==9510== Invalid write of size 4&lt;br /&gt;
==9510==    at 0x804A0A0: free_expiration_event (gatedevice.c:770)&lt;br /&gt;
==9510==    by 0x804A42F: ExpireMapping (gatedevice.c:797)&lt;br /&gt;
==9510==    by 0x404871B: WorkerThread (ThreadPool.c:573)&lt;br /&gt;
==9510==    by 0x4197F3A: start_thread (pthread_create.c:297)&lt;br /&gt;
==9510==    by 0x411EBED: clone (in /usr/lib/debug/libc-2.7.so)&lt;br /&gt;
==9510==  Address 0x434c01c is 108 bytes inside a block of size 124&lt;br /&gt;
free'd&lt;br /&gt;
==9510==    at 0x4021B8A: free (vg_replace_malloc.c:323)&lt;br /&gt;
==9510==    by 0x804C62A: pmlist_Delete (pmlist.c:206)&lt;br /&gt;
==9510==    by 0x804A3A4: ExpireMapping (gatedevice.c:788)&lt;br /&gt;
==9510==    by 0x404871B: WorkerThread (ThreadPool.c:573)&lt;br /&gt;
==9510==    by 0x4197F3A: start_thread (pthread_create.c:297)&lt;br /&gt;
==9510==    by 0x411EBED: clone (in /usr/lib/debug/libc-2.7.so)&lt;/p&gt;
&lt;p&gt;==7610== Thread 9:&lt;br /&gt;
==7610== Invalid read of size 1&lt;br /&gt;
==7610==    at 0x402377E: strcmp (mc_replace_strmem.c:337)&lt;br /&gt;
==7610==    by 0x804B895: HandleActionRequest (gatedevice.c:121)&lt;br /&gt;
==7610==    by 0x804BD92: EventHandler (gatedevice.c:36)&lt;br /&gt;
==7610==    by 0x403128D: handle_invoke_action (soap_device.c:972)&lt;br /&gt;
==7610==    by 0x40316D0: soap_device_callback (soap_device.c:1062)&lt;br /&gt;
==7610==    by 0x40329AC: handle_request (miniserver.c:196)&lt;br /&gt;
==7610==    by 0x404871B: WorkerThread (ThreadPool.c:573)&lt;br /&gt;
==7610==    by 0x4197F3A: start_thread (pthread_create.c:297)&lt;br /&gt;
==7610==    by 0x411EBED: clone (in /usr/lib/debug/libc-2.7.so)&lt;br /&gt;
==7610==  Address 0x0 is not stack'd, malloc'd or (recently) free'd&lt;br /&gt;
==7610==&lt;br /&gt;
==7610== Process terminating with default action of signal 11 (SIGSEGV)&lt;br /&gt;
==7610==  Access not within mapped region at address 0x0&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>running linux-idg muliple times( pidfiles?)</title><link href="https://sourceforge.net/p/linux-igd/bugs/5/" rel="alternate"/><published>2010-05-24T23:43:16Z</published><updated>2010-05-24T23:43:16Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.net118ca64121d708b1f3e9a9db2203d08fbeeaaa1f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;hi,&lt;br /&gt;
i have setup a router running debian 5.0.4 running linux-igd version 1.0+cvs20070630-2&lt;br /&gt;
my problem that i have 2 internal networks, i'll explain:&lt;/p&gt;
&lt;p&gt;i have a public ip on eth0&lt;br /&gt;
eth1 and eth2 are internal networks&lt;/p&gt;
&lt;p&gt;i have copyed /etc/init.d/linux-igd to linux-igd-eth1 and linux-igd-eth2&lt;br /&gt;
and editited ther $name=...&lt;/p&gt;
&lt;p&gt;same for /etc/default/linux-igd&lt;/p&gt;
&lt;p&gt;now it seems that in order to have start-stop-daemon to not look at the prosesname u need to spesify a pidfile linux-igd should create.&lt;/p&gt;
&lt;p&gt;i will try to write a patch myself but i want to know what you think off it and if you have other sujections&lt;/p&gt;
&lt;p&gt;also let me know if you want to help&lt;/p&gt;
&lt;p&gt;See yea &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>inconsisten iptables calling</title><link href="https://sourceforge.net/p/linux-igd/bugs/4/" rel="alternate"/><published>2009-06-18T03:45:14Z</published><updated>2009-06-18T03:45:14Z</updated><author><name/><uri>https://sourceforge.net</uri></author><id>https://sourceforge.netcda9e19f2a552f232b61edea447a3c66dcdaec3d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In pmlist.c in AddPortMapping, there calls to iptables from execv and iptc are inconsistent when compared against each other.  One INSERTS a rule into the forwarding chain, and appends a rule into the prerouting chain, while the other appends into forwards, inserts into nat.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Attached is a fixed version of pmlist.c (Lines 247~300 have been somewhat changed)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>incorrect duration=HH:MM regexp in config.c</title><link href="https://sourceforge.net/p/linux-igd/bugs/3/" rel="alternate"/><published>2007-03-07T05:39:15Z</published><updated>2007-03-07T05:39:15Z</updated><author><name>Takahiro Kurosawa</name><uri>https://sourceforge.net/u/tkuro/</uri></author><id>https://sourceforge.net0945e827ae50372d84a641870e53815220478f21</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;The "duration=..." regular expression in config.c looks incorrect (at least inconsistent with the description of etc/upnpd.conf).&lt;/p&gt;
&lt;p&gt;Each of the hours/minutes part should be exactly 2 digits when we specify the duration in HH:MM format, but the regular expression in config.c is not specified so.&lt;/p&gt;
&lt;p&gt;The attached file is the patch that fixes the problem.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Configure script</title><link href="https://sourceforge.net/p/linux-igd/bugs/2/" rel="alternate"/><published>2007-01-01T19:09:43Z</published><updated>2007-01-01T19:09:43Z</updated><author><name>doclist</name><uri>https://sourceforge.net/u/dclist/</uri></author><id>https://sourceforge.netd4370f0c51a41429a5dad1e1f286e238cab7b1a6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Please include a './configure' script (or other configuration script). This makes installation more robust, flexible and vastly easier to package.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>getConfigOptionArgument truncates arguments to 3 chars</title><link href="https://sourceforge.net/p/linux-igd/bugs/1/" rel="alternate"/><published>2005-03-15T17:26:35Z</published><updated>2005-03-15T17:26:35Z</updated><author><name>Chris Butler</name><uri>https://sourceforge.net/u/crispygoth/</uri></author><id>https://sourceforge.net7d7fa3e5faab109a63078e5c0b7dfe601d15911a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In config.c, the function getConfigOptionArgument&lt;br /&gt;
truncates all of the options to 3 characters.&lt;/p&gt;
&lt;p&gt;This is due to the fact that character arrays are&lt;br /&gt;
actually passed as pointers, so sizeof(string) will&lt;br /&gt;
always return 4 on 32-bit architechtures, not the size&lt;br /&gt;
of the array as you may expect.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>