#
eeb2218b |
|
18-Jul-2018 |
Dirk Ziegelmeier <dziegelmeier@de.pepperl-fuchs.com> |
Revert "Test / RFC: Reformat a few files using clang-format" This reverts commit 8b4a8159a898795ef0fc9226dae1ce66531ad487. We do not want to do this shortly before a release. Reformatting (buggy reformatting) may introduce new bugs.
|
#
8b4a8159 |
|
17-Jul-2018 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Test / RFC: Reformat a few files using clang-format Does it compile? Does it look good (enough)?
|
#
9992b48e |
|
20-Jun-2018 |
Simon Goldschmidt <goldsimon@gmx.de> |
fix compiling with LWIP_NOASSERT defined See bug #54157
|
#
3abc8ae1 |
|
18-Apr-2018 |
goldsimon <goldsimon@gmx.de> |
LWIP_NETCONN_FULLDUPLEX: unblock rx threads on close Threads blocked on the rx mbox are counted and on close, one "netconn closed" message per thread is posted to the mbox to ensure all threads are woken. The netconn can then be safely deleted. In socket API, "fd_used" and "fd_free_pending" help with auto-deleting the netconn. Signed-off-by: goldsimon <goldsimon@gmx.de>
|
#
41fea4ad |
|
12-Apr-2018 |
goldsimon <goldsimon@gmx.de> |
sockets: change closing: netconn is freed when socket is closed, not before This is necessary to implement fullduplex sockets that are closed asynchronously: the netconn in the socket must not be freed before all threads have given up using it. We now call the first part of 'netconn_delete()' (moved to 'netconn_prepare_delete()') from lwip_close() and only actually end up calling 'netconn_free()' from 'free_socket()', which might be called later if LWIP_NETCONN_FULLDUPLEX is enabled. Signed-off-by: goldsimon <goldsimon@gmx.de>
|
#
61e90d9f |
|
19-Dec-2017 |
Axel Lin <axel.lin@ingics.com> |
Use pbuf_clone to replace pbuf_alloc+pbuf_copy Use pbuf_clone() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@ingics.com>
|
#
245a6835 |
|
15-Nov-2017 |
goldsimon <goldsimon@gmx.de> |
fixed bug #52403: netconn: FIN may be sent instead of RST when TCP netconn is closed with pending data in recv_mbox
|
#
d39e8cd8 |
|
29-Oct-2017 |
Joel Cunningham <joel.cunningham@me.com> |
docs: replace old reference to TCPIP_APIMSG with netconn_apimsg
|
#
2b977a4a |
|
17-Sep-2017 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Reformat api_msg.c using astylerc
|
#
2e4867fc |
|
23-Aug-2017 |
Axel Lin <axel.lin@ingics.com> |
api_msg: Remove superfluous NETIF_NO_INDEX checking netif_get_by_index() returns NULL if idx is NETIF_NO_INDEX. So remove the superfluous NETIF_NO_INDEX checking for msg->msg.jl.if_idx before calling netif_get_by_index(). Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Dirk Ziegelmeier <dirk@ziegelmeier.net>
|
#
f457769f |
|
21-Aug-2017 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Add netconn_join_leave_group_netif() that takes netif index as argument
|
#
5d2be346 |
|
01-Aug-2017 |
Joel Cunningham <joel.cunningham@me.com> |
docs: update remaining api_msg_msg references This updates some remaining references to the old struct api_msg_msg (renamed to struct api_msg) in comment blocks
|
#
44f7a3cb |
|
05-Jul-2017 |
goldsimon <goldsimon@gmx.de> |
work on -Wconversion...
|
#
d4c8a1ac |
|
31-May-2017 |
Joel Cunningham <joel.cunningham@me.com> |
netconn: switch gethostbyname to use tcpip_send_msg_wait_sem (task #14523) This switches netconn_gethostbyname to use tcpip_send_msg_wait_sem to take advantage of core locking support when enabled. tcpip_send_msg_wait_sem handles blocking for the non-core locking case, so we can remove the manual blocking in netconn_gethostbyname. For the core locking case, we need to block if waiting on DNS callback. To achieve this, we unlock the core and wait in lwip_netconn_do_gethostbyname. This is the similar approach that netconn_write takes when it needs to block to continue the write (see lwip_netconn_do_write) This improves performance in the core locking case and is no change for the non-core locking case
|
#
0df2c4f2 |
|
31-May-2017 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Map {tcp, udp, raw}_bind_netif() functions to netconn API
|
#
2f117add |
|
25-Apr-2017 |
Joel Cunningham <joel.cunningham@me.com> |
sockets: task #14247, add CMSG and IP_PKTINFO This commit adds CMSG infrastructure (currently used with recvmsg) and the IP_PKTINFO socket option. In order to use IP_PKTINFO, set LWIP_NETBUF_RECVINFO to 1 Unit test is added to verify this feature
|
#
2358a5ac |
|
20-Apr-2017 |
goldsimon <goldsimon@gmx.de> |
lwip_netconn_do_close_internal: 'close' -> 'shut_close': don't override global function names (why is this reported only now?)
|
#
1ada106d |
|
20-Apr-2017 |
goldsimon <goldsimon@gmx.de> |
netconn_tcp_recvd: take size_t, not u32_t
|
#
302d84f5 |
|
19-Apr-2017 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Try to fix compile without TCP (reported by Axel Lin)
|
#
0952e618 |
|
18-Apr-2017 |
goldsimon <goldsimon@gmx.de> |
netconn_drain(): use lwip_netconn_is_err_msg() on acceptmbox, too.
|
#
0b2a6523 |
|
17-Apr-2017 |
Axel Lin <axel.lin@ingics.com> |
api_msg: Use lwip_netconn_is_err_msg instead of NULL test in netconn_drain() The NULL test no longer work after commit e0a2472706ee, it needs to test with lwip_netconn_is_err_msg() instead. Fixes: e0a2472706ee ("netconn/sockets: remove fatal error handling, fix asynchronous error handling, ensure data before RST can be received") Signed-off-by: Axel Lin <axel.lin@ingics.com>
|
#
e0a24727 |
|
11-Apr-2017 |
goldsimon <goldsimon@gmx.de> |
netconn/sockets: remove fatal error handling, fix asynchronous error handling, ensure data before RST can be received
|
#
ba20cd22 |
|
22-Mar-2017 |
goldsimon <goldsimon@gmx.de> |
api_msg:accept_function(): fix typo
|
#
eba1b971 |
|
22-Mar-2017 |
Mikhail Lappo <mikhail.lappo@esrlabs.com> |
Possible null-pointer dereference In assertion the pointer that is potentialy null is dereferenced. The check for null was located after.
|
#
9e20fe2c |
|
22-Mar-2017 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Apply [patch #9287] Possible null-pointer dereference from Mikhail Lappo in a modified way Moved the debug output to a location where we know that newpcb != NULL Fixes possible NULL pointer dereferencing in debug message output
|
#
dd4ded39 |
|
03-Mar-2017 |
Joel Cunningham <joel.cunningham@me.com> |
do_writemore: fix blocking bug A bug was introduced in the atomic vector feature for blocking netconns where if we couldn't write the entire vector due to send buffer being full (write_more is 0), we would not update the vector state and then when sent_tcp() is called, it would actually re-send the previous vector and if additional calls were required to finish the write, msg.w.offset would eventually exceed msg.w.len, This was found by testing "stats" from the shell and hitting the LWIP_ASSERT in do_writemore() that checks offset < len The fix simply updates the vector state after every ERR_OK return from tcp_write(). While not all cases (non-blocking sockets) need to update the state in this case, it keeps the logic simple and also makes debugging simpler because you don't have stale vector state at any point
|
#
2980f7cc |
|
27-Feb-2017 |
Joel Cunningham <joel.cunningham@me.com> |
Vectorize netconn_write for TCP This commit adds support to the netconn write APIs to take an input of vectors instead of a single data pointer This allows vectors sent on a TCP connection via sendmsg to be treated atomically. The set of vectors is segmented into as much data as can fit into the send buffer and then the TCP output function is called Previously, each vector was passed to netconn_write_partly and tcp_write segmented it into its own packet, which was then it was sent via tcp_output (if not Nagleing) This commit adds vector support to lwip_netconn_do_writemore() which is the meat of the TCP write functionality from netconn/sockets layer. A new netconn API netconn_write_vectors_partly() takes a set of vectors as input and hooks up to do_writemore() This commit also defines IOV_MAX because we are limited to only supporting 65535 vectors due to choice of u16_t for the vector count
|
#
36fa1a97 |
|
24-Feb-2017 |
Joel Cunningham <joel.cunningham@me.com> |
lwip_netconn_do_writemore() cleanups This commit makes a couple of cleanups discussed in patch #8882: 1) msg.w.offset should not be set to 0 in the error case. It is only valid when err == ERR_OK 2) Remove out-of-date comment which indicated the entire write had completed (not true for non-blocking write) This also updates the documentation on offset to include that offset is only valid when err == ERR_OK
|
#
4c76fd50 |
|
17-Feb-2017 |
Joel Cunningham <joel.cunningham@me.com> |
Move write_offset from struct netconn to struct api_msg This moves the write_offset variable from struct netconn to struct api_msg This optimizes the storage by only having the space claimed when it is needed (during a netconn_write_partly() call) and not throughout the lifetime of the netconn This also reduces code space/execution by not having to separately manage clearing/checking write_offset from the current_msg pointer Lastly, we also save execution by using msg.w.offset as the output rather than marshaling the result to msg.w.len. Previously, len was used as input length of dataptr and output for the write operation. netconn_write_partly() also has access to msg.w.offset, so we can use that
|
#
6dca6642 |
|
16-Feb-2017 |
sg <goldsimon@gmx.de> |
LWIP_NETCONN_FULLDUPLEX: fixed shutdown during write (bug #50274)
|
#
2b1ebda6 |
|
10-Jan-2017 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Minor correction to last patch: Avoid #including socket.h in api_msg.c
|
#
5e9df2c6 |
|
10-Jan-2017 |
Knut Andre Tidemann <Knut.Andre.Tidemann@jotron.com> |
lwip: fix broken default ICMPv6 handling of checksums. ICMPv6 should always have checksum generated for it as per RFC 3542 chapter 3.1.
|
#
98fc82fa |
|
31-Dec-2016 |
sg <goldsimon@gmx.de> |
added function tcp_listen_with_backlog_and_err() to get the error reason when listening fails (bug #49861)
|
#
5030fa81 |
|
23-Nov-2016 |
Joel Cunningham <joel.cunningham@me.com> |
bug #49684, api_msg: treat non-blocking ERR_MEM as ERR_WOULDBLOCK This corrects a case in lwip_netconn_do_writemore() where if a non-blocking socket receives ERR_MEM in a call to tcp_write(), it would return ERR_MEM, which would result in ENOMEM coming out of the socket layer This case can be gracefully handled by returning ERR_WOULDBLOCK since the socket is already marked as no longer writable and sent_tcp/poll_tcp will mark the socket as writable again based on available buffer space This is very similiar to how ERR_MEM is resolved for blocking sockets
|
#
5d5eeca0 |
|
17-Nov-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Once more: Try fix compile with clang
|
#
792224ea |
|
17-Nov-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Try to fix compile error with clang (found by Erik's Travis-CI)
|
#
1712b06a |
|
16-Nov-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Work on dual-stack netconn IPv6 netconns are created as IPADDR_TYPE_ANY raw/udp/tcp PCBs internally bind, connect and sendto now accept IPv6 mapped IPv4 addresses or IPv4 addresses as argument getaddr and receive functions now return IPv6 mapped IPv4 addresses instead of IPv4 addresses This behavior is close to BSD socket API
|
#
b70ddf7b |
|
02-Nov-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Cleanup unmap_ipv6_mapped_ipv4() macro
|
#
2f37dc06 |
|
31-Oct-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
api_msg.c: Partly add support for IPv6 mapped IPv4 addresses - lwip_netconn_do_getaddr(): Convert IPv4 addresses to IPv6 mapped IPv4 addresses - lwip_netconn_do_send(): Support IPv6 mapped IPv4 addresses - Not done: connect(), bind()
|
#
4dffe521 |
|
13-Oct-2016 |
Axel Lin <axel.lin@ingics.com> |
api_msg.c: Trivial code cleanup Slightly improve readability by testing apiflags with NETCONN_DONTBLOCK. Also remove an empty else clause. Signed-off-by: Axel Lin <axel.lin@ingics.com>
|
#
f6e27940 |
|
08-Oct-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Make lwIP compile with clang -Wdocumentation -> several documentation fixes
|
#
cdc97d27 |
|
03-Oct-2016 |
goldsimon <goldsimon@gmx.de> |
Correctly fix bug #49209: netconn_drain() fails to handle 'netconn_aborted' pointer
|
#
d9c6badc |
|
03-Oct-2016 |
goldsimon <goldsimon@gmx.de> |
Revert "Fixed bug #49209: netconn_drain() fails to handle 'netconn_aborted' pointer" This reverts commit 0e2354e658d9dc193d60048a8394517a41ca64ff.
|
#
0e2354e6 |
|
27-Sep-2016 |
goldsimon <goldsimon@gmx.de> |
Fixed bug #49209: netconn_drain() fails to handle 'netconn_aborted' pointer
|
#
90a656ed |
|
23-May-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix several doxygen errors all over the code
|
#
16c70dd6 |
|
05-Apr-2016 |
sg <goldsimon@gmx.de> |
fixed bug# 43739 (Accept not reporting errors about aborted connections): netconn_accept() returns ERR_ABRT (sockets: ECONNABORTED) for aborted connections, ERR_CLSD (sockets: EINVAL) if the listening netconn is closed, which better seems to follow the standard
|
#
27f03798 |
|
25-Mar-2016 |
sg <goldsimon@gmx.de> |
Fixed possible problems with tcp_backlog_delayed/tcp_backlog_accepted
|
#
7721b201 |
|
23-Mar-2016 |
sg <goldsimon@gmx.de> |
call accept-callback with ERR_MEM when allocating a pcb fails on passive open to inform the application about this error; ATTENTION: applications have to handle NULL pcb in accept callback!
|
#
dd80759b |
|
22-Mar-2016 |
sg <goldsimon@gmx.de> |
tcp: changed accept handling to be done internally: the application does not have to call tcp_accepted() any more. Instead, when delaying accept (e.g. sockets do), call tcp_backlog_delayed()/tcp_backlog_accepted() (fixes bug #46696)
|
#
44e1a2d8 |
|
18-Mar-2016 |
sg <goldsimon@gmx.de> |
define tcp_backlog_set() as dummy-define when backlog feature is disable
|
#
149bb368 |
|
17-Mar-2016 |
sg <goldsimon@gmx.de> |
fixed bug #47448 (netconn/socket leak if RST is received during close)
|
#
93ccba9b |
|
17-Mar-2016 |
Joel Cunningham <joel.cunningham@me.com> |
don't fail closing a socket/netconn when failing to allocate the FIN segment; blocking the calling thread for a while is better than risking leaking a netconn/socket (see bug #46701) Signed-off-by: sg <goldsimon@gmx.de>
|
#
d38cdccb |
|
16-Mar-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
netconn API: Remove api_msg wrapper struct, it is not needed any more
|
#
2575c7fb |
|
16-Mar-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
netconn API: Cleanup, remove lots of #defines, take advantage of new tcpip_send_api_msg function feature to abstract core locking away
|
#
af1978fa |
|
07-Mar-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Implement generic API message handling Add generic tcpip_send_api_msg function Let netif API and netconn API use it Decouple tcpip.c and tcpip_priv.h from netif API
|
#
094cdf1c |
|
04-Mar-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
netconn: Create API macros to get/set IPV6ONLY flag
|
#
bd0b51c9 |
|
03-Mar-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix my previous netconn_do_listen changes in lwip_netconn_do_listen
|
#
bee5515e |
|
03-Mar-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
netconn API: Reimplement dual-stack API to be socket-like. When IPv6 ANY address is used and the NETCONN_FLAG_IPV6_V6ONLY is NOT set, bind/listen on/to IP_ANY_TYPE
|
#
0c673b6a |
|
02-Mar-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Implement new style TCP dual-stack in netconn API
|
#
5404ce3c |
|
28-Feb-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Implement support for UDP IP_ANY_TYPE in netconn API
|
#
8cb64698 |
|
18-Feb-2016 |
Joel Cunningham <joel.cunningham@me.com> |
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
|
#
880f1008 |
|
22-Feb-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
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.
|
#
9a97a80e |
|
18-Feb-2016 |
sg <goldsimon@gmx.de> |
Fixed bug #47154 lwip_netconn_do_writemore doesn't clear conn->write_offset on fatal/routing error.
|
#
78a36df9 |
|
10-Feb-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Netconn: Fix potential NULL pointer dereference (found by Coverity)
|
#
11faa814 |
|
17-Dec-2015 |
Joel Cunningham <joel.cunningham@me.com> |
Fix blocking close with LWIP_SO_SNDTIMEO This fixes a bug in close when LWIP_SO_SNDTIMEO is enabled, but the option is not in use on the socket A simple mis-typed comparison against zero would cause the close_timeout to get set to zero if conn->send_timeout was 0 The intended check was to over-ride the default close timeout if a send timeout had been specified via SO_SNDTIMEO
|
#
031de097 |
|
11-Dec-2015 |
Axel Lin <axel.lin@ingics.com> |
Trivial comment fix for lwip_netconn_do_disconnect() Signed-off-by: Axel Lin <axel.lin@ingics.com>
|
#
bd4c4b59 |
|
30-Nov-2015 |
Axel Lin <axel.lin@ingics.com> |
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>
|
#
ecf9d25e |
|
10-Nov-2015 |
Axel Lin <axel.lin@ingics.com> |
api_msg_c: remove superfluous NETCONN_SET_SAFE_ERR call before TCPIP_APIMSG_ACK The TCPIP_APIMSG_ACK will call NETCONN_SET_SAFE_ERR for both LWIP_TCPIP_CORE_LOCKING and !LWIP_TCPIP_CORE_LOCKING cases. So remove superfluous NETCONN_SET_SAFE_ERR call before TCPIP_APIMSG_ACK. Signed-off-by: Axel Lin <axel.lin@ingics.com>
|
#
c12fa7b4 |
|
09-Oct-2015 |
sg <goldsimon@gmx.de> |
started to move "private" header files containing implementation details to "lwip/priv/" include directory to seperate the API from the implementation.
|
#
fc1db873 |
|
09-Oct-2015 |
sg <goldsimon@gmx.de> |
Fixed compiling api with LWIP_NETCONN_SEM_PER_THREAD==1 && LWIP_MPU_COMPATIBLE==1
|
#
b401f425 |
|
07-Oct-2015 |
goldsimon <goldsimon@gmx.de> |
minor: fixed coding style (lwip style)
|
#
2b971400 |
|
06-Oct-2015 |
sg <goldsimon@gmx.de> |
minor: coding style
|
#
22df34fc |
|
06-Oct-2015 |
sg <goldsimon@gmx.de> |
minor/coding style: removed spaces before line ending (from file header)
|
#
490581a0 |
|
06-Oct-2015 |
sg <goldsimon@gmx.de> |
minor/coding style: removed spaces before line ending
|
#
ae7eeda8 |
|
30-Sep-2015 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
dns_found_callback should take const IP addr
|
#
c7172310 |
|
24-Sep-2015 |
goldsimon <goldsimon@gmx.de> |
Removed ip_2_ip4/6_c const macros again now that ip_2_ip4/6 macros keep the original const'ness
|
#
f62022cd |
|
17-Sep-2015 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Compiler warning fixes (mostly constness in dual-stack configurations)
|
#
77270adb |
|
07-Sep-2015 |
sg <goldsimon@gmx.de> |
Changed dns_gethostbyname_addrtype() to always be a function, fixed code for C PP :-(
|
#
196120fa |
|
04-Sep-2015 |
goldsimon <goldsimon@gmx.de> |
worked on task #12243 (Add support for AAAA/IPv6 records to DNS)
|
#
e171b4e3 |
|
18-Aug-2015 |
sg <goldsimon@gmx.de> |
Fixed usages of SYS_SEM_NULL after using pointers everywhere
|
#
4dc3c7a6 |
|
03-Aug-2015 |
goldsimon <goldsimon@gmx.de> |
Fixed warnings about NULL check not required (ip_addr_isany) and implicit conversion (~)
|
#
44af6978 |
|
23-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
netconn: api_msg.c, fixed warning about unused state variable by using it a little more
|
#
902d190a |
|
22-Apr-2015 |
goldsimon <goldsimon@gmx.de> |
Many const fixes throughout the stack (although these are not all, yet)
|
#
c1c65777 |
|
12-Apr-2015 |
sg <goldsimon@gmx.de> |
worked on task #13480: added LWIP_IPV4 define - IPv4 can be disabled, leaving an IPv6-only stack (SNMP is still missing)
|
#
ce7e31cd |
|
09-Apr-2015 |
sg <goldsimon@gmx.de> |
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
|
#
9eb900c4 |
|
19-Mar-2015 |
sg <goldsimon@gmx.de> |
fixed race conditions in assigning netconn->last_err (fixed bugs #38121 and #37676)
|
#
3e8ac309 |
|
25-Feb-2015 |
sg <goldsimon@gmx.de> |
Fixed bug #44297 (CORE_LOCKING was broken some days ago); fixed that netconn_connect still used message passing for LWIP_TCPIP_CORE_LOCKING==1
|
#
ec5cf859 |
|
22-Feb-2015 |
sg <goldsimon@gmx.de> |
Continued chrysn's work: changed nearly all functions taking 'ip(X)_addr_t' pointer to take const pointers (changed user callbacks: raw_recv_fn, udp_recv_fn; changed port callbacks: netif_output_fn, netif_igmp_mac_filter_fn)
|
#
2cfc9e28 |
|
18-Feb-2015 |
sg <goldsimon@gmx.de> |
"Not connected" shouldn't be fatal (as opposed to "closed")
|
#
604a92dc |
|
17-Feb-2015 |
sg <goldsimon@gmx.de> |
fixed bug #38853 "connect() use a wrong errno": return ERR_ALREADY/EALRADY during connect, ERR_ISCONN/EISCONN when already connected
|
#
0963e91c |
|
17-Feb-2015 |
goldsimon <goldsimon@gmx.de> |
api_msg_c: fixed compiler warning (added brackets in if statement)
|
#
5d13b5a2 |
|
17-Feb-2015 |
goldsimon <goldsimon@gmx.de> |
fixed bug #37614 "Errors from ipX_output are not processed". Now tcp_output(_segment) checks for the return value of ipX_output and does not try to send more on error. A netif driver can call tcp_txnow() (from tcpip_thread!) to try to send again if TX buffers are available again.
|
#
276e35ec |
|
11-Feb-2015 |
sg <goldsimon@gmx.de> |
Fixed a bug in linger-closing when LWIP_TCPIP_CORE_LOCKING==1
|
#
7ff9825f |
|
11-Feb-2015 |
sg <goldsimon@gmx.de> |
started to implement fullduplex sockets/netconns (note that this is highly unstable yet!)
|
#
6c3f6cfd |
|
10-Feb-2015 |
sg <goldsimon@gmx.de> |
netconn/socket api: fixed bug #44225 "closing TCP socket should time out eventually", implemented task #6930 "Implement SO_LINGER": closing TCP sockets times out after 20 seconds or after the configured SND_TIMEOUT or depending on the linger settings; fixed that netconn_close/netconn_delete still used message passing for LWIP_TCPIP_CORE_LOCKING==1
|
#
ec68aaf4 |
|
27-Jan-2015 |
sg <goldsimon@gmx.de> |
fixed that SHUT_RD followed by SHUT_WR was different to SHUT_RDWR, fixed return value of lwip_netconn_do_close on unconnected netconns
|
#
24df78bc |
|
20-Jan-2015 |
goldsimon <goldsimon@gmx.de> |
fixed that lwip_netconn_do_delconn() did not set msg->err on success (just introduced that bug this weekend...)
|
#
cacdbb52 |
|
10-Dec-2014 |
sg <goldsimon@gmx.de> |
added option LWIP_NETCONN_SEM_PER_THREAD to use a semaphore per thread instead of using one per netconn and per select call
|
#
aecbce28 |
|
21-Oct-2014 |
goldsimon <goldsimon@gmx.de> |
fixed bug #38219 Assert on TCP netconn_write with sndtimeout set
|
#
4b9883a5 |
|
15-Sep-2014 |
Simon Goldschmidt <goldsimon@gmx.de> |
DNS: does not support IPv6, may return a name cased different than the request (when multiple requests are combined to one)
|
#
3c40d93f |
|
02-Sep-2014 |
Simon Goldschmidt <goldsimon@gmx.de> |
fixed bug #43110 (call getpeername() before listen() will cause a error) by re-sorting the error numbers and letting listen() continue on ERR_CONN
|
#
3f016fcc |
|
06-Apr-2014 |
Simon Goldschmidt <goldsimon@gmx.de> |
Multiple small/minor issues: bug #36492 Static Analysis on code 1.4.0
|
#
c6063585 |
|
27-Feb-2014 |
Simon Goldschmidt <goldsimon@gmx.de> |
fixed bug #38404 getpeeraddr returns success on unconnected/listening TCP sockets
|
#
e2c2afbb |
|
20-Feb-2014 |
Simon Goldschmidt <goldsimon@gmx.de> |
patch #7885: modification of api modules to support FreeRTOS-MPU (don't pass stack-pointers to other threads) (based on patch by Artem Pisarenko)
|
#
097bc4c6 |
|
24-Apr-2013 |
Simon Goldschmidt <goldsimon@gmx.de> |
patch #8008 Fix a potential null pointer dereference in assert
|
#
a4a41b90 |
|
26-Sep-2012 |
goldsimon <goldsimon@gmx.de> |
fixed bug #37405 'err_tcp()' uses already freed 'netconn' object
|
#
a0707510 |
|
13-Aug-2012 |
goldsimon <goldsimon@gmx.de> |
fixed bug #37052: "netconn_alloc: undefined netconn_type" assertion skipped
|
#
e65202f8 |
|
03-Jul-2012 |
James Smith <jsmith@ecoscentric.com> |
Applied patch by James Smith to implement IPV6_V6ONLY support in sockets and netconns. Change-Id: I2ecd8e218703114890b2d678cc1ccf997a16f5e3
|
#
8dbf572e |
|
25-Mar-2012 |
goldsimon <goldsimon@gmx.de> |
Fixed bug #35817: do_connect() invalidly signals op_completed for UDP/RAW with LWIP_TCPIP_CORE_LOCKING==1
|
#
f8af1a74 |
|
25-Mar-2012 |
goldsimon <goldsimon@gmx.de> |
fixed bug #35931: Name space pollution in api_msg.c and netifapi.c
|
#
e039d410 |
|
17-Oct-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
fixed bug #34569: shutdown(SHUT_WR) crashes netconn/socket api
|
#
a2aa43a4 |
|
21-Sep-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
Implemented timeout on send (TCP only, bug #33820)
|
#
d0877153 |
|
03-Sep-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
netconn_alloc(): return on invalid protocol instead of initializing mbox size to 0
|
#
f64808c3 |
|
24-Aug-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
fixed bug #33956 Wrong error returned when calling accept() on UDP connections
|
#
b5305d5a |
|
12-Aug-2011 |
Ivan Delamer <delamer@inicotech.com> |
Initialize recvmbox size for undefined netconn type, to supress compiler warning. Change-Id: I14c3f1786a8ca3513b5d4cf375c4951e4c09ebd6
|
#
46af0d38 |
|
22-Jul-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
fixed bug #31084 (socket API returns always EMSGSIZE on non-blocking sockets if data size > send buffers) -> now lwip_send() sends as much as possible for non-blocking sockets and only returns EWOULDBLOCK if the buffers are full
|
#
2aec3a97 |
|
28-May-2011 |
goldsimon <goldsimon> |
use PCB_IS_IPV6(pcb) instead of pcb->isipv6 everywhere
|
#
6865806b |
|
25-May-2011 |
goldsimon <goldsimon> |
Combined IPv4 and IPv6 code where possible, added defines to access IPv4/IPv6 in non-IP code so that the code is more readable.
|
#
4bfbe7eb |
|
17-May-2011 |
goldsimon <goldsimon> |
... and finally, we got a first working version of a dual-stack lwIP runnin IPv4 and IPv6 in parallel - big thanks to Ivan Delamer! (this is work in progress, so please beware, test a lot and report problems!)
|
#
72036801 |
|
14-Mar-2011 |
goldsimon <goldsimon> |
fixed bug #31748 (Calling non-blocking connect more than once can render a socket useless) since it mainly involves changing "FATAL" classification of error codes: ERR_USE and ERR_ISCONN just aren't fatal.
|
#
effcb90f |
|
20-Dec-2010 |
goldsimon <goldsimon> |
Mreged back changes that were lost during the savannah hack 3 weeks ago (using the sources from http://git.infradead.org/users/dwmw2/lwip.git)
|
#
d73262a0 |
|
29-Jul-2010 |
goldsimon <goldsimon> |
Fixed compilation with TCP or UDP disabled.
|
#
48be5463 |
|
30-Jun-2010 |
goldsimon <goldsimon> |
fixed bug #30300 (shutdown parameter was not initialized in netconn_delete)
|
#
6929a786 |
|
24-Jun-2010 |
goldsimon <goldsimon> |
Fixed bug #10088: Correctly implemented shutdown at socket level.
|
#
ddd2b69f |
|
12-Jun-2010 |
goldsimon <goldsimon> |
bug #29976: forgot some places using the changed IP address (copy vs. pointer)
|
#
f7479781 |
|
22-May-2010 |
goldsimon <goldsimon> |
bug #27352: removed packing from ip_addr_t, the packed version is now only used in protocol headers. Added global storage for current src/dest IP address while in input functions.
|
#
4b7288e8 |
|
02-May-2010 |
goldsimon <goldsimon> |
use checksum-on-copy for sending UDP data for LWIP_NETIF_TX_SINGLE_PBUF==1
|
#
51061fb6 |
|
21-Apr-2010 |
goldsimon <goldsimon> |
Fixed bug #29617 (sometime cause stall on delete listening connection)
|
#
846a2fb9 |
|
26-Mar-2010 |
goldsimon <goldsimon> |
Fixed compiling with different options disabled (TCP/UDP), triggered by bug #29345; don't allocate acceptmbox if LWIP_TCP is disabled
|
#
46b7bd6e |
|
26-Mar-2010 |
goldsimon <goldsimon> |
Make functions static where applicable, add default cases to switches where applicable, prevent old-style function prototypes (without arguments)
|
#
0a49f2e0 |
|
19-Mar-2010 |
goldsimon <goldsimon> |
Corrected spelling of ERR_WOULDBLOCK (D was missing)
|
#
0b5d60db |
|
05-Mar-2010 |
goldsimon <goldsimon> |
Correctly set TCP_WRITE_FLAG_MORE when netconn_write is split into multiple calls to tcp_write.
|
#
19a9b52c |
|
21-Feb-2010 |
goldsimon <goldsimon> |
Corrected comment
|
#
7c57ee0c |
|
21-Feb-2010 |
goldsimon <goldsimon> |
Use tcp_debug_state_str() instead of tcp_debug_print_state()
|
#
0792effc |
|
13-Feb-2010 |
goldsimon <goldsimon> |
task #7865 (implement non-blocking send operation)
|
#
0f05a6ae |
|
13-Feb-2010 |
goldsimon <goldsimon> |
Fixed compilation for LWIP_DNS==1 after changing sys layer
|
#
7ccf8cb7 |
|
13-Feb-2010 |
goldsimon <goldsimon> |
Fixed compilation with LWIP_DNS==1 after changing sys layer
|
#
c49a3ab2 |
|
13-Feb-2010 |
goldsimon <goldsimon> |
Fixed compilation for LWIP_SO_RCVBUF==0
|
#
bd3f86e5 |
|
12-Feb-2010 |
goldsimon <goldsimon> |
Code layout: splitted long line
|
#
c73b1b4f |
|
12-Feb-2010 |
goldsimon <goldsimon> |
Fixed bug #28865 (Cannot close socket/netconn in non-blocking connect)
|
#
0030d1ad |
|
12-Feb-2010 |
goldsimon <goldsimon> |
task #10139 (Prefer statically allocated memory): converted mbox and semaphore functions to take pointers to sys_mbox_t/sys_sem_t; converted sys_mbox_new/sys_sem_new to take pointers and return err_t; task #7212: Add Mutex concept in sys_arch (define LWIP_COMPAT_MUTEX to let sys.h use binary semaphores instead of mutexes - as before)
|
#
2d163179 |
|
12-Feb-2010 |
goldsimon <goldsimon> |
struct netconn.socket is only used with LWIP_SOCKET; added comments
|
#
306f2203 |
|
09-Feb-2010 |
goldsimon <goldsimon> |
Fixed bug #22110 (recv() makes receive window update for data that wasn't received by application); added function-like macros to correctly access/change conn->recv_timeout and conn->recv_bufsize
|
#
a8459027 |
|
09-Feb-2010 |
goldsimon <goldsimon> |
Merge 3 u8_t for netconn-internal status into one u8_t 'flags' to prevent waisting memory when adding more flags
|
#
5d360a67 |
|
04-Feb-2010 |
goldsimon <goldsimon> |
Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier.
|
#
855dcadf |
|
29-Jan-2010 |
goldsimon <goldsimon> |
Added except set support in select (patch #6860)
|
#
e58f4c56 |
|
29-Jan-2010 |
goldsimon <goldsimon> |
Add non-blocking support for connect (partly from patch #6860) plus many cleanups in socket & netconn API
|
#
32c16fad |
|
28-Jan-2010 |
goldsimon <goldsimon> |
igmp related: renamed netif pointers from 'interface' to 'netif' to not use keywords (or at least my editor highlights it as one...)
|
#
04a8b0f8 |
|
27-Jan-2010 |
goldsimon <goldsimon> |
Added TCP_SNDQUEUELOWAT corresponding to TCP_SNDLOWAT and added tcp_sndqueuelen() - this fixes bug #28605
|
#
e678e1bd |
|
25-Jan-2010 |
goldsimon <goldsimon> |
bug #28659: Missing casts
|
#
dbcce3a4 |
|
23-Jan-2010 |
goldsimon <goldsimon> |
bug #26523: Compiler Warnings
|
#
82318c0e |
|
21-Jan-2010 |
goldsimon <goldsimon> |
Fixed bug #28651 (tcp_connect: no callbacks called if tcp_enqueue fails) both in raw- and netconn-API
|
#
52389fc0 |
|
19-Jan-2010 |
goldsimon <goldsimon> |
Fixed bug #27316 (netconn: Possible deadlock in err_tcp) by using sys_mbox_trypost in err_tcp
|
#
34139606 |
|
17-Jan-2010 |
goldsimon <goldsimon> |
task #10102: "netconn: clean up conn->err threading issues" by adding error return value to struct api_msg_msg
|
#
97f797e8 |
|
14-Jan-2010 |
goldsimon <goldsimon> |
do_connect(): set conn->err to an error if conn->pcb is NULL
|
#
9521f547 |
|
14-Jan-2010 |
goldsimon <goldsimon> |
Another fix for bug #28562: Segfault @ err_tcp
|
#
0e38a52e |
|
13-Jan-2010 |
goldsimon <goldsimon> |
Again: Fixed bug #26672 (close connection when receive window = 0) by correctly draining recvmbox/acceptmbox
|
#
533e6b5f |
|
08-Jan-2010 |
goldsimon <goldsimon> |
Fixed bug #26672 (close connection when receive window = 0) by correctly draining recvmbox/acceptmbox
|
#
8a81cb4b |
|
22-Nov-2009 |
goldsimon <goldsimon> |
Fixed bug #27955: netconn_close may nether return when LWIP_TCPIP_CORE_LOCKING enabled
|
#
a9cbdc14 |
|
07-Oct-2009 |
goldsimon <goldsimon> |
patch #6888: Patch for UDP Netbufs to support dest-addr and dest-port
|
#
8a7c1c49 |
|
30-Aug-2009 |
goldsimon <goldsimon> |
do_connect: LWIP_ERROR on invalid/disabled protocol
|
#
cc4b968f |
|
27-Jul-2009 |
goldsimon <goldsimon> |
Fixed bug #27114: Missing #include in api_msg.c on LWIP 1.3.1RC1; added include <string.h>
|
#
ce5699f4 |
|
09-Jul-2009 |
fbernon <fbernon> |
minor changes: typos and coding style
|
#
1eee0be9 |
|
09-Jul-2009 |
kieranm <kieranm> |
BUG23240 use signed counters for recv_avail and don't increment counters until message successfully sent to mbox
|
#
2b87f899 |
|
25-Jun-2009 |
kieranm <kieranm> |
BUG26722: initialise netconn write variables in netconn_alloc
|
#
9d5bf57d |
|
18-Apr-2009 |
goldsimon <goldsimon> |
fixed bug #25695: Segmentation fault in do_writemore()
|
#
14cb4eb7 |
|
16-Feb-2009 |
goldsimon <goldsimon> |
fixed arguments of socket functions to match the standard; converted size argument of netconn_write to 'size_t' for that; fixed some warnings
|
#
8c7705bb |
|
11-Feb-2009 |
goldsimon <goldsimon> |
added configurable default valud for netconn->recv_bufsize: RECV_BUFSIZE_DEFAULT (fixes bug #23726: pbuf pool exhaustion on slow recv())
|
#
b0c61ffb |
|
19-Dec-2008 |
goldsimon <goldsimon> |
Reverted last changes since it's wrong when sizeof(int)==2...
|
#
aa568727 |
|
19-Dec-2008 |
goldsimon <goldsimon> |
patch #6699: fixed some warnings on platform where sizeof(int) == 2
|
#
1f3fe200 |
|
12-Nov-2008 |
jifl <jifl> |
Correct commented description of do_recv(). Reported by Charles Landau on lwip-users.
|
#
ae2d5266 |
|
15-Jul-2008 |
goldsimon <goldsimon> |
removed invalid call to tcp_connect() in do_close_internal()
|
#
99db2441 |
|
14-Jul-2008 |
goldsimon <goldsimon> |
fixed bug #23847: do_close_internal references freed memory
|
#
7774b57a |
|
21-Mar-2008 |
fbernon <fbernon> |
api_msg.c: fix wrong mailbox invalidate (NULL was used instead of SYS_MBOX_NULL). Spoted by Silas Boyd-Wickizer.
|
#
90cb4b4e |
|
19-Mar-2008 |
goldsimon <goldsimon> |
Corrected comment in do_writemore()
|
#
afcf49ad |
|
13-Mar-2008 |
fbernon <fbernon> |
api_msg.c: minor change, fix warning.
|
#
a2f18924 |
|
11-Mar-2008 |
fbernon <fbernon> |
api_msg.c: fix the netbuf::addr field to point on the ip_src on the pbuf's copy (about bug#22530).
|
#
552106e2 |
|
12-Mar-2008 |
fbernon <fbernon> |
api_msg.c: Fix bug #22530 "api_msg.c's recv_raw() does not consume data".
|
#
7518acf6 |
|
14-Jan-2008 |
fbernon <fbernon> |
rawapi.txt, api_msg.c, tcp.c, tcp_in.c, tcp.h: changes for task #7675 "Enable to refuse data on a TCP_EVENT_RECV call". Important, behavior changes for the tcp_recv callback (see rawapi.txt).
|
#
55bcc20d |
|
12-Jan-2008 |
fbernon <fbernon> |
tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::sem per netconn::op_completed like suggested for the task #7490 "Add return value to sys_mbox_post".
|
#
9906e4c9 |
|
11-Jan-2008 |
fbernon <fbernon> |
api_msg.c, opt.h: replace DEFAULT_RECVMBOX_SIZE per DEFAULT_TCP_RECVMBOX_SIZE, DEFAULT_UDP_RECVMBOX_SIZE and DEFAULT_RAW_RECVMBOX_SIZE (to optimize queues sizes), like suggested for the task #7490 "Add return value to sys_mbox_post".
|
#
bceff76c |
|
10-Jan-2008 |
fbernon <fbernon> |
tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::mbox (sys_mbox_t) per netconn::sem (sys_sem_t) for the task #7490 "Add return value to sys_mbox_post".
|
#
a41f113b |
|
06-Jan-2008 |
goldsimon <goldsimon> |
Added function netconn_free(), which deallocates all mboxes and frees the netconn (to be used from different places) - the PCB is not freed!
|
#
5941b3c8 |
|
05-Jan-2008 |
fbernon <fbernon> |
sys_arch.txt, api.h, api_lib.c, api_msg.h, api_msg.c, tcpip.c, sys.h, opt.h: Introduce changes for task #7490 "Add return value to sys_mbox_post" with some modifications in the sys_mbox api: sys_mbox_new take a "size" parameters which indicate the number of pointers query by the mailbox. There is three defines in opt.h to indicate sizes for tcpip::mbox, netconn::recvmbox, and for the netconn::acceptmbox. Port maintainers, you can decide to just add this new parameter in your implementation, but to ignore it to keep the previous behavior. The new sys_mbox_trypost function return a value to know if the mailbox is full or if the message is posted. Take a look to sys_arch.txt for more details. This new function is used in tcpip_input (so, can be called in an interrupt context since the function is not blocking), and in recv_udp and recv_raw.
|
#
9c4daa31 |
|
04-Jan-2008 |
fbernon <fbernon> |
Minor changes in lwip folder: fix some warnings, coding style, and rename "internal" netconn_alloc function.
|
#
32005617 |
|
04-Jan-2008 |
fbernon <fbernon> |
rawapi.txt, api.h, api_lib.c, api_msg.h, api_msg.c, sockets.c, tcp.h, tcp.c, tcp_in.c, init.c, opt.h: rename backlog options with TCP_ prefix, limit the "backlog" parameter in an u8_t, 0 is interpreted as "smallest queue", add documentation in the rawapi.txt file.
|
#
1ed34774 |
|
21-Dec-2007 |
goldsimon <goldsimon> |
tcp.h, opt.h, api.h, api_msg.h, tcp.c, tcp_in.c, api_lib.c, api_msg.c, sockets.c, init.c: task #7252: Implement TCP listen backlog: Warning: raw API applications have to call 'tcp_accepted(pcb)' in their accept callback to keep accepting new connections.
|
#
48e62e25 |
|
21-Dec-2007 |
goldsimon <goldsimon> |
sys.h, api_lib.c, api_msg.c, sockets.c: fix bug #21698: "netconn->recv_avail is not protected" by using new macros for interlocked access to modify/test netconn->recv_avail.
|
#
2b54da50 |
|
13-Dec-2007 |
fbernon <fbernon> |
api_msg.c, err.h, err.c, sockets.c, dns.c, dns.h: replace "enum dns_result" by err_t type. Add a new err_t code "ERR_INPROGRESS".
|
#
113a52d0 |
|
02-Dec-2007 |
goldsimon <goldsimon> |
fix bug #21656 (recvmbox problem in netconn API): always allocate a recvmbox in netconn_new_with_proto_and_callback. For a tcp-listen netconn, this recvmbox is later freed and a new mbox is allocated for acceptmbox. This is a fix for thread-safety and allocates all items needed for a netconn when the netconn is created.
|
#
6746beb2 |
|
29-Nov-2007 |
goldsimon <goldsimon> |
Compacted code: moved the code creating a netconn (without pcb) from netconn_new_with_proto_and_callback to new (synchroneous) function netconn_alloc_with_proto_and_callback and call this function from netconn_new_with_proto_and_callback and accept_function.
|
#
03777ccb |
|
27-Nov-2007 |
goldsimon <goldsimon> |
Changed error handling: ERR_MEM, ERR_BUF and ERR_RTE are seen as non-fatal, all other errors are fatal. netconns and sockets block most operations once they have seen a fatal error.
|
#
3d9c76a6 |
|
24-Nov-2007 |
fbernon <fbernon> |
Minor change (doxygen tags)
|
#
7797ada1 |
|
24-Nov-2007 |
goldsimon <goldsimon> |
Added documentation
|
#
dc515c7a |
|
21-Nov-2007 |
goldsimon <goldsimon> |
Fixed bug #20287: tcp_output_nagle sends too early. This fixes the nagle algorithm; nagle now also works for all raw API applications and has to be explicitly disabled with 'tcp_pcb->flags |= TF_NODELAY'
|
#
f58515b5 |
|
19-Nov-2007 |
fbernon <fbernon> |
api_msg.c, dns.h, dns.c: Implement DNS_DOES_NAME_CHECK option (check if name received match the name query), implement DNS_USES_STATIC_BUF (the place where copy dns payload to parse the response), return an error if there is no place for a new query, and fix some minor problems.
|
#
edc46281 |
|
18-Nov-2007 |
fbernon <fbernon> |
Minor changes on DNS client.
|
#
e2cd201f |
|
16-Nov-2007 |
goldsimon <goldsimon> |
Added sequential dns resolver function for netconn api (netconn_gethostbyname)
|
#
a4d14722 |
|
12-Nov-2007 |
fbernon <fbernon> |
sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c: Fixed bug #20900. Now, most of the netconn_peer and netconn_addr processing is done inside tcpip_thread context in do_getaddr.
|
#
f3dbd986 |
|
06-Nov-2007 |
goldsimon <goldsimon> |
Task #7410: Removed the need to include core header files in api.h (ip/tcp/udp/raw.h) to hide the internal implementation from netconn api applications.
|
#
ecce865c |
|
02-Nov-2007 |
fbernon <fbernon> |
api.h, api_lib.c, api_msg.c, sockets.c, opt.h: add SO_RCVBUF option for UDP & RAW netconn. You need to set LWIP_SO_RCVBUF=1 in your lwipopts.h (it's disabled by default). Netconn API users can use the netconn_recv_bufsize macro to access it. This is a first release which have to be improve for TCP. Note it used the netconn::recv_avail which need to be more "thread-safe" (note there is already the problem for FIONREAD with lwip_ioctl/ioctlsocket).
|
#
cbe9b050 |
|
01-Nov-2007 |
fbernon <fbernon> |
sockets.h, sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c, tcp.h, tcp_out.c: Integrate "patch #6250 : MSG_MORE flag for send". MSG_MORE is used at socket api layer, NETCONN_MORE at netconn api layer, and TCP_WRITE_FLAG_MORE at raw api layer. This option enable to delayed TCP PUSH flag on multiple "write" calls. Note that previous "copy" parameter for "write" APIs is now called "apiflags".
|
#
7077d51f |
|
23-Oct-2007 |
fbernon <fbernon> |
api.h, api_lib.c, api_msg.c: Add macro API_EVENT in the same spirit than TCP_EVENT_xxx macros to get a code more readable. It could also help to remove some code (like we have talk in "patch #5919 : Create compile switch to remove select code"), but it could be done later.
|
#
2d3a6481 |
|
22-Oct-2007 |
goldsimon <goldsimon> |
Minor coding style fixes, added comment
|
#
e3cd1ac1 |
|
07-Sep-2007 |
fbernon <fbernon> |
Minor changes (but in lot of files): add #if/#endif for options where they could miss. #if LWIP_xxx if always put after #include "lwip/opt.h" (note this one indirectly include cc.h). Move others includes inside #if/#endif block.
|
#
62b4741b |
|
03-Sep-2007 |
fbernon <fbernon> |
Changes for "#20503 IGMP Improvement". Initialize igmp_mac_filter to NULL in netif_add (this field should be set in the netif's "init" function). Use the "imr_interface" field (for socket layer) and/or the "interface" field (for netconn layer), for join/leave operations. The igmp_join/leavegroup first parameter change from a netif to an ipaddr. This field could be a netif's ipaddr, or "any" (same meaning than ip_addr_isany).
|
#
54c1025e |
|
27-Aug-2007 |
fbernon <fbernon> |
First fix for "bug #20900 : Potential crash error problem with netconn_peer & netconn_addr". Introduce NETCONN_LISTEN netconn_state and remove obsolete ones (NETCONN_RECV & NETCONN_ACCEPT).
|
#
180e6d2c |
|
26-Aug-2007 |
marcbou <marcbou> |
Reset the callbacks and arg (conn) to NULL in do_close_internal(), because TCP callbacks in api_msg.c can under certain circumstances be called with an invalid conn pointer after the connection has been closed (and conn has been freed).
|
#
2be12287 |
|
16-Aug-2007 |
fbernon <fbernon> |
Minor changes (tabs, ident, coding style...)
|
#
d64b3f21 |
|
16-Aug-2007 |
marcbou <marcbou> |
Initialize newconn->state to NETCONN_NONE in accept_function; otherwise it was left to NETCONN_CLOSE and sent_tcp() could prematurely close the connection.
|
#
9152d667 |
|
09-Aug-2007 |
fbernon <fbernon> |
Comments Fix for Doxygen documentation
|
#
b8b04271 |
|
29-Jul-2007 |
fbernon <fbernon> |
Minor fix (warning, linker helper) signaled by Bill Florac
|
#
f4036e83 |
|
25-Jul-2007 |
goldsimon <goldsimon> |
Another fix for bug #20021: by not returning an error if tcp_output fails in tcp_close, the code in do_close_internal gets simpler (tcp_output is called again later from tcp timers).
|
#
a1d8335a |
|
24-Jul-2007 |
fbernon <fbernon> |
Fix do_delconn when used with LWIP_TCPIP_CORE_LOCKING=1 on "non-TCP" connections...
|
#
62c3de30 |
|
24-Jul-2007 |
goldsimon <goldsimon> |
Fix bug #20480: Check the pcb passed to tcp_listen() for the correct state (must be CLOSED).
|
#
6a452951 |
|
13-Jul-2007 |
fbernon <fbernon> |
api_msg.c: Fix bug #20318: api_msg "recv" callbacks don't call pbuf_free in all error cases.
|
#
a891854e |
|
13-Jul-2007 |
fbernon <fbernon> |
Fix bug #20315: possible memory leak problem if tcp_listen failed, because current code doesn't follow rawapi.txt documentation.
|
#
2a77b9fc |
|
03-Jul-2007 |
goldsimon <goldsimon> |
Bug in last version (fix to close problems): netconn thread might get active before calling its callback, so conn was already deallocated.
|
#
9a4a5b18 |
|
03-Jul-2007 |
goldsimon <goldsimon> |
Final fix for bug #20021 and some other problems when closing tcp netconns: removed conn->sem, less context switches when closing, both netconn_close and netconn_delete should safely close tcp connections.
|
#
bb9e9e54 |
|
22-Jun-2007 |
goldsimon <goldsimon> |
Changed the expression of LWIP_ERROR to the same as for LWIP_ASSERT
|
#
f49fc35f |
|
21-Jun-2007 |
goldsimon <goldsimon> |
Converted the length argument of netconn_write (and therefore also api_msg_msg.msg.w.len) from u16_t into int to be able to send a bigger buffer than 64K with one time (mainly used from lwip_send).
|
#
67795ad2 |
|
21-Jun-2007 |
goldsimon <goldsimon> |
Corrected do_write for LWIP_TCPIP_CORE_LOCKING=1
|
#
2aef8bad |
|
21-Jun-2007 |
goldsimon <goldsimon> |
Moved the nagle algorithm from netconn_write/do_write into a define (tcp_output_nagle) in tcp.h to provide it to raw api users, too.
|
#
9f05cabf |
|
21-Jun-2007 |
goldsimon <goldsimon> |
Fixed bug #20021: Moved sendbuf-processing in netconn_write from api_lib.c to api_msg.c to also prevent multiple context-changes on low memory or empty send-buffer.
|
#
261e92c5 |
|
17-Jun-2007 |
goldsimon <goldsimon> |
In accept_function, one LWIP_ERROR had a wrong expression (since it is inverted compared to LWIP_ASSERT...)
|
#
060cbe15 |
|
16-Jun-2007 |
goldsimon <goldsimon> |
Done some work on task #1549 (function documentation), added some LWIP_ERROR checks, don't call pcb_new() from do_bind() and do_connect() since a netconn without pcb can't exist any more (after the recent changes to netconn_new_*())
|
#
15e82084 |
|
13-Jun-2007 |
goldsimon <goldsimon> |
pcb_new sets conn->err if protocol is not implemented -> netconn_new_..() does not allocate a new connection for unsupported protocols.
|
#
d81841f5 |
|
10-Jun-2007 |
fbernon <fbernon> |
Minor fix (coding style)
|
#
95f4c023 |
|
09-Jun-2007 |
goldsimon <goldsimon> |
Included switch LWIP_UDPLITE (enabled by default) to switch off UDP-Lite support if not needed (reduces udp.c code size)
|
#
090aaefb |
|
08-Jun-2007 |
fbernon <fbernon> |
Add LWIP_TCPIP_CORE_LOCKING option (0 as default value) to experiment "locking" as feature to communicate with tcpip_thread for sequential API (netconn & socket layers). Add a alternative code for lwip_sendto to how the code can be optimized with such feature....
|
#
953d783a |
|
23-May-2007 |
fbernon <fbernon> |
api.h, api_lib.c, api_msg.c, sockets.c: group the different NETCONN_UDPxxx code in only one part...
|
#
499f4689 |
|
22-May-2007 |
fbernon <fbernon> |
api.h, api_lib.c, api_msg.h, api_msg.c: change the struct api_msg_msg to see which parameters are used by which do_xxx function, and to avoid "misusing" parameters (patch #5938).
|
#
2106f491 |
|
22-May-2007 |
fbernon <fbernon> |
Minors fix (spaces, comments, unused variable)
|
#
81ac03a2 |
|
22-May-2007 |
goldsimon <goldsimon> |
Included patch #5938: changed raw_pcb.protocol from u16_t to u8_t since for IPv4 and IPv6, proto is only 8 bits wide. This affects the api, as there, the protocol was u16_t, too.
|
#
613644bf |
|
21-May-2007 |
goldsimon <goldsimon> |
Re-included unneeded cases in do_disconnect() and do_send() to prevent warnings.
|
#
7f5d6bc9 |
|
19-May-2007 |
fbernon <fbernon> |
api_msg.c: Fix some errors forwarding (https://savannah.nongnu.org/task/?6880)
|
#
d5e37309 |
|
19-May-2007 |
fbernon <fbernon> |
Minor Fix (unsed code, spaces, idents..)
|
#
8fa3b680 |
|
18-May-2007 |
goldsimon <goldsimon> |
Added #if !NO_SYS to most of the api files since they only work with a sys layer (makes it easier for port projects).
|
#
2740a811 |
|
16-May-2007 |
goldsimon <goldsimon> |
If a udp_pcb has a local_ip set, check if it is the same as the one of the netif used for sending to prevent sending from old addresses after a netif address gets changed (partly fixes bug #3168).
|
#
9cf1390d |
|
11-May-2007 |
fbernon <fbernon> |
sockets.c, api_lib.c, api_msg.h, api_msg.c, netifapi.h, netifapi.c, tcpip.c: Include a function pointer instead of a table index in the message to reduce footprint. Disable some part of lwip_send and lwip_sendto if some options are not set (LWIP_TCP, LWIP_UDP, LWIP_RAW).
|
#
5a12aeb4 |
|
04-May-2007 |
fbernon <fbernon> |
sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c: Fix bug #19162 "lwip_sento: a possible to corrupt remote addr/port connection state". Reduce problems "not enought memory" with netbuf (if we receive lot of datagrams). Improve lwip_sendto (only one exchange between sockets api and api_msg which run in tcpip_thread context). Add netconn_sento function. WARNING, if you directly access to "fromaddr" & "fromport" field from netbuf struct, these fields are now renamed "addr" & "port".
|
#
787eecbf |
|
05-Apr-2007 |
fbernon <fbernon> |
Fix mistakes in netconn's error field checking.
|
#
5f1aac14 |
|
05-Apr-2007 |
fbernon <fbernon> |
api_msg.c: Fix bug #16830: "err_tcp() posts to connection mailbox when no pend on the mailbox is active". Now, the post is only done during a connect, and do_send, do_write and do_join_leave_group don't do anything if a previous error was signaled.
|
#
f6bdd2ca |
|
04-Apr-2007 |
goldsimon <goldsimon> |
Introduced #define LWIP_UNUSED_ARG(x) use this for and architecture-independent form to tell the compiler you intentionally are not using this variable. Can be overriden in cc.h.
|
#
f1412f5e |
|
30-Mar-2007 |
fbernon <fbernon> |
api_msg.c: add a "pcb_new" helper function to avoid redundant code, and to add missing pcb allocations checking (in do_bind, and for each raw_new). Fix style.
|
#
9ec08fa7 |
|
28-Mar-2007 |
fbernon <fbernon> |
Missing recv_timeout initialize in accept_function. Minor style fix (indent, mbox checking...)
|
#
544e469e |
|
22-Mar-2007 |
fbernon <fbernon> |
api_msg.h, api_msg.c: Remove obsolete API_MSG_ACCEPT and do_accept (never used).
|
#
3eb38d76 |
|
21-Mar-2007 |
fbernon <fbernon> |
api_lib.c, api_msg.c, tcpip.c: integrate sys_mbox_fetch(conn->mbox, NULL) calls from api_lib.c to tcpip.c's tcpip_apimsg(). Now, use a local variable and not a dynamic one from memp to send tcpip_msg to tcpip_thread in a synchrone call. Free tcpip_msg from tcpip_apimsg is not done in tcpip_thread. This give a faster and more reliable communication between api_lib and tcpip.
|
#
bb34d8cf |
|
21-Mar-2007 |
fbernon <fbernon> |
api_msg.c, igmp.c, igmp.h: Fix C++ style comments
|
#
b035a619 |
|
19-Mar-2007 |
fbernon <fbernon> |
Add return types to tcpip_apimsg() and api_msg_post() to check ERR_MEM problems (api_lib.c can be change now).
|
#
a24a170b |
|
11-Mar-2007 |
fbernon <fbernon> |
New configuration option LWIP_IGMP to enable IGMP processing. Based on only one filter per all network interfaces. Declare a new function in netif to enable to control the MAC filter (to reduce lwIP traffic processing). Mace Gael for the upper layers, Steve Reynolds for lower ones...
|
#
1ffd0498 |
|
04-Mar-2007 |
fbernon <fbernon> |
api_msg.c: Remove some compiler warnings : parameter "pcb" was never referenced.
|
#
729da3c8 |
|
10-Oct-2006 |
christiaans <christiaans> |
Fixed Nagle algorithm as reported by Bob Grice.
|
#
a82e02ef |
|
07-Aug-2006 |
christiaans <christiaans> |
Partial fix for bug #15926, flushing TCP output in do_close().
|
#
63140ca7 |
|
27-Jun-2006 |
christiaans <christiaans> |
Applied patch for cold case bug #11135.
|
#
1f016340 |
|
14-Jun-2006 |
christiaans <christiaans> |
Applied patch #5146 to handle allocation failures in accept() by Kevin Lawson.
|
#
6f066fca |
|
21-Jul-2004 |
softins <softins> |
Changed recv_raw() from int to u8_t, to match prototype of raw_recv() in raw.h and so avoid compiler error.
|
#
e1c4bfad |
|
06-Feb-2004 |
likewise <likewise> |
Merged from DEVEL, except for the API change in etharp.c.
|
#
e4a6d199 |
|
14-Nov-2003 |
likewise <likewise> |
Merged from DEVEL into main tree.
|
#
351e590e |
|
27-Jun-2003 |
marcbou <marcbou> |
Merged from DEVEL.
|
#
80145519 |
|
10-Jun-2003 |
kieranm <kieranm> |
Changed DEBUGF to LWIP_DEBUGF
|
#
df99ce9d |
|
09-Jun-2003 |
likewise <likewise> |
Replaced all tabs with two spaces (regardless of indentation is correct).
|
#
03bc7c86 |
|
01-May-2003 |
likewise <likewise> |
Major stylo search/replace for "One space between keyword and opening bracket."
|
#
01a53d95 |
|
31-Mar-2003 |
kieranm <kieranm> |
Fixed bug in do_delcon (set tcp_arg to NULL)
|
#
859f06a9 |
|
21-Mar-2003 |
jani <jani> |
if LWIP_TCP is 0 do not link in TCP code.putting ugly ifdefs in api and core :(.Also only udp_init if LWIP_UDP is on
|
#
18df3961 |
|
21-Feb-2003 |
jani <jani> |
byte-order handling functions are in inet.c now and the uperrcase counterparts are gone. opt.h has all the configurable items debug does not need to be directly included.
|
#
7b3e158c |
|
11-Feb-2003 |
davidhaas <davidhaas> |
sys_thread_new() now returns the thread (request from Marc Boucher). Removed some unused .h files in coldfire port. Support LWIP_DIAG and LWIP_ASSERT in coldfire (sort of). Fix to last api fix to make sure select() is triggered, even when there has been a FIN. Allow build of unixsim from cygwin by specifying "make ARCH=cygwin" or from linux by specifying "make ARCH=linux".
|
#
848dea20 |
|
11-Feb-2003 |
jani <jani> |
Only access non-NULL pbufs on some paths where they can be NULL in newly introduced callback code
|
#
dd2fa15e |
|
06-Feb-2003 |
davidhaas <davidhaas> |
Add the following features and bugfixes: Added select() functionality to sockets library. Support for errno in sockets library. Byte ordering fixes. basic lwip_ioctl(), FIONREAD, get/setsockopt() etc. support - added additional argument to netif_add to pass state pointer so that the if_init function has access to context information before the interface is added, without accessing globals. - added netif_remove() - to conserve cpu load the tcpip_tcp_timer should only be active when tcbs that need it exist. - pass length of available data to callbacks for NETCONN_EVT_RCV events - added tcpip_link_input(), a hack to allow processing of PPP packets in tcpip_thread() context. This saves threads and context switches. - renamed incompatible ASSERT() macro to LWIP_ASSERT() to avoid name collision. - changed a bunch of %d's to %u's in format strings for unsigned values. - added ip_frag to lwip_stats. - changed IP_REASS_MAXAGE and IP_REASS_TMO defaults to more realistic values. - added sys_timeout_remove() function to cancel timeouts (needed by PPP amongst other things). - tolerate NULL returns from sys_arch_timeouts() since some threads might not need to use or have timeouts. - added sys_sem_wait_timeout() - moved mem_malloc() function to end of mem.c to work around tasking compiler bug. - automatically bind to local tcp port if 0. - allow customization of port ranges for automatic local bindings. - corrected various typos, spelling errors, etc.. Thanks to Marc Boucher for many of these changes.
|
#
6d0a8a85 |
|
24-Jan-2003 |
jani <jani> |
Fix locking for disconnect operation (use post and fetch on the connection's mbox in the two threads like other operations).Make netconn_peer take a pointer to addr instead of pointer to pointer to addr.Addr is a 4 byte struct an IP address so use structure assignment not just pointer assignment when saving the peer.This way the address is really saved :fixes bug #1897
|
#
46c575c0 |
|
22-Jan-2003 |
jani <jani> |
Fix udp_bind to allow rebind for same socket (yesterday's commit broke that) and introduce connection info for UDP pcbs.New function netconn_disconnect, do_disconnect for deatching UDP from a remote addres.Fix #2240
|
#
16434f0d |
|
21-Jan-2003 |
jani <jani> |
Don't allow multiple binds to the same UDP port/address pair.Closes bug #1896
|
#
cc4df710 |
|
08-Jan-2003 |
likewise <likewise> |
Updated lwIP module copyright years to include 2003. Committers must check theirs.
|
#
f975754a |
|
13-Nov-2002 |
kieranm <kieranm> |
Initialize err in do_close to prevent compiler warning.
|
#
f06e9550 |
|
18-Oct-2002 |
likewise <likewise> |
Initial revision
|