1c87c5fbaSopenharmony_ci// -*- mode:doc; -*-
2c87c5fbaSopenharmony_ci// vim: set syntax=asciidoc tw=0
3c87c5fbaSopenharmony_ci
4c87c5fbaSopenharmony_cicoap-client(5)
5c87c5fbaSopenharmony_ci==============
6c87c5fbaSopenharmony_ci:doctype: manpage
7c87c5fbaSopenharmony_ci:man source:   coap-client
8c87c5fbaSopenharmony_ci:man version:  @PACKAGE_VERSION@
9c87c5fbaSopenharmony_ci:man manual:   coap-client Manual
10c87c5fbaSopenharmony_ci
11c87c5fbaSopenharmony_ciNAME
12c87c5fbaSopenharmony_ci-----
13c87c5fbaSopenharmony_cicoap-client,
14c87c5fbaSopenharmony_cicoap-client-gnutls,
15c87c5fbaSopenharmony_cicoap-client-mbedtls,
16c87c5fbaSopenharmony_cicoap-client-openssl,
17c87c5fbaSopenharmony_cicoap-client-notls
18c87c5fbaSopenharmony_ci- CoAP Client based on libcoap
19c87c5fbaSopenharmony_ci
20c87c5fbaSopenharmony_ciSYNOPSIS
21c87c5fbaSopenharmony_ci--------
22c87c5fbaSopenharmony_ci*coap-client* [*-a* addr] [*-b* [num,]size] [*-e* text] [*-f* file] [*-l* loss]
23c87c5fbaSopenharmony_ci              [*-m* method] [*-o* file] [*-p* port] [*-r*] [*-s duration*]
24c87c5fbaSopenharmony_ci              [*-t* type] [*-v* num] [*-w*] [*-A* type] [*-B* seconds]
25c87c5fbaSopenharmony_ci              [*-E* oscore_conf_file[,seq_file]] [*-G* count] [*-H* hoplimit]
26c87c5fbaSopenharmony_ci              [*-K* interval] [*-L* value] [*-N*] [*-O* num,text]
27c87c5fbaSopenharmony_ci              [*-P* scheme://addr[:port]] [*-T* token] [*-U*] [*-V* num]
28c87c5fbaSopenharmony_ci              [*-X* size]
29c87c5fbaSopenharmony_ci              [[*-h* match_hint_file] [*-k* key] [*-u* user]]
30c87c5fbaSopenharmony_ci              [[*-c* certfile] [*-j* keyfile] [*-n*] [*-C* cafile]
31c87c5fbaSopenharmony_ci              [*-J* pkcs11_pin] [*-M* rpk_file] [*-R* trust_casfile]] URI
32c87c5fbaSopenharmony_ci
33c87c5fbaSopenharmony_ciFor *coap-client* versions that use libcoap compiled for different
34c87c5fbaSopenharmony_ci(D)TLS libraries, *coap-client-notls*, *coap-client-gnutls*,
35c87c5fbaSopenharmony_ci*coap-client-openssl*, *coap-client-mbedtls* or *coap-client-tinydtls* may be
36c87c5fbaSopenharmony_ciavailable.  Otherwise, *coap-client* uses the default libcoap (D)TLS support.
37c87c5fbaSopenharmony_ci
38c87c5fbaSopenharmony_ciDESCRIPTION
39c87c5fbaSopenharmony_ci-----------
40c87c5fbaSopenharmony_ci*coap-client* is a CoAP client to communicate with 6LoWPAN devices via
41c87c5fbaSopenharmony_cithe protocol CoAP (RFC 7252) using the URI given as argument on the
42c87c5fbaSopenharmony_cicommand line. The URI must have the scheme 'coap', 'coap+tcp', 'coaps' or
43c87c5fbaSopenharmony_ci'coaps+tcp'.
44c87c5fbaSopenharmony_ci
45c87c5fbaSopenharmony_ci'coaps' and 'coaps+tcp' are only supported when
46c87c5fbaSopenharmony_cicoap-client is built with support for secure (D)TLS communication.
47c87c5fbaSopenharmony_ci
48c87c5fbaSopenharmony_ciIf 'coaps' or 'coaps+tcp' is being used, provided the CoAP server supports PKI
49c87c5fbaSopenharmony_ciand is configured with a certificate and private key, the coap-client does not
50c87c5fbaSopenharmony_cineed to have a Pre-Shared Key (-k) or certificate (-c) configured.
51c87c5fbaSopenharmony_ci
52c87c5fbaSopenharmony_ciThe URI's host part may be a DNS name, a literal IP address or a Unix domain
53c87c5fbaSopenharmony_ciname. For Unix domain names, %2F is used as the / separator to differentiate
54c87c5fbaSopenharmony_cibetween the host and patch definitions. For IPv6 address references, angle
55c87c5fbaSopenharmony_cibrackets are required (c.f. EXAMPLES) to delimit the host portion of the URI.
56c87c5fbaSopenharmony_ci
57c87c5fbaSopenharmony_ciOPTIONS - General
58c87c5fbaSopenharmony_ci-----------------
59c87c5fbaSopenharmony_ci*-a* addr::
60c87c5fbaSopenharmony_ci   The local address of the interface that has to be used. +
61c87c5fbaSopenharmony_ci   Note: Do not use this option if the interface is likely to be transient -
62c87c5fbaSopenharmony_ci   i.e. it is a tunnel interface that may come and go, as this is likely to
63c87c5fbaSopenharmony_ci   cause "No such device" errors on transmission.
64c87c5fbaSopenharmony_ci
65c87c5fbaSopenharmony_ci*-b* [num,]size::
66c87c5fbaSopenharmony_ci   The block size to be used in GET/PUT/POST requests (value must be a
67c87c5fbaSopenharmony_ci   multiple of 16 not larger than 1024 as libcoap uses a fixed maximum
68c87c5fbaSopenharmony_ci   PDU size of 1400 bytes). If 'num' is present, the request
69c87c5fbaSopenharmony_ci   chain will start at block 'num'. When the server includes a Block2
70c87c5fbaSopenharmony_ci   option in its response to a GET request, coap-client will automatically
71c87c5fbaSopenharmony_ci   retrieve the subsequent block from the server until there are no more
72c87c5fbaSopenharmony_ci   outstanding blocks for the requested content.
73c87c5fbaSopenharmony_ci
74c87c5fbaSopenharmony_ci*-e* text::
75c87c5fbaSopenharmony_ci   Include text as payload (use percent-encoding for non-ASCII characters).
76c87c5fbaSopenharmony_ci
77c87c5fbaSopenharmony_ci*-f* file::
78c87c5fbaSopenharmony_ci   File to send with PUT/POST (use '-' for STDIN).
79c87c5fbaSopenharmony_ci
80c87c5fbaSopenharmony_ci*-l* list::
81c87c5fbaSopenharmony_ci   Fail to send some datagrams specified by a comma separated list of
82c87c5fbaSopenharmony_ci   numbers or number ranges (debugging only).
83c87c5fbaSopenharmony_ci
84c87c5fbaSopenharmony_ci*-l* loss%::
85c87c5fbaSopenharmony_ci   Randomly failed to send datagrams with the specified probability - 100%
86c87c5fbaSopenharmony_ci   all datagrams, 0% no datagrams (debugging only).
87c87c5fbaSopenharmony_ci
88c87c5fbaSopenharmony_ci*-m* method::
89c87c5fbaSopenharmony_ci   The request method for action (get|put|post|delete), default is 'get'.
90c87c5fbaSopenharmony_ci   (Note that the string passed to *-m* is compared case-insensitive.)
91c87c5fbaSopenharmony_ci
92c87c5fbaSopenharmony_ci*-o* file::
93c87c5fbaSopenharmony_ci   A filename to store data retrieved with GET.
94c87c5fbaSopenharmony_ci
95c87c5fbaSopenharmony_ci*-p* port::
96c87c5fbaSopenharmony_ci   The port to send from.
97c87c5fbaSopenharmony_ci
98c87c5fbaSopenharmony_ci*-r*::
99c87c5fbaSopenharmony_ci   Use reliable protocol (TCP or TLS).
100c87c5fbaSopenharmony_ci
101c87c5fbaSopenharmony_ci*-s* duration::
102c87c5fbaSopenharmony_ci   Subscribe to / observe the resource specified by URI for the given
103c87c5fbaSopenharmony_ci   'duration' in seconds.
104c87c5fbaSopenharmony_ci
105c87c5fbaSopenharmony_ci*-t* type::
106c87c5fbaSopenharmony_ci   Content format for given resource for PUT/POST. 'type' must be either
107c87c5fbaSopenharmony_ci   a numeric value reflecting a valid CoAP content format or a string
108c87c5fbaSopenharmony_ci   describing a registered format. The following registered content format
109c87c5fbaSopenharmony_ci   descriptors are supported, with alternative shortcuts given in
110c87c5fbaSopenharmony_ci   parentheses:
111c87c5fbaSopenharmony_ci
112c87c5fbaSopenharmony_ci     text/plain (plain)
113c87c5fbaSopenharmony_ci     application/link-format (link, link-format)
114c87c5fbaSopenharmony_ci     application/xml (xml)
115c87c5fbaSopenharmony_ci     application/octet-stream (binary, octet-stream)
116c87c5fbaSopenharmony_ci     application/exi (exi)
117c87c5fbaSopenharmony_ci     application/json (json)
118c87c5fbaSopenharmony_ci     application/cbor (cbor)
119c87c5fbaSopenharmony_ci
120c87c5fbaSopenharmony_ci*-v* num::
121c87c5fbaSopenharmony_ci   The verbosity level to use (default 4, maximum is 8) for general
122c87c5fbaSopenharmony_ci   CoAP logging.
123c87c5fbaSopenharmony_ci
124c87c5fbaSopenharmony_ci*-w*::
125c87c5fbaSopenharmony_ci   Append a newline to received data.
126c87c5fbaSopenharmony_ci
127c87c5fbaSopenharmony_ci*-A* type::
128c87c5fbaSopenharmony_ci   Accepted media type. 'type' must be either a numeric value reflecting a
129c87c5fbaSopenharmony_ci   valid CoAP content format or a string that specifies a registered format as
130c87c5fbaSopenharmony_ci   described for option *-t*.
131c87c5fbaSopenharmony_ci
132c87c5fbaSopenharmony_ci*-B* seconds::
133c87c5fbaSopenharmony_ci   Break operation after waiting given seconds (default is 90).
134c87c5fbaSopenharmony_ci
135c87c5fbaSopenharmony_ci*-E* oscore_conf_file[,seq_file]::
136c87c5fbaSopenharmony_ci   'oscore_conf_file' contains OSCORE configuration. See *coap-oscore-conf*(5)
137c87c5fbaSopenharmony_ci   for definitions. Optional 'seq_file' (which is created if needed) is used to
138c87c5fbaSopenharmony_ci   save the current transmit sequence number, so on client restart sequence
139c87c5fbaSopenharmony_ci   numbers continue to increase and are not reset to prevent anti-replay
140c87c5fbaSopenharmony_ci   mechanisms being triggered.
141c87c5fbaSopenharmony_ci
142c87c5fbaSopenharmony_ci*-G* count ::
143c87c5fbaSopenharmony_ci   Repeat the Request 'count' times with a second delay between each one.
144c87c5fbaSopenharmony_ci   Must have a value between 1 and 255 inclusive. Default is '1'.
145c87c5fbaSopenharmony_ci
146c87c5fbaSopenharmony_ci*-H* hoplimit::
147c87c5fbaSopenharmony_ci   Set the Hop Limit count to hoplimit for proxies. Must have a value between
148c87c5fbaSopenharmony_ci   1 and 255 inclusive. Default is '16'.
149c87c5fbaSopenharmony_ci
150c87c5fbaSopenharmony_ci*-K* interval::
151c87c5fbaSopenharmony_ci   Send a ping after interval seconds of inactivity.
152c87c5fbaSopenharmony_ci   If not specified (or 0), keep-alive is disabled (default).
153c87c5fbaSopenharmony_ci
154c87c5fbaSopenharmony_ci*-L* value::
155c87c5fbaSopenharmony_ci   Sum of one or more COAP_BLOCK_* flag values for different block handling
156c87c5fbaSopenharmony_ci   methods. Default is 1 (COAP_BLOCK_USE_LIBCOAP).
157c87c5fbaSopenharmony_ci
158c87c5fbaSopenharmony_ci     COAP_BLOCK_USE_LIBCOAP         1
159c87c5fbaSopenharmony_ci     COAP_BLOCK_SINGLE_BODY         2
160c87c5fbaSopenharmony_ci     COAP_BLOCK_TRY_Q_BLOCK         4
161c87c5fbaSopenharmony_ci     COAP_BLOCK_USE_M_Q_BLOCK       8
162c87c5fbaSopenharmony_ci     COAP_BLOCK_NO_PREEMPTIVE_RTAG 16
163c87c5fbaSopenharmony_ci
164c87c5fbaSopenharmony_ci*-N* ::
165c87c5fbaSopenharmony_ci   Send NON-confirmable message. If option *-N* is not specified, a
166c87c5fbaSopenharmony_ci   confirmable message will be sent.
167c87c5fbaSopenharmony_ci
168c87c5fbaSopenharmony_ci*-O* num,text::
169c87c5fbaSopenharmony_ci   Add option 'num' with contents of 'text' to the request. If the text begins
170c87c5fbaSopenharmony_ci   with 0x, then the hex text (two [0-9a-f] per byte) is converted to binary
171c87c5fbaSopenharmony_ci   data.
172c87c5fbaSopenharmony_ci
173c87c5fbaSopenharmony_ci*-P* scheme://addr[:port]::
174c87c5fbaSopenharmony_ci   Scheme, address and optional port to define how to connect to a CoAP proxy
175c87c5fbaSopenharmony_ci   (automatically adds Proxy-Uri option to request) to forward the request to.
176c87c5fbaSopenharmony_ci   Scheme is one of coap, coaps, coap+tcp and coaps+tcp.
177c87c5fbaSopenharmony_ci
178c87c5fbaSopenharmony_ci*-T* token::
179c87c5fbaSopenharmony_ci   Define the initial starting 'token' for the request (up to 24 characters).
180c87c5fbaSopenharmony_ci
181c87c5fbaSopenharmony_ci*-U* ::
182c87c5fbaSopenharmony_ci   Never include Uri-Host or Uri-Port options.
183c87c5fbaSopenharmony_ci
184c87c5fbaSopenharmony_ci*-V* num::
185c87c5fbaSopenharmony_ci   The verbosity level to use (default 3, maximum is 7) for (D)TLS
186c87c5fbaSopenharmony_ci   library logging.
187c87c5fbaSopenharmony_ci
188c87c5fbaSopenharmony_ci*-X* size::
189c87c5fbaSopenharmony_ci   Maximum message size to use for TCP based connections (default is 8388864).
190c87c5fbaSopenharmony_ci   Maximum value of 2^32 -1.
191c87c5fbaSopenharmony_ci
192c87c5fbaSopenharmony_ciOPTIONS - PSK
193c87c5fbaSopenharmony_ci-------------
194c87c5fbaSopenharmony_ci(If supported by underlying (D)TLS library)
195c87c5fbaSopenharmony_ci
196c87c5fbaSopenharmony_ci*-h* match_hint_file::
197c87c5fbaSopenharmony_ci   This is a file that contains one or more lines of received Identity Hints
198c87c5fbaSopenharmony_ci   to match to use different user identity and associated pre-shared key (PSK)
199c87c5fbaSopenharmony_ci   (comma separated) instead of the *-k key* and *-u user* options. E.g., per
200c87c5fbaSopenharmony_ci   line +
201c87c5fbaSopenharmony_ci   hint_to_match,use_user,with_key +
202c87c5fbaSopenharmony_ci   A line that starts with # is treated as a comment. +
203c87c5fbaSopenharmony_ci   Note: *-k key* and *-u user* still need to be defined for the default case in
204c87c5fbaSopenharmony_ci   case there is no match.
205c87c5fbaSopenharmony_ci
206c87c5fbaSopenharmony_ci*-k* key::
207c87c5fbaSopenharmony_ci   Pre-shared key for the specified user identity (*-u* option also required).
208c87c5fbaSopenharmony_ci
209c87c5fbaSopenharmony_ci*-u* user::
210c87c5fbaSopenharmony_ci   User identity to send for pre-shared key mode (*-k* option also required).
211c87c5fbaSopenharmony_ci
212c87c5fbaSopenharmony_ciOPTIONS - PKI
213c87c5fbaSopenharmony_ci-------------
214c87c5fbaSopenharmony_ci(If supported by underlying (D)TLS library)
215c87c5fbaSopenharmony_ci
216c87c5fbaSopenharmony_ci*Note:* If any one of *certfile*, *keyfile* or *cafile* is in PKCS11 URI
217c87c5fbaSopenharmony_cinaming format (pkcs11: prefix), then any remaining non PKCS11 URI file
218c87c5fbaSopenharmony_cidefinitions have to be in DER, not PEM, format.  Otherwise all of
219c87c5fbaSopenharmony_ci*certfile*, *keyfile* or *cafile* are in PEM format.
220c87c5fbaSopenharmony_ci
221c87c5fbaSopenharmony_ci*-c* certfile::
222c87c5fbaSopenharmony_ci   PEM file or PKCS11 URI for the certificate. The private key can also be in
223c87c5fbaSopenharmony_ci   the PEM file, or has the same PKCS11 URI. If not, the private key is defined
224c87c5fbaSopenharmony_ci   by *-j keyfile*.
225c87c5fbaSopenharmony_ci
226c87c5fbaSopenharmony_ci*-j* keyfile::
227c87c5fbaSopenharmony_ci   PEM file or PKCS11 URI for the private key for the certificate in *-c
228c87c5fbaSopenharmony_ci   certfile* if the parameter is different from certfile in *-c certfile*.
229c87c5fbaSopenharmony_ci
230c87c5fbaSopenharmony_ci*-n* ::
231c87c5fbaSopenharmony_ci  Disable remote peer certificate checking.
232c87c5fbaSopenharmony_ci
233c87c5fbaSopenharmony_ci*-C* cafile::
234c87c5fbaSopenharmony_ciPEM file or PKCS11 URI for the CA certificate that was used to sign the server
235c87c5fbaSopenharmony_ci  certfile. Ideally the client certificate should be signed by the same CA so
236c87c5fbaSopenharmony_ci  that mutual authentication can take place. The contents of cafile are added
237c87c5fbaSopenharmony_ci  to the trusted store of root CAs. Using the *-C* or *-R* options will trigger
238c87c5fbaSopenharmony_ci  the validation of the server certificate unless overridden by the *-n* option.
239c87c5fbaSopenharmony_ci
240c87c5fbaSopenharmony_ci*-J* pkcs11_pin::
241c87c5fbaSopenharmony_ci  The user pin to unlock access to the PKCS11 token.
242c87c5fbaSopenharmony_ci
243c87c5fbaSopenharmony_ci*-M* rpk_file::
244c87c5fbaSopenharmony_ci  Raw Public Key (RPK) PEM file or PKCS11 URI that contains both PUBLIC KEY
245c87c5fbaSopenharmony_ci  and PRIVATE KEY or just EC PRIVATE KEY. (GnuTLS and TinyDTLS(PEM) support
246c87c5fbaSopenharmony_ci  only).  *-C cafile* or *-R trust_casfile* are not required.
247c87c5fbaSopenharmony_ci
248c87c5fbaSopenharmony_ci*-R* trust_casfile::
249c87c5fbaSopenharmony_ci  PEM file containing the set of trusted root CAs that are to be used to
250c87c5fbaSopenharmony_ci  validate the server certificate. Alternatively, this can point to a
251c87c5fbaSopenharmony_ci  directory containing a set of CA PEM files. The *-C cafile* CA does not have
252c87c5fbaSopenharmony_ci  to be in this list and is trusted for the validation. Using
253c87c5fbaSopenharmony_ci  *-R trust_casfile* disables common CA mutual authentication which can only
254c87c5fbaSopenharmony_ci  be done by using *-C cafile*. Using the *-C* or *-R* options will will
255c87c5fbaSopenharmony_ci  trigger the validation of the server certificate unless overridden by the
256c87c5fbaSopenharmony_ci  *-n* option.
257c87c5fbaSopenharmony_ci
258c87c5fbaSopenharmony_ciEXAMPLES
259c87c5fbaSopenharmony_ci--------
260c87c5fbaSopenharmony_ci* Example
261c87c5fbaSopenharmony_ci----
262c87c5fbaSopenharmony_cicoap-client coap://libcoap.net
263c87c5fbaSopenharmony_ci----
264c87c5fbaSopenharmony_ciQuery the resource '/' from server 'libcoap.net' (using the GET method).
265c87c5fbaSopenharmony_ci
266c87c5fbaSopenharmony_ci* Example
267c87c5fbaSopenharmony_ci----
268c87c5fbaSopenharmony_cicoap-client -m get coap://[::1]/
269c87c5fbaSopenharmony_ci----
270c87c5fbaSopenharmony_ciQuery the resource '/' on localhost using the 'GET' method to get back the
271c87c5fbaSopenharmony_cisummary information.
272c87c5fbaSopenharmony_ci
273c87c5fbaSopenharmony_ci* Example
274c87c5fbaSopenharmony_ci----
275c87c5fbaSopenharmony_cicoap-client -m get coap://%2Fsome%2Funix%2Fdomain%2Fpath/time
276c87c5fbaSopenharmony_ci----
277c87c5fbaSopenharmony_ciQuery the resource '/time' on server listening on datagram Unix domain
278c87c5fbaSopenharmony_ci'/some/unix/domain/path' using the 'GET' method to get back the
279c87c5fbaSopenharmony_cicurrent time. The %2F is the hex encoding for / and indicates
280c87c5fbaSopenharmony_ciwhich is the 'host' definition separator and the simple / is for the path
281c87c5fbaSopenharmony_cidefinition separator.
282c87c5fbaSopenharmony_ci
283c87c5fbaSopenharmony_ci* Example
284c87c5fbaSopenharmony_ci----
285c87c5fbaSopenharmony_cicoap-client -m get coap://[::1]/.well-known/core
286c87c5fbaSopenharmony_ci----
287c87c5fbaSopenharmony_ciQuery on the resource '.well-known/core' on localhost to get back a list of
288c87c5fbaSopenharmony_cithe known resources along with their attribute definitions.
289c87c5fbaSopenharmony_ci
290c87c5fbaSopenharmony_ci* Example
291c87c5fbaSopenharmony_ci----
292c87c5fbaSopenharmony_ciecho -n "mode=on" | coap-client -m put \
293c87c5fbaSopenharmony_cicoap://[2001:db8:c001:f00d:221:2eff:ff00:2704]:5683/actuators/leds?color=r -f-
294c87c5fbaSopenharmony_ci----
295c87c5fbaSopenharmony_ciSend text 'mode=on' to resource 'actuators/leds?color=r' on the endpoint with
296c87c5fbaSopenharmony_ciaddress '2001:db8:c001:f00d:221:2eff:ff00:2704' and port '5683'. Note that the
297c87c5fbaSopenharmony_ciport '5683' is the default port and isn't actually required in this instance.
298c87c5fbaSopenharmony_ci
299c87c5fbaSopenharmony_ci* Example
300c87c5fbaSopenharmony_ci----
301c87c5fbaSopenharmony_cicoap-client -m put coap://[fec0::3]/ck -T 3a -t binary -f to_upload
302c87c5fbaSopenharmony_ci----
303c87c5fbaSopenharmony_ciPut the contents of file 'to_upload' with content type 'binary' (i.e.
304c87c5fbaSopenharmony_ciapplication/octet-stream) into resource 'ck' on 'fec0::3' using a token of
305c87c5fbaSopenharmony_ci'3a' via the 'PUT' method.
306c87c5fbaSopenharmony_ci
307c87c5fbaSopenharmony_ciFILES
308c87c5fbaSopenharmony_ci------
309c87c5fbaSopenharmony_ciThere are no configuration files.
310c87c5fbaSopenharmony_ci
311c87c5fbaSopenharmony_ciEXIT STATUS
312c87c5fbaSopenharmony_ci-----------
313c87c5fbaSopenharmony_ci*0*::
314c87c5fbaSopenharmony_ci   Success
315c87c5fbaSopenharmony_ci
316c87c5fbaSopenharmony_ci*1*::
317c87c5fbaSopenharmony_ci   Failure (syntax or usage error; configuration error; document
318c87c5fbaSopenharmony_ci   processing failure; unexpected error)
319c87c5fbaSopenharmony_ci
320c87c5fbaSopenharmony_ciSEE ALSO
321c87c5fbaSopenharmony_ci--------
322c87c5fbaSopenharmony_ci
323c87c5fbaSopenharmony_ci*coap-server*(5) and *coap-oscore-conf*(5)
324c87c5fbaSopenharmony_ci
325c87c5fbaSopenharmony_ciBUGS
326c87c5fbaSopenharmony_ci-----
327c87c5fbaSopenharmony_ciPlease report bugs on the mailing list for libcoap:
328c87c5fbaSopenharmony_cilibcoap-developers@lists.sourceforge.net or raise an issue on GitHub at
329c87c5fbaSopenharmony_cihttps://github.com/obgm/libcoap/issues
330c87c5fbaSopenharmony_ci
331c87c5fbaSopenharmony_ciAUTHORS
332c87c5fbaSopenharmony_ci-------
333c87c5fbaSopenharmony_ciThe libcoap project <libcoap-developers@lists.sourceforge.net>
334