Simon Goldschmidt
a044c807f8
altcp_tls: rename altcp_tls_new -> altcp_tls_wrap, add altcp_tls_new
...
The new altcp_tls_new() is a type safe version of altcp_tls_alloc()
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2018-09-24 22:29:54 +02:00
Simon Goldschmidt
0189e7b02f
mqtt: allow user + pass longer than 255 chars
...
See bug #54655 :
"MQTT brokers such as Google Cloud IoT Core requires MQTT clients
to send JSON Web Token (JWT) as password field of the MQTT Connect
packet. JWT can be more than 255 bytes.
Currently, the MQTT library restricts password to be less than 256
bytes, thus it prevents connectivity to Google Cloud IoT Core."
Fix that by just converting the local variables for these from u8_t
to u16_t.
Suggested-by: Richmond Umagat <richmond.umagat@brtchip.com>
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2018-09-13 14:59:08 +02:00
goldsimon
cd1516e2e4
mqtt: rewrote check for topc_len so that coverity is happy...
2018-02-15 09:15:40 +01:00
goldsimon
133bf70ab5
mqtt: slightly change some overflow checks
2018-02-14 12:37:35 +01:00
goldsimon
eea95459c9
mqtt: add more length validity checks in mqtt_message_received
...
This also (but not only) fixes bug #52345 ("MQTT buffer length check seems wrong")
2018-02-14 12:08:15 +01:00
goldsimon
731336223f
mqtt: add comments in mqtt_parse_incoming
2018-02-14 06:54:56 +01:00
goldsimon
28c8693683
mqtt: fix documentation error (remove ':' after param name)
2018-01-13 16:09:17 +01:00
Dirk Ziegelmeier
653313cb37
Work on task #14780 : Add debug helper asserts to ensure threading/locking requirements are met
...
Add LWIP_ASSERT_CORE_LOCKED() to several more places
2018-01-12 13:15:36 +01:00
Dirk Ziegelmeier
2ceedfe097
Fix bug #52345 : MQTT buffer length check seems wrong
...
Don't try to parse variable length part if it is not contained in message
2017-11-26 21:05:07 +01:00
Dirk Ziegelmeier
ad47a46815
Revert fix for bug #52345 , that was not correct
2017-11-26 20:59:39 +01:00
Dirk Ziegelmeier
1a1478551e
Fix bug #52345 : MQTT buffer length check seems wrong
...
(for empty payload in publish message)
2017-11-13 22:29:25 +01:00
Dirk Ziegelmeier
de991b1158
Apply patch #9478 : MQTT.c printf warning in debug messages
...
in a modified version that uses lwIP's format string #defines
2017-11-05 09:51:26 +01:00
Dirk Ziegelmeier
be5bcc172d
Reformat mqtt.c using astylerc
2017-09-17 18:04:29 +02:00
Dirk Ziegelmeier
42fd01547d
Fix bug #51681 : mqtt: cannot free client
...
Add free function
2017-08-07 20:43:25 +02:00
Dirk Ziegelmeier
ca76c302f1
Probably fix bug #51602 : MQTT Ring buffer 'get'
...
Rollover of get index was wrong
2017-07-28 08:01:30 +02:00
Dirk Ziegelmeier
ecd6c7ceae
Fix bug #51525 : MQTT_OUTPUT_RINGBUF_SIZE validation
...
Ringbuf now supports sizes that are not a power of two
2017-07-26 18:53:12 +02:00
goldsimon
44f7a3cb0d
work on -Wconversion...
2017-07-05 22:31:58 +02:00
goldsimon
84461e90e2
mqtt: fix shadowing global 'dup'
2017-04-21 07:23:32 +02:00
goldsimon
dfc57f0289
mqtt: move struct mqtt_client_s and inner structs to new file mqtt_priv.h (to hide it from apps but provide it for tests)
2017-04-12 21:50:58 +02:00
Joel Cunningham
557a11047d
Patch #9307 : Replace mem_malloc+memset with mem_calloc
...
Aside from reducing source code, on systems which use MEM_LIBC_MALLOC,
this has the potential to improve performance depending on the underlying
memory allocator
See http://stackoverflow.com/questions/2688466/why-mallocmemset-is-slower-than-calloc
2017-04-05 14:53:24 -05:00
goldsimon
97f4033a8a
bridgeif: improve documentation
2017-04-04 21:54:52 +02:00
Dirk Ziegelmeier
38651b8069
Cleanup #include structure of altcp_tls a bit
...
(as discussed with Simon today)
2017-03-28 20:31:25 +02:00
goldsimon
898d3832a7
more fixes for !LWIP_ALTCP: move mqtt client struct definitions to mqtt.c
2017-03-28 14:12:22 +02:00
Dirk Ziegelmeier
7599706808
One more try to fix mqtt.c
2017-03-28 12:30:26 +02:00
goldsimon
8673610f3f
mqtt: add TLS support
2017-03-28 09:19:32 +02:00
goldsimon
26a6e034fc
mqtt: convert to altcp API
2017-03-28 09:14:35 +02:00
goldsimon
881ab3011e
mqtt: pass client_user/client_pass to server if != NULL
2017-03-27 22:25:26 +02:00
Mikhail Lappo
7eba14cb76
Possible null-pointer dereference
...
The value should be dereferenced after
assertion is performed. This can lead
to crash
2017-03-22 22:50:16 +01:00
goldsimon
1741edf159
make tcp apps depend on LWIP_CALLBACK_API, too
2017-02-28 12:19:16 +01:00
Dirk Ziegelmeier
5c58e25de5
Minor code readability improvement in mqtt.c
2017-01-15 09:22:13 +01:00
Dirk Ziegelmeier
52f448978f
MQTT: Add check that WILL topic length must be > 0
2017-01-08 19:08:54 +01:00
Dirk Ziegelmeier
6d5ddb7139
MQTT: Fix possible bug in connect message generation that WILL flag can be set without appending a will message
...
The boolean condition of setting the WILL flag differs from that of appending the will message
Found by Axel Lin
(I fixed it the same way as Axel suggested, but I wanted a different commit message)
2017-01-08 19:07:43 +01:00
Axel Lin
a2915b7142
mqtt: Slightly improve mqtt_create_request
...
Mainly for better readability, also save NULL test while iterating the for loop.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2017-01-07 20:39:41 +01:00
Axel Lin
7faa4bcbe2
mqtt: Prevent NULL pointer dereference before assertion checking
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2017-01-06 12:15:03 +01:00
Erik Ekman
d2631e6a53
mqtt: Fix pedantic enum warning
...
src/apps/mqtt/mqtt.c:81:17: error: comma at end of enumerator list [-Werror=pedantic]
2017-01-04 00:24:00 +01:00
Dirk Ziegelmeier
2096f1a657
Fix C++ style comment in mqtt.c
2017-01-01 20:23:11 +01:00
Axel Lin
edfeab7932
mqtt: Trivial coding style fix
...
Add proper blank for if/for/while statements.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2017-01-01 19:20:24 +01:00
Dirk Ziegelmeier
1466b7ac61
Several mqtt documentation fixes found by clang
2016-12-29 09:44:07 +01:00
Axel Lin
bfa0358a52
mqtt: Allow setting server port to connect
...
This is a mqtt client, so it does not make sense to determinate the server port
at compile time. Update mqtt_client_connect() function to allow setting server
port.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-12-23 09:52:31 +01:00
Dirk Ziegelmeier
3a557baedd
Move a few MQTT options from mqtt.c to mqtt_opts.h
2016-12-21 09:42:25 +01:00
Dirk Ziegelmeier
6e219b6b11
Change signature of mqtt_client_connect() to take an IP addr instead of a string
2016-12-21 09:36:28 +01:00
Dirk Ziegelmeier
ec1450bac4
Add mqtt documentation from Erik Anderson, rev 4b84fff
2016-12-21 09:29:47 +01:00
Axel Lin
5be91de56c
mqtt: Trivial error message fix
...
Fix trivial copy-paste mistake.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-12-21 08:54:57 +01:00
Axel Lin
d5bc856f45
mqtt: Check conn_state before create request for sub_unsub
...
This also avoid a request leak in client->conn_state == TCP_DISCONNECTED error
path.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-12-20 19:45:31 +01:00
Dirk Ziegelmeier
16b895b466
Undo removal of mqtt_publish() from documentation in Simon's last commit (guess it was by accident)
2016-12-20 10:48:19 +01:00
Dirk Ziegelmeier
dcb761637d
Minor documentation fix in MQTT
2016-12-20 10:42:56 +01:00
Axel Lin
02f4610b1c
mqtt: Use LWIP_ARRAYSIZE to replace hardcoded value
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-12-20 10:36:42 +01:00
goldsimon
b6a131edfb
mqtt: fix C usage (declaration after statement), fix casting to smaller type
2016-12-20 10:27:43 +01:00
Dirk Ziegelmeier
12bc2c0425
MQTT cleanups:
...
- create mqtt_opts.h file and move options in there
- documentation cleanups
2016-12-20 10:08:50 +01:00
Dirk Ziegelmeier
14e36866f5
Some cleanups in MQTT client
...
Integrate in documentation
Compile fixes, mostly: Variables must be declared before any statement in a function
2016-12-20 09:41:21 +01:00