goldsimon
97a9fe1b10
Fix compiling lowpan6_ble.c on travis
2018-03-22 08:48:53 +01:00
Axel Lin
e9ee3c4b58
add lowpan6_common.c to Filelists.mk
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-03-22 08:39:20 +08:00
goldsimon
8adfc730ec
lowpan6_ble.c: use common functions from lowpan6_common.c
2018-03-21 22:57:45 +01:00
goldsimon
ac03107036
lowpan6_common.c: add comments from ble version
2018-03-21 22:53:08 +01:00
goldsimon
a4b9beef04
Move common 6LoWPAN code to new file lopwan6_common.c
...
This is mainly IPHC (de)compression.
TODO: adapt the 6LoWPAN-over-BLE netif to this.
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-03-21 20:55:05 +01:00
goldsimon
c974fc9d43
http_client: fix compiling if mem_size_t is smaller than size_t
2018-03-21 09:33:00 +01:00
goldsimon
c881c48eed
netif_add: check that the new netif is not already added
2018-03-21 09:32:39 +01:00
Axel Lin
600527dde7
apps/http: httpd: Fix unused parameter warning if !LWIP_HTTPD_SUPPORT_V09
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-03-21 15:05:33 +08:00
Axel Lin
e19d908f0e
apps/http: Fix httpd_structs.h build error
...
Fixes: bug #53382 : HTTPD_ADDITIONAL_CONTENT_TYPES doesn't compile
Reported-by: Giuseppe Modugno <giuseppe.modugno.loqed@gmail.com>
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-03-19 21:08:17 +08:00
Dirk Ziegelmeier
104a629a51
zepif: Convert to dual-stack
2018-03-15 09:21:32 +01:00
goldsimon
d79416eee6
lowpan6: move a function to delete one prototype
2018-03-14 16:59:20 +01:00
Axel Lin
6070a7ef6a
netif: Add netif_do_ip_addr_changed function to reduce duplicated code
...
As the common code to call tcp/udp/raw_netif_ip_addr_changed is called
by multiple places, add netif_do_ip_addr_changed() to call them.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Simon Goldschmidt <goldsimon@gmx.de>
2018-03-14 22:59:17 +08:00
goldsimon
08bcfa2b29
netif: initialize netif->output with a dummy function for IPv6 only netifs
2018-03-13 20:29:37 +01:00
goldsimon
0074022bb5
minor: fix typos and spaces
2018-03-13 20:28:59 +01:00
Axel Lin
10ae311a93
lowpan6: Rework to speed up dequeue datagram process
...
Current implementation iterates the lowpan6_data.reass_list every time
dequeue_datagram() is called.
We can get previous lrh in all the context calling dequeue_datagram().
By adding a prev arguemnt to dequeue_datagram(), we can speed up the
dequeue datagram process.
All the callers never check return value of dequeue_datagram() as it
always return ERR_OR, thus make it return void instead.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Simon Goldschmidt <goldsimon@gmx.de>
2018-03-13 08:16:35 +08:00
Axel Lin
909037c2ca
api_lib: Remove superfluous #if LWIP_TCP in netconn_recv_data_tcp
...
netconn_recv_data_tcp() will be built only when LWIP_TCP=1.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-03-11 16:47:14 +08:00
goldsimon
16afe566ff
lowpan6: fix doc warning in clang
2018-03-09 13:40:15 +01:00
goldsimon
253fcc8dcd
http_client: call tcp_recved for header bytes
...
Without this, closing the connection after successful transfer resulted
in a RST being sent because the window was not fully marked as 'recved'.
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-03-09 11:30:23 +01:00
goldsimon
8d8572354b
lowpan6: fix bug #47291 (wrong datagram size for fragmentation)
...
Fragment datagram_size and datagram_offset should be calculated from the uncompressed datagram.
We did this on the compressed size and thus were not compatible to other implementations.
Now my test setup communicates with contiki sicslowpan.
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-03-09 11:28:35 +01:00
goldsimon
b86f9b97e0
lowpan6: refactor decompression to not allocate a pbuf
2018-03-09 06:37:59 +01:00
goldsimon
61a1b98cc9
various IPv6-only compile fixes
2018-03-07 20:55:00 +01:00
goldsimon
972f32dd47
zepif: fix compiling with IPv4 disabled
2018-03-07 19:58:09 +01:00
Axel Lin
971404ff90
http_client.h: Include lwip/pbuf.h
...
struct pbuf is used by httpc_headers_done_fn, thus need to include
lwip/pbuf.h.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-03-07 15:24:14 +08:00
Axel Lin
0411332856
api_msg.h: Fix build error when LWIP_NETIF_API && !LWIP_SOCKET && !LWIP_NETCONN
...
netifapi related lwIP internal definitions should be guarded
by #if LWIP_NETIF_API rather than #if LWIP_NETCONN || LWIP_SOCKET.
Fix below build errors:
cc -g -DLWIP_DEBUG -Wall -pedantic -Wparentheses -Wsequence-point -Wswitch-default -Wextra -Wundef -Wshadow -Wpointer-arith -Wcast-qual -Wc++-compat -Wwrite-strings -Wold-style-definition -Wcast-align -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Wunreachable-code -Wuninitialized -Wmissing-prototypes -Wredundant-decls -Waggregate-return -Wlogical-not-parentheses -Wlogical-op -Wc90-c99-compat -Wtrampolines -I. -I../../.. -I../../../../lwip/src/include -I../../../ports/unix/port/include -I../../../../mbedtls/include -Wno-redundant-decls -DLWIP_HAVE_MBEDTLS=1 -c ../../../../lwip/src/api/netifapi.c In file included from ../../../../lwip/src/api/netifapi.c:46:0:
../../../../lwip/src/include/lwip/netifapi.h:76:50: error: unknown type name 'netifapi_void_fn'; did you mean 'netif_init_fn'?
err_t netifapi_netif_common(struct netif *netif, netifapi_void_fn voidfunc,
^~~~~~~~~~~~~~~~
netif_init_fn
../../../../lwip/src/include/lwip/netifapi.h:77:29: error: unknown type name 'netifapi_errt_fn'; did you mean 'netif_input_fn'?
netifapi_errt_fn errtfunc);
^~~~~~~~~~~~~~~~
netif_input_fn
../../../../lwip/src/api/netifapi.c: In function 'netifapi_do_netif_add':
../../../../lwip/src/api/netifapi.c:67:22: error: dereferencing pointer to incomplete type 'struct netifapi_msg'
if (!netif_add( msg->netif,
^~
Fixes: 30a2283993
("Move netifapi private definitions to priv/api_msg.h")
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-03-07 07:58:10 +08:00
goldsimon
b6d9bb6b2a
http_client: check current state when receiving FIN
2018-03-06 21:51:13 +01:00
goldsimon
91a2d9e237
zepif: fix comment for calling netif->input()
2018-03-05 08:40:51 +01:00
goldsimon
5474498f7e
zepif: call netif->input instead of tcpip_6lowpan_input for rx packets
...
This allows reusing zepif e.g. with contiki 6LoWPAN code for testing.
2018-03-05 06:43:57 +01:00
Axel Lin
53ddb9244b
apps/sntp: Trivial build warning fix
...
Fix below build warning:
../../../../lwip/src/apps/sntp/sntp.c: In function ‘sntp_servermode_dhcp’:
../../../../lwip/src/apps/sntp/sntp.c:726:3: warning: ISO C90 forbids mixed declarations and code [-Wc90-c99-compat]
u8_t new_mode = set_servers_from_dhcp ? 1 : 0;
^~~~
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-03-04 19:18:26 +08:00
Dirk Ziegelmeier
91038e4979
Improve 6LoWPAN documentation
2018-03-03 11:09:57 +01:00
Dirk Ziegelmeier
08bf8b7121
Improve documentation for 6LOWPAN BLE and ZEPIF
2018-03-03 11:00:04 +01:00
goldsimon
282e1601ef
finally got zepif running
2018-03-02 13:01:05 +01:00
goldsimon
ab0e457066
lowpan6: change the name of 2 members to indicate usage for tx
2018-03-01 22:17:12 +01:00
goldsimon
a137e16ff8
lowpan6.c: fix referenced RFCs
2018-03-01 12:44:18 +01:00
goldsimon
6e62baaa6c
sockets.h: include <string.h> for memcpy in FD_ZERO
2018-03-01 09:05:29 +01:00
goldsimon
cb746a1aea
zepif: fix destination IP (default should be broadcast, not 0.0.0.0)
2018-03-01 07:08:03 +01:00
goldsimon
fcccc47be4
lowpan6.c: fix clang doc warnings
2018-03-01 07:00:32 +01:00
goldsimon
002ba1a66b
zeoif: ZEPIF_LOOPBACK should be 0 default, not 1
2018-03-01 06:15:55 +01:00
goldsimon
43778e5334
add zepif.c to Filelists.mk
2018-02-28 23:00:08 +01:00
goldsimon
43a55003da
Added a netif encapsulating 6LowPAN in ZEP (ZigBee Enxapsulation Protocol)
...
This protocol is sent over a 2nd netif via UDP/IP and can used to analyze
6LoWPAN with a Wireshark dissector.
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-28 22:58:48 +01:00
goldsimon
d9770d2c5f
tcpip_thread: TCPIP_MSG_INPKT: free input pbufs if the input function returns an error
...
This simply wasn't the case until 6LoWPAN. However, since tcpip_input is like this, we
should stay with that pattern.
Adapted documentation in netif.h
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-28 22:48:56 +01:00
goldsimon
3a8af612b3
lowpan6.c: handle 6-byte MAC addresses on netif, too
2018-02-28 22:46:55 +01:00
goldsimon
2a5b66c9b1
lowpan6.c: tiny whitespace fix
2018-02-28 22:32:58 +01:00
goldsimon
3a93029e92
lowpan6.c: implement software CRC (e.g. required for use with ZEP)
2018-02-28 21:39:38 +01:00
goldsimon
fe68fa49f7
lowpan6.c: refactor parsing and writing the ieee 802.15.4 header to separate function
2018-02-28 21:38:49 +01:00
goldsimon
5e91cd47c9
lowpan6.c: ensure netif->hwaddr_len == 8 (to not create invalid frames)
2018-02-28 21:09:55 +01:00
goldsimon
4f059fea76
fix some IEEE_802154_FC_ bit definitions
2018-02-28 21:03:40 +01:00
goldsimon
569464ffd3
lowpan6.c: move static variables declared inside lowpan6_frag into lowpan6_data
2018-02-28 20:42:31 +01:00
Axel Lin
6e6eb620df
tftp_opts.h: Make TFTP_DEBUG default OFF
...
TFTP_DEBUG should be enabled only when it's necessary to debug tftp,
make it default OFF.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-28 13:49:44 +08:00
Axel Lin
3c71e3fc77
lowpan6_ble_opts.h: Make LWIP_RFC7668_DEBUG default OFF
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-27 18:04:36 +08:00
Axel Lin
2e2c607727
lowpan6.c: Fix ‘lowpan6_context_lookup’ defined but not used build warning
...
Fix build warning with LWIP_6LOWPAN_NUM_CONTEXTS==0.
lowpan6_context_lookup() is only used when LWIP_6LOWPAN_IPHC &&
LWIP_6LOWPAN_NUM_CONTEXTS > 0.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-27 18:01:18 +08:00
goldsimon
49acdae8d0
lowpan6.c: fix building with LWIP_6LOWPAN_NUM_CONTEXTS==0
2018-02-27 10:07:15 +01:00
goldsimon
7db978ca03
lowpan6.c: rework lowpan6_input processing of the ieee 802.15.4 header
...
This should fix bug #48825 (lowpan6: source PAN ID is skipped without
checking PAN ID compression flag)
2018-02-26 21:47:24 +01:00
goldsimon
731b83ac5f
lowpan6.c: a netif input function must return ERR_OK only if the input pbuf was freed
2018-02-26 20:51:13 +01:00
goldsimon
fb5bbca1d9
lowpan6.c: move IEEE 802.15.4 definitions to their own header file
...
This is mainly a preparation to merge the two 6LoWPAN netifs
2018-02-26 20:38:41 +01:00
goldsimon
a022590f40
lowpan6.c: move netif-specific data to a common struct
2018-02-26 20:32:39 +01:00
Axel Lin
c28aa02820
lowpan6_ble: Convert to use pbuf_remove_header instead of pbuf_header
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-26 10:20:05 +08:00
goldsimon
e7766297de
dhcp6_disable: need to set pcb_allocated to zero
...
See bug #53224 : dhcp6_disable() pcb_allocated need set to zero.
2018-02-25 13:20:28 +01:00
Axel Lin
265f6f5047
lowpan6_ble: Fix build warning if LWIP_RFC7668_LINUX_WORKAROUND_PUBLIC_ADDRESS==0
...
Fix unused parameter ‘public_addr’ build warning if
LWIP_RFC7668_LINUX_WORKAROUND_PUBLIC_ADDRESS==0.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-25 12:05:24 +08:00
Axel Lin
7697a45405
lowpan6_ble_opts.h: Add #ifndef guard for LWIP_RFC7668_LINUX_WORKAROUND_PUBLIC_ADDRESS
...
Avoid "LWIP_RFC7668_LINUX_WORKAROUND_PUBLIC_ADDRESS" redefined build
warning if it's set to 0 by lwipopts.h.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-25 12:01:01 +08:00
Our Air Quality
59e98ccb19
tcp_output_fill_options: account for the SACKS length in assertion.
2018-02-24 14:46:44 +01:00
goldsimon
56124bf53b
Add check in init.c: altcp does not work with LWIP_EVENT_API
2018-02-24 14:43:51 +01:00
goldsimon
a3034a442b
lowpan6_ble: fix compiling with LWIP_RFC7668_NUM_CONTEXTS==0
2018-02-24 11:39:31 +01:00
goldsimon
2ce3c79ec5
lowpan6_ble.c: travis complains...
2018-02-23 14:00:56 +01:00
goldsimon
a8d789e7b3
add lowpan6_ble.c to Filelists.mk
2018-02-23 13:19:27 +01:00
goldsimon
c510e92cf4
get lowpan6_ble.c to compile
2018-02-23 13:16:14 +01:00
goldsimon
69eaafecca
lowpan6_ble.c: fixed whitespace & indentation
2018-02-23 13:08:00 +01:00
Benjamin Aigner
10209ee788
Added a RFC7668 netif.
...
Works as expected, but some features are not implemented yet.
(See patch #9364 : RFC7668 - 6lowpan over Bluetooth Low Energy -- a new netif)
(I've change the file names only; sg)
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-23 13:07:31 +01:00
Dirk Ziegelmeier
f595445ec0
Some fixes to DHCPv6 documentation
2018-02-23 12:54:51 +01:00
Dirk Ziegelmeier
aa04944ae0
Add DHCPv6 to documentation
2018-02-23 12:35:45 +01:00
goldsimon
d2ee10977f
dhcp6: try to fix docs (clang complains)
2018-02-23 10:26:19 +01:00
goldsimon
7ad680c2bf
Try to fix dhcp6.c on travis
2018-02-23 09:54:04 +01:00
goldsimon
7d007cfee5
DHCPv6: make LWIP_IPV6_DHCP6_STATELESS==LWIP_IPV6_DHCP6 by default
2018-02-23 09:26:46 +01:00
goldsimon
8600259a78
tiny cleanup in dhcp.c
2018-02-22 22:33:48 +01:00
goldsimon
76a13054ee
add initial support for stateless DHCPv6
...
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-22 22:33:16 +01:00
goldsimon
37b4494921
http_client: fix function documentation
2018-02-22 09:55:32 +01:00
goldsimon
0ee0393936
fix compiling http_client and altcp_proxyconnect with gcc
2018-02-22 09:12:51 +01:00
Axel Lin
fe3bb8bb78
etharp: Remove superfluous assert checking in free_etharp_q
...
The same checking is done while iterating the list in the while loop.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-22 11:27:29 +08:00
Axel Lin
e93cecf527
Fix build error for http files
...
The HTTPDFILES is renamed to HTTPFILES now.
Fixes: 1f0867299d
("add new http files to Filelists.mk")
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-22 09:21:33 +08:00
goldsimon
1f0867299d
add new http files to Filelists.mk
2018-02-21 22:17:51 +01:00
goldsimon
7b9e145fc5
http_client: change user-agent and make it overridable
2018-02-21 20:18:29 +01:00
goldsimon
2753eb1fb1
add an altcp layer for http proxy connect (e.g. to tunnel TLS through a http proxy)
...
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-21 20:18:05 +01:00
goldsimon
a0e900dd02
makefsdata: update usage output to code
2018-02-21 14:42:47 +01:00
goldsimon
325cdf3c0b
altcp_tls_mbedtls: restructure upper callbacks to prevent double-free
...
This fixes bug #53192 : use-after-free in altcp_mbedtls
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-21 14:20:34 +01:00
goldsimon
a7b43dae49
altcp: default shutdown for both sides is close
2018-02-21 12:50:42 +01:00
goldsimon
d66c0e3381
altcp: mbedtls: move freeing state->rx from close to dealloc (catch-all)
2018-02-20 22:12:11 +01:00
goldsimon
bcff67b00e
altcp_tls_alloc: need to close inner conn instead of freeing it
2018-02-20 17:08:00 +01:00
goldsimon
3bd87e3815
doc: altcp: keep altcp_alloc/altcp_free out of the docs
...
Those functions are for implementing altcp layers, not for applications
2018-02-20 14:08:04 +01:00
Dirk Ziegelmeier
333fff3e66
Improve altcp allocator documentation
2018-02-20 13:31:27 +01:00
Dirk Ziegelmeier
fc3c186289
Improve altcp allocator documentation
2018-02-20 13:25:50 +01:00
goldsimon
3a41f4fe8a
altcp_alloc: add to Filelists.mk
2018-02-20 11:21:32 +01:00
Axel Lin
e9bd31b190
icmp6: Fix "LWIP_ICMP6_DATASIZE" redefined build warning if it was set to 0
...
Need to undefine LWIP_ICMP6_DATASIZE before change the setting.
While at it, also remove the unneeded #ifndef LWIP_ICMP6_DATASIZE
checking because it is set in lwip/opt.h.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-20 17:54:49 +08:00
Axel Lin
a894140bb0
igmp: Use angle brackets for including string.h
...
Use angle brackets(<>) for including system header files.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2018-02-20 15:20:14 +08:00
goldsimon
842b9f4429
altcp: simplify creating different types by adding an allocator concept
...
This is done with an example in the http_client
Signed-off-by: goldsimon <goldsimon@gmx.de>
2018-02-19 21:41:48 +01:00
Dirk Ziegelmeier
5b33d33e34
Add HTTP client to documentation
2018-02-19 09:01:44 +01:00
Dirk Ziegelmeier
2501913cde
Move ethernetif.c from lwIP main rep to contrib examples directory where it has a chance to be actually found by users
2018-02-19 07:46:56 +01:00
Dirk Ziegelmeier
47c55c3d96
Improve documentation for 6LOWPAN and SLIPIF
2018-02-18 17:49:54 +01:00
goldsimon
ef29f2d401
http_client: httpc_tcp_recv did not return inner_conn's recv return value
...
Signed-off-by: goldsimon <goldsimon@gmx.de>
Reported-by: Our Air Quality <info@ourairquality.org>
2018-02-18 09:02:00 +01:00
goldsimon
b5448a86fd
ip4_reass: free datagram entry if p == NULL
2018-02-18 08:55:11 +01:00
Dirk Ziegelmeier
5b459c1282
dns.h depends on err.h
2018-02-17 16:53:03 +01:00
goldsimon
2b09c18c4e
altcp_tls.h: minor whitespace cleanup
2018-02-16 13:59:00 +01:00