Jon Shallow
82bf1f0f7a
documentation: Fix bad url and hyperlink the RFCs
2023-05-24 08:49:26 +01:00
Jon Shallow
04f3a4a7e2
coap_oscore.c: Fix ASan detected global-buffer-overflow bug
2023-05-23 14:54:55 +01:00
Jon Shallow
08cbda80f1
block.c: Check that data received fits into specified block size
2023-05-23 14:53:33 +01:00
Jon Shallow
6f79db0a37
coap-client.c: Fix Uri-Host option setting
...
If the host name includes %iface, remove this from the host comparisons.
2023-05-16 12:03:19 +01:00
Jon Shallow
1cb29b6f5c
net.c: Fix building without TCP enabled for EPOLL configured code
...
Report when using autotools or cmake that disabling TCP also disables
Websockets support.
Also, report for cmake when EPOLL support is not available.
2023-05-16 12:01:59 +01:00
Jon Shallow
dbf78b526f
block.h: Make COAP_OPT_BLOCK_* functions safe against NULL indirects
...
COAP_OPT_BLOCK_LAST(opt) may return NULL, so doing *COAP_OPT_BLOCK_LAST(opt)
is unsafe. Replace indirect with COAP_OPT_BLOCK_END_BYTE(opt).
2023-05-11 09:00:53 +01:00
Jon Shallow
4ef0705ccd
block.c: Handle missing / incorrect SIZE1 and SIZE2 options
2023-05-11 08:59:59 +01:00
Jon Shallow
6cd7b7883c
coap_io.c: Clean up coap_win_error_to_errno() usage
2023-05-11 08:59:04 +01:00
Jon Shallow
a40ffc722c
CMakeLists.txt: Set compiler options for both the library and examples
...
Fix some reported Windows errors now that "treat all warnings as errors" is
correctly set in the github workflows.
2023-05-11 08:57:48 +01:00
Jon Shallow
9d66e47241
coap_debug.c: Split out coap_print_ip_addr() from coap_print_addr()
...
Sometimes just the IP address is required, not the port as well.
2023-05-05 12:00:33 +01:00
Jon Shallow
b9d53ed3d4
keepalive: Fix timeouts when network issues
...
If keepalive is enabled, make sure that they continue when a server
stops / starts. Limit the retry timeouts to the number of seconds
defined by coap_context_set_keepalive() so that interim NAT devices
are always kept "warm".
Addded in a new event COAP_EVENT_KEEPALIVE_FAILURE and updated docs
accordingly.
2023-05-05 10:35:39 +01:00
Daniel Mangum
8869e97ab9
websockets: fix typo in configuration
...
Fixes typo of websockets in configuration help string.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com >
2023-05-05 09:49:06 +01:00
Jon Shallow
e05af0d2ce
coap_config.h.contiki: Increase heap memory size
2023-05-01 17:03:24 +01:00
Jon Shallow
3ebbcde43a
mcast_ips: Restore mcast ip for mcast sessions for each new coap_send()
...
If the server is responding to a mcast request with a packet that is a
part of larger body (i.e. responding with Block2 option) the requests
for the missing packets have to be using unicast, which continues
to be supported.
The application can determine the unicast remote address before the next
coap_send() by using coap_session_get_addr_remote().
Add in a new function coap_session_get_addr_mcast() to get the mcast IP
if the client session was set up to talk to a mcast address.
2023-05-01 16:28:44 +01:00
Jon Shallow
46aa5760ee
coap_session.c: Fix handling of COAP_NACK_ICMP_ISSUE disconnects
2023-05-01 10:13:07 +01:00
Olaf Bergmann
77cfb9c99e
pdu.h: Remove COAP_MEDIATYPE_ANY
...
Closes #757 [1]
[1] https://github.com/obgm/libcoap/issues/757
2023-04-24 15:34:01 +01:00
Jon Shallow
959bbb65fa
test_uri.c: Stop unnecessary logging
2023-04-24 10:45:30 +01:00
Jon Shallow
e983e4eb5e
Persist_OSCORE: Include nonce in the saved OSCORE information
...
In addition, make sure large (multi packet) FETCH observe information
is properly restored.
2023-04-24 09:55:38 +01:00
Jon Shallow
712255ec90
mid: Add leading zeros to mid= reporting for ease of debugging
2023-04-24 09:54:34 +01:00
Jon Shallow
c4ce40347f
coap_pdu_duplicate: Revert and fix previous change
2023-04-24 09:53:39 +01:00
Jon Shallow
ca609d221c
Persist: Support tracking observe information over server restarts
...
Add in optional callbacks for when dynamic resources are setup and deleted.
Add in optional callbacks for when observe subscriptions start and stop.
Add in optional callbacks for when the observe counter is updated (can be
ratelimited) for a resource as well as track when a resource is deleted.
Add is support for new functions
Main functions with libcoap tracking support are
coap_persist_startup()
coap_persist_stop()
coap-server has -t option to track observe information.
UDP sessions supported, as well as OSCORE over UDP.
Documentation updated
libcoap tracking support (as opposed to application tracking) is configurable.
2023-04-22 11:07:21 +01:00
Jon Shallow
203471118f
logging: Make bytes received logging consistent
2023-04-22 10:47:43 +01:00
Jon Shallow
dfaaa47405
coap_uri.c: Do more libcoap functionality checking in coap_split_uri_sub()
2023-04-22 10:46:36 +01:00
Jon Shallow
e533b980fa
coap_resolve_address_info: Move logic into function, simplifying server apps
...
Add in new function coap_get_available_scheme_hint_bits() to help as well.
2023-04-22 10:45:17 +01:00
Jon Shallow
3ba0f0756c
coap_config.h.windows.in: Add in header information
2023-04-22 10:44:07 +01:00
Jon Shallow
191cd5cf40
Layers: Move layer index table into coap_layers.c
2023-04-15 19:33:18 +01:00
Jon Shallow
e10a0d0eff
coap_uri.c: Correctly detect port in coap_uri_into_options()
2023-04-15 19:31:55 +01:00
Jon Shallow
621fd20c2b
CBOR: Check for buffer overruns when reading in CBOR data
2023-04-13 10:16:38 +01:00
Jon Shallow
e82523c4d9
oscore_testcases.sh: Add in delay after starting up interop servers
2023-04-13 10:14:57 +01:00
Jon Shallow
5c11bc5f00
coap_ws.c: Fix coap_ws_is_supported() check for GnuTLS
2023-04-13 10:13:54 +01:00
Jon Shallow
8ccde068ad
oss-fuzz: Parse PDUs for TCP and WebSockets
2023-04-12 13:34:33 +01:00
Jon Shallow
964bd69481
MinGW: Initial compile environment support
2023-04-12 10:06:46 +01:00
Jon Shallow
aee4c3fa6e
logging: Support defining maximum logging level
...
This allows for code reduction if not all logging levels are required.
Done by defining ./configure --enable-max-logging-level=X, where X can have
the value of 0 through 8 inclusive.
COAP_LOG_EMERG is always logged.
Can save up to 40k bytes.
2023-04-12 09:55:13 +01:00
hasheddan
3133a1e4b7
oscore.h: Fix misspelling of Environment
...
Fixes a misspelling of Environment.
Signed-off-by: hasheddan <georgedanielmangum@gmail.com >
2023-04-11 20:54:53 +01:00
Jon Shallow
281f12107a
coap_internal.h: Support builds with WebSockets and without OSCORE
2023-04-11 11:25:11 +01:00
Jon Shallow
a4bbac4a60
coap_mutex_internal.h: Convert tabs to spaces
2023-04-10 14:56:03 +01:00
Jon Shallow
391803aebf
WebSockets: Add in support for WebSockets layer
...
Follows RFC6455, as specified in RFC8323.
Make support configurable.
Add in example support.
Update other code to be aware of WebSockets as a CoAP protocol.
2023-04-10 14:38:56 +01:00
Jon Shallow
f0f20c285d
syslog.h: Leave in conditional LOG_ definitions for now
2023-04-10 14:19:09 +01:00
Jon Shallow
6599297edb
syslog.h: Remove all references to syslog.h
...
syslog.h is no longer required for libcoap as all LOG_ usage has been replaced
with COAP_LOG_.
Added #include <stdio.h> to example code for code-client and coap-server as
a hint should application code be using LOG_.
2023-04-10 14:03:13 +01:00
Jon Shallow
546f4203b1
examples: Clean up memory usage on error close down
...
Makes valgrind testing easier.
Note that it is unsafe to call coap_free_context() from with an atexit()
handler.
2023-04-08 18:02:16 +01:00
Jon Shallow
605c875030
coap_session.c: Make sure that lg_crcv is properly freed off
...
The response will never get seen as coap_session_mfree() continues to
close down the socket.
2023-04-08 17:59:36 +01:00
Jon Shallow
59e9434518
workflows: Support Windows changed OpenSSL directory
...
No longer need choco to install install OpenSSL as it is in loaded image.
2023-04-07 14:51:11 +01:00
Jon Shallow
5ae51b4ef1
Makefile.am: Make sure libcoap-3.{map|sym} sort is consistent
2023-04-04 19:36:40 +01:00
Jon Shallow
53615f5643
coap_encode.c: Fix coap_flsll() for negative numbers
2023-04-04 19:35:09 +01:00
Jon Shallow
00e4510636
net.c: Fix critical option checking
2023-04-04 19:33:16 +01:00
Jon Shallow
e242200f0a
net.c: Fix potential overflow in coap_send_internal()
2023-04-03 17:29:55 +01:00
Jon Shallow
6cd2ecb136
resource.c: Use initialized token in coap_notify_observers()
2023-04-03 17:27:58 +01:00
Jon Shallow
da6459416f
coap-server.c: Fix scheme hint type tracking
...
Missing part of a Websockets merge.
2023-03-26 18:53:37 +01:00
Jon Shallow
305c400d6f
LwIP: Fix git clone url
2023-03-24 12:53:59 +00:00
Jon Shallow
c041af0b2b
WebSockets: Add in libcoap infrastructure
...
Add in stub Websockets files.
Add in coap_crypto_hash(0 function.
Actual WebSocket support for applications will follow.
2023-03-24 09:49:00 +00:00