12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163 |
- '\" t
- .\" Title: mosquitto_ctrl
- .\" Author: [see the "Author" section]
- .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
- .\" Date: 10/27/2021
- .\" Manual: Commands
- .\" Source: Mosquitto Project
- .\" Language: English
- .\"
- .TH "MOSQUITTO_CTRL" "1" "10/27/2021" "Mosquitto Project" "Commands"
- .\" -----------------------------------------------------------------
- .\" * Define some portability stuff
- .\" -----------------------------------------------------------------
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .\" http://bugs.debian.org/507673
- .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .ie \n(.g .ds Aq \(aq
- .el .ds Aq '
- .\" -----------------------------------------------------------------
- .\" * set default formatting
- .\" -----------------------------------------------------------------
- .\" disable hyphenation
- .nh
- .\" disable justification (adjust text to left margin only)
- .ad l
- .\" -----------------------------------------------------------------
- .\" * MAIN CONTENT STARTS HERE *
- .\" -----------------------------------------------------------------
- .SH "NAME"
- mosquitto_ctrl \- a tool for initialising/configuring a Mosquitto broker instance
- .SH "SYNOPSIS"
- .HP \w'\fBmosquitto_ctrl\fR\ 'u
- \fBmosquitto_ctrl\fR [connection\-options\ |\ \-o\ config\-file] module\-name module\-command [command\-options]
- .HP \w'\fBconnection\-options:\fR\ 'u
- \fBconnection\-options:\fR {[\fB\-h\fR\ \fIhostname\fR]\ [\fB\-\-unix\fR\ \fIsocket\ path\fR]\ [\fB\-p\fR\ \fIport\-number\fR]\ [\fB\-u\fR\ \fIusername\fR]\ [\fB\-P\fR\ \fIpassword\fR] | \fB\-L\fR\ \fIURL\fR} [\fB\-A\fR\ \fIbind\-address\fR] [\fB\-c\fR] [\fB\-d\fR] [\fB\-i\fR\ \fIclient\-id\fR] [\fB\-q\fR\ \fImessage\-QoS\fR] [\fB\-\-quiet\fR] [\fB\-V\fR\ \fIprotocol\-version\fR] [[{\fB\-\-cafile\fR\ \fIfile\fR\ |\ \fB\-\-capath\fR\ \fIdir\fR}\ [\fB\-\-cert\fR\ \fIfile\fR]\ [\fB\-\-key\fR\ \fIfile\fR]\ [\fB\-\-ciphers\fR\ \fIciphers\fR]\ [\fB\-\-tls\-version\fR\ \fIversion\fR]\ [\fB\-\-tls\-alpn\fR\ \fIprotocol\fR]\ [\fB\-\-tls\-engine\fR\ \fIengine\fR]\ [\fB\-\-keyform\fR\ {\fIpem\fR\ |\ \fIengine\fR}]\ [\fB\-\-tls\-engine\-kpass\-sha1\fR\ \fIkpass\-sha1\fR]\ [\fB\-\-insecure\fR]] | [\fB\-\-psk\fR\ \fIhex\-key\fR\ \fB\-\-psk\-identity\fR\ \fIidentity\fR\ [\fB\-\-ciphers\fR\ \fIciphers\fR]\ [\fB\-\-tls\-version\fR\ \fIversion\fR]]] [\fB\-\-proxy\fR\ \fIsocks\-url\fR]
- .HP \w'\fBmosquitto_ctrl\fR\ 'u
- \fBmosquitto_ctrl\fR [\fB\-\-help\fR]
- .SH "DESCRIPTION"
- .PP
- \fBmosquitto_ctrl\fR
- is a tool for helping configure a Mosquitto broker instance\&.
- .SH "ENCRYPTED CONNECTIONS"
- .PP
- \fBmosquitto_ctrl\fR
- supports TLS encrypted connections\&. It is strongly recommended that you use an encrypted connection for all remote use of mosquitto_ctrl\&.
- .PP
- To enable TLS connections when using x509 certificates, one of either
- \fB\-\-cafile\fR
- or
- \fB\-\-capath\fR
- must be provided as an option\&.
- .PP
- To enable TLS connections when using TLS\-PSK, you must use the
- \fB\-\-psk\fR
- and the
- \fB\-\-psk\-identity\fR
- options\&.
- .SH "MODULES"
- .PP
- \fBDynamic security\fR
- .RS 4
- Authentication, and role based access control with users and groups\&. Uses the
- \fBdynsec\fR
- module name\&. See:
- \fBmosquitto_ctrl_dynsec\fR(1)
- .RE
- .PP
- \fBExternal modules\fR
- .RS 4
- \fBmosquitto_ctrl\fR
- has the ability to load external modules in the form of shared libraries\&. For example using the module name
- \fBexample\fR
- will try to load the external module
- \fBmosquitto_ctrl_example\&.so\fR
- or
- \fBmosquitto_ctrl_example\&.dll\fR, depending on platform\&. This allows new functionality to be added to Mosquitto by combining a plugin and mosquitto_ctrl module, without having to recompile any Mosquitto source code\&.
- .RE
- .SH "CONNECTION OPTIONS"
- .PP
- The options below may be given on the command line, but may also be placed in a config file located at
- \fB$XDG_CONFIG_HOME/mosquitto_ctrl\fR
- or
- \fB$HOME/\&.config/mosquitto_ctrl\fR\&.
- .PP
- The config file may be specified manually with the
- \fB\-o \fR\fB\fIconfig\-file\fR\fR
- option\&.
- .PP
- The config file should have one pair of
- \fB\-option \fR\fB\fIvalue\fR\fR
- per line\&. The values in the config file will be used as defaults and can be overridden by using the command line\&. The exceptions to this are the message type options, of which only one can be specified\&. Note also that currently some options cannot be negated, e\&.g\&.
- \fB\-S\fR\&. Config file lines that have a
- \fB#\fR
- as the first character are treated as comments and not processed any further\&.
- .PP
- \fB\-A\fR
- .RS 4
- Bind the outgoing connection to a local ip address/hostname\&. Use this argument if you need to restrict network communication to a particular interface\&.
- .RE
- .PP
- \fB\-\-cafile\fR
- .RS 4
- Define the path to a file containing PEM encoded CA certificates that are trusted\&. Used to enable SSL communication\&.
- .sp
- See also
- \fB\-\-capath\fR
- .RE
- .PP
- \fB\-\-capath\fR
- .RS 4
- Define the path to a directory containing PEM encoded CA certificates that are trusted\&. Used to enable SSL communication\&.
- .sp
- For
- \fB\-\-capath\fR
- to work correctly, the certificate files must have "\&.crt" as the file ending and you must run "openssl rehash <path to capath>" each time you add/remove a certificate\&.
- .sp
- See also
- \fB\-\-cafile\fR
- .RE
- .PP
- \fB\-\-cert\fR
- .RS 4
- Define the path to a file containing a PEM encoded certificate for this client, if required by the server\&.
- .sp
- See also
- \fB\-\-key\fR\&.
- .RE
- .PP
- \fB\-\-ciphers\fR
- .RS 4
- An openssl compatible list of TLS ciphers to support in the client\&. See
- \fBciphers\fR(1)
- for more information\&.
- .RE
- .PP
- \fB\-d\fR, \fB\-\-debug\fR
- .RS 4
- Enable debug messages\&.
- .RE
- .PP
- \fB\-D\fR, \fB\-\-property\fR
- .RS 4
- Use an MQTT v5 property with this publish\&. If you use this option, the client will be set to be an MQTT v5 client\&. This option has two forms:
- .sp
- \fB\-D command identifier value\fR
- .sp
- \fB\-D command identifier name value\fR
- .sp
- \fBcommand\fR
- is the MQTT command/packet identifier and can be one of CONNECT, PUBLISH, PUBREL, DISCONNECT, AUTH, or WILL\&. The properties available for each command are listed in the
- Properties
- section\&.
- .sp
- \fBidentifier\fR
- is the name of the property to add\&. This is as described in the specification, but with \*(Aq\-\*(Aq as a word separator\&. For example:
- \fBpayload\-format\-indicator\fR\&. More details are in the
- Properties
- section\&.
- .sp
- \fBvalue\fR
- is the value of the property to add, with a data type that is property specific\&.
- .sp
- \fBname\fR
- is only used for the
- \fBuser\-property\fR
- property as the first of the two strings in the string pair\&. In that case,
- \fBvalue\fR
- is the second of the strings in the pair\&.
- .RE
- .PP
- \fB\-\-help\fR
- .RS 4
- Display usage information\&.
- .RE
- .PP
- \fB\-h\fR, \fB\-\-host\fR
- .RS 4
- Specify the host to connect to\&. Defaults to localhost\&.
- .RE
- .PP
- \fB\-i\fR, \fB\-\-id\fR
- .RS 4
- The id to use for this client\&. If not given, a client id will be generated depending on the MQTT version being used\&. For v3\&.1\&.1/v3\&.1, the client generates a client id in the format
- \fBmosq\-XXXXXXXXXXXXXXXXXX\fR, where the
- \fBX\fR
- are replaced with random alphanumeric characters\&. For v5\&.0, the client sends a zero length client id, and the server will generate a client id for the client\&.
- .sp
- This option cannot be used at the same time as the
- \fB\-\-id\-prefix\fR
- argument\&.
- .RE
- .PP
- \fB\-\-insecure\fR
- .RS 4
- When using certificate based encryption, this option disables verification of the server hostname in the server certificate\&. This can be useful when testing initial server configurations but makes it possible for a malicious third party to impersonate your server through DNS spoofing, for example\&. Use this option in testing
- \fIonly\fR\&. If you need to resort to using this option in a production environment, your setup is at fault and there is no point using encryption\&.
- .RE
- .PP
- \fB\-\-key\fR
- .RS 4
- Define the path to a file containing a PEM encoded private key for this client, if required by the server\&.
- .sp
- See also
- \fB\-\-cert\fR\&.
- .RE
- .PP
- \fB\-\-keyform\fR
- .RS 4
- Specifies the type of private key in use when making TLS connections\&.\&. This can be "pem" or "engine"\&. This parameter is useful when a TPM module is being used and the private key has been created with it\&. Defaults to "pem", which means normal private key files are used\&.
- .sp
- See also
- \fB\-\-tls\-engine\fR\&.
- .RE
- .PP
- \fB\-L\fR, \fB\-\-url\fR
- .RS 4
- Specify specify user, password, hostname, port and topic at once as a URL\&. The URL must be in the form: mqtt(s)://[username[:password]@]host[:port]/topic
- .sp
- If the scheme is mqtt:// then the port defaults to 1883\&. If the scheme is mqtts:// then the port defaults to 8883\&.
- .RE
- .PP
- \fB\-\-nodelay\fR
- .RS 4
- Disable Nagle\*(Aqs algorithm for the socket\&. This means that latency of sent messages is reduced, which is particularly noticable for small, reasonably infrequent messages\&. Using this option may result in more packets being sent than would normally be necessary\&.
- .RE
- .PP
- \fB\-o\fR \fIconfig\-file\fR
- .RS 4
- Provide a path to a config file to load options from\&. The config file should have one pair of
- \fB\-option \fR\fB\fIvalue\fR\fR
- per line\&. The values in the config file will be used as defaults and can be overridden by using the command line\&. The exceptions to this are the message type options, of which only one can be specified\&. Note also that currently some options cannot be negated, e\&.g\&.
- \fB\-S\fR\&. Config file lines that have a
- \fB#\fR
- as the first character are treated as comments and not processed any further\&.
- .RE
- .PP
- \fB\-p\fR, \fB\-\-port\fR
- .RS 4
- Connect to the port specified\&. If not given, the default of 1883 for plain MQTT or 8883 for MQTT over TLS will be used\&.
- .RE
- .PP
- \fB\-P\fR, \fB\-\-pw\fR
- .RS 4
- Provide a password to be used for authenticating with the broker\&. Using this argument without also specifying a username is invalid when using MQTT v3\&.1 or v3\&.1\&.1\&. See also the
- \fB\-\-username\fR
- option\&.
- .RE
- .PP
- \fB\-\-proxy\fR
- .RS 4
- Specify a SOCKS5 proxy to connect through\&. "None" and "username" authentication types are supported\&. The
- \fBsocks\-url\fR
- must be of the form
- \fBsocks5h://[username[:password]@]host[:port]\fR\&. The protocol prefix
- \fBsocks5h\fR
- means that hostnames are resolved by the proxy\&. The symbols %25, %3A and %40 are URL decoded into %, : and @ respectively, if present in the username or password\&.
- .sp
- If username is not given, then no authentication is attempted\&. If the port is not given, then the default of 1080 is used\&.
- .sp
- More SOCKS versions may be available in the future, depending on demand, and will use different protocol prefixes as described in
- \fBcurl\fR(1)\&.
- .RE
- .PP
- \fB\-\-psk\fR
- .RS 4
- Provide the hexadecimal (no leading 0x) pre\-shared\-key matching the one used on the broker to use TLS\-PSK encryption support\&.
- \fB\-\-psk\-identity\fR
- must also be provided to enable TLS\-PSK\&.
- .RE
- .PP
- \fB\-\-psk\-identity\fR
- .RS 4
- The client identity to use with TLS\-PSK support\&. This may be used instead of a username if the broker is configured to do so\&.
- .RE
- .PP
- \fB\-q\fR, \fB\-\-qos\fR
- .RS 4
- Specify the quality of service to use for messages, from 0, 1 and 2\&. Defaults to 1\&.
- .RE
- .PP
- \fB\-\-quiet\fR
- .RS 4
- If this argument is given, no runtime errors will be printed\&. This excludes any error messages given in case of invalid user input (e\&.g\&. using
- \fB\-\-port\fR
- without a port)\&.
- .RE
- .PP
- \fB\-\-tls\-alpn\fR
- .RS 4
- Provide a protocol to use when connecting to a broker that has multiple protocols available on a single port, e\&.g\&. MQTT and WebSockets\&.
- .RE
- .PP
- \fB\-\-tls\-engine\fR
- .RS 4
- A valid openssl engine id\&. These can be listed with openssl engine command\&.
- .sp
- See also
- \fB\-\-keyform\fR\&.
- .RE
- .PP
- \fB\-\-tls\-engine\-kpass\-sha1\fR
- .RS 4
- SHA1 of the private key password when using an TLS engine\&. Some TLS engines such as the TPM engine may require the use of a password in order to be accessed\&. This option allows a hex encoded SHA1 hash of the password to the engine directly, instead of the user being prompted for the password\&.
- .sp
- See also
- \fB\-\-tls\-engine\fR\&.
- .RE
- .PP
- \fB\-\-tls\-version\fR
- .RS 4
- Choose which TLS protocol version to use when communicating with the broker\&. Valid options are
- \fBtlsv1\&.3\fR,
- \fBtlsv1\&.2\fR
- and
- \fBtlsv1\&.1\fR\&. The default value is
- \fBtlsv1\&.2\fR\&. Must match the protocol version used by the broker\&.
- .RE
- .PP
- \fB\-u\fR, \fB\-\-username\fR
- .RS 4
- Provide a username to be used for authenticating with the broker\&. See also the
- \fB\-\-pw\fR
- argument\&.
- .RE
- .PP
- \fB\-\-unix\fR
- .RS 4
- Connect to a broker through a local unix domain socket instead of a TCP socket\&. This is a replacement for
- \fB\-h\fR
- and
- \fB\-L\fR\&. For example:
- \fBmosquitto_ctrl \-\-unix /tmp/mosquitto\&.sock \&.\&.\&.\fR
- .sp
- See the
- \fBsocket_domain\fR
- option in
- \m[blue]\fBmosquitto\&.conf\fR\m[](5)
- to configure Mosquitto to listen on a unix socket\&.
- .RE
- .PP
- \fB\-V\fR, \fB\-\-protocol\-version\fR
- .RS 4
- Specify which version of the MQTT protocol should be used when connecting to the rmeote broker\&. Can be
- \fB5\fR,
- \fB311\fR,
- \fB31\fR, or the more verbose
- \fBmqttv5\fR,
- \fBmqttv311\fR, or
- \fBmqttv31\fR\&. Defaults to
- \fB311\fR\&.
- .RE
- .SH "PROPERTIES"
- .PP
- The
- \fB\-D\fR
- /
- \fB\-\-property\fR
- option allows adding properties to different stages of the mosquitto_ctrl run\&. The properties supported for each command are as follows:
- .SS "Connect"
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBauthentication\-data\fR
- (binary data \- note treated as a string in mosquitto_ctrl)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBauthentication\-method\fR
- (UTF\-8 string pair)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBmaximum\-packet\-size\fR
- (32\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBreceive\-maximum\fR
- (16\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBrequest\-problem\-information\fR
- (8\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBrequest\-response\-information\fR
- (8\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBsession\-expiry\-interval\fR
- (32\-bit unsigned integer, note use
- \fB\-x\fR
- instead)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBtopic\-alias\-maximum\fR
- (16\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBuser\-property\fR
- (UTF\-8 string pair)
- .RE
- .SS "Publish"
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBcontent\-type\fR
- (UTF\-8 string)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBcorrelation\-data\fR
- (binary data \- note treated as a string in mosquitto_ctrl)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBmessage\-expiry\-interval\fR
- (32\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBpayload\-format\-indicator\fR
- (8\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBresponse\-topic\fR
- (UTF\-8 string)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBtopic\-alias\fR
- (16\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBuser\-property\fR
- (UTF\-8 string pair)
- .RE
- .SS "Disconnect"
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBsession\-expiry\-interval\fR
- (32\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBuser\-property\fR
- (UTF\-8 string pair)
- .RE
- .SS "Will properties"
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBcontent\-type\fR
- (UTF\-8 string)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBcorrelation\-data\fR
- (binary data \- note treated as a string in mosquitto_ctrl)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBmessage\-expiry\-interval\fR
- (32\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBpayload\-format\-indicator\fR
- (8\-bit unsigned integer)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBresponse\-topic\fR
- (UTF\-8 string)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBuser\-property\fR
- (UTF\-8 string pair)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fBwill\-delay\-interval\fR
- (32\-bit unsigned integer)
- .RE
- .SH "EXIT STATUS"
- .PP
- mosquitto_sub returns zero on success, or non\-zero on error\&. If the connection is refused by the broker at the MQTT level, then the exit code is the CONNACK reason code\&. If another error occurs, the exit code is a libmosquitto return value\&.
- .PP
- MQTT v3\&.1\&.1 CONNACK codes:
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB0\fR
- Success
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB1\fR
- Connection refused: Bad protocol version
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB2\fR
- Connection refused: Identifier rejected
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB3\fR
- Connection refused: Server unavailable
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB4\fR
- Connection refused: Bad username/password
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB5\fR
- Connection refused: Not authorized
- .RE
- .PP
- MQTT v5 CONNACK codes:
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB0\fR
- Success
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB128\fR
- Unspecified error
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB129\fR
- Malformed packet
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB130\fR
- Protocol error
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB131\fR
- Implementation specific error
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB132\fR
- Unsupported protocol version
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB133\fR
- Client ID not valid
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB134\fR
- Bad username or password
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB135\fR
- Not authorized
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB136\fR
- Server unavailable
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB137\fR
- Server busy
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB138\fR
- Banned
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB139\fR
- Server shutting down
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB140\fR
- Bad authentication method
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB141\fR
- Keep alive timeout
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB142\fR
- Session taken over
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB143\fR
- Topic filter invalid
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB144\fR
- Topic name invalid
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB147\fR
- Receive maximum exceeded
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB148\fR
- Topic alias invalid
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB149\fR
- Packet too large
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB148\fR
- Message rate too high
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB151\fR
- Quota exceeded
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB152\fR
- Administrative action
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB153\fR
- Payload format invalid
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB154\fR
- Retain not supported
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB155\fR
- QoS not supported
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB156\fR
- Use another server
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB157\fR
- Server moved
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB158\fR
- Shared subscriptions not supported
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB159\fR
- Connection rate exceeded
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB160\fR
- Maximum connect time
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB161\fR
- Subscription IDs not supported
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- \fB162\fR
- Wildcard subscriptions not supported
- .RE
- .SH "BUGS"
- .PP
- \fBmosquitto\fR
- bug information can be found at
- \m[blue]\fB\%https://github.com/eclipse/mosquitto/issues\fR\m[]
- .SH "SEE ALSO"
- \fBmqtt\fR(7), \fBmosquitto_rr\fR(1), \fBmosquitto_pub\fR(1), \fBmosquitto_sub\fR(1), \fBmosquitto\fR(8), \fBlibmosquitto\fR(3), \fBmosquitto-tls\fR(7)
- .SH "AUTHOR"
- .PP
- Roger Light
- <roger@atchoo\&.org>
|