Commit Graph

  • 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
  • 0686380302 Removed bug on memory failure introduced 3 months ago in rev 1.34 (input pbuf was freed on puf_alloc failure) goldsimon 2007-10-15 19:18:02 +00:00
  • 282e9ead17 Minor change (sanity check for MEMP_NUM_REASSDATA only done if IP_REASSEMBLY=1) fbernon 2007-10-12 06:50:16 +00:00
  • 1f08a5e5f5 Added code to free the oldest packets if the IP_REASS_MAX_PBUFS limit is reached or MEMP_REASSDATA is empty. goldsimon 2007-10-11 19:49:06 +00:00
  • c41508cc8d Added check that MEMP_NUM_REASSDATA is bigger than IP_REASS_MAX_PBUFS (because each MEMP_NUM_REASSDATA has one pbuf at least!) goldsimon 2007-10-11 19:26:04 +00:00
  • 187df4464e Added description for MEMP_NUM_REASSDATA and changed the default value to 5. goldsimon 2007-10-11 19:24:59 +00:00
  • c94d640e2a Gave the parameters of pbuf_cat() and pbuf_chain() better names to make the use more clear. goldsimon 2007-10-11 19:24:23 +00:00
  • cf998b7bf8 Minor fix (remove warning) fbernon 2007-10-10 08:13:58 +00:00
  • 1a104762ea Update documentation for the SNMP uptime timestamp. fbernon 2007-10-10 08:12:19 +00:00
  • 2a5209bb5a Update documentation for the SNMP uptime timestamp. fbernon 2007-10-10 08:05:34 +00:00
  • ebd167b658 Add sanity checking on TCP_MAXRTX and TCP_SYNMAXRTX fbernon 2007-10-09 20:48:28 +00:00
  • c13ec867c9 Forgot two explicit initializations... goldsimon 2007-10-09 20:00:55 +00:00
  • 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! goldsimon 2007-10-09 19:59:56 +00:00
  • 536f2e42d2 Fixed UDPLite receive: checksum was calculated wrong if checksum coverage != tot_len goldsimon 2007-10-09 19:43:29 +00:00
  • 0f9799d7e0 Added todo: free the oldest entry when the MEMP_REASSDATA pool is empty or the IP_REASS_MAX_PBUFS limit is reached goldsimon 2007-10-09 19:31:54 +00:00
  • b1a4b00091 Preprocessor statements have to start at the beginning of a line for old compilers! goldsimon 2007-10-09 19:30:17 +00:00
  • c1c9983cfe Removed <warning: potential uninitialized reference to "buf" in function "lwip_recvfrom"> goldsimon 2007-10-09 19:29:54 +00:00
  • 8980c3f74e Typo in chain_frag_into_packet_and_validate (but obviously worked anyway...) goldsimon 2007-10-09 06:13:12 +00:00
  • 418f57dd6a Removed type conversion warning in debug statement. goldsimon 2007-10-08 19:06:58 +00:00
  • 9ef005454a lfree was not updated in mem_realloc! goldsimon 2007-10-08 18:39:44 +00:00
  • afad35a8ac Minor change (add a default value to tune for MEMP_NUM_REASSDATA in opt.h) fbernon 2007-10-08 07:39:24 +00:00
  • 2ca113a218 Fixed UDPLite SENDING: Checksum was always generated too short and also was generated wrong if checksum coverage != tot_len. goldsimon 2007-10-07 20:19:23 +00:00
  • 911ee4d9f9 Minor change (coding style) fbernon 2007-10-07 17:41:21 +00:00
  • 9804b25acc Fix CHANGELOG entry fbernon 2007-10-07 17:30:50 +00:00
  • 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). fbernon 2007-10-07 17:26:54 +00:00
  • e561c7b49d Added check for overlapping or duplicate fragments. ip_reass_init() is not needed any more (the check is done in chain_frag_into_packet_and_validate()). goldsimon 2007-10-07 11:52:32 +00:00
  • 8cd65eaf46 Check for TCP_SND_QUEUELEN overflow. goldsimon 2007-10-07 11:27:45 +00:00
  • b7ef6077df Changed IP_REASSEMBLY to enqueue the received pbufs so that multiple packets can be reassembled simultaneously and no static reassembly buffer is needed. goldsimon 2007-10-06 15:24:43 +00:00
  • cb71d6d393 Moved ethernet_input from tcpip.c to etharp.c so all netifs (or ports) can use it. goldsimon 2007-10-05 14:00:48 +00:00
  • 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). fbernon 2007-10-05 13:34:48 +00:00
  • 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). fbernon 2007-10-03 16:54:27 +00:00
  • 5dd1256769 Small tweak: clarify use of link speed in comments for NETIF_INIT_SNMP. jifl 2007-10-03 09:10:28 +00:00
  • c52ef1d2b3 Minor changes for debug (indent, and set LWIP_DBG_TYPES_ON to LWIP_DBG_ON to have all traces selected display per default, in the same spirit that LWIP_DBG_MIN_LEVEL is set per default to LWIP_DBG_LEVEL_OFF) fbernon 2007-09-22 11:16:07 +00:00
  • c7e91d3302 Minor change, sys_prot_t is undefined is NO_SYS=1 fbernon 2007-09-21 21:23:39 +00:00
  • c1bbcf5ed3 Add further checking that MEMP_NUM_SYS_TIMEOUT is high enough jifl 2007-09-21 14:39:03 +00:00
  • 87c5a61d07 Minor changes by Andrew Dennison: add sanity check, improve debug messages for memp, fix some warnings... fbernon 2007-09-21 12:36:35 +00:00
  • 0aa3d89134 Fixed bug #21080 (tcp_bind without check pcbs in TIME_WAIT state) by checking tcp_tw_pcbs also goldsimon 2007-09-20 18:27:50 +00:00
  • 4ffafdeb86 Fixed bug #21077: inaccuracy in calculation of lwip_stat.mem.used kleshov 2007-09-19 17:56:39 +00:00
  • 0bf32b957d Fixed bug #21107 (didn't reset IP TTL in ICMP echo replies) goldsimon 2007-09-19 06:12:34 +00:00
  • 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. fbernon 2007-09-15 15:19:41 +00:00
  • 93c487fb75 Fix bug #21077: inaccuracy in calculation of lwip_stat.mem.used kleshov 2007-09-15 11:34:06 +00:00
  • 036d1aae50 Fix "bug #21075 : pbuf_realloc() use with PBUF_RAM and MEM_LIBC_MALLOC fails" signaled by Bill Florac fbernon 2007-09-15 06:53:16 +00:00
  • f600a868f5 Indentation fix kleshov 2007-09-13 17:46:13 +00:00
  • 95f2d48ac4 Avoid to lost previous error codes in sockets.c and api_lib.c. fbernon 2007-09-13 15:03:42 +00:00
  • 8c847a85ae Add a sanity check for PPP, and a #if !NO_SYS/#endif for slipif_loop fbernon 2007-09-12 19:16:44 +00:00
  • c265fa3331 Add missing #if/#endif to fix build problems with: fbernon 2007-09-12 09:19:43 +00:00
  • 6aab0332e8 Add missing #if/#endif to fix build problems fbernon 2007-09-12 09:02:26 +00:00
  • 47ae677652 enable to remove SNMP timer (which consumne several cycles even when it's not necessary). snmp_agent.txt tell to call snmp_inc_sysuptime() each 10ms (but, it's intrusive if you use sys_timeout feature). Now, you can decide to call snmp_add_sysuptime(100) each 1000ms (which is bigger "step", but call to a lower frequency). Or, you can decide to not call snmp_inc_sysuptime() or snmp_add_sysuptime(), and to define the SNMP_GET_SYSUPTIME(sysuptime) macro. This one is undefined by default in mib2.c. SNMP_GET_SYSUPTIME is called inside snmp_get_sysuptime(u32_t *value), and enable to change "sysuptime" value only when it's queried (any direct call to "sysuptime" is changed by a call to snmp_get_sysuptime). fbernon 2007-09-10 18:50:44 +00:00
  • 54e1b79ac5 Make pbuf_alloc a bit easier to read (change parameter name from "l" to "layer" and use LWIP_MIN instead of ternary operatory) jgrubb 2007-09-10 18:25:15 +00:00
  • 6afe1f3597 DHCP_DOES_ARP_CHECK is set to 1 by default -- the compile-time checks fail if DHCP is off... So this patch sets the default to be 1 only if both DHCP and ARP are set. jgrubb 2007-09-10 18:12:13 +00:00
  • 4466260480 Remove CVS keyword fbernon 2007-09-10 07:56:16 +00:00
  • 1c6e31173d Add missing include files. fbernon 2007-09-09 22:34:55 +00:00
  • 939180c1a1 igmp.h, igmp.c, netif.h, netif.c, ip.c: To enable to have interfaces with IGMP, and others without it, there is a new NETIF_FLAG_IGMP flag to set in netif->flags if you want IGMP on an interface. igmp_stop() is now called inside netif_remove(). igmp_report_groups() is now called inside netif_set_link_up() (need to have LWIP_NETIF_LINK_CALLBACK=1) to resend reports once the link is up (avoid to wait the next query message to receive the matching multicast streams). fbernon 2007-09-09 20:46:33 +00:00
  • 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. fbernon 2007-09-07 23:47:02 +00:00
  • 75d4c9b446 Add some deprecated options from "task #7142 : Sanity check user-configurable values". fbernon 2007-09-07 23:28:02 +00:00
  • 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. fbernon 2007-09-07 23:01:59 +00:00
  • 027a70a415 Last sanity checking centralization for "task #7142 : Sanity check user-configurable values". fbernon 2007-09-07 17:59:30 +00:00
  • 3dfe5f993b DON'T WORRY, it's just a test on CVS keywords (I will remove) fbernon 2007-09-07 12:32:40 +00:00
  • f5991dd9b6 DON'T WORRY, it's just a test on CVS keywords (I will remove) fbernon 2007-09-07 12:31:50 +00:00
  • 58c5d008d5 DON'T WORRY, it's just a test on CVS keywords (I will remove) fbernon 2007-09-07 09:23:51 +00:00
  • ac1149156d several-files: replace some #include "arch/cc.h" by "lwip/arch.h", or simply remove it as long as "lwip/opt.h" is included before (this one include "lwip/debug.h" which already include "lwip/arch.h"). Like that, default defines are provided by "lwip/arch.h" if they are not defined in cc.h, in the same spirit than "lwip/opt.h" for lwipopts.h. fbernon 2007-09-06 16:43:43 +00:00
  • ca866c0d7d Integrate "task #7272 : LWIP_ICMP option". The new option LWIP_ICMP enable/disable ICMP module inside the IP stack (enable per default). Be careful, disabling ICMP make your product non-compliant to RFC1122, but help to reduce footprint, and to reduce "visibility" on the Internet. fbernon 2007-09-05 17:20:45 +00:00
  • 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. fbernon 2007-09-05 16:14:28 +00:00
  • c1f89c5640 Move some build time checkings inside init.c for task #7142 "Sanity check user-configurable values". fbernon 2007-09-05 13:19:25 +00:00
  • 5865a78c1e Minor fix (add some parenthesis where macro expansion could cause problems) fbernon 2007-09-05 10:18:39 +00:00
  • d4616a7fc6 Replace mem_malloc call by memp_malloc, and use a new MEMP_NUM_IGMP_GROUP option (see opt.h to define the value). It will avoid potential fragmentation problems, use a counter to know how many times a group is used on an netif, and free it when all applications leave it. MEMP_NUM_IGMP_GROUP got 8 as default value (and init.c got a sanity check if LWIP_IGMP!=0). fbernon 2007-09-04 15:15:20 +00:00
  • d794357504 Fix warnings inside sockets.c with "gcc" compilers. See "Description" in http://www.opengroup.org/onlinepubs/007908799/xns/syssocket.h.html : fbernon 2007-09-04 14:30:26 +00:00
  • 79b0484e20 Minor changes (fix some warnings like "function declaration isn't a prototype" and "no previous prototype for 'lwip_init'"...) fbernon 2007-09-04 13:51:48 +00:00
  • 62b4741b19 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). fbernon 2007-09-03 14:53:18 +00:00
  • 327f06bbaf Replace "netif_default = NULL;" by "netif_set_default(NULL);" in netif_remove (do some processing, like for SNMP...) fbernon 2007-09-03 12:22:00 +00:00
  • d7cd90b5b8 Add in igmp_joingroup & igmp_leavegroup a LWIP_ERROR checking on netif value. fbernon 2007-09-03 09:56:38 +00:00
  • 85fef90c94 Add enum snmp_ifType in snmp.h, and use it in network interfaces for NETIF_INIT_SNMP fbernon 2007-08-31 10:14:09 +00:00
  • fca25479ad Minor fix (else, cause build error). Since SO_REUSE is always used in the code (even if the current code is not working), it is defined in opt.h with 0 as default value (it's normal). So, the error is not if it is defined, but if it is defined to 1. fbernon 2007-08-31 09:42:32 +00:00
  • 231d965bcb Minor fix (use ETHARP_HWADDR_LEN) fbernon 2007-08-31 09:02:53 +00:00
  • 6c10282f9a Put back in SO_REUSE jgrubb 2007-08-30 22:41:24 +00:00
  • cb399272fd Move deprecated options from opt.h to init.c jgrubb 2007-08-30 22:33:55 +00:00
  • 245bce04d1 Add netbuf.h, netbuf.c, Change api.h, api_lib.c: #7249 "Split netbuf functions from api/api_lib". Now netbuf API is independant of netconn, and can be used with other API (application based on raw API, or future "socket2" API). Ports maintainers just have to add src/api/netbuf.c in their makefile/projects. fbernon 2007-08-30 16:55:10 +00:00
  • 3101bdf127 Add some others sanity checkings fbernon 2007-08-30 16:06:51 +00:00