Erik Ekman | 1 Jul 13:03 2015
Picon

[bug #45454] pbuf_take_at() skips write and returns OK if offset is at start of pbuf in chain

URL:
  <http://savannah.nongnu.org/bugs/?45454>

                 Summary: pbuf_take_at() skips write and returns OK if offset
is at start of pbuf in chain
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: yarrick
            Submitted on: Wed 01 Jul 2015 11:03:30 AM GMT
                Category: pbufs
                Severity: 3 - Normal
              Item Group: Faulty Behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 
            lwIP version: git head

    _______________________________________________________

Details:

Off by one in bounds check caused write not to happen if supplied is 0, or
buf->len in case of chained pbufs.

Fix is attached, together with test cases to verify it.

    _______________________________________________________

(Continue reading)

Julian Stecklina | 29 Jun 01:22 2015
Picon

[bug #45433] Endless loop in tcp_slowtmr

URL:
  <http://savannah.nongnu.org/bugs/?45433>

                 Summary: Endless loop in tcp_slowtmr
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: boelthorn
            Submitted on: Sun 28 Jun 2015 11:22:21 PM GMT
                Category: TCP
                Severity: 3 - Normal
              Item Group: Crash Error
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 
            lwIP version: git head

    _______________________________________________________

Details:

I encounter an endless loop in tcp_slowtmr in the while loop that removes PCBs
that stayed long enough in TIME-WAIT (at comment /* Steps through all of the
TIME-WAIT PCBs. */ ).

In my case there is a single PCB in the list. It's next pointer points to
itself (sounds fishy) and the loop makes no progress. This situation is
somehow triggered by tcp_close().

(Continue reading)

Michael Heimpold | 23 Jun 21:44 2015
Picon

[PATCH lwip-contrib] httpd_raw: fix detection of Content-Length header

HTTP headers are case-insensitive, so using strnstr to find the Content-Length
header fails with browsers which use other case variants that the one defined
in the code.

To get this work correctly, we need a strncasestr function which might not
be available on some platforms. Thus, we need to define one ourself, upon
user request. Use existing code as much as possible for this.

Signed-off-by: Michael Heimpold <mhei <at> heimpold.de>
---

Hi,

I found this tiny bug, when using this great project for the first time.
Thank you all for all your hard work.

Since this is my first contribution, please tell me, whether this is
the correct way to submit bugfixes and/or how to improve this submission :)

Best regards,
Michael

 apps/httpserver_raw/httpd.c |   37 +++++++++++++++++++++++++++++++------
 1 file changed, 31 insertions(+), 6 deletions(-)

diff --git a/apps/httpserver_raw/httpd.c b/apps/httpserver_raw/httpd.c
index d0c3420..3ebdc67 100644
--- a/apps/httpserver_raw/httpd.c
+++ b/apps/httpserver_raw/httpd.c
 <at>  <at>  -143,6 +143,11  <at>  <at> 
(Continue reading)

Sylvain Rochet | 22 Jun 11:45 2015
Picon

[patch #8692] Fix for assertion fails in dns.c if no DNS server is configured

URL:
  <http://savannah.nongnu.org/patch/?8692>

                 Summary: Fix for assertion fails in dns.c if no DNS server is
configured
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: gradator
            Submitted on: Mon 22 Jun 2015 09:45:53 AM GMT
                Category: DNS
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: goldsimon
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None

    _______________________________________________________

Details:

From: Michael Waeber

If the ppp netif is shut down, e.g. because of a GPRS connection loss,
the DNS server address is set to the unspecified address (0.0.0.0) in
ppp.c cdns(). If a client application calls dns_gethostbyname() the
assertion in dns_send() is triggered:

>  LWIP_ASSERT("dns server has no IP address set",
(Continue reading)

Stian Sebastian Skjelstad | 19 Jun 10:27 2015
Picon

[bug #45353] IPv6 router / neightbor relationship is not always consistent

URL:
  <http://savannah.nongnu.org/bugs/?45353>

                 Summary: IPv6 router / neightbor relationship is not always
consistent
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: mywave
            Submitted on: Fri 19 Jun 2015 08:27:05 AM GMT
                Category: IPv6
                Severity: 3 - Normal
              Item Group: Faulty Behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 
            lwIP version: CVS Head

    _______________________________________________________

Details:

When creating a IPv6 router, it will first create a neightbor and reference
that with a pointer later:

inside nd6_new_router():
default_router_list[router_index].neighbor_entry =
&(neighbor_cache[neighbor_index])

(Continue reading)

Erik Ekman | 16 Jun 16:52 2015
Picon

[patch #8687] Remove unused netif flag for MLD6

URL:
  <http://savannah.nongnu.org/patch/?8687>

                 Summary: Remove unused netif flag for MLD6
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: yarrick
            Submitted on: Tue 16 Jun 2015 02:52:38 PM GMT
                Category: IPv6
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None

    _______________________________________________________

Details:

The only mention of this flag is in netif.h.
Remove it.

    _______________________________________________________

File Attachments:

-------------------------------------------------------
Date: Tue 16 Jun 2015 02:52:38 PM GMT  Name:
(Continue reading)

Stian Sebastian Skjelstad | 16 Jun 11:37 2015
Picon

[patch #8686] udp_set_multicast_ttl() macro is non-function

URL:
  <http://savannah.nongnu.org/patch/?8686>

                 Summary: udp_set_multicast_ttl() macro is non-function
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: mywave
            Submitted on: Tue 16 Jun 2015 09:37:40 AM GMT
                Category: UDP
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None

    _______________________________________________________

Details:

Current code is

#define udp_set_multicast_ttl(pcb, mcast_ttl)      do { (pcb)->mcast_ttl =
mcast_ttl; } while(0)

Problem is that mcast_ttl is both parameter name, and the member in the
structure you want to access, so this code

udp_set_multicast_ttl(p, 1);
(Continue reading)

TabascoEye | 15 Jun 11:23 2015
Picon

[bug #45322] ICMP echo reply checksum wrong on NULL Bytes payload

URL:
  <http://savannah.nongnu.org/bugs/?45322>

                 Summary: ICMP echo reply checksum wrong on NULL Bytes payload
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: tabascoeye
            Submitted on: Mo 15 Jun 2015 09:23:12 GMT
                Category: IPv4
                Severity: 3 - Normal
              Item Group: Faulty Behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 
            lwIP version: 1.4.1

    _______________________________________________________

Details:

When a client sends an ICMP echo request with ID 0, Sequence 0 and either no
data or any amount of 0x00 Bytes as data, the checksum in the reply by LWIP is
wrong (off-by-one).

Expected checksum is 0xffff in that case, observed is 0x0000.
So the client does not see that reply as valid and determines the LWIP device
as unreachable.

(Continue reading)

Stian Sebastian Skjelstad | 11 Jun 16:08 2015
Picon

[patch #8683] Addresses configured with router advertisment are never forgot

URL:
  <http://savannah.nongnu.org/patch/?8683>

                 Summary: Addresses configured with router advertisment are
never forgot
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: mywave
            Submitted on: Thu 11 Jun 2015 02:08:48 PM GMT
                Category: IPv6
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None

    _______________________________________________________

Details:

This patch-series includes a total of four patches

0001 - makes NETIF_STATUS_CALLBACK public. This is needed if callback is to be
called from outside netif.c (IPv6 code manipulates netif object more directly,
and thus should be allowed to use this)

0002 - netif_ip6_addr_set_state() should cause NETIF_STATUS_CALLBACK to be
called, else ALL places that changes the state should call the
(Continue reading)

Michael Waeber | 10 Jun 16:21 2015
Picon

Assertion fails in dns.c after PPP interface is down

If the ppp netif is shut down, e.g. because of a GPRS connection loss,
the DNS server address is set to the unspecified address (0.0.0.0) in
ppp.c cdns(). If a client application calls dns_gethostbyname() the
assertion in dns_send() is triggered:

>  LWIP_ASSERT("dns server has no IP address set",
!ip_addr_isany(&dns_servers[entry->server_idx]));

I think, if no DNS server is configured, dns_gethostbyname() should
succeed with "not found". Proposal patch attached.

Regards
Michael

diff --git a/src/core/dns.c b/src/core/dns.c
index 21170cf..ab8ab58 100644
--- a/src/core/dns.c
+++ b/src/core/dns.c
 <at>  <at>  -949,11 +949,19  <at>  <at>  dns_check_entry(u8_t i)
         /* wait longer for the next retry */
         entry->tmr = entry->retries;

-        /* send DNS packet for this entry */
-        err = dns_send(entry);
-        if (err != ERR_OK) {
-          LWIP_DEBUGF(DNS_DEBUG | LWIP_DBG_LEVEL_WARNING,
-                      ("dns_send returned error: %s\n", lwip_strerr(err)));
+        if (!ip_addr_isany(&dns_servers[entry->server_idx])) {
(Continue reading)

ella | 3 Jun 21:20 2015
Picon

DHCP reboot after link up event

Hi,
We have a working device with lwip 1.4.1. It has some minor issues but still
not critical so we can use it as production version.

To be up to date we decided to build and QA also a version based on lwip
latest from git. Latest lwip shows a good performance and stability but
currently we've faced some critical issue. 

After link down - link up even caused by cable re-plug on some specific
routers our device does not get correct Gateway and Netmask settings from
DHCP server incorporated in that router. We narrowed down the problem to
*dhcp_reboot* implementation. It turns out that this function does not
implicitly request from DHCP server the Gateway and Netmask options. This
cause to the fact that some DHCP servers does not provide it and thus lwip
core uses a default values, which are wrong. 
I'm not a DHCP expert and not sure if it is mandatory to DHCP server to
return Gateway and Netmask on DHCP REBOOT without implicit options request
but the reality shows that this not happen sometimes. 
We've made a fix by adding these options request (just copied a code from
other function) and it did helped. 

So the question is if you can review the dhcp_reboot implementation and add
options request to get correct Gateway and Netmask.
Thanks.

--
View this message in context: http://lwip.100.n7.nabble.com/DHCP-reboot-after-link-up-event-tp24549.html
Sent from the lwip-devel mailing list archive at Nabble.com.

Gmane