Daniel Elstner
4d4710dadf
Bug #49125 addendum: Remove group from list before callback
...
When leaving a multicast group, remove the group from the list
before invoking the MAC filter callback. This avoids the need
for the callee to skip over the group that is about to be deleted.
2016-09-19 12:26:51 +02:00
Dirk Ziegelmeier
ee4cd45c98
Fix bug #49125 : Need a way to iterate multicast groups for MAC filtering
...
-> let list heads be a public symbol
2016-09-19 08:45:57 +02:00
Dirk Ziegelmeier
8cd43a3dd9
Documentation: Add one more note PCB is already freed in tcp_err callback.
2016-09-09 17:36:49 +02:00
Joel Cunningham
b7c2553b46
bug #48964 : Make PBUF_POOL sanity checks contingent on PBUF_POOL_SIZE
...
This commit adds support to the sanity checks in init.c to ensure that
PBUF_POOL is in use
In ports with drivers/netifs that use PBUF_REF for the RX pathway, there
is no need for the PBUF_POOL memory pool. This allows the port to define
PBUF_POOL_SIZE to 0
2016-09-07 09:11:19 -05:00
Axel Lin
f8a95aa27f
dns: Drop unnecessary txid variable in dns_check_entry
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-09-07 14:56:01 +02:00
Dirk Ziegelmeier
d66442ba91
Fix compile when TCP, UDP and RAW are disabled
2016-09-07 08:11:30 +02:00
sg
34682facd1
Remove ip4_frag IP_FRAG_USES_STATIC_BUF code: nearly the same as the other code, but IP_FRAG_USES_STATIC_BUF doesn't work when queuing pbufs
2016-08-31 21:00:10 +02:00
Dirk Ziegelmeier
ac6b64cf66
Implement a more readable fix for pbuf_memcmp than my last fix
2016-08-31 20:24:37 +02:00
Dirk Ziegelmeier
4325aca0f7
Fix pbuf_memcmp() implementation by using pbuf_try_get_at() instead of pbuf_get_at(). Payload out-of-bounds access was not handled correctly.
2016-08-31 10:35:42 +02:00
sg
23147b0e21
added more out of range checks to dns_recv() (see bug #48924 )
2016-08-30 22:18:10 +02:00
sg
a08ed9148d
added pbuf_try_get_at() (much like pbuf_get_at() but can return out-of-pbuf error)
2016-08-30 21:35:37 +02:00
Dirk Ziegelmeier
8d45162a59
Fix usage of uninitialized data in dhcp.c by checking pbuf_copy_partial() return value
2016-08-30 21:33:43 +02:00
Dirk Ziegelmeier
2137f49d32
Fix usage of uninitialized data in nd6.c because of unchecked pbuf_copy_partial() return value
2016-08-30 21:20:58 +02:00
Dirk Ziegelmeier
aef3d2cb87
Minor coding style fix in pbuf.c
2016-08-30 21:09:24 +02:00
Dirk Ziegelmeier
840d1e60fa
Fix bug #48924 : Potential out of bound reads in DNS codes of lwip project by adding checks for pbuf_copy_partial() return values.
...
Add some comments to clarify handling of untrusted network data handling.
2016-08-30 21:09:24 +02:00
Axel Lin
198fa5dbfa
Remove duplicated include for lwip/inet_chksum.h
...
Include it once is enough.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Dirk Ziegelmeier <dirk@ziegelmeier.net>
2016-08-30 09:47:43 +02:00
Axel Lin
db6aa82a10
memp: Fix comment for memp_overflow_check_element_overflow/underflow
...
These functions now take desc rather than memp_type as second parameter.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-08-28 20:33:57 +02:00
Dirk Ziegelmeier
4b45baee10
Add some dual-stack notes to documentation
2016-08-26 15:58:18 +02:00
Dirk Ziegelmeier
0d510dd66d
Add API macros for netif client data handling and update documentation accordingly
2016-08-26 11:21:49 +02:00
Dirk Ziegelmeier
57468b8a30
Minor: Several documentation updates
2016-08-25 22:04:04 +02:00
goldsimon
89aa4e7d79
fixed bug #47921 : link-local prefix in router advertisement must not be processes for SLAAC (patch by abhishek ambure)
2016-08-25 14:21:30 +02:00
goldsimon
3e23eb764b
fixed compiling TCP_OOSEQ_MAX_BYTES || TCP_OOSEQ_MAX_PBUFS (local variable 'p' was hidden)
2016-08-25 14:21:29 +02:00
Axel Lin
a2ca85a260
tcp: Make tcp_state_str/tcp_backoff/tcp_persist_backoff static
...
They are only referenced in tcp.c, so make them static.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>
2016-08-25 11:20:10 +02:00
sg
4c390ad39c
update netif address change triggers to tpc & udp to work with IPv6, too
2016-08-24 20:51:05 +02:00
Erik Ekman
a1db05c11e
Fix const argument warning in netif_ip6_addr_set
...
../../../../../lwip/src/netif/ppp/ppp.c:1276:37: error: passing
'const ip6_addr_t *' (aka 'const struct ip6_addr *') to parameter of type
'ip6_addr_t *' (aka 'struct ip6_addr *') discards qualifiers
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
netif_ip6_addr_set(pcb->netif, 0, IP6_ADDR_ANY6);
^~~~~~~~~~~~~
../../../../../lwip/src/include/lwip/ip_addr.h:340:24: note: expanded from macro
'IP6_ADDR_ANY6'
^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../lwip/src/include/lwip/netif.h:436:73: note: passing argument to
parameter 'addr6' here
void netif_ip6_addr_set(struct netif *netif, s8_t addr_idx, ip6_addr_t *addr6);
2016-08-24 14:41:48 +02:00
Axel Lin
bf5866b27d
tcp: Prevents a 0 sized (invalid) backlog
...
commit 44e1a2d8e2
accidently includes below changes in tcp_listen_with_backlog
- tcp_backlog_set(lpcb, backlog);
+ lpcb->backlog = backlog;
Thus pass 0 to the backlog parameter of netconn_listen_with_backlog() fails.
Fixes: 44e1a2d8e2
("define tcp_backlog_set() as dummy-define when backlog feature is disable")
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>
2016-08-24 12:20:28 +02:00
goldsimon
298ec340e5
set netif IPv6 address & state via function to implement change triggers (task #13517 )
2016-08-24 09:19:53 +02:00
Dirk Ziegelmeier
8426dfa14d
Remove misleading comments from udp_send() and raw_send(). A pbuf may be added automatically in front of the chain to be able to send PBUF_REFs
2016-08-24 08:45:37 +02:00
Dirk Ziegelmeier
6fc7f84497
Minor: documentation updates
2016-08-24 08:19:51 +02:00
Dirk Ziegelmeier
c719c466b3
Remove SIZEOF_ETHARP_PACKET_TX #define, it is not needed any more after my last cleanups
2016-08-23 20:41:37 +02:00
Dirk Ziegelmeier
31778193da
Work on bug #48868 : Cleanup etharp.c not to use struct eth_hdr: Cleanup etharp_input() to use ethernet_output()
2016-08-23 17:23:21 +02:00
Dirk Ziegelmeier
6caa7b9927
Cleanup etharp_arp_input() signature to match the sig of other input functions (pbuf, netif). Rename to etharp_input()
2016-08-23 17:03:51 +02:00
Dirk Ziegelmeier
979bee386c
Work on bug #48868 : Cleanup etharp.c not to use struct eth_hdr: Cleanup etharp_raw() to use ethernet_output()
2016-08-23 16:58:17 +02:00
goldsimon
e4c74109cd
fixed bug #47652 : there is always a delay to send the first Neighbor Solicitation for the new add INCOMPLETE state neighbor entry
2016-08-23 15:50:48 +02:00
goldsimon
fd5b34ae43
ip4_forward(): fixed compiling IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1
2016-08-23 15:26:05 +02:00
goldsimon
306171c93b
DHCP: fixed compiling LWIP_DHCP_BOOTP_FILE==1
2016-08-23 15:25:39 +02:00
goldsimon
d99d91dae9
removed ETHARP_TRUST_IP_MAC since it is insecure and we don't need it any more after implementing unicast ARP renewal towards arp entry timeout
2016-08-23 13:00:15 +02:00
Dirk Ziegelmeier
4456c7d230
Fix regression in etharp.c: Allocate correct pbuf layer
2016-08-23 12:32:57 +02:00
Dirk Ziegelmeier
bae4d6398c
Fix some comments to reference ethernet_output now
2016-08-23 10:23:59 +02:00
Dirk Ziegelmeier
18136c047b
Work on bug #48824 : ethernet.c extensions: Implement ethernet_output();
...
Fixes bug #48862 : ethip6 does not support setting vlan
2016-08-23 10:15:03 +02:00
Axel Lin
1c5c96a50a
pbuf: Use SYS_ARCH_INC in pbuf_ref()
...
Use SYS_ARCH_INC to simplify the code.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>
2016-08-23 08:59:10 +02:00
Axel Lin
40f2bed5c4
mem: Simplify the code for try bigger pool in mem_malloc
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: sg <goldsimon@gmx.de>
2016-08-20 11:29:57 +02:00
Axel Lin
a032ccafe7
mem: Fix trivial comment typo about using custom pools
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-08-20 09:17:37 +02:00
goldsimon
4f4d16260f
minor: fixed typo
2016-08-19 15:40:36 +02:00
goldsimon
6b1e1af3d1
combine MAC filter actions for IGMP and MLD6 (IGMP has compatibility defines for old code, MLD6 filter functions must be adapted)
2016-08-19 13:54:14 +02:00
Axel Lin
b3bae1b44c
memp: Fix unused variable build error when MEMP_SANITY_REGION_BEFORE/AFTER is 0
...
MEMP_SANITY_REGION_BEFORE and MEMP_SANITY_REGION_AFTER can be overridden in
lwipopts.h, if one of it is set to 0 we got build error due to unused variable.
Fix unused variable build error when MEMP_OVERFLOW_CHECK >= 1 &&
(MEMP_SANITY_REGION_BEFORE == 0 || MEMP_SANITY_REGION_AFTER == 0).
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>
2016-08-19 13:47:37 +02:00
Dirk Ziegelmeier
5e36815867
init.c: Implement check for correct implementation of struct packing in lwip port
2016-08-19 13:05:51 +02:00
Dirk Ziegelmeier
6688033bc4
Move IGMP protocol struct to prot/igmp.h
2016-08-19 12:50:41 +02:00
goldsimon
ed566cceaa
minor cleaup in (eth)arp
2016-08-19 12:49:02 +02:00
goldsimon
55d05092ef
simplify memp.c code a bit
2016-08-19 12:25:48 +02:00
Axel Lin
0e9ef19cfb
memp: Remove memp_overflow_init() function
...
There is only one caller using memp_overflow_init(), and at that context
calling memp_overflow_init_element() actually simplifes the code.
Thus remove memp_overflow_init() function.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>
2016-08-19 12:25:47 +02:00
goldsimon
14fb48cd7a
minor: whitespace cleanups
2016-08-19 09:41:34 +02:00
goldsimon
9725a496b5
moved 2 enums from 'prot' headers to where they belong (dns, dhcp)
2016-08-19 09:41:33 +02:00
Dirk Ziegelmeier
8eb9db18a2
Reduce usage of netif/ethernet.h header, mostly lwip/prot/ethernet.h is sufficient
2016-08-19 08:36:00 +02:00
sg
43d6812b3e
IPv6 addr: clarify tentative count/LWIP_IPV6_DUP_DETECT_ATTEMPTS
2016-08-18 22:02:57 +02:00
Dirk Ziegelmeier
2d503f4433
Work on bug #48728 : headers should cleanly separate API vs. implementation
...
ICMP6
2016-08-18 20:52:00 +02:00
Dirk Ziegelmeier
81c68f529b
Work on bug #48728 : headers should cleanly separate API vs. implementation
...
MLD6
2016-08-18 20:36:44 +02:00
Dirk Ziegelmeier
8d68400387
Work on bug #48728 : headers should cleanly separate API vs. implementation
...
ND6
2016-08-18 20:28:03 +02:00
Axel Lin
e24fde05db
memp: Fix memp_overflow_check_element_overflow assertion
...
Use LWIP_MEM_ALIGN() in memp_overflow_init() to get alignment address for memp.
This fixes assertion in memp_overflow_check_element_overflow when
MEMP_OVERFLOW_CHECK is set.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-08-18 19:24:34 +02:00
Axel Lin
ef31afb921
memp: Fix build error when LWIP_HOOK_MEMP_AVAILABLE is defined
...
Fix below build error.
../../../../../lwip/src/core/memp.c: In function ‘memp_free’:
../../../../../lwip/src/core/memp.c:490:31: error: request for member ‘tab’ in something not a structure or union
old_first = memp_pools[type].tab;
^
../../Common.mk:94: recipe for target 'memp.o' failed
make: *** [memp.o] Error 1
Fixes: de9054cb7a
("memp: cleaned up MEMP_MEM_MALLOC")
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-08-18 19:20:26 +02:00
Dirk Ziegelmeier
97fae7e41b
Code cleanup in autoip.c and dhcp.c
2016-08-18 12:49:59 +02:00
Dirk Ziegelmeier
7f60cb3889
Improve netif client data API for lwIP internal clients - these can use a compile-time constant to access their data now
2016-08-18 12:37:21 +02:00
Dirk Ziegelmeier
ebf7959880
Coding style fixes in netif.c
2016-08-18 11:44:19 +02:00
Dirk Ziegelmeier
0c7a59b5db
Minor: Documentation fixes
2016-08-18 11:06:50 +02:00
Dirk Ziegelmeier
c9ad58308a
Minor documentation fixes
2016-08-18 10:59:18 +02:00
Dirk Ziegelmeier
fa6a2d48cc
Fix DHCP unit test after my last changes
2016-08-18 06:09:02 +02:00
Dirk Ziegelmeier
c62bfd8146
Port AUTOIP to new netif client data API
2016-08-17 21:26:08 +02:00
Dirk Ziegelmeier
1db9631e7d
Port DHCP to new netif client data API
2016-08-17 21:04:44 +02:00
Dirk Ziegelmeier
c28fb298b7
Introduce an API to store arbitrary data pointers in struct netif
...
Let MDNS to use the new API
TODO: AutoIP, DHCP
2016-08-17 16:37:15 +02:00
Dirk Ziegelmeier
efb7b3d5f8
Rename LWIP_MDNS to LWIP_MDNS_RESPONDER
2016-08-17 12:07:38 +02:00
Dirk Ziegelmeier
c61c8f3766
Use udp_get_multicast_ttl/udp_set_multicast_ttl accessors where applicable
2016-08-16 08:08:06 +02:00
Erik Ekman
4919932c49
Apply patch #8755 : Multicast DNS responder support from Erik Ekman
2016-08-14 15:07:45 +02:00
Dirk Ziegelmeier
5493220c93
Move DNS protocol structs to separate header. Needed for Erik Ekman's MDNS implementation.
2016-08-13 09:05:28 +02:00
Dirk Ziegelmeier
6dcb2b2415
Work on bug #48730 : Enums should be used instead of multiple defines (where applicable)
2016-08-12 22:51:43 +02:00
goldsimon
dc7340bbd5
started with bug #48728 : move protocol definitions to 'include/prot/*.h' files (started with some IPv4 protocols)
2016-08-11 14:36:09 +02:00
goldsimon
bf3e8e6a48
minor coding style fixes in IPv6 code
2016-08-11 09:23:43 +02:00
Dirk Ziegelmeier
5c0944e01a
Don't document tcp_send_empty_ack and tcp_keepalive - users should never need them
2016-08-09 10:17:16 +02:00
Dirk Ziegelmeier
5a09fd3e35
Don't document ip4_route and ip6_route, users should use ip_route instead
2016-08-09 10:16:40 +02:00
Dirk Ziegelmeier
85ab39985a
Fix a few incorrect uses of err_t. Found by converting lwip error codes to an enum, but I'm not sure wether I want to commit the actual enum conversion.
2016-08-08 22:15:01 +02:00
Dirk Ziegelmeier
1631307bb3
tcp.c: Partly undo Simon's changes from today (repairs doxygen docs)
2016-08-08 21:42:27 +02:00
goldsimon
eba6ae0122
minor: add a comment about where to define LWIP_RAND()
2016-08-08 09:14:50 +02:00
goldsimon
219438fb24
cleanup: move stdlib.h include to mem.c, where it belongs
2016-08-08 09:11:24 +02:00
goldsimon
08378b7d4b
Improve LWIP_EVENT_API compilation
2016-08-08 08:49:14 +02:00
David van Moolenbroek
fc66fb830c
Fix compilation for LWIP_EVENT_API
...
Without LWIP_CALLBACK_API, is no error callback function pointer in
the TCP PCB, nor is it needed, so do not attempt to access it.
2016-08-08 08:48:28 +02:00
Dirk Ziegelmeier
f55c0e7864
Move rawapi.txt description to main page - this doc really should be found and read by users
2016-08-07 20:21:27 +02:00
Axel Lin
0a7db8a9a5
PPP: remove double include for lwip/sys.h
...
Including it once is enough.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Sylvain Rochet <gradator@gradator.net>
2016-08-07 12:35:50 +02:00
Dirk Ziegelmeier
980a919c9a
Don't document IP type specific output functions, users should use IP type independent ones
2016-08-07 10:13:50 +02:00
Dirk Ziegelmeier
8d07629b71
Some documentation cleanups and include more comments that have been already in code into doxygen docs
2016-08-07 10:05:34 +02:00
Dirk Ziegelmeier
b94c8ee76f
Add some more functions and macros to documentation
2016-08-06 22:16:49 +02:00
Dirk Ziegelmeier
73131b1677
Fix doxygen warning in ip6.c
2016-08-06 20:29:35 +02:00
Dirk Ziegelmeier
87855b0e0e
Update doxgen docs: PBUF layers, IPv4 and IPv6 functions, add some missing tcp raw API functions
2016-08-06 20:28:49 +02:00
Dirk Ziegelmeier
70ee63ef3d
Documentation: Add example code for NO_SYS use case
2016-08-05 09:53:50 +02:00
sg
5f774270b6
minor: tabs -> spaces
2016-08-03 21:25:32 +02:00
David van Moolenbroek
02221cf5dc
Rename IP_HDRINCL to LWIP_IP_HDRINCL
...
In the BSD socket API world, IP_HDRINCL is a socket option for "raw"
sockets that indicates whether sent packets already include an IP
header. Within lwIP, "IP_HDRINCL" is redefined as a special value
that indicates to lwIP-internal functions that an IP header is already
included. While somewhat related, the two meanings are different and,
on platforms that define the IP_HDRINCL socket option, this results in
a conflict. This patch renames the lwIP one to "LWIP_IP_HDRINCL",
thus resolving the conflict.
2016-08-03 20:51:21 +02:00
Dirk Ziegelmeier
da83946e75
Add one more documentation sentence in tcp.c
2016-08-03 12:34:16 +02:00
goldsimon
3d379c97ec
IPv6 is NOT experimental any more :-)
2016-08-03 12:28:56 +02:00
goldsimon
018294d287
remove doubled include (tcpip.h)
2016-08-01 09:44:18 +02:00
Dirk Ziegelmeier
2f7e6d0661
Remove hard reference from netif.c to tcpip.c - avoids pulling in unnecessary code
2016-08-01 09:32:54 +02:00
Dirk Ziegelmeier
2c2d11fa4d
Update documentation of netif_input function
2016-07-30 10:40:36 +02:00
Dirk Ziegelmeier
4cb7e31d2d
Add missing #include in netif.c
2016-07-30 10:36:11 +02:00