Dirk Ziegelmeier
0f6d8ccd90
Revert "Improve pbuf refcount underflow check by checking the local variable on the stack that was assigned in a protected region"
...
This reverts commit 62c44138da
.
Didn't notice due to local changes the ASSERTION was already inside the locks...
2017-02-23 18:04:30 +01:00
Dirk Ziegelmeier
62c44138da
Improve pbuf refcount underflow check by checking the local variable on the stack that was assigned in a protected region
...
The old code was vulnerable to race conditions since it checked ref to be >0 without locks
2017-02-23 16:55:14 +01:00
Dirk Ziegelmeier
0eeb10d4bb
Preparation for task #14369 : Define ways to work with a netif having multiple ports
...
Add if_idx member to struct pbuf
2017-02-23 16:34:28 +01:00
David van Moolenbroek
03f47e58a3
udp/raw: prevent packet length overflows
...
Previously, on netifs with unrestricted MTUs (typically loopback
interfaces), it was possible to give a packet to the UDP/RAW API
calls that is so large that when prepending headers, the pbuf's
tot_len field would overflow. This could easily result in
undesirable behavior at lower layers, e.g. a crash when copying
the packet for later delivery.
This patch models such overflows as memory allocation errors, thus
resulting in clean failures. Checks have to be added in multiple
places to cover (hopefully) all cases.
2017-02-08 22:19:46 +01:00
Dirk Ziegelmeier
9898d406bc
Fix bug #50040 : pbuf_alloc(..., 65534, PBUF_RAM) succeeds
...
Check for integer overflow when calculating memory allocation size
2017-01-15 17:36:33 +01:00
Dirk Ziegelmeier
e94c9ffa70
Fix warning about bad cast in pbuf_skip()
2017-01-05 08:14:39 +01:00
Dirk Ziegelmeier
dd96c71253
Fix a few -Wconversion warnings (there are many more to do)
2016-12-20 14:22:51 +01:00
Dirk Ziegelmeier
e0c0ba7e1b
Fix compile with LWIP_NOASSERT
...
Pointed out by Nirav Desai
2016-12-19 10:11:23 +01:00
Dirk Ziegelmeier
f2a5aa2866
Fix bug #49827 : wrong cast to size_t on 16-bit x86 architecture
...
I hope I caught all of them.
TODO: Same for casts to get rid of alignment warnings, these are also casts via size_t
2016-12-12 10:07:00 +01:00
Dirk Ziegelmeier
801f26ee0c
Minor documentation update
2016-10-16 19:07:55 +02:00
goldsimon
6edde498e3
pbuf_copy: try to fix GCC const warning
2016-10-11 09:52:44 +02:00
goldsimon
697be5c2c3
Make some pbuf functions take const pbuf pointers
2016-10-11 09:23:45 +02:00
Dirk Ziegelmeier
eb77c839fc
Minor: comment in pbuf.c
2016-10-03 09:45:59 +02:00
Dirk Ziegelmeier
149701b347
Fix bug #49218 : pbuf_clen() overflow as a result of tcp_write concatenation
...
Let pbuf_clen() return u16_t
2016-09-30 09:04:36 +02:00
Dirk Ziegelmeier
c25de8f317
Update comment in MDNS and pbuf.c
2016-09-21 12:37:31 +02:00
Dirk Ziegelmeier
eb3a08308d
Improve my last docs
2016-09-20 09:14:32 +02:00
Dirk Ziegelmeier
470dae613e
Documentation: Add example for zero-copy RX using custom PBUF
2016-09-20 09:03:49 +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
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
aef3d2cb87
Minor coding style fix in pbuf.c
2016-08-30 21:09:24 +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
Dirk Ziegelmeier
6b524367a3
Documentation review with Simon, minor changes
2016-07-27 08:05:38 +02:00
Dirk Ziegelmeier
c6831648e2
Document apps in doxygen module style, create more top-level categories to structure documentation
2016-07-26 19:30:05 +02:00
Dirk Ziegelmeier
0fea2bc02e
Document netconn API in doxygen module style
2016-07-26 17:40:55 +02:00
Dirk Ziegelmeier
bd79f6c055
Document DNS, memory pools and PBUFs as modules
2016-07-26 16:40:13 +02:00
sg
631c458c55
Fixed invalid DEBUGF level SERIOUS when pbuf_header fails (it returns '1': this is not serious!)
2016-05-23 22:06:02 +02:00
Dirk Ziegelmeier
90a656ed78
Fix several doxygen errors all over the code
2016-05-23 21:18:16 +02:00
Dirk Ziegelmeier
222155d7e2
pbuf: Make pbuf_skip function public, so it can be used in SNMP code
2016-02-03 08:37:04 +01:00
Axel Lin
bd4c4b5959
Use SYS_ARCH_SET macro at appropriate places
...
Use SYS_ARCH_SET to simplify the code a bit.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-02 22:51:08 +01:00
sg
c12fa7b4c4
started to move "private" header files containing implementation details to "lwip/priv/" include directory to seperate the API from the implementation.
2015-10-09 21:58:58 +02:00
goldsimon
b401f42520
minor: fixed coding style (lwip style)
2015-10-07 10:03:12 +02:00
sg
2b971400fa
minor: coding style
2015-10-06 21:57:40 +02:00
sg
22df34fc70
minor/coding style: removed spaces before line ending (from file header)
2015-10-06 21:13:15 +02:00
sg
490581a0eb
minor/coding style: removed spaces before line ending
2015-10-06 21:08:28 +02:00
Robert Szewczyk
52a4ca99a8
pbuf_take: make it comply with API specifications
...
LWIP_ERROR macro exited the function early with the return code
indicating a SUCCESS. Fix the error codes. Return the specified
error code for cases when the pbuf is too short.
2015-09-17 17:05:01 +02:00
sg
76e785dd5e
Fix that pbuf_realloc() called mem_trim() for "custom" PBUF_RAM
2015-08-05 20:40:35 +02:00
Erik Ekman
145efb1a33
Fix edge case in pbuf_take_at()
...
Writes to offsets pointing to the start of a pbuf in the chain
did nothing and just returned ERR_OK.
Added unit tests to verify the fix, and also
that pbuf_get_at()/pbuf_put_at() handles this case.
2015-08-03 20:34:08 +02:00
goldsimon
902d190a11
Many const fixes throughout the stack (although these are not all, yet)
2015-04-22 10:29:43 +02:00
Sylvain Rochet
632de523de
Fixed PBUF_LINK_ENCAPSULATION_HLEN support
...
PBUF_LINK_ENCAPSULATION_HLEN support was introduced by 6ef7563f
and
missed the fact that header size calculation/reservation using
computation like PBUF_LINK_HLEN + PBUF_IP_HLEN + ... are used all over
the source code. Hopefully fixed all of them.
2015-04-20 23:43:33 +02:00
sg
ce7e31cd04
task #12722 (improve IPv4/v6 address handling): renamed ip_addr_t to ip4_addr_t, renamed ipX_addr_t to ip_addr_t and added IP version;
...
ip_addr_t is used for all generic IP addresses for the API, ip(4/6)_addr_t are only used internally or when initializing netifs or when calling version-related functions
2015-04-09 22:21:15 +02:00
sg
6ef7563f53
Added the option PBUF_LINK_ENCAPSULATION_HLEN to allocate additional header space for TX on netifs requiring additional headers
2015-02-13 21:42:04 +01:00
sg
974a853f40
patch #8423 "arch/perf.h" should be made an optional item
2015-02-11 21:25:47 +01:00
Sylvain Rochet
382ddac1a1
CORE: fixed missing prototype for pbuf_header_impl() function
...
lwip/src/core/pbuf.c:502:1: warning: no previous prototype for ‘pbuf_header_impl’ [-Wmissing-prototypes]
2014-12-24 15:18:21 +01:00
goldsimon
4085a3fad4
task #11472 Support PBUF_REF for RX (IPv6 and IPv4/v6 reassembly might not work yet)
2014-12-08 14:45:36 +01:00
Simon Goldschmidt
33237419c1
Parts of patch #8397 Typos corrected in comments and text outputs
2014-09-18 21:15:13 +02:00
Simon Goldschmidt
e303f30d10
added pbuf_take_at() and pbuf_put_at() (in preparation for dns.c changes)
2014-09-16 19:22:46 +02:00
Simon Goldschmidt
e9908048ec
fixed bug #39356 Wrong increment in pbuf_memfind()
2014-02-25 22:34:27 +01:00
Erik Ekman
5eaef50a77
Remove newlines in LWIP_ERROR calls
2014-02-12 22:10:36 +01:00
Simon Goldschmidt
751deac9d1
Another fix to window scaling: support queueing more than 64 KByte in ooseq data
2014-02-12 21:34:19 +01:00