goldsimon
33d6dcec5b
Fixed bug #33048 (Bad range for IP source port numbers) by using ports in the IANA private/dynamic range (49152 through 65535).
2011-04-13 17:52:00 +00:00
goldsimon
0885555521
Fixed broken VLAN support.
2011-03-29 18:56:26 +00:00
goldsimon
36c1750b8f
ethernet_input: check for minimum packet length to prevent assertions from firing.
2011-03-29 07:55:16 +00:00
goldsimon
11b1c9f19f
Fixed bug #32926 (TCP_RMV(&tcp_bound_pcbs) is called on unbound tcp pcbs) by checking if the pcb was bound (local_port != 0).
2011-03-27 17:12:26 +00:00
goldsimon
b5dd87b184
Fixed bug #32280 (ppp: a pbuf is freed twice)
2011-03-27 13:58:26 +00:00
goldsimon
b54c7bedfd
Fixed bug #32906 : lwip_connect+lwip_send did not work for udp and raw pcbs with LWIP_TCPIP_CORE_LOCKING==1.
2011-03-27 13:36:32 +00:00
goldsimon
783404d8d4
Move tcp_pcb_lists to const section.
2011-03-27 13:04:16 +00:00
goldsimon
3bad9f013e
Fixed bug #32820 (Outgoing TCP connections created before route is present never times out) by starting retransmission timer before checking route.
2011-03-27 13:00:54 +00:00
goldsimon
4495516497
Removed 'dataptr' from 'struct tcp_seg' and calculate it in tcp_zero_window_probe (the only place where it was used).
2011-03-27 12:56:16 +00:00
goldsimon
3f849848a4
Fixed bug #32648 (PPP code crashes when terminating a link) by only calling sio_read_abort() if the file descriptor is valid.
2011-03-22 20:59:49 +00:00
goldsimon
7203680146
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.
2011-03-14 21:21:26 +00:00
goldsimon
d793ed3b9b
fixed bug #32769 (ESHUTDOWN is linux-specific) by fixing err_to_errno_table (ERR_CLSD: ENOTCONN instead of ESHUTDOWN), ERR_ISCONN: use EALRADY instead of -1
2011-03-13 11:21:06 +00:00
goldsimon
c6de17d1e5
netconn_accept: return ERR_ABRT instead of ERR_CLSD if the connection has been aborted by err_tcp (since this is not a normal closing procedure).
2011-03-13 11:17:18 +00:00
goldsimon
5b084f4b95
tcp_bind: return ERR_VAL instead of ERR_ISCONN when trying to bind with state!=CLOSED; fixed a typo
2011-03-13 11:15:32 +00:00
goldsimon
856ccb5bb7
Added missing U/UL modifiers to fix 16-bit-arch portability.
2011-02-18 13:31:28 +00:00
goldsimon
dbf5659cd9
Indentation changed
2011-02-18 13:30:35 +00:00
goldsimon
fee0c6afe9
Fixed constant not being 32 bit.
2011-02-17 17:03:12 +00:00
kieranm
fb7d3a159a
Update version for 1.4.0 rc2
2011-02-03 12:46:56 +00:00
goldsimon
dc6b4e65e0
Adde missing extern "C"
2011-01-25 11:35:48 +00:00
goldsimon
17d4ef4053
Added missing "extern "C" {"
2011-01-25 06:18:50 +00:00
goldsimon
03be8f88fe
Fixed bug #31741 : lwip_select seems to have threading problems
2011-01-24 19:28:28 +00:00
goldsimon
effcb90fdf
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 )
2010-12-20 18:03:51 +00:00
goldsimon
92cdc1e33f
Fixed ERR_IS_FATAL so that ERR_WOULDBLOCK is not fatal.
2010-12-02 07:07:18 +00:00
goldsimon
377628216e
Fixed bug #31590 : getsockopt(... SO_ERROR ...) gives EINPROGRESS after a successful nonblocking connection.
2010-11-22 20:55:57 +00:00
goldsimon
f7627929d5
Fixed bug #31722 : IP packets sent with an AutoIP source addr must be sent link-local
2010-11-22 19:55:05 +00:00
goldsimon
b49cf5e7a2
patch #7328 : Autoip: ETHADDR16_COPY can be used
2010-11-22 17:35:57 +00:00
goldsimon
231a6cecb4
patch #7329 : tcp_timer_needed prototype was ifdef'ed out for LWIP_TIMERS==0
2010-11-22 17:32:12 +00:00
goldsimon
32f02325f9
Added a function to deallocate the struct dhcp from a netif (fixes bug #31525 ).
2010-11-21 13:41:11 +00:00
goldsimon
f418782c2c
tcp_slowtmr(): change the scope of 'pcb2' to reflect its block-only usage.
2010-11-21 10:41:27 +00:00
goldsimon
e52730d1fb
Fixed bug #31170 : lwip_setsockopt() does not set socket number
2010-11-20 18:01:01 +00:00
goldsimon
d2679e58a6
Fixed bug #31304 : Changed SHUT_RD, SHUT_WR and SHUT_RDWR to resemble other stacks.
2010-11-20 17:48:10 +00:00
goldsimon
e3817cd549
Fixed bug #31535 : TCP_SND_QUEUELEN must be at least 2 or else no-copy TCP writes will never succeed.
2010-11-20 17:34:10 +00:00
goldsimon
4ace50a7d7
Fix alignment checking of tcphdr: check for MEM_ALIGNMENT, not for 4
2010-11-20 17:30:48 +00:00
goldsimon
fa092c47c8
Fixed bug #31701 : Error return value from dns_gethostbyname() does not match documentation: return ERR_ARG instead of ERR_VAL if not initialized or wrong argument.
2010-11-20 16:40:35 +00:00
goldsimon
704d90f693
Fixed bug #31385 : sizeof(struct sockaddr) is 30 but should be 16
2010-10-20 17:58:52 +00:00
goldsimon
93dc36e091
Once again fixed #30038 : DHCP/AutoIP cooperation failed when replugging the network cable after an AutoIP address was assigned.
2010-10-06 11:40:30 +00:00
goldsimon
4cc36b2284
Fixed bug #30728 : tcp_new_port() did not check listen pcbs
2010-08-10 20:15:31 +00:00
goldsimon
aaa8d2795e
Don't chain empty pbufs when sending them (fixes bug #30625 )
2010-08-03 08:38:59 +00:00
goldsimon
229137cad1
Applied patch #7264 (PPP protocols are rejected incorrectly on big endian architectures)
2010-08-01 11:15:48 +00:00
goldsimon
d73262a0e5
Fixed compilation with TCP or UDP disabled.
2010-07-29 19:25:50 +00:00
goldsimon
cd22a8d851
Fixed bug #30565 (tcp_connect() check bound list): that check did no harm but never did anything
2010-07-28 16:48:51 +00:00
goldsimon
7f7df4ae19
Fixed bug #30447 : tcp.c:tcp_bind() - suspicious nested #if
2010-07-28 16:44:59 +00:00
goldsimon
3c5723e49d
Fixed invalid fix for bug #30402 (CHECKSUM_GEN_IP_INLINE does not add IP options)
2010-07-21 12:11:22 +00:00
kieranm
960fb14bf5
Update release number for 1.4.0 release candidate 1
2010-07-16 12:50:29 +00:00
kieranm
21e17f649a
Fixed SNMP ASN constant defines to not use ! operator
2010-07-16 12:14:01 +00:00
goldsimon
04beab4f7d
IP_MULTICAST_LOOP shall be disabled by default
2010-07-12 14:10:28 +00:00
goldsimon
194a85387b
patch #7239 : make tcp_state_str pointers constant
2010-07-12 09:49:00 +00:00
goldsimon
a99219ad1f
added missing casts
2010-07-12 09:34:17 +00:00
goldsimon
691410ba18
task #10495 : Added support for IP_MULTICAST_LOOP at socket- and raw-API level.
2010-07-12 09:34:11 +00:00
goldsimon
714a43b18c
Fixed bug #30402 : CHECKSUM_GEN_IP_INLINE does not add IP options
2010-07-10 12:02:28 +00:00
goldsimon
60a456f757
Added ip_addr_netmask_valid() to check if a netmask is valid (starting with ones, then only zeros)
2010-07-05 14:20:58 +00:00
goldsimon
2b355d6b34
Added some helper functions to find strings in chained pbufs
2010-07-05 14:18:03 +00:00
goldsimon
48be546357
fixed bug #30300 (shutdown parameter was not initialized in netconn_delete)
2010-06-30 08:33:14 +00:00
goldsimon
0f74a57267
Re-enabled timer logging if LWIP_DEBUG_TIMERNAMES!=0 (without function pointers, only function names), changed parameter names from 'h' to 'handler'
2010-06-29 19:55:21 +00:00
kieranm
272270c7f4
Remove unportable printing of C function pointers
2010-06-28 13:32:13 +00:00
kieranm
e2f014f457
cleanup: fix minor build failures on unix
2010-06-28 13:24:14 +00:00
goldsimon
1fba33628d
Fixed compilation error due to unexpected include order
2010-06-25 18:59:29 +00:00
goldsimon
7d604a23f0
From patch #7221 : added flag NO_SYS_NO_TIMERS to drop timer support for NO_SYS==1 for easier upgrading
2010-06-24 20:27:49 +00:00
goldsimon
6929a786aa
Fixed bug #10088 : Correctly implemented shutdown at socket level.
2010-06-24 19:33:14 +00:00
goldsimon
f61b80ca6a
Fixed bug #29361 (ip_frag has problems with zero-copy DMA MACs) by adding custom pbufs and implementing custom pbufs that reference other (original) pbufs. Additionally set IP_FRAG_USES_STATIC_BUF=0 as default to be on the safe side.
2010-06-21 18:50:16 +00:00
goldsimon
1aba9f031d
nicer code for the last fix
2010-06-17 11:53:16 +00:00
goldsimon
2ffcc52f03
Fixed bug #30159 : WomnIP_ACCEPT_LINK_LAYER_ADDRESSING
2010-06-16 19:53:07 +00:00
goldsimon
72518a0d6e
fixed typos that MSVS did not complain about
2010-06-16 12:53:46 +00:00
goldsimon
1242575f0f
Added an optional define (LWIP_IP_ACCEPT_UDP_PORT) that can allow link-layer-addressed UDP traffic to be received while a netif is down (just like DHCP during configuration)
2010-06-16 12:25:00 +00:00
goldsimon
6ccc2ef804
Removed leading underscore from struct name, added a comment
2010-06-15 20:33:40 +00:00
goldsimon
b3dc6f2b5b
... and forgot one tiny character...
2010-06-15 20:21:30 +00:00
goldsimon
2427917db8
Fixed bug #29970 : DHCP endian issue parsing option responses
2010-06-15 20:19:14 +00:00
goldsimon
5ab40f016d
Fixed bug #30039 : AutoIP does not reuse previous addresses
2010-06-14 20:27:14 +00:00
goldsimon
435115d4fb
Use ip_addr_set_zero instead of memset(0)
2010-06-14 20:17:08 +00:00
goldsimon
24d823dae6
bug #30129 : struct _ip_addr should be struct ip_addr
2010-06-14 19:52:45 +00:00
goldsimon
2c60a48d02
ip_addr_set_any does not work on pointers...
2010-06-14 19:52:17 +00:00
goldsimon
4b0be4a477
Fixed invalid fix for bug #30038
2010-06-14 19:18:11 +00:00
goldsimon
505dd10d3c
Fixed bug #29979 (lwip_sendto did not check parameter "to" != NULL)
2010-06-12 18:46:19 +00:00
goldsimon
ddd2b69f27
bug #29976 : forgot some places using the changed IP address (copy vs. pointer)
2010-06-12 18:37:41 +00:00
goldsimon
66b57f89df
Fixed bug #30038 : dhcp_network_changed doesn't reset AUTOIP coop state
2010-06-12 17:14:00 +00:00
goldsimon
69bd5a29d9
Fixed a possible NULL-pointer deref before checking it
2010-06-12 17:05:54 +00:00
goldsimon
f7479781c1
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.
2010-05-22 21:11:02 +00:00
goldsimon
9bfeb4e5af
Minor: added some spaces for indentation
2010-05-22 21:01:38 +00:00
goldsimon
d3e5ade2da
Correctly NULL-terminate h_addr_list
2010-05-17 12:36:45 +00:00
goldsimon
3833dd86aa
Added LWIP_DEBUGF warning if dns_send returns an error
2010-05-17 12:29:31 +00:00
goldsimon
25f33c8444
struct etharp_hdr: split _hwlen_protolen into two u8_t's to prevent using htons on little-endian platforms
2010-05-16 16:26:12 +00:00
goldsimon
dae247809b
Add preprocessor-macros for compile-time htonl calculation (and use them throughout the stack where applicable)
2010-05-16 15:57:42 +00:00
goldsimon
81df8bdabd
Added PP_HTONx/PP_NTOHx macros that can be calculated by the preprocessor (used for constants only)
2010-05-16 15:55:45 +00:00
goldsimon
03e4eb4de8
changed the semantics of LWIP_PREFIX_BYTEORDER_FUNCS to prevent "symbol already defined" i.e. when linking to winsock
2010-05-16 15:09:55 +00:00
goldsimon
290bd400c3
No need to call pppoe_init any more (since the linked list is implicitly initialized to zero by the loader)
2010-05-16 14:35:03 +00:00
goldsimon
5d0785e47a
PPPoE now uses its own MEMP pool instead of the heap (moved struct pppoe_softc from ppp_oe.c to ppp_oe.h)
2010-05-16 14:34:16 +00:00
goldsimon
16434568b0
Use a simple linked list (next pointer) instead of sys/queue.h (from BSD)
2010-05-16 14:24:40 +00:00
goldsimon
c0e7d54e37
Removed 2 mem_mallocs: error string can be a global variable, include memory for sc_ac_cookie in struct pppoe_softc; commented out unused code (sc_service_name/sc_concentrator_name)
2010-05-16 14:11:53 +00:00
goldsimon
03bd61c799
DNS_LOCAL_HOSTLIST_IS_DYNAMIC uses its own MEMP pool instead of the heap
2010-05-16 13:36:51 +00:00
goldsimon
6ffd29507c
Free recv_data when TF_RXCLOSED is set
2010-05-16 13:12:15 +00:00
goldsimon
a880709776
Let FIN come through although TF_RXCLOSED is set, send RST when data is received although TF_RXCLOSED is set, added TCP_EVENT_CLOSED for clearer code
2010-05-15 18:12:37 +00:00
goldsimon
874d1641df
Fix compilation for LWIP_EVENT_API==1 (unused args)
2010-05-15 18:10:55 +00:00
goldsimon
d8d964d09e
udp_input/SO_REUSE_RXTOALL: only call pbuf_header if there is a 2nd pcb to pass the data to
2010-05-15 17:11:41 +00:00
goldsimon
46b3cb580d
Removed unused SOF_* flags, ip_pcb.so_options can now be an u8_t instead of an u16_t (saves 3 bytes per pcb on a 32-bit platform)
2010-05-15 17:10:08 +00:00
goldsimon
02f5e19420
udp_input: use SO_REUSE && SO_REUSE_RXTOALL to copy incoming (broad-/multicast) data to additional pcbs
2010-05-15 16:46:53 +00:00
goldsimon
a945bf07af
SO_REUSE: tcp_input: correctly handle multiple pcbs listening on the same port (but different address): first search for a specific address an only pass to ANY if no specific address has been found listening
2010-05-15 16:45:43 +00:00
goldsimon
7e5b0a9eb6
SO_REUSE: tcp_listen/tcp_connect: make sure that the 5-tuple is unique
2010-05-15 16:44:09 +00:00
goldsimon
a56795c149
Added new option SO_REUSE_RXTOALL to pass received UDP broadcast/multicast packets to more than one pcb
2010-05-15 14:52:39 +00:00
goldsimon
baeb41f5f4
SO_REUSEADDR / SO_REUSE is implemented and safe to use
2010-05-12 22:34:06 +00:00
goldsimon
d0348e0c60
task #6995 : Implement SO_REUSEADDR (correctly)
2010-05-12 22:29:58 +00:00
goldsimon
ef0a7ecbcd
Remove uused SOF_* flags, define inherited flags in ip.h, not in tcp_in.c
2010-05-12 22:26:06 +00:00
goldsimon
778c65d27c
CHECKSUM_GEN_IP_INLINE: Use defines to access the u32_t part of an IP address
2010-05-12 08:11:45 +00:00
goldsimon
f3face9f0c
Fix printf-formatter for sio_fd_t/size_t
2010-05-12 07:48:30 +00:00
goldsimon
2edd5230c9
auth_withpeer_fail(): call lcp_close(), like pppd 2.4.5 does
2010-05-11 18:11:46 +00:00
goldsimon
1551bb702d
Fixed bug #29855 : PPP: Backport a bugfix in LcpSendEchoRequest from pppd
2010-05-11 16:53:41 +00:00
goldsimon
d656e9f28e
Added option LWIP_ARP_FILTER_NETIF to use multiple IPs on one hardware interface (by using multiple netifs, each with its own IP)
2010-05-10 14:10:46 +00:00
goldsimon
597764e35b
Minor: source code layout
2010-05-10 14:02:52 +00:00
goldsimon
f9f77876a1
.. and deleted NAT again as Christian obviously didn't have the copyright on the code he sent us... THANKS!!!
2010-05-05 19:49:40 +00:00
goldsimon
67d8c7999a
Free NAT entries on remove (fixes a memory leak)
2010-05-05 19:39:29 +00:00
goldsimon
a7fdb67e8f
task #7506 : added NAT support
2010-05-05 19:34:23 +00:00
goldsimon
71f5fdef42
Fixed bug #29769 (sys_check_timeouts: sys_now() may overflow)
2010-05-04 19:27:42 +00:00
goldsimon
abc36471d9
Fixed bug #29763 (CHECKSUM_GEN_IP_INLINE), added macro LWIP_MAKE_U16() that's improved for endianess
2010-05-04 18:59:52 +00:00
goldsimon
4b7288e8f4
use checksum-on-copy for sending UDP data for LWIP_NETIF_TX_SINGLE_PBUF==1
2010-05-02 17:25:33 +00:00
goldsimon
108ed3c81a
struct netbuf: reorder members to save some space
2010-05-02 09:10:58 +00:00
goldsimon
f98e5717e5
task #6849 : added udp_send(_to/_if) functions that take a precalculated checksum, added pbuf_fill_chksum() to copy data into a pbuf and at the same time calculating the checksum for that data
2010-04-30 20:39:45 +00:00
goldsimon
3685bc4828
fixed a type
2010-04-30 20:37:22 +00:00
goldsimon
72c580236e
Create overridable macros for copying 2-byte-aligned IP addresses and MAC addresses
2010-04-29 04:57:31 +00:00
goldsimon
01d2a87f5d
Inline generating IP checksum to save a function call
2010-04-28 19:36:51 +00:00
goldsimon
51061fb61e
Fixed bug #29617 (sometime cause stall on delete listening connection)
2010-04-21 19:59:40 +00:00
goldsimon
49e8e28cf6
Check that tcp_abort/tcp_abandon isn't called for listen-pcbs
2010-04-21 19:55:14 +00:00
goldsimon
d2c632fb18
patch #7145 : Various typos in SNMP files
2010-04-14 19:13:35 +00:00
goldsimon
3562be2188
tabs -> spaces
2010-04-14 07:03:31 +00:00
goldsimon
2e18a9be63
Added an overridable define to get informed when the tcpip_thread processes messages or timeouts to implement a watchdog.
2010-04-14 07:02:26 +00:00
goldsimon
3347762df3
MEMP_OVERFLOW_CHECK: dump the element's pool's index and name when an overflow/underflow is detected
2010-04-12 11:08:11 +00:00
goldsimon
f1bc73c3ed
Fixed compilation errors
2010-04-02 16:48:53 +00:00
goldsimon
a96fa7d221
Fixed compilation of debug log code (that is currently commented out)
2010-04-02 16:17:51 +00:00
goldsimon
cc3e01a9f5
Fixed compilation (removed extra tokens after #endif)
2010-03-28 18:47:37 +00:00
goldsimon
6caa389c48
Check IP_FRAG && IP_FRAG_USES_STATIC_BUF && LWIP_NETIF_TX_SINGLE_PBUF
2010-03-28 10:50:05 +00:00
goldsimon
e86446b785
patch #7143 : Add a few missing const qualifiers
2010-03-28 10:28:32 +00:00
goldsimon
a00448c35a
create a new (contiguous) PBUF_RAM for every outgoing fragment if LWIP_NETIF_TX_SINGLE_PBUF==1
2010-03-28 10:22:48 +00:00
goldsimon
82b9152b8d
Removed checking ARP_TABLE_SIZE, this is done by the etharp module itself
2010-03-27 17:12:48 +00:00
goldsimon
d778fbb24f
Speedup TX by moving code from find_entry to etharp_output/etharp_query to prevent unnecessary function calls (inspired by patch #7135 ).
2010-03-27 16:51:27 +00:00
goldsimon
3803a0021d
patch #7130 : remove meaningless const qualifiers
2010-03-27 16:25:35 +00:00
goldsimon
3c96819a2c
Make LWIP_NETIF_TX_SINGLE_PBUF work for TCP, too
2010-03-26 16:54:15 +00:00
goldsimon
846a2fb933
Fixed compiling with different options disabled (TCP/UDP), triggered by bug #29345 ; don't allocate acceptmbox if LWIP_TCP is disabled
2010-03-26 16:09:02 +00:00
goldsimon
7e9eb55350
Added printf format modifier for mem_size_t depending on heap size
2010-03-26 15:38:01 +00:00
goldsimon
46b7bd6ec3
Make functions static where applicable, add default cases to switches where applicable, prevent old-style function prototypes (without arguments)
2010-03-26 14:07:05 +00:00
goldsimon
8bbe3d2fe0
Correctly cast pointers when assigning from void*
2010-03-26 14:05:56 +00:00
goldsimon
25f59761b3
fixed bug #29346 (removed comma after last enum member)
2010-03-26 14:05:22 +00:00
goldsimon
4b038f13de
sys_thread_new: name is a const pointer
2010-03-26 14:04:03 +00:00
goldsimon
5ef976aed5
Fixed bug #29332 : lwip_select() processes readset incorrectly
2010-03-25 12:19:39 +00:00
goldsimon
cf0b831971
Fixed bug #29080 : Correctly handle remote side overrunning our rcv_wnd in ooseq case.
2010-03-25 06:39:01 +00:00
goldsimon
d861daeb4e
Removed function prototype that had no corresponding implementation (pbuf_ref_chain)
2010-03-22 15:46:09 +00:00
goldsimon
0a2eb3fdc8
minor: fixed coding style
2010-03-22 15:45:34 +00:00
goldsimon
6fb248c9e0
task #10088 : Fixed a bug in RST-on-close-when-not-all-data-acked implementation (plus removed some unnecessary casts)
2010-03-22 12:32:05 +00:00
goldsimon
40946a79d3
Removed duplicate TCP_REG/TCP_RMV macros, fixed debug macro implementation
2010-03-22 12:27:38 +00:00
goldsimon
124ca0fed2
tcp_listen() did not copy the pcb's prio
2010-03-22 10:06:49 +00:00
goldsimon
5d153ca1b3
Fixed compilation for MEM_USE_POOLS under MSVC (where ++ doesn't work for enums)
2010-03-22 08:38:28 +00:00
goldsimon
a5b0ea97d6
Updated netconn_write doc/comment about api_flags
2010-03-21 12:19:56 +00:00
goldsimon
0a49f2e068
Corrected spelling of ERR_WOULDBLOCK (D was missing)
2010-03-20 12:56:47 +00:00
goldsimon
57594ad7b6
tcp_write: moved initial checks to an own static function for clarity
2010-03-20 12:08:07 +00:00
goldsimon
75bb43698c
Disable MEMP_TCPIP_MSG_INPKT pool for LWIP_TCPIP_CORE_LOCKING_INPUT==1
2010-03-20 11:57:34 +00:00
goldsimon
f70014b8ea
Added an option to disable tcpip_(un)timeout code since the linker cannot do this automatically to save space.
2010-03-20 11:55:41 +00:00
goldsimon
5fd410db4b
Added support for static ARP table entries (added option ETHARP_SUPPORT_STATIC_ENTRIES) (+ added test); refactored the etharp code a bit
2010-03-20 11:45:25 +00:00
goldsimon
385d044f7d
Corrected spelling of milliseconds (my dictionary tells me to use two l's :)
2010-03-20 11:34:50 +00:00
goldsimon
d0f1c552e2
Fixed bug #29256 : SNMP Trap address was not correctly set
2010-03-19 20:49:13 +00:00
goldsimon
a54bb7205d
Added missing casts, use strlen + MEMCPY instead of strcpy (as that might overrun the buffer)
2010-03-16 15:14:14 +00:00
goldsimon
7466474365
Fixed compiler warnings when casting where we know the source is aligned (by casting to void-pointer first)
2010-03-15 10:44:19 +00:00
goldsimon
c4bc9ce59a
Fixed alignment warnings when we know alignment is correct (by using LWIP_MEM_ALIGN)
2010-03-15 09:57:03 +00:00
goldsimon
e25c9f7951
Fixed compiler warning when LWIP_SNMP==0
2010-03-15 09:47:43 +00:00
goldsimon
94cbed5096
Corrected comment
2010-03-14 12:35:30 +00:00
goldsimon
f83ace2034
task #6849 : Calculate checksum when creating TCP segments, not when (re-)transmitting them.
2010-03-14 11:26:05 +00:00
goldsimon
84ed9de21a
Prepared for checksum-on-copy (task #6849 ):
...
- Added option LWIP_CHECKSUM_ON_COPY;
- Added function + define lwip_chksum_copy to create checksum when copying data
2010-03-14 11:23:37 +00:00
goldsimon
4e764017c1
Fixed bug #29148 (Incorrect PBUF_POOL_BUFSIZE for ports where ETH_PAD_SIZE > 0) by moving definition of ETH_PAD_SIZE to opt.h and basing PBUF_LINK_HLEN on it.
2010-03-14 10:16:43 +00:00
goldsimon
67f5e17588
Bug #29210 : check alignment of struct sockaddr vs. struct sockaddr_in
2010-03-14 09:54:47 +00:00
goldsimon
d13ac66cc4
Fixed sending one byte of data in tcp_zero_window_probe (which I accidentally broke with v1.103)
2010-03-14 09:43:10 +00:00
goldsimon
9f0b7261e5
Fix calculation of tcp_mss(): when timestamps are on, this is pcb->mss - 12 or else NOCOPY-apps might generate unperformant PBUF_REF chains
2010-03-13 15:04:08 +00:00
goldsimon
ad4a869b94
Some fixes to the TCP_OVERSIZE code:
...
- fix compiling with TCP_OVERSIZE==0;
- fix segment-size calculation when options are used;
2010-03-13 14:29:13 +00:00
goldsimon
79d3b41e13
Reverted the change in struct sockaddr since it wasn't compatible to the standard (bug #29210 )
2010-03-13 14:09:52 +00:00
goldsimon
839befe68a
Corrected comment
2010-03-12 16:06:08 +00:00
goldsimon
097e8c8eb4
Fixed some issues in the TCP_OVERSIZE code:
...
- reset tcp_pcb.unsent_oversize when last_unsent is changed;
- added TCP_OVERSIZE_DBGCHECK: check tcp_pcb.unsent_oversize vs. (debug-only) tcp_seg.oversize_left to ensure the pcb counter is correct;
- fixed a memory leak in tcp_write;
2010-03-12 15:40:01 +00:00
goldsimon
90c7d3aaff
Temporary upgrade helper: define format string for u8_t as hex if not defined in cc.h
2010-03-10 16:18:12 +00:00
goldsimon
2621e3fa19
Use a union to let struct sockaddr have the same alignment requirements as struct sockaddr_in
2010-03-10 10:53:14 +00:00
goldsimon
36d7f50d77
Renamed tcp_output_set_header to tcp_output_alloc_header and included more code common to all callers
2010-03-09 16:29:19 +00:00
goldsimon
ffbb582dde
ip_output: assert for p->ref == 1 to catch TCP retransmissions where the netif hasn't freed the pbuf yet
2010-03-09 16:24:38 +00:00
goldsimon
3bfc07eb92
Added comment, use braces for single-line if-blocks
2010-03-09 15:49:57 +00:00
goldsimon
d91caf1cd3
ip_input: better check for old link-local-address (explicitly check for autoip->llipaddr instead of letting all link-local-addresses through)
2010-03-08 18:24:23 +00:00
goldsimon
2a2be49d2c
task #10241 (AutoIP: don't break existing connections when assiging routable address): when checking incoming packets and aborting existing connection on address change, filter out link-local addresses.
2010-03-08 18:17:52 +00:00
goldsimon
d47a04456b
bug #29105 : Review printf formatters
2010-03-08 17:07:35 +00:00
goldsimon
b9499d07c2
bug #29105 : Review printf formatters: added X8_F to cc.h and use it in etharp.c
2010-03-08 17:04:27 +00:00
goldsimon
5d20e690fd
Added/corrected casts
2010-03-08 12:17:29 +00:00
goldsimon
1c23bfdc7f
Only add hostname if it's not empty (strlen > 0)
2010-03-08 12:15:58 +00:00
goldsimon
d5531a239b
bug #28775 (select/event_callback: only check select_cb_list on change) plus use SYS_LIGHTWEIGHT_PROT to protect the select code. This should speed up receiving data on sockets as the select code in event_callback is only executed when select is waiting.
2010-03-07 18:40:54 +00:00
goldsimon
9e37d70163
Create mem_mutext at the end of mem_init. This enables sys_mutex_new to use the heap if required.
2010-03-07 16:50:08 +00:00
goldsimon
99ff7efe80
Use braces for if-blocks
2010-03-06 12:26:20 +00:00
goldsimon
43a08bef14
tcp_accepted(): check pcb state to verify it isn't called on a connection-pcb
2010-03-06 12:06:27 +00:00
goldsimon
92beddd72f
task #7013 (Create option to have all packets delivered to netif->output in one piece): Always copy to try to create single pbufs in tcp_write.
2010-03-06 11:55:00 +00:00
goldsimon
f5b783d107
Fixed LWIP_NETIF_TX_SINGLE_PBUF for LWIP_TCPIP_CORE_LOCKING
2010-03-06 11:52:55 +00:00
goldsimon
a5a870c683
LWIP_NETIF_TX_SINGLE_PBUF needs TCP_OVERSIZE >= TCP_MSS for TCP
2010-03-06 11:51:31 +00:00
goldsimon
19ab25c861
LWIP_TCPIP_CORE_LOCKING_INPUT needs LWIP_TCPIP_CORE_LOCKING to work correctly
2010-03-06 11:32:40 +00:00
goldsimon
38fcfcdfac
task #10167 (sockets: speed up TCP recv by not allocating a netbuf): added function netconn_recv_tcp_pbuf() for tcp netconns to receive pbufs, not netbufs; use that function for tcp sockets.
2010-03-06 11:29:01 +00:00
goldsimon
957f4d8096
renamed struct lwip_socket to struct lwip_sock to avoid duplicate names (function lwip_socket)
2010-03-06 10:21:03 +00:00
goldsimon
5d4438e652
Don't try to forward link-local addresses
2010-03-06 10:15:39 +00:00
goldsimon
4649c14856
Correctly identify link-local addresses when sending ARP packets
2010-03-06 09:56:52 +00:00
goldsimon
fcf6434b4b
Fixed bug #29087 : etharp: don't send packets for LinkLocal-addresses to gw
2010-03-06 09:33:17 +00:00
goldsimon
464950d51e
Fixed bug #29072 : Correctly set ciaddr based on message-type and state. Renamed dhcp_create/delect_request to dhcp_create/delete_msg.
2010-03-05 13:37:37 +00:00
goldsimon
0b5d60db5e
Correctly set TCP_WRITE_FLAG_MORE when netconn_write is split into multiple calls to tcp_write.
2010-03-05 11:34:43 +00:00
goldsimon
b6542b977e
task #7040 (Work on tcp_enqueue): Don't waste memory when chaining segments, added option TCP_OVERSIZE to prevent creating many small pbufs when calling tcp_write with many small blocks of data. Instead, pbufs are allocated larger than needed and the space is used for later calls to tcp_write.
2010-03-05 11:14:31 +00:00
goldsimon
2bf1184c39
Added comment after #endif
2010-03-03 16:05:20 +00:00
goldsimon
103b5a760f
tcp_connect: send timestamp-option only if (pcb->flags & TF_TIMESTAMP) != NULL (same as for passive open)
2010-03-01 19:05:52 +00:00
goldsimon
2b1c389955
Fixed accessing invalid memory when closing a listening pcb (introduced with tcp_shutdown)
2010-03-01 18:43:37 +00:00
goldsimon
8d9fa63460
PPP: use LWIP_DEBUGF() instead of ppp_trace()
2010-02-22 20:16:39 +00:00
goldsimon
e934f8aac6
Added/improved comments and debug output; renamed 'pc' to 'pcrx' where appropriate to reflect the variable type
2010-02-22 17:58:05 +00:00
goldsimon
311d16df7d
Fixed compilation error after splitting tcp.h/tcp_impl.h
2010-02-22 17:52:09 +00:00
goldsimon
ea78d69c6d
Added debug output and missing casts
2010-02-22 17:49:49 +00:00
goldsimon
402597c2cb
Fixed bug #28970 (invalid preprocessor macro introduced with LWIP_TCPIP_CORE_LOCKING_INPUT)
2010-02-22 12:57:00 +00:00
goldsimon
68678e21df
Fixed compilation for DNS_LOCAL_HOSTLIST==1 and DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1 (bug #28968 )
2010-02-22 08:36:23 +00:00
goldsimon
19a9b52c06
Corrected comment
2010-02-21 19:28:46 +00:00
goldsimon
db38ee6630
Added define LWIP_TCPIP_CORE_LOCKING_INPUT that lets tcpip_input omit the thread-change to tcpip_thread and instead lock the core
2010-02-21 12:38:08 +00:00
goldsimon
1d8538bca4
Added const char* name to mem- and memp-stats for easier debugging.
2010-02-21 12:32:29 +00:00
goldsimon
b73dcfb8cf
task #10140 : Remove DNS_USES_STATIC_BUF (keep the implementation of DNS_USES_STATIC_BUF==1)
2010-02-21 12:15:01 +00:00
goldsimon
bcd4b76d31
Moved stack-internal parts of tcp.h to tcp_impl.h, tcp.h now only contains the actual application programmer's API
2010-02-21 11:35:21 +00:00
goldsimon
7c57ee0c17
Use tcp_debug_state_str() instead of tcp_debug_print_state()
2010-02-21 10:56:00 +00:00
goldsimon
d9157a71bb
Task #10088 : Correctly implement close() vs. shutdown(). Now the application does not get any more recv callbacks after calling tcp_close(). Added tcp_shutdown().
2010-02-20 18:05:56 +00:00
goldsimon
eae9798276
Fixed pcb leak when accept-callback is NULL and asserts are disabled
2010-02-20 17:27:08 +00:00
goldsimon
e131d3e32a
tcp_alloc: set given prio to the new pcb, not TCP_PRIO_NORMAL; minor: changed comments and source code layout
2010-02-20 10:03:03 +00:00
goldsimon
36043a92e7
Restructured TCP_PCB_COMMON for a smaller size (u16_t at the end)
2010-02-20 10:01:43 +00:00
goldsimon
52970c2459
Renamed mem_realloc() to mem_trim() to prevent confusion with realloc()
2010-02-19 16:23:46 +00:00
goldsimon
8336796c1a
Add matching comment to #endif
2010-02-16 21:05:06 +00:00
goldsimon
16a63c6554
Bug #28917 : don't increase error counters for icmp echo response
2010-02-16 20:38:35 +00:00
goldsimon
c637441f52
tcp_seg(s)_free: remove return value, noone uses it
2010-02-16 17:20:10 +00:00
goldsimon
5b221ecd4f
Added missing cast; added more debug output
2010-02-16 11:28:40 +00:00
goldsimon
7af77aefa7
Added missing casts
2010-02-16 11:28:15 +00:00
goldsimon
7c2054091d
Link status does not depend on LWIP_NETIF_LINK_CALLBACK (fixes bug #28899 )
2010-02-15 19:53:46 +00:00
goldsimon
e04e0cb98e
Fixed bug #28877 (Duplicate ARP gratuitous packet with LWIP_NETIF_LINK_CALLBACK set on) by only sending if both link- and admin-status of a netif are up
2010-02-14 20:20:28 +00:00
goldsimon
e983865ad5
Disable ETHARP_TRUST_IP_MAC by default since it slows down packet reception and is not really necessary
2010-02-14 18:10:34 +00:00
goldsimon
4c9fe60693
Fixed ARP input processing: only add a new entry if a request was directed as us (RFC 826, Packet Reception), otherwise only update existing entries; internalized some functions
2010-02-14 18:08:16 +00:00
goldsimon
c5dfa4099d
Fixed bug #28183 (ARP and TCP/IP cannot be disabled on netif used for PPPoE) by adding a new netif flag (NETIF_FLAG_ETHERNET) that tells the stack the device is an ethernet device but prevents usage of ARP (so that ethernet_input can be used for PPPoE).
2010-02-14 16:44:47 +00:00
goldsimon
524b7bc36b
Documented the use of netif flags
2010-02-14 16:00:46 +00:00
goldsimon
8908055b63
Revert my last changes and remove structure packing from struct dns_query and struct dns_answer since they are only used with SMEMCPY
2010-02-14 14:02:05 +00:00
goldsimon
10abe8aba2
Use pointers instead of using SMEMCPY
2010-02-14 12:51:53 +00:00
goldsimon
7b24a6360c
Minor speedups: use ip_addr_copy, use SMEMCPY, use htonX on constants instead of variables
2010-02-14 12:43:24 +00:00
goldsimon
96e9689dbd
Use new macro ip_addr_copy where applicable
2010-02-14 12:42:49 +00:00
goldsimon
7e0204bb7b
Improved some defines working on ip addresses, added faster macro to copy addresses that cannot be NULL
2010-02-14 12:41:46 +00:00
goldsimon
dfb80c6b86
fixed compilation for LWIp_SNMP && PPP_INPROC_MULTITHREADED
2010-02-14 12:26:01 +00:00
goldsimon
838c35acf6
struct ip_hdr: split u16_t _ttl_proto to u8_t _ttl and u8_t _proto to prevent unnecessary loading and htons
2010-02-14 11:42:08 +00:00
goldsimon
c858aa5686
Fixed compiler warnings for checksum algorithms 2 and 3
2010-02-14 11:40:13 +00:00
goldsimon
b1736b13d7
Use checksum algorithm 2 as default as it should be faster than 1 on most (if not all) platforms
2010-02-14 11:31:10 +00:00
goldsimon
cbb86fe590
Added stats for mutexes
2010-02-13 17:26:40 +00:00
goldsimon
a61f5f3a78
Fixed old comments
2010-02-13 17:26:08 +00:00
goldsimon
0792effc2a
task #7865 (implement non-blocking send operation)
2010-02-13 17:08:40 +00:00
goldsimon
49c6ce3703
Add a new err_t, ERR_WOULDBLOCK in preparation for non-blocking send
2010-02-13 16:03:12 +00:00
goldsimon
0f05a6aede
Fixed compilation for LWIP_DNS==1 after changing sys layer
2010-02-13 15:43:19 +00:00
goldsimon
7ccf8cb731
Fixed compilation with LWIP_DNS==1 after changing sys layer
2010-02-13 15:01:55 +00:00
goldsimon
7c28c66d32
Don't use C++ reserved keyword 'class'
2010-02-13 14:51:46 +00:00
goldsimon
c49a3ab2d6
Fixed compilation for LWIP_SO_RCVBUF==0
2010-02-13 10:06:42 +00:00
goldsimon
8fbaf0304a
Added a minimal version of posix fctl() to have a standardised way to set O_NONBLOCK for nonblocking sockets.
2010-02-12 17:59:20 +00:00
goldsimon
f89c08872c
Fixed indentation
2010-02-12 17:57:02 +00:00
goldsimon
29eb56a2f6
netif_set_link_up/down: only do something if the link state actually changes
2010-02-12 16:50:23 +00:00
goldsimon
2e795d2706
task #10139 (Prefer statically allocated memory): added autoip_set_struct() and dhcp_set_struct() to let autoip and dhcp work with user-allocated structs instead of callin mem_malloc
2010-02-12 16:42:02 +00:00
goldsimon
8768e4488a
patch #6865 : use so_options SOF_REUSEADDR instead of flags TF_REUSEADDR (which has ben removed again)
2010-02-12 16:32:31 +00:00
goldsimon
bd3f86e505
Code layout: splitted long line
2010-02-12 16:31:18 +00:00
goldsimon
82e4716784
Fixed comment to our flag names
2010-02-12 16:30:58 +00:00
goldsimon
d3635c5eef
patch #6865 (SO_REUSEADDR for TCP): if tcp_pcb.flags has TF_REUSEADDR set, allow binding to endpoint in TIME_WAIT
2010-02-12 15:33:02 +00:00
goldsimon
c73b1b4fa2
Fixed bug #28865 (Cannot close socket/netconn in non-blocking connect)
2010-02-12 15:21:37 +00:00
goldsimon
39df7d048c
Added comment about mem_realloc() vs. realloc()
2010-02-12 14:56:34 +00:00
goldsimon
3529349470
Fixed compilation for NO_SYS==1
2010-02-12 13:56:51 +00:00
goldsimon
0030d1ade5
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)
2010-02-12 13:49:21 +00:00
goldsimon
2d1631792a
struct netconn.socket is only used with LWIP_SOCKET; added comments
2010-02-12 09:58:44 +00:00
goldsimon
b6babe38ea
Use braces for if blocks
2010-02-12 09:51:30 +00:00
goldsimon
df7e435b86
Fixed bug #28866 (mem_realloc function defined in mem.h)
2010-02-12 09:30:31 +00:00
goldsimon
9e59f661bc
Fixed a compiler warning (comparison between signed and unsigned)
2010-02-10 08:11:18 +00:00
goldsimon
87c2d911c9
Removed invalid assert (always true)
2010-02-10 07:58:21 +00:00
goldsimon
44af02aa1e
Fixed wrong printf formatter
2010-02-10 07:58:01 +00:00
goldsimon
45e51d1929
Removed sys_sem_wait_timeout, added comments to the port-supplied sys(-arch)-functions
2010-02-09 21:05:39 +00:00
goldsimon
59a623e648
Use sys_arch_sem_wait instead of sys_sem_wait_timeout (same function, different name)
2010-02-09 21:04:50 +00:00
goldsimon
306f2203fa
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
2010-02-09 20:23:39 +00:00
goldsimon
7699b59e27
Another fix for bug #28853 (recv returns 0 on recv-timeout or any other error), fixed err_to_errno_table: ERR_TIMEOUT is EWOULDBLOCK, not ETIMEDOUT
2010-02-09 20:17:06 +00:00
goldsimon
1550c4215d
Fixed bug #28853 (lwip_recvfrom() returns 0 on receive time-out or any netconn_recv() error)
2010-02-09 18:46:54 +00:00
goldsimon
a84590273d
Merge 3 u8_t for netconn-internal status into one u8_t 'flags' to prevent waisting memory when adding more flags
2010-02-09 18:41:07 +00:00
goldsimon
6fe258c6bc
task #10154 (PPP: Update snmp in/out counters for tx/rx packets)
2010-02-09 18:21:21 +00:00
goldsimon
27c1c7a0f7
Added function sys_restart_timeouts() from patch #7085 (Restart system timeout handling)
2010-02-09 17:49:20 +00:00
goldsimon
a668a4e4d1
Fixed compilation for NO_SYS==1
2010-02-09 17:41:34 +00:00
goldsimon
b1250f003d
For loopback packets, adjust the stats- and snmp-counters for the loopback netif.
2010-02-09 17:00:57 +00:00
goldsimon
077caac76d
task #10153 (Integrate loopif into netif.c) - loopif does not have to be created by the port any more, just define LWIP_HAVE_LOOPIF to 1.
2010-02-09 16:01:24 +00:00
goldsimon
91d70a3364
Fixed copying multiple IP addresses from options (e.g. multiple DNS servers) - the amount copied was correct, but the value copied was always the first.
2010-02-09 11:40:46 +00:00
goldsimon
6af20340dd
Minor: Fixed indentation after changing struct ip_addr to ip_addr_t
2010-02-09 11:38:59 +00:00
goldsimon
68ab197b68
Fixed a missing cast warning
2010-02-09 11:38:00 +00:00
goldsimon
79e6b4c819
Added reentrant versions of inet_ntoa/ipaddr_ntoa inet_ntoa_r/ipaddr_ntoa_r
2010-02-08 20:14:21 +00:00
goldsimon
ececc3ca45
Internalize another function; use the supplied max_response_time instead of dividing it by 2
2010-02-08 19:50:49 +00:00
goldsimon
630f575017
Moved most defines from igmp.h to igmp.c for clarity since they are not used anywhere else; removed some function prototypes from igmp.h, too
2010-02-08 19:41:53 +00:00
goldsimon
49274c1507
added netif_s/get_igmp_mac_filter() macros
2010-02-08 19:32:40 +00:00
goldsimon
27d4cf6aef
Improved IGMP stats (patch from bug #28798 )
2010-02-08 19:19:26 +00:00
goldsimon
b156d392cb
Fixed bug #28798 (Error in "Max Response Time" processing) and another bug when LWIP_RAND() returns zero.
2010-02-08 18:12:53 +00:00
goldsimon
b0b4290c29
Reduced the time SYS_ARCH_PROTECT is protecting the socket array
2010-02-08 17:25:57 +00:00
goldsimon
90bed0c5ac
Added yet another IP-address-modifying define, ip_addr_set_any()
2010-02-08 17:24:08 +00:00
goldsimon
b3caddab30
Minor: source code layout
2010-02-08 17:12:45 +00:00
goldsimon
1017279e68
Minor: removed one space
2010-02-08 17:12:14 +00:00
goldsimon
f74cebcbcd
Minot: Fixed comments and code style
2010-02-08 16:53:47 +00:00
goldsimon
848debf999
Fixed bug #28818 (New connection probably not marked writable on accept()) introduced a week ago while implementing non-blocking connect
2010-02-08 12:33:28 +00:00
goldsimon
47756a8faa
Fixed macro ip_addr_set_loopback(): htonl was missing (fixes bug #28828 : ip_addr.h some macro error)
2010-02-08 12:25:01 +00:00
goldsimon
6c027c153b
Fixed compiler warnings
2010-02-08 12:24:29 +00:00
goldsimon
28dc5f491c
Correctly initialize netif flags in pppifNetifInit
2010-02-05 11:20:49 +00:00
goldsimon
758e99f362
Added function-like macros to get/set the hostname on a netif
2010-02-05 11:17:55 +00:00
goldsimon
010dc6258e
Fixed another compiler warning (missing cast)
2010-02-05 10:35:47 +00:00
goldsimon
a5c5949009
Added missing casts to suppress compiler warnings (this mainly satisfies MSVC - the double casts are a bit ugly but don't hurt...)
2010-02-05 10:09:38 +00:00
goldsimon
d51d6b2d89
Use macros to compare IP addresses
2010-02-05 10:08:49 +00:00
goldsimon
c58dfa2156
Added missing casts to suppress compiler warnings
2010-02-05 10:08:41 +00:00
goldsimon
5d360a6711
Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier.
2010-02-04 18:47:44 +00:00
goldsimon
24fcf9a86e
Accidentally changed the member name of struct ip_addr for testing...
2010-02-04 17:25:22 +00:00