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 |
|
fbernon
|
cf998b7bf8
|
Minor fix (remove warning)
|
2007-10-10 08:13:58 +00:00 |
|
goldsimon
|
199648ff37
|
Changed initialization: many init functions are not needed any more since we now rely on the compiler initializing global and static variables to zero!
|
2007-10-09 19:59:56 +00:00 |
|
goldsimon
|
b1a4b00091
|
Preprocessor statements have to start at the beginning of a line for old compilers!
|
2007-10-09 19:30:17 +00:00 |
|
goldsimon
|
c1c9983cfe
|
Removed <warning: potential uninitialized reference to
"buf" in function "lwip_recvfrom">
|
2007-10-09 19:29:54 +00:00 |
|
fbernon
|
87e16a8f47
|
sockets.c, api.h, api_lib.c: First step to fix "bug #20900 : Potential crash error problem with netconn_peer & netconn_addr". VERY IMPORTANT: this change cause an API breakage for netconn_peer, since a parameter type change. Any compiler should cause an error without any changes in yours netconn_peer calls (so, it can't be a "silent change"). It also reduce a little bit the footprint for socket layer (lwip_getpeername & lwip_getsockname use now a common lwip_getaddrname function since netconn_peer & netconn_addr have the same parameters).
|
2007-10-07 17:26:54 +00:00 |
|
goldsimon
|
cb71d6d393
|
Moved ethernet_input from tcpip.c to etharp.c so all netifs (or ports) can use it.
|
2007-10-05 14:00:48 +00:00 |
|
fbernon
|
79c00be516
|
netifapi.h, netifapi.c: add function netifapi_netif_set_default. Change the common function to reduce a little bit the footprint (for all functions using only the "netif" parameter).
|
2007-10-05 13:34:48 +00:00 |
|
fbernon
|
949efb414a
|
netifapi.h, netifapi.c: add functions netifapi_netif_set_up, netifapi_netif_set_down, netifapi_autoip_start and netifapi_autoip_stop. Use a common function to reduce a little bit the footprint (for all functions using only the "netif" parameter).
|
2007-10-03 16:54:27 +00:00 |
|
fbernon
|
2bdd916b06
|
udp.h, udp.c, sockets.c: Changes for "#20503 IGMP Improvement". Add IP_MULTICAST_IF option in socket API, and a new field "multicast_ip" in "struct udp_pcb" (for netconn and raw API users), only if LWIP_IGMP=1. Add getsockopt processing for IP_MULTICAST_TTL and IP_MULTICAST_IF.
|
2007-09-15 15:19:41 +00:00 |
|
fbernon
|
95f2d48ac4
|
Avoid to lost previous error codes in sockets.c and api_lib.c.
|
2007-09-13 15:03:42 +00:00 |
|
fbernon
|
c265fa3331
|
Add missing #if/#endif to fix build problems with:
#define NO_SYS 0
#define LWIP_SOCKET 0
#define LWIP_NETCONN 0
|
2007-09-12 09:19:43 +00:00 |
|
fbernon
|
1c6e31173d
|
Add missing include files.
|
2007-09-09 22:34:55 +00:00 |
|
fbernon
|
8205737fdb
|
sockets.c, ip.h, api.h, tcp.h: declare a "struct ip_pcb" which only contains IP_PCB. Add in the netconn's "pcb" union a "struct ip_pcb *ip;" (no size change). Use this new field to access to common pcb fields (ttl, tos, so_options, etc...). Enable to access to these fields with LWIP_TCP=0.
|
2007-09-07 23:47:02 +00:00 |
|
fbernon
|
e3cd1ac1f9
|
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.
|
2007-09-07 23:01:59 +00:00 |
|
fbernon
|
90a3f88c08
|
Change parameters list for sys_thread_new (see "task #7252 : Create sys_thread_new_ex()"). Two new parameters have to be provided: a task name, and a task stack size. For this one, since it's platform dependant, you could define the best one for you in your lwipopts.h. For port maintainers, you can just add these new parameters in your sys_arch.c file, and but it's not mandatory, use them in your OS specific functions.
|
2007-09-05 16:14:28 +00:00 |
|