sg
5f8b5cbb20
reset rto timer on fast retransmission (see task #13757 , patch by Joel Cunningham)
2016-03-16 21:49:37 +01:00
sg
8e8571da6a
fixed bug #46384 Segment size calculation bug with MSS != TCP_MSS
2016-03-16 16:56:15 +01:00
Dirk Ziegelmeier
f3b7bca3cf
Fix bug #47370 : Port DNS client to IPv6
2016-03-09 19:25:06 +01:00
Dirk Ziegelmeier
a212210c35
Add missing #include in memp.c
2016-03-08 19:53:01 +01:00
sg
5cf802eda0
dns_gethostbyname: return error code if no valid server is set instead of calling the 'found' callback in this case (fixes bug #46887 )
2016-03-07 19:47:39 +01:00
sg
f5fef6eebc
fixed bug #45353 : IPv6 router / neighbor relationship is not always consistent - patch by Stian Sebastian Skjelstad
2016-03-06 14:48:41 +01:00
sg
b00a17059a
fixed icmp_send_response with LWIP_HOOK_IP4_ROUTE_SRC enabled
2016-03-05 15:57:40 +01:00
sg
d2bb569ee4
bug #46094 : moved IPv4 routing hook functions down so that they implement actual routing (source-based IPv4 routing is not affected by this change)
2016-03-05 15:52:39 +01:00
sg
e0ab8c581d
fixed bug #46093 : Move IP6_ROUTE() hook to after LL processing
2016-03-05 14:11:24 +01:00
sg
6b405eccd0
Tried to fix bug #47270 by accepting all ipv4 multicast packets (at IP level) when LWIP_IGMP is disabled
2016-03-04 21:57:47 +01:00
Dirk Ziegelmeier
9a4c66006e
Fix compile error in raw.c (possible unused arg)
2016-03-03 22:55:42 +01:00
Dirk Ziegelmeier
1dea649cff
Fix comment in tcp.c
2016-03-03 22:48:10 +01:00
Dirk Ziegelmeier
7396d8818b
Implement dual-stack in RAW API in the same way as in UDP and TCP
2016-03-03 22:47:27 +01:00
Dirk Ziegelmeier
2d80af1dcb
Minor code cleanup in udp.c
2016-03-03 22:44:01 +01:00
Dirk Ziegelmeier
5358380c5f
Apply patch from Derek Pravala: Fix segfault in ip6_route when there is no default netif
2016-03-03 16:12:20 +01:00
Dirk Ziegelmeier
e89b48d23f
raw.c: Avoid NULL pointer dereference
2016-03-02 23:44:51 +01:00
Dirk Ziegelmeier
f9ce31f98b
TCP: Implement dual stack support using new IP_ANY_TYPE introduced at UDP
2016-03-02 23:14:33 +01:00
Dirk Ziegelmeier
f3132c5290
udp: Fix possible NULL pointer dereference, update comments
2016-03-02 23:10:43 +01:00
Dirk Ziegelmeier
9885d5d9f5
Apply patch from Simon to fix buffer overflow handling tcp_in.c which was discovered by Coverity
2016-02-29 23:34:52 +01:00
Dirk Ziegelmeier
8e5663a32f
Minor: Avoid ip_input() call indirection for when only IPv4 or IPv6 are enabled
2016-02-29 22:17:42 +01:00
Dirk Ziegelmeier
6aed6e659f
Rework DHCP PCB handling: Old code registered one UDP PCB per netif where DHCP was active and there was a special case in udp_input() for this. New implementation uses one PCB for all netifs and removes special case in udp_input().
...
The old approach called udp_bind() on each of the PCBs, which puts them into udp_pcbs list. The PCBs were iterated on all non-DHCP udp_inputs() with no effect.
My cleanup removes the special handling in udp.c, and uses only one DHCP UDP PCB to catch all DHCP messages from all netifs. The dhcp_recv function then checks whether ip_current_input_netif() has DHCP enabled - if not, the message is ignored. The PCB is only created/registered when one or more PCBs have DHCP enabled.
2016-02-29 19:31:19 +01:00
Dirk Ziegelmeier
70f3e5ed05
Cleanup: Create new file ip.c and move dual-stack code from ipv4 and ipv6 folder in there
2016-02-26 23:04:51 +01:00
Dirk Ziegelmeier
d5778bad2f
No need for dual-stack code in ip4.c and icmp.c -> use ip4 only versions
2016-02-26 22:50:20 +01:00
Dirk Ziegelmeier
a5214abd04
udp: udp_send and udp_send_chksum: Check for PCB NULL pointer and PCB must not be the new IP_ANY_TYPE, but a real IPv4 and IPv6 address
2016-02-26 09:20:50 +01:00
goldsimon
bf8bcfafe2
revert accidentally committed comment from a649a3eb503600ce34f3c1ea93eda4cf6f0040a1
2016-02-26 08:59:50 +01:00
Joel Cunningham
8cb64698aa
Allow backlog to be updated
...
This commit adds support to the sockets and netconn layer to update the
backlog by calling listen when the netconn is already in the listen state.
When backlog is not enabled, the call returns successfully
This commit also introduces a macro for setting the backlog value that
prevents a 0 sized (invalid) backlog
2016-02-25 15:19:52 -06:00
sg
a649a3eb50
dual-stack fix: moved common definitions/code for ethernet used by etharp and ethip6 to new files ethernet.h/.c
2016-02-25 22:10:28 +01:00
Dirk Ziegelmeier
fd891081c4
minor: Cleanups in raw/tcp/udp code by using macros and reducing #ifdefs
2016-02-24 23:04:25 +01:00
Dirk Ziegelmeier
953b7bdd59
Implement UDP dual-stack PCB support
...
Create special IP address type "IPADDR_TYPE_ANY" for it.
SNMP uses new feature in non-netconn mode.
TODO: Same for TCP & RAW, adapt NETCONN to use this feature
2016-02-24 22:37:01 +01:00
sg
1dde3d6e56
Fixed bug #46524 : "Device as dhcp server does not work after upgrade to lwip-1.4.1"
2016-02-24 22:13:58 +01:00
sg
ec49b68b38
minor: udp_input/local_match: coding style, added comments
2016-02-24 22:04:59 +01:00
Dirk Ziegelmeier
ac4b089b18
udp.c: Further udp_input simplifications
...
- Move local PCB matching code in a function that can be reused in SO_REUSE && SO_REUSE_RXTOALL case.
- Some checks have been written in the dual-stack version and then repeated with the ipv6-only version. Example:
IPv6 only: ip6_addr_ismulticast(ip6_current_dest_addr())
IPv4 AND IPv6: ip_addr_ismulticast(ip_current_dest_addr())
2016-02-24 19:57:20 +01:00
Dirk Ziegelmeier
005c196ed8
udp.c: Simplify and cleanup input PCB matching
2016-02-24 19:13:30 +01:00
Dirk Ziegelmeier
17fad79f71
Two compile fixes after eliminating isipv6 member in PCBs
2016-02-22 17:07:17 +01:00
Dirk Ziegelmeier
c805843e64
Change signature of ip_output, ip_output_if, ip_output_if_src, ip_output_hinted, ip_route, ip_netif_get_local_ip, ip_route_get_local_ip and tcp_eff_send_mss not to take an isipv6 parameter. Use the IP version of the destination address instead.
2016-02-22 13:38:40 +01:00
Dirk Ziegelmeier
880f1008d6
Together with Simon: Eliminate last instances of isipv6 member in pcbs;
...
Don't allow NULL pointers (IPv4 ANY) in connect() and sendto() functions as destinations since this does not make sense.
2016-02-22 13:03:51 +01:00
Dirk Ziegelmeier
be9cd800b0
Review with Simon: Init TCP/UDP/RAW PCBs with correct IP types in _new functions to make my changes work correct
2016-02-22 11:16:13 +01:00
Dirk Ziegelmeier
0106cf7ae0
Review with Simon: Remove dead code (since 2003)
2016-02-22 10:18:19 +01:00
Dirk Ziegelmeier
50303eea23
Reduce PCB_ISIPV6 macro usage some more
2016-02-21 19:59:08 +01:00
Dirk Ziegelmeier
339e82d7aa
Eliminate IP_PCB_IPVER_EQ macro
2016-02-21 19:45:51 +01:00
Dirk Ziegelmeier
5a25652c21
Eliminate IP_PCB_IPVER_INPUT_MATCH macro
2016-02-21 19:21:36 +01:00
Dirk Ziegelmeier
8f675c37fc
Reduce usage of PCB IP version flag in UDP code. Maybe we can figure out a good way for dual-stack UDP when we manage to remove the flag (nearly) entirely from the code.
2016-02-20 20:54:58 +01:00
Dirk Ziegelmeier
5809b01388
Reduce usage of PCB IP version flag in raw and tcp code. Maybe we can figure out a good way for dual-stack UDP when we manage to remove the flag (nearly) entirely from the code.
2016-02-20 20:40:04 +01:00
Dirk Ziegelmeier
10edba936b
Fix tcp pcb access after it was freed in tcp.c - found by Coverity
2016-02-19 23:28:09 +01:00
goldsimon
e4cac595c2
Check TCP_SNDLOWAT for too high value (near u16_t overflow) - fixes bug #46948
2016-02-18 09:36:55 +01:00
Dirk Ziegelmeier
24bc77a935
Found some struct instances that can be const
2016-02-16 22:31:59 +01:00
Dirk Ziegelmeier
273d609bac
mem.c: Fix unintended sign extension (found by Coverity)
...
sign_extension: Suspicious implicit sign extension: count with type unsigned short (16 bits, unsigned) is promoted in count * size to type int (32 bits, signed), then sign-extended to type unsigned long (64 bits, unsigned). If count * size is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
2016-02-10 21:21:08 +01:00
Dirk Ziegelmeier
288b4564e4
DNS: Fix potential array out of bounds access. Variable nanswers may contain bogus values. (found by Coverity)
2016-02-10 20:41:31 +01:00
Dirk Ziegelmeier
1c1587eef6
ICMP: Fix responses were always sent to default netif because of uninitialized source IP (found by Coverity)
2016-02-10 20:35:58 +01:00
Dirk Ziegelmeier
11b810721a
ICMP: Fix unused value in icmp_input (found by Coverity)
2016-02-10 20:34:44 +01:00