Dirk Ziegelmeier
0c06f09d6d
makefsdata.c: Adapt to new header include location
2015-12-09 12:48:02 +01:00
Joel Cunningham
a82c6122d5
Correct comment word usage in ip4_frag.c
...
This corrects word usage in ip4_frag.c:
* 'On' was used when it should have been 'one'
* 'Whole' was used when it should have 'hole'
2015-12-08 10:13:56 -06:00
Axel Lin
2e56f2d780
igmp: Optimize the implementation of igmp_start_timer
...
When LWIP_RAND is defined, calling LWIP_RAND() is not necessary if max_time <= 2
because group->timer will be set to 1 anyway.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-06 21:47:09 +01:00
Axel Lin
2562d637cd
tcp_out: Use LWIP_DBG_LEVEL_SERIOUS instead of magic number
...
Trivial clean up to avoid using magic number.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-06 21:38:12 +01:00
Dirk Ziegelmeier
f69b1841e0
Fix compile when netconn api is disabled but socket api is enabled.
...
Problem is that declaring functions as static in a public header will produce warnings in every file it is included because the static functions are not implemented.
Solution: When socket api is enabled, netconn is simply available, too
(Socket api uses netconn api internally)
2015-12-05 21:58:38 +01:00
Axel Lin
a3bccae173
Catch tcpip_callback call failure
...
tcpip_callback_with_block() can fail with ERR_MEM or ERR_VAL, and in the
error paths the code does not post the msg to the mailbox thus the
sys_sem_wait() call might wait forever. Fix it by testing return value of
tcpip_callback() and return error immediately.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-05 21:41:27 +01:00
Axel Lin
a21144b834
memp: Fixup LWIP_HOOK_MEMP_AVAILABLE() hook
...
I got below build warning if LWIP_HOOK_MEMP_AVAILABLE is defined.
src/core/memp.c: In function 'memp_free_pool':
src/core/memp.c:352:16: warning: variable 'old_first' set but not used [-Wunused-but-set-variable]
struct memp *old_first;
^
src/core/memp.c: In function 'memp_free':
src/core/memp.c:413:6: warning: 'old_first' may be used uninitialized in this function [-Wmaybe-uninitialized]
if (old_first == NULL) {
The LWIP_HOOK_MEMP_AVAILABLE() hook does not work, fix it.
Fixes: c838e1ed5b
("Implement possibility to declare private memory pools")
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-05 21:32:14 +01:00
Axel Lin
7f92660598
icmp: Fix memory leak in icmp_input() error paths
...
Ensure the newly allocated packet buffer is freed in error paths.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-05 21:25:15 +01:00
Axel Lin
3b60c855e1
netbuf: Move #include "lwip/opt.h" out of #if LWIP_NETCONN || LWIP_SOCKET guard
...
LWIP_NETCONN and LWIP_SOCKET are defined in opt.h,
so move #include "lwip/opt.h" out of #if LWIP_NETCONN || LWIP_SOCKET guard.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-05 21:22:34 +01:00
Axel Lin
a709041b8b
Remove unnecessary p->len checking for pbuf_alloc calls with PBUF_RAM type
...
pbuf_alloc() for PBUF_RAM type always return big enough memory on success.
So checking p->len is not necessary. Testing if p is NULL or not is enough.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-05 21:21:59 +01:00
Dirk Ziegelmeier
8bb27ba8c4
Forgot to remove two SNMP options from opt.h that are now in lwip/apps/snmp_opts.h
2015-12-03 13:51:59 +01:00
Axel Lin
bd4c4b5959
Use SYS_ARCH_SET macro at appropriate places
...
Use SYS_ARCH_SET to simplify the code a bit.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-02 22:51:08 +01:00
Axel Lin
fb6d0f9006
ipaddr_aton: Avoid duplicate code to handle IPv4 address string conversion
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-02 22:51:00 +01:00
Axel Lin
6e863ecb50
dns: Remove always true test in dns_alloc_random_port
...
The only way to exit the do-while loop is err != ERR_USE.
Thus get rid of the always true test.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-02 22:37:26 +01:00
Axel Lin
764bf251cd
igmp: Drop unneeded initialization for *group in igmp_lookup_group()
...
It's assigned to the return value of igmp_lookfor_group() immediately.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-02 22:32:50 +01:00
Axel Lin
91586bc6f6
Drop #if TCP_DEBUG guard around tcp_debug_print_state calls
...
The #if TCP_DEBUG guard can be removed because tcp_debug_print_state()
print nothing if !TCP_DEBUG.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-12-02 22:32:42 +01:00
Axel Lin
f971fb921e
Simplify testing minimum priority in tcp_kill_prio()
...
Simplify the code a bit by setting mprio = LWIP_MIN(TCP_PRIO_MAX, prio)
before the for loop.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-11-20 21:41:14 +01:00
Axel Lin
c730e45f0c
Trivial comment fix about calling tcp_slowtmr
...
Trivial typo fix.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-11-20 21:36:38 +01:00
Axel Lin
5c27429958
memp: Fix if MEMP_OVERFLOW_CHECK guard in memp_free_pool
...
Current code already checks memp_overflow_check_all() in memp_free() if
MEMP_OVERFLOW_CHECK >= 2. So in memp_free_pool(), it should use
MEMP_OVERFLOW_CHECK == 1 instead.
Fixes: c838e1ed5b
("Implement possibility to declare private memory pools")
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-11-19 22:06:42 +01:00
goldsimon
8010d6706e
fixed bug #46471 : lwip_accept() leaks socket descriptors if new netconn was already closed because of peer behavior
2015-11-19 07:33:55 +01:00
Axel Lin
9c6708513a
Drop unnecessary NULL test for h->next->next in memp_sanity
...
The h will point to NULL if h->next->next is NULL anyway.
So remove the unnecessary NULL test for h->next->next in each iteration.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-11-19 07:23:55 +01:00
Axel Lin
21b9b5e741
Slightly improve raw_remove()/udp_remove() implementation
...
There should be no duplicate pcb in raw_pcbs/udp_pcbs list.
So the implementation of raw_remove()/udp_remove() can break from the for
loop once the target pcb is found and removed from the list.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-11-19 07:21:00 +01:00
Dirk Ziegelmeier
3f49b85680
Update header include guard naming of all apps headers
...
Unbreak compilation, lwip/apps/snmp.h guard clashed with lwip/snmp.h
2015-11-18 20:21:56 +01:00
Dirk Ziegelmeier
65bb7a623c
snmp.h: Add missing #if around function prototypes
2015-11-18 08:18:04 +01:00
Dirk Ziegelmeier
4293c1e138
snmp.h: Fix header include guard
2015-11-18 08:08:37 +01:00
Dirk Ziegelmeier
b8e94ec066
lwiperf: TX buffer can be static
2015-11-18 07:52:04 +01:00
Dirk Ziegelmeier
e15872982e
Add iperf to apps;
...
Fix compile of lwiperf.c
2015-11-18 07:46:39 +01:00
Dirk Ziegelmeier
e4f7ddacb3
Add Filelists.mk file containing all LWIP files. May be useful for client projects.
2015-11-16 21:54:01 +01:00
Dirk Ziegelmeier
c69dede728
Move httpd from contrib to main git repository
2015-11-16 12:27:24 +01:00
Dirk Ziegelmeier
39370db55d
Implement API function to iterate over stable ARP table entries
2015-11-16 09:53:23 +01:00
Dirk Ziegelmeier
73bb986737
Also fix compile of ethernetif.c after SNMP refactoring
2015-11-16 09:49:32 +01:00
goldsimon
98b9d31f24
Fixed compiling with LWIP_TCP==0
2015-11-16 09:37:56 +01:00
Axel Lin
ecf9d25ed0
api_msg_c: remove superfluous NETCONN_SET_SAFE_ERR call before TCPIP_APIMSG_ACK
...
The TCPIP_APIMSG_ACK will call NETCONN_SET_SAFE_ERR for both
LWIP_TCPIP_CORE_LOCKING and !LWIP_TCPIP_CORE_LOCKING cases.
So remove superfluous NETCONN_SET_SAFE_ERR call before TCPIP_APIMSG_ACK.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-11-16 09:12:29 +01:00
Axel Lin
668d461104
dns: Fix dns_alloc_pcb for reuse an existing one case
...
The logic to use an already existing pcb is wrong because the idx never
advanced in the for loop, so it keep checking the same dns_pcbs[idx] for
each loop iteration. Fix it.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2015-11-16 09:09:31 +01:00
Dirk Ziegelmeier
cacbd596c9
Move some prototypes from snmp_msg.h to snmp.h because they are used by user code
2015-11-14 19:50:57 +01:00
Dirk Ziegelmeier
6203737093
Rename snmp_mib2.h to snmp.h so source compatibility for user netif implementations is preserved
2015-11-12 21:25:42 +01:00
Dirk Ziegelmeier
5f642eb3e3
Completely decouple SNMP stack from lwIP core by using private memory pools;
...
Move SNMP stack to apps;
API breaking change: Users need to call snmp_init() now!
2015-11-12 21:21:14 +01:00
goldsimon
92a241a29e
Fixed bug #46365 : tcp_accept_null() should call tcp_abort()
2015-11-12 10:40:49 +01:00
Dirk Ziegelmeier
c838e1ed5b
Implement possibility to declare private memory pools. This is useful to decouple some apps from the core (SNMP stack) or make contrib app useage simpler (httpserver_raw) .
2015-11-12 08:45:04 +01:00
Dirk Ziegelmeier
d38db89626
Export tcp_pcb_lists from tcp.c - can be used in SNMP code to implement MIB2 tcp connection tables
2015-11-12 08:09:44 +01:00
Dirk Ziegelmeier
3f0b1e2cdc
Remove global variable used in macros, it can be declared locally.
2015-11-12 08:07:22 +01:00
sg
f518c6578c
fixed bug #46321 : Synchronization bug around lwip_select() and tcpip_thread() with thread-local semaphores
2015-10-29 22:20:21 +01:00
sg
2dec8f449a
minor: fixed typo: even_callback -> event_callback
2015-10-29 22:18:41 +01:00
Joel Cunningham
1ef913cd36
Update snd_queuelen comment documentation
...
This commit updates the snd_queuelen comment documentation to reflect
that snd_queuelen tracks the number of pbufs currently in the send
buffer (unsent + unacked queues) rather than the number of pbufs
available in the buffer (which was what previous comment implied)
2015-10-26 09:33:39 -05:00
Joel Cunningham
affc6d61ca
Update socket options comments
...
This commit updates socket option comments to reflect which ones are
currently supported:
* SO_REUSEPORT is no longer implemented
* SO_SNDTIMEO is implemented
2015-10-16 13:18:39 -05:00
sg
f278b27119
pppapi/ppos: include tcpip_priv.h, not tcpip.h
2015-10-11 13:37:25 +02:00
Sylvain Rochet
37bb0b89f0
all: trivial include changes related to the new "lwip/priv/" include directory
2015-10-10 22:46:47 +02:00
sg
02bddd251a
re-added tcpip.h (removed because the better part of the file moved to "priv/tcpip_priv.h", which was more worth conserving the git history - how do you duplicate a file keeping its history in both copies??)
2015-10-09 22:00:32 +02:00
sg
c12fa7b4c4
started to move "private" header files containing implementation details to "lwip/priv/" include directory to seperate the API from the implementation.
2015-10-09 21:58:58 +02:00
sg
b32751a693
moved dhcp.c to src/core/ipv4/ since it is IPv4 only
2015-10-09 21:06:08 +02:00
sg
fc1db87318
Fixed compiling api with LWIP_NETCONN_SEM_PER_THREAD==1 && LWIP_MPU_COMPATIBLE==1
2015-10-09 21:00:21 +02:00
sg
365f3fb651
Make LWIP_RAW==0 the default, raw IP sockets/pcbs should not be too common to justify the increased codesize for default setups
2015-10-09 20:47:32 +02:00
sg
a7ee681515
netbios -> netbiosns, added netbiosns_opts.h, added netbiosns_set_name() and netbiosns_stop()
2015-10-08 22:13:00 +02:00
sg
b02bcde8e0
added netbios name server from contrib (-> netbiosns)
2015-10-08 22:05:55 +02:00
sg
bef5ccda0b
removed spaces at line ending, fixed include guard
2015-10-08 21:46:43 +02:00
sg
a2cd2ae5a8
lwiperf: fixed const-cast warning
2015-10-08 21:22:35 +02:00
sg
698e20a990
Added lwiperf, a simple ipv4/tcp iperf peer
2015-10-08 21:14:14 +02:00
sg
b6ad76fe1a
fixed header include guard, fixed FILES
2015-10-08 21:13:42 +02:00
sg
22957a8082
added sntp_opts.h (all options for the sntp app), added FILES to describe the include folder
2015-10-07 22:24:32 +02:00
sg
8dfd5e82cb
first 'app': added SNTP client from contrib (unmodified from 196cbae376dfd484b4833503dd43057b4c3462fa, 28.08.2015)
2015-10-07 22:16:48 +02:00
goldsimon
65efeec4e9
fixed bug #46145 tcp_send_empty_ack() uses wrong netif with LWIP_HOOK_IP4_ROUTE_SRC (patch by Milan Cermak)
2015-10-07 14:56:25 +02:00
goldsimon
15bb334e81
SNMP: use PBUF_RAM for sending, PBUF_POOL is mostly used for RX only (if this isn't followed, tcp can get stuck when ACKs don't come through - unless some PBUF_POOL pbufs are reserved for such RX)
2015-10-07 10:41:03 +02:00
goldsimon
77f906376e
minor: fixed coding style (lwip style)
2015-10-07 10:36:50 +02:00
goldsimon
9b22f167f1
minor: mib2: removed some blocks by defining common variables above the switch
2015-10-07 10:13:20 +02:00
goldsimon
b401f42520
minor: fixed coding style (lwip style)
2015-10-07 10:03:12 +02:00
goldsimon
2949449e25
minor: SNMP: fixed coding style (lwip style)
2015-10-07 10:01:23 +02:00
sg
2b971400fa
minor: coding style
2015-10-06 21:57:40 +02:00
sg
22df34fc70
minor/coding style: removed spaces before line ending (from file header)
2015-10-06 21:13:15 +02:00
sg
490581a0eb
minor/coding style: removed spaces before line ending
2015-10-06 21:08:28 +02:00
goldsimon
0737cfb84e
Fixed bug #46128 (patch by Kerem Hadimli)
2015-10-06 12:42:25 +02:00
Erik Ekman
58895c3cf6
PPP: Fix shadowing of global declaration 'sha1'
...
lwip/src/netif/ppp/mppe.c: In function `mppe_rekey':
lwip/src/netif/ppp/mppe.c:74:15: error: declaration of`sha1' shadows a global declaration [-Werror=shadow]
lwip/src/include/netif/ppp/polarssl/sha1.h:88:6: error: shadowed declaration is here [-Werror=shadow]
2015-10-06 11:13:30 +02:00
Erik Ekman
7fb832aa4e
PPP: Fix shadowing of global declaration
...
Older compilers don't like variables with the same name as
global functions. md5.h contains a function md5(), rename
md5 variable in magic.c to md5_ctx.
2015-10-06 09:56:00 +02:00
Erik Ekman
673c6505ae
PPP: Fix shadowing of global declaration
...
Older compilers don't like variables with the same name as
global functions. md5.h contains a function md5(), rename
md5 variable in magic.c to md5_ctx.
lwip/src/netif/ppp/magic.c: In function `magic_churnrand':
lwip/src/netif/ppp/magic.c:105:15: error: declaration of `md5' shadows a global declaration [-Werror=shadow]
lwip/src/include/netif/ppp/polarssl/md5.h:88:6: error: shadowed declaration is here [-Werror=shadow]
lwip/src/netif/ppp/magic.c: In function `magic_random_bytes':
lwip/src/netif/ppp/magic.c:165:15: error: declaration of `md5' shadows a global declaration [-Werror=shadow]
lwip/src/include/netif/ppp/polarssl/md5.h:88:6: error: shadowed declaration is here [-Werror=shadow]
2015-10-05 18:24:30 +02:00
Erik Ekman
1fef434f01
PPP: Fix shadowing of global declaration
...
Older compilers (GCC 4.6) don't like variables with the same name as
global functions:
lwip/src/netif/ppp/lcp.c: In function 'lcp_received_echo_reply':
lwip/src/netif/ppp/lcp.c:2685:11: error: declaration of 'magic' shadows a global declaration [-Werror=shadow]
lwip/src/include/netif/ppp/magic.h:101:7: error: shadowed declaration is here [-Werror=shadow]
magic.h contains a function named magic(), so rename the variable.
2015-10-04 11:11:57 +02:00
Erik Ekman
f80d0dab08
Remove old comments about DHCP setting netif up
2015-10-03 21:31:48 +02:00
sg
fb1ac8d766
snmp mib2: more const
2015-10-03 20:34:56 +02:00
Dirk Ziegelmeier
bc47bd28ab
snmp mib2: more nodes can be const
2015-10-03 20:34:09 +02:00
Dirk Ziegelmeier
5cf4771397
snmp: eliminiate mib_ram_array_node (it is not necessary: to the agent, the nodes may be const since the actual mib implementation knows the structures behind the nodes which do not have to be const)
2015-10-03 20:27:49 +02:00
sg
8891b277c6
snmp: hopefully fixed all alignment warnings introduced today. unfortunately, gcc does not warn about them when compiling for x86
2015-10-02 21:59:40 +02:00
goldsimon
e4abd4234d
removed comma before }
2015-10-02 13:26:11 +02:00
goldsimon
fe33fd6d86
snmp: cleaned up mib_* structs: "base" class 'struct mib_node' only needs the type, get/set functions are not used on array/external nodes (only on scalar/listroot nodes)
2015-10-02 12:33:45 +02:00
goldsimon
bf75ace695
snmp: combine oid and node pointers in array entries
2015-10-02 10:53:17 +02:00
goldsimon
5b1b430403
sockets ERR_TO_ERRNO_TABLE_SIZE: use LWIP_ARRAYSIZE()
2015-10-02 10:07:45 +02:00
goldsimon
424bd7e38c
def.h: added LWIP_ARRAYSIZE() macro
2015-10-02 10:05:32 +02:00
goldsimon
180ed573a5
snmp_trap_dst_ip_set: ip_addr_t pointer can be const
2015-10-02 09:58:31 +02:00
goldsimon
a9b6b5b704
adapt init.c to moved declaration of snmp_init
2015-10-02 09:57:15 +02:00
goldsimon
064d171332
snmp: moved agent initialization from snmp_msg.h to snmp.h
2015-10-02 09:56:37 +02:00
goldsimon
30445712a5
snmp: make mib_scalar_node a "derived" struct like all other nodes
2015-10-02 09:56:00 +02:00
goldsimon
91b6d45178
struct netif->hostname can be a const pointer
2015-10-02 09:42:49 +02:00
sg
3312983b27
Make LWIP_DNS_SECURE and its possible values known in opt.h, remove default initialization of DNS server
2015-10-01 21:38:39 +02:00
sg
fecd1bde83
ip4_route: fixed checking twice for a valid default_netif, fixed checking loopback traffic before checking for a valid default netif
2015-10-01 21:17:59 +02:00
goldsimon
0176e03e36
mib2: one more '};' -> '}'
2015-10-01 10:21:52 +02:00
Dirk Ziegelmeier
9957cd4a2a
fixed bug #46089 : snmp: race condition on length change between get_object_def() and get_value()
2015-10-01 10:08:23 +02:00
Dirk Ziegelmeier
ae7eeda88a
dns_found_callback should take const IP addr
2015-09-30 22:19:47 +02:00
Dirk Zigelmeier
3f4d75c8d6
netif_get_ip6_addr_match/netif_add_ip6_address must take a const ip6addr to be usable
2015-09-30 20:55:08 +02:00
Dirk Ziegelmeier
7962b21c00
snmp: fixed ugly inheritance implementation by aggregating the "base class" (struct mib_node) in all derived node classes to get more type-safe code
2015-09-30 17:54:25 +02:00
goldsimon
59002d5081
mib2: only export 'internet', all other variables can be static
2015-09-30 17:42:19 +02:00
goldsimon
ce883d2041
minor: mib2.c: sys_tem_* -> system_* for everything but 'sys_tem' (without suffix)
2015-09-30 17:39:32 +02:00
goldsimon
96847c1199
snmp: added helper functions to encode/decode BITS pseudo type, added define for Counter64 type, minor layout changes
2015-09-30 17:24:53 +02:00
goldsimon
df1f12778f
snmp: moved noleafs_get/set functions from mib2.c to mib_structs.c, where they belong
2015-09-30 17:19:08 +02:00
goldsimon
dff234112b
minor: removed superfluous comma after '}' in mib2.c; removed superfluous comment on get-functions that follow a function typedef
2015-09-30 17:13:05 +02:00
goldsimon
e18e08ff08
minor: removed superfluous comma after '}' in msg_out.c
2015-09-30 17:09:04 +02:00
goldsimon
f3ed562983
minor: removed superfluous comma after '}' in dns.c
2015-09-30 17:01:57 +02:00
goldsimon
969fb4c981
minor: removed some trailing spaces in tcp.c
2015-09-30 17:00:57 +02:00
Erik Ekman
82fcc307ef
mld6: Simplify join/leavegroup()
...
Use netif_get_ip6_addr_match() helper to shorten the code.
2015-09-30 16:35:15 +02:00
goldsimon
1fdab5ac0e
Added/changed header of dhcp.c/.h
2015-09-30 16:33:48 +02:00
goldsimon
389831218e
Finished task #13731 : fix usage of "snmp_inc_*"
2015-09-30 15:54:43 +02:00
goldsimon
7b5ef3ae58
implement/remove missing IP counters in stats_mib2 (see task #13731 )
2015-09-30 15:05:52 +02:00
goldsimon
9d28549f32
minor: fixed coding style in mld6.c
2015-09-30 14:48:25 +02:00
Erik Ekman
6cdea62638
Add functions to join/leave v6 multicast group by netif
...
Existing functions are based on IP address, but the address is used
only to look up which netif to act on. The netif-based core code is
extracted to new exported functions.
If you have a netif handle, this makes it easier to join/leave
groups, without the need to convert to IP address first only for the
mld6 code to convert back to netif.
2015-09-30 14:44:45 +02:00
goldsimon
3dd0977635
minor: fixed coding style in igmp.c
2015-09-30 14:37:37 +02:00
Erik Ekman
ba71ac78d9
Add functions to join/leave IGMP group by netif
...
Existing functions are based on IP address, but the address is used
only to look up which netif to act on. The netif-based core code is
extracted to new exported functions.
If you have a netif handle, this makes it easier to join/leave
groups, without the need to convert to IP address first only for the
IGMP code to convert back to netif.
2015-09-30 14:29:37 +02:00
goldsimon
373714c02f
dns: improved handling 2nd server if first failed
2015-09-30 14:22:39 +02:00
goldsimon
927b72abd2
fixed bug #46072 : ip4addr_aton() does not check the number range of all address parts
2015-09-30 14:15:36 +02:00
goldsimon
f89e859415
minor: fixed coding style in ip4addr_aton()
2015-09-30 14:13:05 +02:00
goldsimon
dae73e21b8
minor: fixed coding style in ip4addr_aton()
2015-09-30 14:11:50 +02:00
goldsimon
f950bf4362
ipaddr_aton(): favour ':' over '.' to decide for IPv6 first (since IPv6 mapped IPv4 addresses might contain both ':' and '.')
2015-09-30 14:06:44 +02:00
goldsimon
0621e8d1b1
ip6addr_aton(): fail on three successive colons in an IPv6 address string
2015-09-30 14:05:13 +02:00
goldsimon
5a185a0fbd
minor: fixed coding style in ip6addr_aton()
2015-09-30 13:55:09 +02:00
goldsimon
45fd622491
Fixed bug #46071 Logic error in line 1473 in dns.c
2015-09-30 13:36:13 +02:00
goldsimon
5e7a74e2e7
fixed bug #46064 : ip_set_v6() must set pcb ip address types as well
2015-09-28 09:36:36 +02:00
goldsimon
94625a8fa8
MIB2_STATS: moved netif related mib2 counters into a struct (defined in stats.h), added ifInErrors/ifInUnkownProtos (now handled in etharp.c) and ifOutErrors
2015-09-28 08:50:21 +02:00
goldsimon
dbe703cfb0
netdb: fixed warning about pointless comparison
2015-09-28 08:10:53 +02:00
goldsimon
bc30899168
fixed compiler warnings where passing variable instance to ip_addr_isany
2015-09-28 07:56:52 +02:00
Sylvain Rochet
d39f929675
PPP: magic: don't truncate sys_jiffies() return value
...
It used to be this way because the original implementation was close to
the hardware and used a free running 16 bits timer so it was necessary.
Currently what it is only doing is removing potential entropy we might
get from upper bits, that's a bad idea.
2015-09-27 17:15:31 +02:00
Sylvain Rochet
b589864144
sys.h: fixed comment, sys_msleep() is in ms, not in jiffies
2015-09-27 00:05:58 +02:00
Sylvain Rochet
9e0202b38f
PPP, PPP_MAXIDLEFLAG is now in ms instead of jiffies
...
Jiffies isn't really a humanly readable value and it means the default
PPP_MAXIDLEFLAG period depends on the platform "jiffies" frequency,
which isn't nice.
Change PPP_MAXIDLEFLAG to use ms instead of jiffies, the current
PPP_MAXIDLEFLAG default (100 ms), looks like a sane value and is
left unchanged.
2015-09-26 23:01:15 +02:00
sg
ba41685353
PPP: include "ppp_settings.h" if PPP_INCLUDE_SETTINGS_HEADER is defined to be able to silence some warnings in PPP code only (at least msvc needs this since PPP produces more warnings than the rest)
2015-09-24 22:04:48 +02:00
sg
bb91bd2279
fixed coding style: use more ()
2015-09-24 21:04:20 +02:00
Sylvain Rochet
8b2c73de4e
ip4: routing: check peer for point to point interfaces
...
gw netif field for point to point interfaces is the peer IP address.
Check if the destination is equals to the gw field of point to point
interfaces (broadcast flag is not set) when routing an IP packet.
2015-09-24 21:01:52 +02:00
goldsimon
715d8d3881
simplify FDSETSAFESET()/FDSETSAFEGET(): p is not required
2015-09-24 15:34:54 +02:00
goldsimon
5ad743e182
FD_SET: dump NULL-check that hides usage error, dump non-standard FD_SET_VAL
2015-09-24 15:21:03 +02:00
goldsimon
b0917d987a
Cleaned up using struct netif.ip_addr by creating API functions for it
2015-09-24 14:57:16 +02:00
goldsimon
99d2e5233d
struct udp_pcb.multicast_ip must be an ip_addr_t, too, to completely avoid temporary storage
2015-09-24 14:55:55 +02:00
goldsimon
e11e12f01d
Fixed ETHARP_TRUST_IP_MAC after changing struct netif.ip_addr/netmask to ip_addr_t
2015-09-24 14:46:29 +02:00
goldsimon
c71723101a
Removed ip_2_ip4/6_c const macros again now that ip_2_ip4/6 macros keep the original const'ness
2015-09-24 14:38:52 +02:00
goldsimon
262a641396
eliminate temporary storage when using netif addresses for ip_addr_t* now that they have the correct type (ATTENTION: ip6_select_source_address() and ip4_netif_get_local_ip() now return ip_addr_t*!)
2015-09-24 14:34:24 +02:00
goldsimon
4d2f4ce78c
udp: don't use ip4_2_ip() where not required
2015-09-24 10:39:13 +02:00
goldsimon
51ce505d7d
Simplify ip_2_ip6/4(_c) macros (and removed LWIP_ALLOW_STATIC_FN_IN_HEADER) -> now the *_c versions should not be required any more
2015-09-24 10:13:45 +02:00
goldsimon
f85737bf29
Fixed const warning in lwip_writev
2015-09-24 09:30:00 +02:00
goldsimon
ed4130bd2f
Fixed const errors after changing netif_ip4_addr/netif_ip6_addr to return cont pointers
2015-09-24 08:06:50 +02:00
goldsimon
0fbdd5e56e
fixed compiling LWIP_HAVE_LOOPIF after changing struct netif.ip6_addr to ip_addr_t
2015-09-24 07:58:29 +02:00
Joel Cunningham
cc4d09423a
Add writev function
...
This commit adds compatibility with POSIX writev according to the Open
Group specification:
http://pubs.opengroup.org/onlinepubs/009695399/functions/writev.html
Implementation maps to sendmsg in the same manner that write() maps to
send()
2015-09-23 15:52:28 -05:00
sg
db76671d4d
task #13729 : Convert netif addresses (IPv4 & IPv6) to ip_addr_t (so they can be used without conversion/temporary storage)
2015-09-23 22:09:37 +02:00
sg
05e6f06b62
Fixed IP_ADDR6 macro for IPv6 only
2015-09-23 22:07:34 +02:00
sg
f36adac8ab
fixed compiling udp.c for IPv6-only
2015-09-23 22:07:14 +02:00
sg
121268d320
Added ip_addr_set_zero_ip4() to explicitly set the type to IPv4 for dual-stack
2015-09-23 21:56:34 +02:00
goldsimon
e6b6543c33
igmp: use netif_ip4_addr() instead of directly accessing struct netif member
2015-09-23 16:26:56 +02:00
Dirk Ziegelmeier
e00e4a6c13
make netif_ip4_* get accessors return const pointers
2015-09-23 13:19:56 +02:00
Sylvain Rochet
2f40d19193
trivial CVS to Git renaming
2015-09-22 21:09:57 +02:00
goldsimon
abc74464a0
Revert "make netif_ip4_addr/netmask/gw macros return constant IP address pointers"
...
This reverts commit b9b31a5e72
.
2015-09-22 11:42:41 +02:00
Dirk Ziegelmeier
b9b31a5e72
make netif_ip4_addr/netmask/gw macros return constant IP address pointers
2015-09-21 20:32:14 +02:00
Sylvain Rochet
8eab90418a
PPP, auth, code cleaning: removed useless variables on stack
2015-09-18 22:51:32 +02:00
Sylvain Rochet
83cddd8941
PPP: more const and mixed u_char/char types fixes
2015-09-18 20:11:09 +02:00
sg
cb6adc643b
PPP: more const fixes
2015-09-17 22:20:12 +02:00
sg
0454950564
fixed compiling for various config combinations
2015-09-17 22:19:37 +02:00
sg
4f9bcc5ecc
fixed compiler warnings reported by mingw-64
2015-09-17 22:00:16 +02:00
sg
39e32ea7c1
fixed const warning for !IPV6_FRAG_COPYHEADER
2015-09-17 21:59:54 +02:00
sg
2f3dcf7a16
fixed compiling lwip_sendmsg for LWIP_NETIF_TX_SINGLE_PBUF && LWIP_CHECKSUM_ON_COPY
2015-09-17 21:36:25 +02:00
sg
6f0dceee09
fixed some printf formatters (mainly for window scaling code)
2015-09-17 21:33:25 +02:00
sg
9614c60cf6
fixed constness for DNS_LOCAL_HOSTLIST_IS_DYNAMIC
2015-09-17 21:32:11 +02:00
Dirk Ziegelmeier
cca758d332
Fixed using wrong sockaddr type in lwip_getaddrinfo when IPv6 is enabled
2015-09-17 20:55:44 +02:00
Robert Szewczyk
52a4ca99a8
pbuf_take: make it comply with API specifications
...
LWIP_ERROR macro exited the function early with the return code
indicating a SUCCESS. Fix the error codes. Return the specified
error code for cases when the pbuf is too short.
2015-09-17 17:05:01 +02:00
Joel Cunningham
72b3f3f612
Hook up TCP cachehit stat
...
This commit hooks up the TCP cachehit stat to the PCB locality feature
so that when a PCB is moved to the head of the list and a segment comes
in, we consider this a cache hit
This also matches the usage of the cachehit stat in UDP
2015-09-17 17:02:39 +02:00
Dirk Ziegelmeier
f62022cdf3
Compiler warning fixes (mostly constness in dual-stack configurations)
2015-09-17 13:59:52 +02:00
goldsimon
726af89168
minor compiler warning fixes and coding style
2015-09-17 11:00:21 +02:00
Joel Cunningham
c1c1754171
Sockets: add sendmsg
...
Adds sendmsg implementation for TCP and UDP sockets. Control messages
are not supported at this point, but could be added in the future
https://savannah.nongnu.org/bugs/?44805
Change-Id: Iddb287fd4b693f7563f8c923f76785cdde782d2f
2015-09-16 15:49:02 -05:00
sg
68a1ec2eb1
Fixed passing ip_input() to netif_add() for single-IP-version NO_SYS configurations
2015-09-16 22:09:54 +02:00
chrysn
b85b554db1
PPP, FSM, don't call memcpy with NULL even when size = 0
2015-09-16 16:03:15 +02:00
goldsimon
dc04118469
fixed missing comment after #endif
2015-09-15 08:19:26 +02:00
Joel Cunningham
7276f49f54
Fix typos from task #12243
...
This fixes two typos spotted during visual inspection of changes related
to task #12243
2015-09-14 20:43:21 +02:00
Sylvain Rochet
4704c9a0ad
tcp: fixed CHECKSUM_GEN_TCP feature (misplaced #define)
2015-09-14 14:48:35 +02:00
Sylvain Rochet
c15b357889
PPP, merged ppp_link_set_callbacks() into ppp_new()
2015-09-13 18:28:06 +02:00
Sylvain Rochet
46204a9f86
PPP, reorder initialisation of low level protocols to call ppp_link_set_callbacks() just after PPP control block allocation
2015-09-13 18:21:14 +02:00
Sylvain Rochet
5b07569eb9
PPP, remove now unused ioctl callback from link_callbacks structure
2015-09-13 17:59:14 +02:00
Sylvain Rochet
b55412a0c4
PPP, PPPoS, replaced static sio_write() calls to a user defined callback
...
The overall lwIP design on data flows (netif,udp,tcp) is to use a user
defined callback to get data from stack and a static function to send
data to stack, which makes perfect sense. The SIO port was an exception,
the PPP stack never really used the SIO port by only using the
sio_send() function (and the ignominious sio_read_abort() function a
while back).
The way the SIO port is currently designed adds a tight coupling between
the lwIP port and the user code if the user need to do specific user
code if the current uart used is the PPPoS uart, which is not nice,
especially because all the lwIP stack is quite clean at this subject.
While we are at stabilizing the PPP API, change this behavior before
it's too late by replacing the static sio_write() calls to a user
defined callback.
2015-09-13 17:53:16 +02:00
Sylvain Rochet
41ee45d9f7
PPP: fix constness in PPP related files when PRINTPKT_SUPPORT is enabled
2015-09-09 20:28:01 +02:00
Dirk Ziegelmeier
79e7201854
PPP: fix constness in PPP related files (GCC -Wcast-qual)
...
Signed-off-by: Dirk Ziegelmeier <dirk@ziegelmeier.net>
2015-09-09 14:05:35 +02:00
goldsimon
7702ed66a0
fixed compiler warning (stray 'a ' in code) - why is this a warning only???
2015-09-08 09:52:22 +02:00
goldsimon
b8d7a2b8e6
fixed comment, fixed unused parameter in mppe_compress()
2015-09-08 09:50:30 +02:00
goldsimon
8a0fb03e21
Separate mib2 counter/table callbacks from snmp agent. This both cleans up the code and should allow integration of a 3rd party agent/mib2.
2015-09-08 09:47:30 +02:00
sg
1e4f312352
fixed compiling DNS code again
2015-09-08 06:03:27 +02:00
sg
77270adb96
Changed dns_gethostbyname_addrtype() to always be a function, fixed code for C PP :-(
2015-09-07 22:33:10 +02:00
sg
42170e4e57
fixed unused variable warning
2015-09-06 14:28:41 +02:00
Sylvain Rochet
318ba1decd
dns: fixed trivial compiler warning
...
lwip/src/core/dns.c:1471:8: warning: extra tokens at end of #endif directive [-Wendif-labels]
#endif LWIP_IPV4 && LWIP_IPV6
2015-09-06 11:27:33 +02:00
sg
1fbbf0e837
lwip_getaddrinfo: check max name length
2015-09-04 21:12:39 +02:00
sg
6795590603
fixed missing #endif
2015-09-04 21:02:24 +02:00
goldsimon
196120fabd
worked on task #12243 (Add support for AAAA/IPv6 records to DNS)
2015-09-04 13:57:20 +02:00
goldsimon
dd3725a452
task #12243 : DNS/IPv6: added support for AAAA records
2015-09-04 12:16:14 +02:00
goldsimon
c8cd67c989
fixed pointer type of value passed for snmpenableauthentraps (broken in 2010)
2015-09-03 14:02:30 +02:00
Stian Sebastian Skjelstad
aea87a9a2f
Forget addresses set up by SLAAC when prefix expires.
2015-09-02 13:12:52 -06:00
sg
aa0e41c389
task #12178 : hardware checksum capabilities can be configured per netif (use NETIF_SET_CHECKSUM_CTRL() in your netif's init function)
2015-09-01 22:04:15 +02:00
Sylvain Rochet
c4a1cad81b
PPP, magic, build-out useless code when LWIP_RAND is defined
2015-09-01 10:29:53 +02:00
Sylvain Rochet
0f3fbb267b
PPP, magic, call magic_randomize() for all packets
...
magic_randomize() wasn't actually called for IP4/IP6 packets, fixed
2015-08-31 10:20:12 +02:00
Sylvain Rochet
a17b3fc838
PPP, magic, improved magic_randomize() when using PPP_MD5_RANDM
...
Added the random seed already used without PPP_MD5_RANDM
as an entropy source when PPP_MD5_RANDM feature is enabled.
(And a little bit of code cleaning for both)
2015-08-31 10:20:12 +02:00
goldsimon
dd8feb49aa
PBUF_REF with "custom" pbufs is now supported for RX pbufs (see pcapif in contrib for an example, LWIP_SUPPORT_CUSTOM_PBUF is required)
2015-08-31 08:29:23 +02:00
goldsimon
b572028e95
ethernet_input: pass IPv4 packets to ip4_input, not to ip_input
2015-08-31 08:26:44 +02:00
sg
a01a1b4556
support IPv4 source based routing: define LWIP_HOOK_IP4_ROUTE_SRC to point to a routing function
2015-08-30 21:54:39 +02:00
Sylvain Rochet
36305e5bd8
PPP, magic, use LWIP_RAND() if available
...
If LWIP_RAND() is available, it is used instead of libc srand()/rand()
if PPP_MD5_RANDM is disabled and it is added as a source of randomness
if PPP_MD5_RANDM is enabled.
2015-08-30 21:09:39 +02:00
Sylvain Rochet
541e3b6eb4
PPP, magic, improved magic_randomize() for PPP_MD5_RANDM is not enabled
...
A disabled PPP_MD5_RANDM should not be used when challenge are used, but
anyway, improved magic_randomize() so magic_randomseed is not equals to
sys_jiffies() which is pretty useless because that's fully predicable.
2015-08-30 21:09:39 +02:00