Commit Graph

  • 8d3d08e814 fix bug #21699 (segment leak in ooseq): add assert that all segment lists are empty in tcp_pcb_remove before setting pcb to CLOSED state; don't directly set CLOSED state from LAST_ACK in tcp_process goldsimon 2007-12-04 20:41:12 +00:00
  • 3f96a15fd4 Minor changes (tabs) fbernon 2007-12-03 21:44:51 +00:00
  • 22f51f953b Added short comment in file description about how to handle MEM_USE_POOLS / MEM_LIBC_MALLOC goldsimon 2007-12-03 18:01:28 +00:00
  • f3f7bd00e5 ip_input: check if a packet is for inp first before checking all other netifs on netif_list (speeds up packet receiving in most cases) goldsimon 2007-12-03 17:55:01 +00:00
  • a72e4a406f Minor changes: coding style (tabs, ident, etc...). fbernon 2007-12-02 23:58:11 +00:00
  • 2fe1254aae Minor changes: coding style (tabs, ident, etc...). fbernon 2007-12-02 23:38:45 +00:00
  • e4590b26fb Include a temporary sample of queue.h to fix build. fbernon 2007-12-02 23:33:58 +00:00
  • 325d6e7cfa Minor changes: coding style (tabs, ident, etc...). fbernon 2007-12-02 23:24:59 +00:00
  • 6bce832060 Minor changes: coding style (tabs, ident, etc...). fbernon 2007-12-02 22:56:19 +00:00
  • 37a5a87057 Minor changes: coding style (tabs, ident, etc...). fbernon 2007-12-02 22:35:55 +00:00
  • 865f6eb5f3 Changes for coding style (typo, use LINK_STATS_INC, tabs, ident, etc...). Be careful, even if this change is minor, there is lot of lines modified, so, an error is always possible (I hope there is no problems). fbernon 2007-12-02 20:38:02 +00:00
  • dde6ddfd7c process "localhost" name in dns_gethostbyname fbernon 2007-12-02 17:15:28 +00:00
  • 47d8d69b81 fix bug #21654: exclude definition of struct timeval from #ifndef FD_SET. If including <sys/time.h> for system-struct timeval, LWIP_TIMEVAL_PRIVATE now has to be set to 0 in lwipopts.h goldsimon 2007-12-02 15:24:02 +00:00
  • df1b7ea311 Minor fix: #include "lwip/api.h" was missing to compile cleanly goldsimon 2007-12-02 15:18:08 +00:00
  • 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. goldsimon 2007-12-02 14:53:50 +00:00
  • 081e4d9209 Minor change: use goto instead of redundant code to return on error in dhcp_rev(). goldsimon 2007-12-02 14:40:32 +00:00
  • e5a98b6a5b Minor changes: fix some problems with PPPoE include path, add small comments in slip.c (unusual octal values?) fbernon 2007-11-30 17:22:20 +00:00
  • 2942157ca4 Minor changes: dnsserver initialization with DNS_SERVER_ADDRESS in dns_init fbernon 2007-11-30 16:40:46 +00:00
  • 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. goldsimon 2007-11-30 12:54:10 +00:00
  • 92aa004b75 connect the UDP pcb to the DNS server (IPaddress and port) to receive faster (unconnected pcbs are very inefficient in udp_input) goldsimon 2007-11-30 12:46:30 +00:00
  • b28cd02149 task #7497: Sort lists (pcb, netif, ...) for faster access UDP: move a (connected) pcb selected for input to the front of the list of pcbs so that it is found faster next time. Same for RAW pcbs that have eaten a packet. goldsimon 2007-11-30 09:44:18 +00:00
  • cedd5c21e6 first attempt to fix bug #21655 (DHCP doesn't work reliably with multiple netifs): if LWIP_DHCP is enabled, UDP packets to DHCP_CLIENT_PORT are passed to netif->dhcp->pcb only (if that exists) and not to any other pcb for the same port (only solution to let UDP pcbs 'bind' to a netif instead of an IP address) goldsimon 2007-11-30 08:55:15 +00:00
  • b714cd5f4b First fix for bug #21664 "PPP code is broken". fbernon 2007-11-29 22:19:56 +00:00
  • 788892ee7c Minor coding style changes goldsimon 2007-11-28 21:44:17 +00:00
  • 1b07fecbf3 Introduced ETHARP_STATS goldsimon 2007-11-28 21:25:06 +00:00
  • 4a01122fb7 Use ICMP_STATS_INC instead of #if ICMP_STATS... goldsimon 2007-11-28 21:21:06 +00:00
  • 4211da00b3 Use IP_STATS_INC instead of #if IP_STATS... goldsimon 2007-11-28 21:18:37 +00:00
  • 7f3cff6e09 Use LINK_STATS_INC instead of #if LINK_STATS... goldsimon 2007-11-28 21:15:55 +00:00
  • 6e612e5def mem_malloc with MEM_USE_POOLS=1: if size > size of biggest pool and custom pools (in addition to the MEM_POOLs) were defined, the first custom pool was used instead of asserting goldsimon 2007-11-28 18:24:08 +00:00
  • a7718b2ef3 Minor change: remove unused #define jgrubb 2007-11-28 17:19:39 +00:00
  • 472407c719 Fix typo (MEMP_POOL_START/END to FIRST/LAST) jgrubb 2007-11-28 17:19:15 +00:00
  • f07c1cf874 fixed bug #21643 (udp_send/raw_send don't fail if netif is down) by letting ip_route only use netifs that are up. goldsimon 2007-11-28 06:48:50 +00:00
  • ce7c311ecf Add two more sanity checks on memory settings jgrubb 2007-11-28 00:11:05 +00:00
  • 499c63bd0a Fix macro ERR_IS_FATAL (else, no error is fatal). fbernon 2007-11-27 21:54:58 +00:00
  • 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. goldsimon 2007-11-27 21:15:44 +00:00
  • b4741332e0 Implemented new function udp_sendto_if which takes the netif to send as an argument (to be able to send on netifs that are down). goldsimon 2007-11-27 20:13:16 +00:00
  • 3874f5f5e8 Minor coding style changes goldsimon 2007-11-27 19:55:31 +00:00
  • 8c19f9a57e Fix to be able to build SNMP with LWIP_ARP=0. It's not a perfect solution, but I put some @todo points to review them later. fbernon 2007-11-27 19:53:47 +00:00
  • f57c2424cf Fixed bug #21582: pcb->acked accounting can be wrong when ACKs arrive out-of-order goldsimon 2007-11-26 19:08:39 +00:00
  • 181b68b01e Minor change (forgot last CRLF) fbernon 2007-11-26 10:24:36 +00:00
  • 93d5bed697 Minor change: add #if 0 / #endif in ethernetif.c skeleton to avoid false bug reports. fbernon 2007-11-26 10:23:40 +00:00
  • 5743b11925 Check state == CLOSED in tcp_bind and tcp_connect to prevent binding/connecting twice (using LWIP_ERROR: can be disabled) goldsimon 2007-11-25 18:37:34 +00:00
  • 4dcfdac2f5 initialize netconn->socket to -1 instead of 0 since 0 is a valid socket! goldsimon 2007-11-25 16:13:56 +00:00
  • 9343b767f8 lock event_callback against lwip_accept for data that arrives right away after an accept (before lwip_accept has processed the new conn) goldsimon 2007-11-25 16:04:38 +00:00
  • 77d9233427 Minor change (redundant code) fbernon 2007-11-25 15:32:29 +00:00
  • f63a3c1f62 Added an explaining comment for the line 'nsock->rcvevent += -1 - newconn->socket;' in lwip_accept goldsimon 2007-11-25 14:33:23 +00:00
  • 511cdfb951 Minor coding style changes, added some comments goldsimon 2007-11-25 14:23:59 +00:00
  • e1f49d990b Fix some warnings discovered by compiling the unixsim under cygwin (gcc pedantic) goldsimon 2007-11-25 13:57:05 +00:00
  • 1b208d0954 dhcp_unfold_reply() uses pbuf_copy_partial instead of its own copy algorithm; corrected some assert messages goldsimon 2007-11-25 11:51:44 +00:00
  • 4ac4d56b53 Added documentation / minor code layout changes goldsimon 2007-11-25 10:43:28 +00:00
  • c7a0f32c98 Back to old alloc_socket(), lwip_accept had a bug in last revision goldsimon 2007-11-25 10:04:04 +00:00
  • be0686d905 Added some more comments and function documentation goldsimon 2007-11-25 10:01:22 +00:00
  • 9940b049ec Minor changes (documentation). fbernon 2007-11-25 00:28:06 +00:00
  • 3d9c76a69c Minor change (doxygen tags) fbernon 2007-11-24 22:13:25 +00:00
  • 7797ada1f5 Added documentation goldsimon 2007-11-24 21:19:47 +00:00
  • 3fc883e8fb Added the wiki and a note about the mailing lists goldsimon 2007-11-24 19:49:05 +00:00
  • 8cfd923aaa Added some documentation (mainly what is unimplemented in contrast to 'std-BSD'), alloc_socket returns the sock pointer directly (for speedup) goldsimon 2007-11-24 17:39:53 +00:00
  • c86b446d4c Moved lwip_gethostbyname from sockets.c to the new file netdb.c; included lwip_getaddrinfo. goldsimon 2007-11-24 16:12:02 +00:00
  • 32a09370e1 tcpip.h was not compilable with both NO_SYS and LWIP_NETCONN set to 0 (include sys.h was missing) goldsimon 2007-11-24 14:50:26 +00:00
  • 32c6893081 Minor changes (typo and wrong defines names in sanity checks) fbernon 2007-11-22 10:17:16 +00:00
  • 95425552d7 Implemented calculating the effective send-mss based on the MTU of the netif used to send. Enabled by default. Disable by setting LWIP_CALCULATE_EFF_SEND_MSS to 0. This fixes bug #21535. goldsimon 2007-11-21 18:37:23 +00:00
  • 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' goldsimon 2007-11-21 17:59:03 +00:00
  • c31b405af6 Minor changes in DNS client. fbernon 2007-11-20 21:37:04 +00:00
  • e7483f2e64 Added return value comments to netconn_gethostbyname goldsimon 2007-11-20 21:23:24 +00:00
  • 9a524dac86 Adopted lwip_gethostbyname and lwip_gethostbyname_r to the new return values of dns_gethostbyname/netconn_gethostbyname goldsimon 2007-11-20 21:22:45 +00:00
  • b3c52f574a Added function documentation to dns.c, removed function documentation from dns.h (functions should be documented where they are implemented!), dns_table_entry doesn't have to be packed (slower, bigger code for most machines), converted dns_init to return void, dns_table is implicitly initialized to zero, dns_lookup can be static, dns_send returns correct error values, added some asserts, compacted dns_recv using some (ugly) gotos, compacted dns_gethostbyname by combining the same return value goldsimon 2007-11-20 20:28:01 +00:00
  • 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. fbernon 2007-11-19 22:42:01 +00:00
  • da4df1f414 Fix DNS client TTL processing. fbernon 2007-11-18 21:30:45 +00:00
  • 7f0640b040 Minor changes on DNS. fbernon 2007-11-18 21:04:53 +00:00
  • 8c0e6de00a fix DNS problem with pbuf chain. fbernon 2007-11-18 20:54:44 +00:00
  • 8ff1194b6a Changes on DNS client. Add multiples dns servers support. fbernon 2007-11-18 20:30:12 +00:00
  • 9dd4ad6c1f Added thread-safe function gethostbyname_r (as in glibc) goldsimon 2007-11-18 16:36:34 +00:00
  • 4e398e2aa9 Minor changes on DNS client. Coding style & add "response" checking fbernon 2007-11-18 15:51:34 +00:00
  • 92401faa72 Minor changes on DNS client. Note that "compressed answers are fixed". fbernon 2007-11-18 15:01:45 +00:00
  • edc46281a4 Minor changes on DNS client. fbernon 2007-11-18 14:19:27 +00:00
  • 6c8b3e3b58 Deleted old inet.c/inet6.c files goldsimon 2007-11-16 19:32:19 +00:00
  • 1faf0ab9e3 Moved inet files into ipv4/ipv6 directory; splitted inet.c/inet.h into inet and chksum part; changed includes in all lwIP files as appropriate goldsimon 2007-11-16 19:31:10 +00:00
  • e6ec23d7cc Added sequential (socket API) function gethostbyname and the struct hostent it uses goldsimon 2007-11-16 17:29:30 +00:00
  • e2cd201f6a Added sequential dns resolver function for netconn api (netconn_gethostbyname) goldsimon 2007-11-16 17:16:17 +00:00
  • 7e447c83fb Turned all hostname variables and parameters into (const char*) goldsimon 2007-11-16 17:08:03 +00:00
  • 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. fbernon 2007-11-14 23:27:13 +00:00
  • 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. fbernon 2007-11-12 22:39:24 +00:00
  • 8020ba2dc5 tcp_send_ctrl(): call tcp_enqueue with the new flag TCP_WRITE_FLAG_COPY instead of 1 goldsimon 2007-11-12 19:38:25 +00:00
  • 21bbc9a81a Fixed bug: assert fired when MEMP_ARP_QUEUE was empty (which can happen any time). Now the packet simply isn't enqueued when out of memory. goldsimon 2007-11-10 17:41:46 +00:00
  • bfe24b138d Patch #6215: added ifAdminStatus write support (if explicitly enabled by defining SNMP_SAFE_REQUESTS to 0); added code to check link status for ifOperStatus if LWIP_NETIF_LINK_CALLBACK is defined. goldsimon 2007-11-06 20:53:37 +00:00
  • 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. goldsimon 2007-11-06 20:31:28 +00:00
  • 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). fbernon 2007-11-02 10:37:08 +00:00
  • 4a6f60937a Minor change, add comment for "apiflags" parameters. fbernon 2007-11-01 19:38:01 +00:00
  • 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". fbernon 2007-11-01 17:37:50 +00:00
  • 2d5908f4de Fixed bug #21494: The send mss (pcb->mss) is set to 536 (or TCP_MSS if that is smaller) as long as no MSS option is received from the remote host. goldsimon 2007-11-01 16:53:43 +00:00
  • 298d5cf042 Fixed bug #21491: The MSS option sent (with SYN) is now based on TCP_MSS instead of pcb->mss (on passive open now effectively sending our configured TCP_MSS instead of the one received). goldsimon 2007-11-01 16:23:32 +00:00
  • 853765954e Fixed bug #21181: On active open, the initial congestion window was calculated based on the configured TCP_MSS, not on the MSS option received with SYN+ACK. goldsimon 2007-11-01 15:51:43 +00:00
  • 7a99d73092 Added some explaining comments. goldsimon 2007-10-28 17:43:21 +00:00
  • 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. fbernon 2007-10-24 12:09:18 +00:00
  • 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) goldsimon 2007-10-22 20:01:16 +00:00
  • 2d3a64815f Minor coding style fixes, added comment goldsimon 2007-10-22 19:59:52 +00:00
  • 86dc53b72a Minor change (coding style, #if/#endif to include icmp.h is not necessary) fbernon 2007-10-16 07:11:35 +00:00
  • 649d43c2c5 Minor change (define DHCP_COARSE_TIMER_MSECS - using DHCP_COARSE_TIMER_SECS - to use milliseconds like all others timers) fbernon 2007-10-15 21:31:42 +00:00
  • 6d9b44e243 IP_REASSEMBLY: send ICMP time exceeded when discarding datagrams for which the first fragment was received; try to keep the header of the first (octet 0) fragment; combined code to make it smaller; fixed bug in timer: when freeing packets, counter was not updated correctly goldsimon 2007-10-15 19:33:16 +00:00
  • e864ba6c91 IP_REASSEMBLY: Changed 'packet' to 'datagram' to match the names used in the RFCs goldsimon 2007-10-15 19:28:09 +00:00