fbernon
b035a6196a
Add return types to tcpip_apimsg() and api_msg_post() to check ERR_MEM problems (api_lib.c can be change now).
2007-03-19 20:35:32 +00:00
fbernon
e4cd00b5ea
Remove unimplemented "memp_realloc" function from memp.h.
2007-03-19 20:23:58 +00:00
goldsimon
3bb13829fe
checked in patch #5796 : pbuf_alloc: len field claculation caused memory corruption.
2007-03-11 20:07:37 +00:00
fbernon
1af676385c
Add igmp.h and igmp.c inside tree :
...
src/core/ipv4/igmp.c
src/include/ipv4/lwip/igmp.h
2007-03-11 19:45:32 +00:00
fbernon
a24a170b84
New configuration option LWIP_IGMP to enable IGMP processing. Based on only one filter per all network interfaces. Declare a new function in netif to enable to control the MAC filter (to reduce lwIP traffic processing).
...
Mace Gael for the upper layers, Steve Reynolds for lower ones...
2007-03-11 19:16:38 +00:00
goldsimon
bc4b3764fc
Fixed bug #19251 (missing `const' qualifier in socket functions), to get more compatible to standard POSIX sockets.
2007-03-11 17:57:13 +00:00
fbernon
9b143dd5dc
Based on patch from Dmitry Potapov, bug#19225.
...
Add asserts inside bind, connect and sendto to check input parameters. Remove excessive set_errno() calls after get_socket(), because errno is set inside of get_socket(). Move last sock_set_errno() inside lwip_close.
2007-03-11 16:53:37 +00:00
fbernon
5c65d4733b
Keepalive values can be configured at run time with LWIP_TCP_KEEPALIVE, but don't change this unless you know what you're doing (default are RFC1122 compliant). Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set in seconds.
...
Old TCP_KEEPALIVE can always be used, and its only difference with TCP_KEEPIDLE is this last use seconds and not milliseconds with setsockopt.
Some documentation (not perfect, but...):
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.commtechref/doc/commtrf2/setsockopt.htm
2007-03-11 15:53:43 +00:00
goldsimon
41a84ef1d3
Fixed bug #11400-2: New etharp queueing introduced bug: memp_memory was allocated too small.
2007-03-09 07:15:04 +00:00
fbernon
86cecd6700
Keepalive values can be configured at compile time, but don't change this unless you know what you're doing (default are RFC1122 compliant).
2007-03-08 21:02:39 +00:00
fbernon
fdcb87db19
Implement LWIP_SO_RCVTIMEO configuration option to enable/disable SO_RCVTIMEO on UDP sockets/netconn.
2007-03-08 20:58:46 +00:00
goldsimon
a868832776
Initialize dhcp timers in tcpip_thread (if LWIP_DHCP) to protect the stack from concurrent access.
2007-03-08 10:37:31 +00:00
goldsimon
5eabd4591a
SNMP UDP ports can be configured at compile time
2007-03-08 10:32:29 +00:00
goldsimon
91afefa61a
Reverted pbuf_alloc() to REV 1.82
2007-03-07 15:47:54 +00:00
goldsimon
ea7bdb8e9e
Last change (reduce code size if not used) had a bug...
2007-03-06 19:37:32 +00:00
fbernon
7cda728469
Fix some "little" build problems, and a redundancy call to "lwip_stats.link.recv++;" in low_level_input() & ethernetif_input().
...
If LINK_STATS was defined, tcpip.c couldn't be build.
Even if IP_FRAG or IP_REASSEMBLY were set, ip_frag.c functions are not build.
2007-03-06 19:31:49 +00:00
fbernon
7fd37d4e87
Implement SO_RCVTIMEO on UDP sockets/netconn.
2007-03-06 16:41:02 +00:00
goldsimon
874bfe19d2
Reduce code size: don't include code in those files if IP_FRAG == 0 and IP_REASSEMBLY == 0
2007-03-06 15:27:58 +00:00
fbernon
ed07d481d6
opt.h, ip_frag.h, tcpip.h, tcpip.c, ethernetif.c: add new configuration option named ETHARP_TCPIP_ETHINPUT, which enable the new tcpip_ethinput. Allow to do ARP processing for incoming packets inside tcpip_thread (protecting ARP layer against concurrent access). You can also disable old code using tcp_input with new define ETHARP_TCPIP_INPUT set to 0. Older ports have to use tcpip_ethinput.
2007-03-06 14:18:02 +00:00
goldsimon
7115975212
fixed compiler warning "initialization dircards qualifiers from pointer target type"
2007-03-06 07:28:22 +00:00
fbernon
ddf0982d0f
opt.h, sockets.h: add new configuration options (LWIP_POSIX_SOCKETS_IO_NAMES, ETHARP_TRUST_IP_MAC, review SO_REUSE).
...
Also include directly tcp.h in sockets.h to improve application independancy from ip stack (avoid to include directly in application the "unknown" tcp.h if you need options like TCP_NODELAY and TCP_KEEPALIVE in application.
2007-03-05 14:43:11 +00:00
goldsimon
7b54ddd828
Corrected patch to bug #19168
2007-03-04 17:21:43 +00:00
fbernon
1ffd049833
api_msg.c: Remove some compiler warnings : parameter "pcb" was never referenced.
2007-03-04 16:25:04 +00:00
fbernon
12e0a2ef7d
api_lib.c: Fix "[patch #5764 ] api_lib.c cleanup: after patch #5687 " (from Dmitry Potapov).
...
The api_msg struct stay on the stack (not moved to netconn struct).
2007-03-04 14:49:46 +00:00
goldsimon
9da7afb345
Fixed buf #19168 based on patch by Dmitry Potapov
2007-03-04 12:45:58 +00:00
goldsimon
1f544e087b
Fix BUG#11400 - don't corrupt existing pbuf chain when enqueuing multiple pbufs to a pending ARP request
2007-03-04 12:12:42 +00:00
fbernon
e1b6a4cb21
udp.c: remove obsolete line "static struct udp_pcb *pcb_cache = NULL;"
...
Its is static, and never used in udp.c except udp_init().
2007-03-03 17:00:44 +00:00
goldsimon
bb8522b737
tcpip.c: Moved call to ip_init(), udp_init() and tcp_init() from tcpip_thread() to tcpip_init()
2007-03-03 16:22:38 +00:00
kieranm
527d18a526
2007-02-28 Kieran Mansley (based on patch from Simon Goldschmidt)
...
* api_lib.c, tcpip.c, memp.c, memp.h: make API msg structs allocated
on the stack and remove the API msg type from memp
2007-02-28 14:15:43 +00:00
kieranm
5ace5976a1
* pbuf.c: Fix BUG#17645 - ensure pbuf payload pointer is not moved
...
outside the region of the pbuf by pbuf_header()
2007-02-28 13:45:35 +00:00
kieranm
c52ac01fbc
sockets.c: Fix BUG#19161 - ensure milliseconds timeout is non-zero
...
when supplied timeout is also non-zero
2007-02-28 12:52:44 +00:00
jifl
f4f2bfe379
Ensure the size of each pbuf in the pool meets alignment constraints
2007-02-27 16:50:05 +00:00
jifl
75beb3bd35
Fix incorrect comparison in get_socket().
...
Spotted by Frederic Bernon.
2007-02-26 20:16:38 +00:00
jifl
1d22294974
* sockets.h, sockets.c: Move socket initialization to new
...
lwip_socket_init() function.
2007-02-26 20:01:04 +00:00
jifl
de665f7cf9
2007-02-26 Jonathan Larmour (based on patch from Simon Goldschmidt)
...
* api_lib.c: Use memcpy in netbuf_copy_partial.
2007-02-26 19:49:49 +00:00
christiaans
205520c620
Fix the fix for GETSHORT and GETLONG bug #19052 , needs to be tested by some PPP user.
2007-02-14 08:08:35 +00:00
christiaans
11f2e8d1a6
Added MEM_LIBC_MALLOC option as workaround for failing mem_malloc().
2006-12-04 08:24:25 +00:00
christiaans
a91374a916
Added MEM_LIBC_MALLOC option as workaround for failing mem_malloc().
2006-12-01 15:38:56 +00:00
christiaans
36e6c26545
Included xid to some DEBUGFs.
2006-12-01 13:52:07 +00:00
christiaans
9a68f74857
Fixed false triggers of request_timeout.
2006-11-30 16:25:43 +00:00
christiaans
b96c15890c
Disabled alignment fix. Stepping back, #17922 fix fails on my target, DHCP won't start, I don't understand.
2006-11-28 13:29:05 +00:00
christiaans
5a6b26d69e
In netif_add() fixed clearing of ip_addr, netmask, gw and flags.
2006-11-28 13:12:15 +00:00
christiaans
a3d912a801
Fixed uninitalized variable warnings (using gcc 4.1.1)
2006-11-27 15:37:44 +00:00
christiaans
b4f1deaa46
Accepted patch #5493 IP frag/reass config item tweak.
2006-11-27 14:48:21 +00:00
christiaans
976bce4c7f
Changed heap to use naturally aligned start address and added near-fit case to #17922 fix.
2006-11-27 14:23:24 +00:00
christiaans
77e0f77850
Added snmp_send_trap() parameter, caller must pass enterprise id for enterprise secific traps.
2006-11-27 08:43:10 +00:00
christiaans
a885cbf8ed
Removed mem_dump() reference.
2006-11-22 09:56:39 +00:00
christiaans
b6af5d9bda
Initial attempt at fixing bug #17922 , calling for reviewers. This seems to work for me, more or less, but it looks like it breaks TCP.
2006-11-22 08:27:38 +00:00
christiaans
b72677c3ce
Added missing NULL return checks for snmp_mib_lrn_alloc() and trimmed whitespace at line ends.
2006-11-17 11:07:25 +00:00
christiaans
5e44122552
Trimmed whitespace at line ends.
2006-11-17 11:05:26 +00:00
christiaans
d4b6471d39
Replaced tabs with space.
2006-11-17 10:51:13 +00:00
christiaans
fe1bea9538
Added netif_set_up and call protection for NULL function pointers. Bug #16602 and #17777 .
2006-11-02 12:25:57 +00:00
christiaans
2f41e2b0ec
Made ip_id static again, fixing bug #18065 . This is required when outputting IP fragments.
2006-11-01 09:33:14 +00:00
christiaans
bd86f95512
Cold case #9191 fixes for NC30 compiler for the M16 mcu, reported by Bjorn Sundman.
2006-10-25 07:51:17 +00:00
christiaans
4e583dab2e
Again, fixed decoding of negative integers in snmp_asn1_dec_s32t(), tnx to though testing by Sander.
2006-10-13 13:45:06 +00:00
christiaans
bc182cab7c
Removed EXPERIMENTAL status.
2006-10-13 12:00:35 +00:00
christiaans
f6f6f11838
Fixed decoding of negative integers in snmp_asn1_dec_s32t(), removed EXPERIMENTAL status.
2006-10-13 11:59:45 +00:00
christiaans
b5f4672155
Partially accepted patch #5449 for ANSI C compatibility / build fixes. Fixed bug #17574 corrected UDP-Lite protocol identifier.
2006-10-11 12:04:04 +00:00
christiaans
729da3c873
Fixed Nagle algorithm as reported by Bob Grice.
2006-10-10 07:48:27 +00:00
christiaans
2539b5cf61
Fixed up mib_external_node support, snmpwalk works for external objects.
2006-10-06 08:41:24 +00:00
christiaans
f7881e58bb
Improved message parse robustness. Rejecting 'error requests'. Removed invalid genError return on varbindlist parse error, changed badValue into noSuchName error for non-writeable objects.
2006-10-04 09:15:23 +00:00
christiaans
25ed4e9d16
Fixed clearing of head and tail pointers in snmp_mib_node_delete().
2006-10-03 10:41:48 +00:00
christiaans
7eddf93b36
Added missing snmp_delete_arpidx_tree() in find_entry where entry state was set to ETHARP_STATE_EMPTY.
2006-10-03 10:39:37 +00:00
christiaans
cfb082a20b
Added external mibnode panic closure functions, tobe called for error responses.
2006-10-02 10:13:04 +00:00
christiaans
e440590c37
Fixed snmp_mib_node_insert() to return 2, for node present (not inserted). Also solves invalid rootnode count for this case.
2006-09-29 13:34:38 +00:00
christiaans
c851a19ab2
Added en->get_value_a() call for zero size get_value replies, e.g. for closing external transactions.
2006-09-28 11:46:24 +00:00
christiaans
c2f9d7dee0
Fixed encoding of object sub identifiers with trailing zero.
2006-09-28 11:43:49 +00:00
christiaans
473e567047
Added en->set_value_a() call for closing external transactions.
2006-09-27 15:11:30 +00:00
christiaans
64dab92c6b
Redesign of snmp_msg_event() fsm, added SNMP SET to fsm.
2006-09-27 07:25:16 +00:00
christiaans
f576755b13
Added snmp_msg_event_loop() prototype.
2006-09-22 08:09:08 +00:00
christiaans
d0f279ece4
Set TODO_SNMP_MSG_EVENT to 1. Moved some more code from snmp_recv() to snmp_event_service().
2006-09-22 08:05:17 +00:00
christiaans
a5532ffd4d
Added one strategic LWIP_DEBUGF to snmp_send_response().
2006-09-22 08:03:16 +00:00
christiaans
cb412134dd
Added newlines to LWIP_DEBUGFs.
2006-09-22 08:00:56 +00:00
christiaans
d079aae0e0
Fixed NULL dereferencing for zero length raw data.
2006-09-22 07:59:44 +00:00
christiaans
eabfb233b8
Moved SNMP_CONCURRENT_REQUESTS to opt.h, babysteps for external MIB nodes.
2006-09-20 13:33:50 +00:00
christiaans
960e724ad3
Improved mib node struct for external object access and moved get_object_def() calls to the message processing bit.
2006-09-14 15:08:54 +00:00
christiaans
82c46f957a
Fixed double iterator bug in send_trap(), multiple trap destinations work ok now.
2006-09-12 12:46:36 +00:00
christiaans
320ea29861
Added some lines for SET command.
2006-09-12 10:03:46 +00:00
christiaans
c5e99ada63
Fixed sysObjectID length to copy private IDs with unkown lengths properly.
2006-09-08 09:22:28 +00:00
christiaans
a88d054d05
Improved TRAP interfacing. Varbinds maybe allocated at (external) trap source as wel. Added trap destination settings.
2006-09-07 14:17:03 +00:00
christiaans
6576802287
Fixed compilation for LWIP_SNMP 0.
2006-09-07 07:39:49 +00:00
christiaans
693316c83f
Corrected snmp_delete_arpidx_tree() to be called in the expired state, not only maxage.
2006-09-06 13:01:47 +00:00
christiaans
41ff80e5d3
First getnext succes, values are returned insead of NULLs, empty tables are skipped. Limitation: a single varbind per request, so 'snmptable' will fail.
2006-09-06 10:14:07 +00:00
christiaans
56c5fdbeaf
Added newlines in debug output, small optimalisations, more work on 'getnext', fixed 'get' on udp table.
2006-09-04 09:22:48 +00:00
christiaans
130d39cc03
Changed index structs to mib_list_node structs to place the table index trees directly in the mib tree.
2006-09-01 07:14:50 +00:00
christiaans
1485edf8e1
Added index tree node structs and functions, e.g. to be used for ARP table indexes.
2006-08-29 11:28:28 +00:00
christiaans
514ee867a6
Pacified GCC warnings and elaborated getnext to work on scalars, tables don't work yet.
2006-08-21 11:52:58 +00:00
christiaans
3cc7a406f4
Pacified GCC warnings and fixed double mem_free() while returning nosuchname err.
2006-08-21 11:51:19 +00:00
christiaans
c3f82acf7a
Pacified GCC warnings.
2006-08-21 11:50:03 +00:00
christiaans
cdb7557d88
Added SNMP counters.
2006-08-18 10:18:42 +00:00
christiaans
2dcbd016e6
Added tree expansion func protos for getnext.
2006-08-17 14:16:30 +00:00
christiaans
7d1728f05a
Started with getnext and ensure zero length identifiers are accepted.
2006-08-17 14:14:58 +00:00
christiaans
4b5c14470a
Fixed htons into htonl for trap desctination ip.
2006-08-17 14:11:45 +00:00
christiaans
f198b11f27
Accepting zero length identifiers e.g. for getnext operation. Uncommon but valid.
2006-08-17 14:09:57 +00:00
christiaans
7d16087789
Fixed bug #17200 , added check for broadcast destinations for PCBs bound to a unicast address.
2006-08-17 09:40:15 +00:00
christiaans
d734cd986c
Moved noleafs_get_object_def() and noleafs_get_value() protos from mib2.c to snmp_structs.h
2006-08-15 07:28:43 +00:00
christiaans
8559f3e583
MIB-2 object values near to completion, just committing for keeping the flame alive.
2006-08-11 14:16:36 +00:00
christiaans
d0b81d3b20
Corrected comment typo.
2006-08-11 14:13:39 +00:00
christiaans
43bf9a8e46
Added SNMP counters, moved some defines.
2006-08-11 14:12:05 +00:00
christiaans
19f57bf810
Exported udp_pcbs in udp.h (for SNMP agent).
2006-08-11 14:09:48 +00:00
christiaans
469012b544
Added etharp_find_addr(), finds eth/IP address pair by interface ptr and IP address.
2006-08-08 15:10:42 +00:00
christiaans
9b11c4670d
Corrected returned object id for interfaces.ifTable.ifEntry.ifSpecific to zeroDotZero (0.0).
2006-08-07 11:35:32 +00:00
christiaans
7eeaf8eaa5
Corrected object identifier codec for object ids not starting with .iso.dod (e.g. zeroDotZero (0.0)).
2006-08-07 11:32:44 +00:00
christiaans
a82e02ef15
Partial fix for bug #15926 , flushing TCP output in do_close().
2006-08-07 10:00:44 +00:00
christiaans
d8922d0410
Added minimalistic SNMP GET functionality.
2006-07-14 12:54:38 +00:00
christiaans
5c628d2a61
Added netif SNMP init.
2006-07-14 11:17:00 +00:00
christiaans
54bb20b486
Added SNMP statistics to struct netif and changed SNMP macro glue.
2006-07-14 09:58:02 +00:00
christiaans
57a6eaae7b
Added SNMP debug options.
2006-07-10 12:41:25 +00:00
christiaans
7a5cb21056
Fixed (experi)mental typo.
2006-07-07 11:33:36 +00:00
christiaans
333c3f18c0
Initial commit. Expirimental code, please note this is not yet fully functional.
2006-07-07 09:49:31 +00:00
christiaans
12f9adbdd3
Added ip_frag_init() prototype.
2006-07-04 08:24:55 +00:00
christiaans
a5cab96ff3
Added ip_frag_init() and some LWIP_DEBUGFs.
2006-07-04 08:24:17 +00:00
christiaans
dd060ceed3
Added ip_frag_init() to ip_init().
2006-07-04 08:23:33 +00:00
christiaans
63140ca7f8
Applied patch for cold case bug #11135 .
2006-06-27 10:33:52 +00:00
christiaans
cbe83f32b6
Honoured Pedro Alves namespace request, following lwip style struct naming.
2006-06-22 11:22:47 +00:00
christiaans
3bffb0a181
Added struct obj_id and a few system group access funcs.
2006-06-22 09:33:10 +00:00
christiaans
09dc9c89a8
Added mib-2 snmp group statistics prototypes.
2006-06-19 13:04:11 +00:00
christiaans
09707a3e81
Prepared some SNMP options.
2006-06-19 13:03:09 +00:00
christiaans
d821277430
Fixed cold case bug #1748 , printing of mem_size_t and u16_t statistics.
2006-06-15 07:10:04 +00:00
christiaans
1f01634029
Applied patch #5146 to handle allocation failures in accept() by Kevin Lawson.
2006-06-14 08:02:35 +00:00
curtmcd
dd314e1bdf
Fix incorrect calculation of dhcp->dns_count.
...
Comment out unused static dhcp_get_option_short() to avoid warning.
2006-06-08 00:16:56 +00:00
curtmcd
1dae102359
Fix debug print, remove reference to TCP_COARSE_TIMEOUT
2006-05-31 21:23:26 +00:00
curtmcd
b306594cad
Remove unused mem_reallocm
2006-05-31 21:23:01 +00:00
curtmcd
b60b7cf8fe
Use isprint() instead of isascii() as it's more common
...
Change return type of inet_aton from s8_t to int (standard)
Touch up comments and white space
2006-05-30 19:09:41 +00:00
curtmcd
0148128881
Fix gcc warning per discussion on lwip-users 2006.04.25: dereferencing
...
type-punned pointer will break strict-aliasing rules. Use memcpy
instead of structure copy; code is not in critical path.
2006-05-26 19:05:41 +00:00
curtmcd
076a884651
Add comment about purpose of struct ip_addr2.
...
Improve white space formatting, add parens in IP4_ADDR().
2006-05-26 18:52:27 +00:00
christiaans
7026bbcdd4
Removed conn->sem creation and destruction from netconn_write() and added sys_sem_new to netconn_new_*
2006-05-26 07:39:39 +00:00
curtmcd
6158aa684b
udp_input() operated by removing the IP and UDP headers, putting back
...
the UDP header, then re-removing it. However, pbuf_header() can't add
back the UDP header on pbufs of type PBUF_REF, so these would all get
dropped for bad checksum. This change addresses the problem and
simplifies things by stripping each header just once.
2006-05-26 02:40:54 +00:00
curtmcd
047e3455f7
Improve formatting by fixing wrong indents and lines too long.
2006-05-26 01:36:16 +00:00
christiaans
9ca9649c1b
Disabled ARP table update on ingress IP packets.
2006-05-05 13:34:13 +00:00
christiaans
7fc966dced
Optimized for speed and size. Test against zero for both the inverted and non-inverted address. (old and new-style broadcasts)
2006-04-24 07:26:06 +00:00
curtmcd
680afa4229
memp_memory could be unaligned, causing one buffer in the memp pool to
...
be unaligned, resulting in nasty random data corruption on some CPUs.
Also, clean up the code a little and save a few bytes.
2006-04-12 21:07:44 +00:00
likewise
313743c833
Fix for out-of-sequence FIN handling, patch by Oleg Tychev.
2006-04-08 00:36:25 +00:00
likewise
6cb19d7e34
Dangling inseg.p pointer fix by Pedro Alves.
2006-04-08 00:13:49 +00:00
christiaans
c9db715bae
addr->addr test size and speed optimalisation (helping a dumb compiler)
2006-04-04 07:21:54 +00:00
christiaans
7446e31fce
Address copy loops optimized for speed.
2006-03-29 13:16:40 +00:00
christiaans
94abf9d935
Added LWIP_PLATFORM_BYTESWAP optimalisation flag and macro glue.
2006-03-29 10:15:43 +00:00
christiaans
d9b4ab1658
Pbuf flag test size and speed optimalisation (helping a dumb compiler).
2006-03-28 15:06:33 +00:00
christiaans
39f8538776
Fixed compilation warning on sizeof(), reported by Beach at 20060320.
2006-03-21 08:28:15 +00:00
christiaans
61dc2e7dd5
Added pbuf_alloc() return value checks in ip_frag().
2006-03-03 11:25:36 +00:00
christiaans
11a820458f
Increased ip_reassbitmap size with 1, added assertions to catch boundary cases.
...
Beautified indentation again.
2006-03-02 15:45:19 +00:00
likewise
0b3b713123
Removed 'even sndbuf' fix in TCP, this fix was a ugly hack for the incomplete checksum routine that does not work now that the checksum routine is fixed.
2006-03-01 16:53:41 +00:00
christiaans
00f8cf57cd
Added IP reassembly timer.
2006-03-01 14:51:58 +00:00
christiaans
c55c375b0a
Removed tabs, default LWIP_HAVE_LOOPIF to 0 to slim footprint.
2006-03-01 10:41:23 +00:00
likewise
db76ca248b
2006-02-27 Merged patch by Curt McDowell
...
pbuf.c: Fix alignment; pbuf_init() would not work unless pbuf_pool_memory[] is properly aligned.
2006-02-27 14:11:19 +00:00
christiaans
182e1909b2
Patch from Curt McDowell fixes err_to_errno macro.
2006-02-13 08:14:11 +00:00
christiaans
3aea7bc053
Removed timer dependency on sys.c (raw-API). Beautified indentation.
2006-02-13 08:12:07 +00:00
christiaans
39c35732de
Code style fix, C++ into C comments.
2006-02-13 08:09:01 +00:00
christiaans
6c8850698d
Small optimalization for udp_input().
2006-01-02 12:06:02 +00:00
likewise
f8663a7129
Remove PCBs which stay in LAST_ACK state too long.
2005-12-20 11:03:18 +00:00