Jon Shallow
e1fa280d88
coap_dtls.h: Add in TLS library determination support
...
A new function coap_get_tls_library_version() that returns a pointer to a
coap_tls_version_t structure that contains both the TLS library type libcoap
was compiled against as well as the current TLS library version.
2018-02-10 18:34:42 +00:00
Olaf Bergmann
82c9ccc75b
build.sh: bugfix for tinydtls build
...
When TLS=tinydtls is set, configure must be called with --disable-shared.
Thanks to Michael Zimmer for pointing this out.
2018-01-18 15:30:26 +01:00
Olaf Bergmann
660c4168bc
coap_session.c: send COAP_DEFAULT_MTU in CSM
...
This change replaces the hard-coded 1152 bytes by the configurable
COAP_DEFAULT_MTU.
2017-12-22 14:31:56 +01:00
Olaf Bergmann
6607f942ed
updated symbol maps
2017-12-22 14:31:08 +01:00
Olaf Bergmann
8e011ec500
net.c: dynamically grow PDU size for TCP
...
This change was provided by Jean-Claude Michelou to fix issue #123 [1].
It dynamically grows a partial TCP PDU during read.
[1] https://github.com/obgm/libcoap/issues/123
2017-12-22 13:56:48 +01:00
Olaf Bergmann
d3b5535960
pdu.[hc]: Export coap_pdu_resize()
2017-12-22 13:55:37 +01:00
Olaf Bergmann
8ee4bb2586
pdu.c: fix len returned by coap_get_data() for empty payload
...
John Carter has provided this (slightly edited) patch to set len to 0
for PDUs that do not contain a payload. This makes this function more
robust for callers that do not care about the function result.
This change fixes issue 120 [1].
[1] https://github.com/obgm/libcoap/issues/120
2017-11-16 14:18:20 +01:00
Olaf Bergmann
0c837cdc77
pdu.h: increase Max-Message-Size by 256 B
...
To allow for 8 MiB payloads, the maximum message size value for
TCP has been increased by 256 B option space.
2017-11-11 10:06:16 +01:00
obgm
614b096319
Merge pull request #116 from spinetix/spx-leak
...
Fix memory leaks in sessions and openssl context.
2017-11-06 12:16:36 +01:00
jcmichelou
c93f535d4a
openssl, session: Fix memory leaks.
2017-11-04 23:38:02 +01:00
Olaf Bergmann
e5064a47e7
client.c: removed dead code in message_handler()
...
Coverity scan has detected dead code that has been removed in this
change. (CID 1382575)
2017-11-03 15:15:06 +01:00
Olaf Bergmann
9bf7032232
coap_session.c: additional NULL pointer check
...
Coverity scan CID 1458386 has detected a potential NULL pointer
being dereferenced in coap_session_free().
2017-11-03 15:05:48 +01:00
Olaf Bergmann
6fb2e671d1
async.c: added missing check for NULL in coap_free_async()
...
Coverity scan has detected a possible NULL pointer being dereferenced
before it is checked, see CID 1458391.
2017-11-03 14:55:33 +01:00
Olaf Bergmann
1f51ba7636
coap_openssl.c: removed dead code from coap_dgram_ctrl()
...
The dead code detected by Coverity scan in CID 1458395 has been
replaced with explicitly setting the return value to 1 (the default
that has previously been used).
2017-11-03 14:42:05 +01:00
Olaf Bergmann
a569e16584
coap_time.h: cast COAP_TICKS_PER_SECOND to coap_tick_t for type safety
...
CID 1458396 detected by Coverity scan points out that integer
arithmetics may lead to an overflow without the typecast to
coap_tick_t.
2017-11-03 14:29:49 +01:00
Olaf Bergmann
4b52182b8d
net.c: fix possible NULL pointer dereference
...
Fixes CID 1458397 detected by Coverity scan.
2017-11-03 14:22:32 +01:00
Olaf Bergmann
edca08249b
coap-server.c: fixed memory leak in get_context()
...
When getaddrinfo() failed, the context object was not released before
returning NULL. Coverity scan has detected this with CID 1458398.
2017-11-03 14:18:19 +01:00
Olaf Bergmann
29692faa86
coap-server.c: fix use after free in check_async()
...
As coap_send() automatically releases the specified pdu, it must
not be accessed after coap_send() has returned.
This change fixes CID 1458399 reported by Coverity scan.
2017-11-03 14:12:22 +01:00
Olaf Bergmann
67a9210dbd
net.c: fixed memory leak in coap_send()
...
coap_send() always takes the ownership of the pdu that is passed
as argument to send, i.e., the memory will be released automatically
when the pdu is not needed anymore.
2017-11-03 14:07:16 +01:00
Olaf Bergmann
027d9601eb
net.c: always initialize bytes_read
...
In CID 1459612, Coverity scan has complained about uninitialized use
of the variable bytes_read. Although this is a false positive here,
it seems to be more safe to always initialize bytes_read.
2017-11-03 13:54:07 +01:00
Olaf Bergmann
313a655a9a
pdu.c: fix explicit NULL pointer dereference
...
Fixes CID 1459615 found by Coverity scan.
2017-11-03 13:37:56 +01:00
Olaf Bergmann
5cc5273867
Doxyfile.in: decrease verbosity of doxygen output
...
To avoid cluttering the build output with lots of doxygen messages
the QUIET parameter now has been set to YES.
2017-11-03 13:36:24 +01:00
Olaf Bergmann
6a3abd257e
coap_session.c: fixed default port selection for client TCP session
...
In coap_session_create_client(), the default port for TCP did not
correctly distinguish between TCP and TLS as pointed out in [1] by
Joan Shallow. This change applies the suggested fix.
[1] https://sourceforge.net/p/libcoap/mailman/message/36092184/
2017-11-03 10:41:05 +01:00
obgm
a5dd017ec1
Merge pull request #114 from spinetix/spx-observe
...
Fix issues #90 , #91 and #92
2017-10-30 09:31:18 +01:00
jcmichelou
3f77c117ea
resource: Fix issues #90 , #91 and #92
...
The value of the observe option is kept for each resource rather than being global to the context.
The value of the observe option must wrap to be stay below 2^24.
The value of the observe option must be different from the initial value when a notification is sent.
2017-10-25 20:22:01 +02:00
obgm
3630436499
Merge pull request #113 from spinetix/tcp-tls
...
Add support for TCP and TLS transports
2017-10-24 09:47:52 +02:00
jcmichelou
e125888ded
openssl: Handshake can also complete in SSL_accept and SSL_connect.
2017-10-21 19:16:23 +02:00
jcmichelou
1c4d6913af
net.c, symbols: fix gcc warning and regenerate symbol files
2017-10-21 18:26:40 +02:00
jcmichelou
3340f10541
net.c: Correct payload size for wellknown response.
2017-10-21 17:35:43 +02:00
jcmichelou
68a9ea045d
pdu: Use defines for TCP variable header message size constants.
2017-10-21 17:24:56 +02:00
jcmichelou
d89c99f5f8
uri: Add coap+tcp:// and coaps+tcp:// schemes.
2017-10-21 16:52:02 +02:00
jcmichelou
8923d4de50
openssl: TLS session can be connected both on read and write.
2017-10-21 16:34:18 +02:00
jcmichelou
75d89ab295
openssl, io: Fix linux compatibility
2017-10-21 16:11:16 +02:00
jcmichelou
e901714c74
net.c: Call nack handler for all transports.
2017-10-21 16:11:16 +02:00
jcmichelou
fa52273f59
coap_session.c: Remove observers and delete TLS object on disconnect.
2017-10-21 16:11:15 +02:00
jcmichelou
cd804ba3bf
client.c: Make observation timeout work with TCP.
2017-10-21 16:11:15 +02:00
jcmichelou
e713e77f54
notls, tinydtls: Add stubs for unused TLS functions.
2017-10-21 16:11:15 +02:00
jcmichelou
854cc3147f
openssl, session: Add TLS encryption.
2017-10-21 16:11:14 +02:00
jcmichelou
9bb8396b23
coap_session, net.c: Add debug messages on TCP RX/TX.
2017-10-21 16:11:14 +02:00
jcmichelou
6bf4856e4c
net.c: buffer socket I/O for performance.
2017-10-21 16:11:14 +02:00
jcmichelou
58766a137e
coap_dtls.h, openssl: Add function prototypes for TLS support.
2017-10-21 16:11:13 +02:00
jcmichelou
140580f0df
session, pdu, option: Use exact message size calculation for TCP PDU.
2017-10-21 16:11:13 +02:00
jcmichelou
f81cb43fd3
session, pdu: Enforce maximum message size.
2017-10-21 16:11:12 +02:00
jcmichelou
c592c9d11f
session, net, debug: Add TCP signaling messages.
2017-10-21 16:11:12 +02:00
jcmichelou
dfff930805
io, net: Add TCP accept/connect/read/write
2017-10-21 16:11:12 +02:00
jcmichelou
bcfd7a0753
pdu: add support for TCP-style headers
...
Make coap_pdu-t independent of the header style.
Use C99 sized types when applicable.
Use transaction ids in host byte order in the library.
Make coap_pdu_t payload storage grow on demand.
Add parsing and encoding of PDUs with UDP or TCP style headers.
Adapt examples and unit tests to the new PDU format.
2017-10-21 16:11:11 +02:00
Olaf Bergmann
95a97c349e
Dockerfile: use pre-built image and cleanup unused packets
2017-10-16 18:02:01 +02:00
Olaf Bergmann
bea82fef30
build.sh: disable documentation to speedup continuous integration
2017-10-16 17:53:00 +02:00
Olaf Bergmann
ca3a88c5e4
Dockerfile: added packages for documentation, exuberant-ctags
2017-10-16 14:44:24 +02:00
Olaf Bergmann
2d987aee39
Dockerfile: added missing packages for documentation build process
2017-10-16 14:19:44 +02:00