fbernon
|
e07d71f5e8
|
sockets.c: Fix bug #22435 "lwip_recvfrom with TCP break;". Using (lwip_)recvfrom with valid "from" and "fromlen" parameters, on a TCP connection caused a crash. Note that using (lwip_)recvfrom like this is a bit slow and that using (lwip)getpeername is the good lwip way to do it (so, using recv is faster on tcp sockets).
|
2008-03-13 20:03:57 +00:00 |
|
fbernon
|
afcf49ad3a
|
api_msg.c: minor change, fix warning.
|
2008-03-13 19:57:11 +00:00 |
|
fbernon
|
a2f1892480
|
api_msg.c: fix the netbuf::addr field to point on the ip_src on the pbuf's copy (about bug#22530).
|
2008-03-12 12:58:07 +00:00 |
|
fbernon
|
552106e2a4
|
api_msg.c: Fix bug #22530 "api_msg.c's recv_raw() does not consume data".
|
2008-03-12 10:55:54 +00:00 |
|
fbernon
|
7b11fb75d9
|
Minor changes: replace directy call to memcpy by MEMCPY macro.
|
2008-01-26 16:11:39 +00:00 |
|
fbernon
|
7518acf634
|
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).
|
2008-01-14 21:07:08 +00:00 |
|
fbernon
|
55bcc20deb
|
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".
|
2008-01-12 11:52:21 +00:00 |
|
fbernon
|
9906e4c984
|
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".
|
2008-01-11 23:50:10 +00:00 |
|
fbernon
|
4e40fee1db
|
tcpip.h, tcpip.c: add tcpip_callback_with_block function for the task #7490 "Add return value to sys_mbox_post". tcpip_callback is always defined as "blocking" ("block" parameter = 1).
|
2008-01-10 21:47:52 +00:00 |
|
fbernon
|
bceff76c70
|
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".
|
2008-01-10 21:34:25 +00:00 |
|
goldsimon
|
a41f113b8f
|
Added function netconn_free(), which deallocates all mboxes and frees the netconn (to be used from different places) - the PCB is not freed!
|
2008-01-06 14:28:04 +00:00 |
|
fbernon
|
5941b3c86e
|
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.
|
2008-01-05 21:10:32 +00:00 |
|
fbernon
|
9c4daa312d
|
Minor changes in lwip folder: fix some warnings, coding style, and rename "internal" netconn_alloc function.
|
2008-01-04 23:07:44 +00:00 |
|
fbernon
|
32005617b9
|
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.
|
2008-01-04 22:18:27 +00:00 |
|
goldsimon
|
1ed34774c8
|
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.
|
2007-12-21 16:47:56 +00:00 |
|
goldsimon
|
48e62e25e9
|
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.
|
2007-12-21 14:59:10 +00:00 |
|
goldsimon
|
ba4254231e
|
Corrected assert when netconn_new_* fails
|
2007-12-16 16:15:08 +00:00 |
|
fbernon
|
2b54da5070
|
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".
|
2007-12-13 23:06:49 +00:00 |
|
fbernon
|
1dd1064051
|
Fix err_stderr[] table with new err.h defines.
|
2007-12-12 08:25:23 +00:00 |
|
fbernon
|
ac10470643
|
netdb.c: add a LWIP_DNS_API_HOSTENT_STORAGE option to decide to use a static set of variables (=0) or a local one (=1). In this last case, your port should provide a function "struct hostent* sys_thread_hostent( struct hostent* h)" which have to do a copy of "h" and return a pointer ont the "per-thread" copy.
|
2007-12-05 23:00:02 +00:00 |
|
goldsimon
|
113a52d091
|
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.
|
2007-12-02 14:53:50 +00:00 |
|
goldsimon
|
6746beb2a3
|
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.
|
2007-11-30 12:54:10 +00:00 |
|
goldsimon
|
03777ccb21
|
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.
|
2007-11-27 21:15:44 +00:00 |
|
goldsimon
|
4dcfdac2f5
|
initialize netconn->socket to -1 instead of 0 since 0 is a valid socket!
|
2007-11-25 16:13:56 +00:00 |
|
goldsimon
|
9343b767f8
|
lock event_callback against lwip_accept for data that arrives right away after an accept (before lwip_accept has processed the new conn)
|
2007-11-25 16:04:38 +00:00 |
|
fbernon
|
77d9233427
|
Minor change (redundant code)
|
2007-11-25 15:32:29 +00:00 |
|
goldsimon
|
f63a3c1f62
|
Added an explaining comment for the line 'nsock->rcvevent += -1 - newconn->socket;' in lwip_accept
|
2007-11-25 14:33:23 +00:00 |
|
goldsimon
|
e1f49d990b
|
Fix some warnings discovered by compiling the unixsim under cygwin (gcc pedantic)
|
2007-11-25 13:57:05 +00:00 |
|
goldsimon
|
c7a0f32c98
|
Back to old alloc_socket(), lwip_accept had a bug in last revision
|
2007-11-25 10:04:04 +00:00 |
|
fbernon
|
3d9c76a69c
|
Minor change (doxygen tags)
|
2007-11-24 22:13:25 +00:00 |
|
goldsimon
|
7797ada1f5
|
Added documentation
|
2007-11-24 21:19:47 +00:00 |
|
goldsimon
|
8cfd923aaa
|
Added some documentation (mainly what is unimplemented in contrast to 'std-BSD'), alloc_socket returns the sock pointer directly (for speedup)
|
2007-11-24 17:39:53 +00:00 |
|
goldsimon
|
c86b446d4c
|
Moved lwip_gethostbyname from sockets.c to the new file netdb.c; included lwip_getaddrinfo.
|
2007-11-24 16:12:02 +00:00 |
|
goldsimon
|
dc515c7ad3
|
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'
|
2007-11-21 17:59:03 +00:00 |
|
goldsimon
|
e7483f2e64
|
Added return value comments to netconn_gethostbyname
|
2007-11-20 21:23:24 +00:00 |
|
goldsimon
|
9a524dac86
|
Adopted lwip_gethostbyname and lwip_gethostbyname_r to the new return values of dns_gethostbyname/netconn_gethostbyname
|
2007-11-20 21:22:45 +00:00 |
|
fbernon
|
f58515b51e
|
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.
|
2007-11-19 22:42:01 +00:00 |
|
goldsimon
|
9dd4ad6c1f
|
Added thread-safe function gethostbyname_r (as in glibc)
|
2007-11-18 16:36:34 +00:00 |
|
fbernon
|
edc46281a4
|
Minor changes on DNS client.
|
2007-11-18 14:19:27 +00:00 |
|
goldsimon
|
e6ec23d7cc
|
Added sequential (socket API) function gethostbyname and the struct hostent it uses
|
2007-11-16 17:29:30 +00:00 |
|
goldsimon
|
e2cd201f6a
|
Added sequential dns resolver function for netconn api (netconn_gethostbyname)
|
2007-11-16 17:16:17 +00:00 |
|
fbernon
|
0c0e8d6544
|
opt.h, init.c, tcpip.c, dhcp.c, dns.h, dns.c: add DNS client for simple name requests with RAW api interface. Initialization is done in lwip_init() with build time options. DNS timer is added in tcpip_thread context. DHCP can set DNS server ip addresses when options are received. You need to set LWIP_DNS=1 in your lwipopts.h file (LWIP_DNS=0 in opt.h). DNS_DEBUG can be set to get some traces with LWIP_DEBUGF. Sanity check have been added. There is a "todo" list with points to improve.
|
2007-11-14 23:27:13 +00:00 |
|
fbernon
|
a4d14722f3
|
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.
|
2007-11-12 22:39:24 +00:00 |
|
goldsimon
|
f3dbd986cb
|
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.
|
2007-11-06 20:31:28 +00:00 |
|
fbernon
|
ecce865cfe
|
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).
|
2007-11-02 10:37:08 +00:00 |
|
fbernon
|
cbe9b050a9
|
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".
|
2007-11-01 17:37:50 +00:00 |
|
fbernon
|
7077d51f1f
|
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.
|
2007-10-24 12:09:18 +00:00 |
|
goldsimon
|
270c7c1110
|
Removed check for conn->err for functions whose counterparts in api_msg.c also do the check (1. remove redundant code, 2. check is better done in tcpip thread context)
|
2007-10-22 20:01:16 +00:00 |
|
goldsimon
|
2d3a64815f
|
Minor coding style fixes, added comment
|
2007-10-22 19:59:52 +00:00 |
|
fbernon
|
649d43c2c5
|
Minor change (define DHCP_COARSE_TIMER_MSECS - using DHCP_COARSE_TIMER_SECS - to use milliseconds like all others timers)
|
2007-10-15 21:31:42 +00:00 |
|