lwIP - A Lightweight TCP/IP stack - Bugs: bug #41700, Call to tcp_listen_dual() should...
You are not allowed to post comments on this tracker with your current authentication level.
bug #41700: Call to tcp_listen_dual() should not accept IPv4 listen PCB args
Submitter: | Drew Stebbins <astebbin> | ||
Submitted: | Tue 25 Feb 2014 10:38:52 PM UTC | ||
Category: | IPv6 | Severity: | 3 - Normal |
Item Group: | Faulty Behaviour | Status: | Fixed |
Privacy: | Public | Assigned to: | dziegel |
Open/Closed: | Closed | Planned Release: | None |
lwIP version: | 1.3.1 |
Fri 04 Mar 2016 07:41:25 AM UTC, comment #5: |
Dirk Ziegelmeier <dziegel> |
Wed 18 Mar 2015 06:05:23 PM UTC, comment #4: I'm postponing working on this until we decide how to represend ipv4/ipv6 addresses, and possibly create a dual ANY type (a catch all type) |
Ivan Delamer <idelamer> |
Thu 26 Feb 2015 08:34:08 PM UTC, comment #3: Partly fixed by checking that the port is available, but only if the PCB is bound before calling listen().
|
Simon Goldschmidt <goldsimon> |
Fri 28 Feb 2014 07:57:21 PM UTC, comment #2: Already switched to tcp_listen in my code base. To save future developers some grief, let's eliminate the edge case here. Having tcp_listen_dual check for existing listeners on all relevant port/IP combinations sounds reasonable. I'd further suggest that calls to tcp_listen_dual be atomic, so the caller doesn't have to check after a successful call to ensure their PCBs are listening on all of the desired port/IP combinations. |
Drew Stebbins <astebbin> |
Thu 27 Feb 2014 08:40:51 PM UTC, comment #1: How would you know a connection is IPv4-only? We only have a single boolean 'isipv6'. If we interpreted this as 'one-or-the-other' in tcp_listen_dual, how would you ever listen to both IP versions?
|
Simon Goldschmidt <goldsimon> |
Tue 25 Feb 2014 10:38:52 PM UTC, original submission:
tcp_listen_dual() should fail and return NULL when its pcb arg is IPv4-only. Currently, tcp_listen_dual() will incorrectly make lwip listen for IPv4 OR IPv6 connections to a given IPv4-only PCB, disregarding this PCB's 'isipv6' value of 0.
|
Drew Stebbins <astebbin> |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 7 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2016-03-04 | dziegel | Status | Postponed | Fixed | |
Assigned to | goldsimon | dziegel | |||
Open/Closed | Open | Closed | |||
2015-02-26 | goldsimon | Category | TCP | IPv6 | |
Status | Works For Me | Postponed | |||
Assigned to | None | goldsimon | |||
2014-02-27 | goldsimon | Status | None | Works For Me |
Powered by Savane 3.13-d3ae.
Corresponding source code
Not applicable any more since dual-stack API has changed: tcp_listen_dual was removed.
One has to decide at PCB creation time now whether dual-stack is desired (tcp_new_ip_type(IPADDR_ANY_TYPE))