Imported Upstream version 2.6.4

This commit is contained in:
Arnaud Quette 2012-06-01 15:55:19 +02:00
parent fad6ced6f6
commit fefe62b2bd
257 changed files with 6020 additions and 1394 deletions

View file

@ -28,6 +28,24 @@ Embedded quotes are escaped with backslashes. Embedded backslashes are
also escaped by representing them as \\. This protocol is intended to
be interpreted with parseconf (NUT parser) or something similar.
Revision history
----------------
Here's a table to present the various changes that happened to the
NUT network protocol, over the time:
[options="header",style="asciidoc",cols="^.^,^.^,<"]
|===============================================================================
|Protocol version |NUT version |Description
|1.0 |< 1.5.0 |Original protocol (legacy version)
|1.1 |>= 1.5.0 |Original protocol (without old commands)
.2+|1.2 .2+|>= 2.6.4 |Add "LIST CLIENTS" and "NETVER" commands
|Add ranges of values for writable variables
|===============================================================================
NOTE: any new version of the protocol implies an update of NUT_NETVERSION
in *configure.in*.
GET
---
@ -106,8 +124,10 @@ Response:
- 'RW': this variable may be set to another value with SET
- 'ENUM': an enumerated type, which supports a few specific values
- 'STRING:n': this is a string of maximum length n
- 'RANGE': this is an integer, comprised in the range (see LIST RANGE)
ENUM and STRING are usually associated with RW, but not always.
ENUM, STRING and RANGE are usually associated with RW, but not always.
The default <type>, when omitted, is integer.
This replaces the old "VARTYPE" command.
@ -286,6 +306,47 @@ This replaces the old "ENUM" command.
NOTE: this does not support the old "SELECTED" notation. You must
request the current value separately.
RANGE
~~~~~
Form:
LIST RANGE <upsname> <varname>
LIST RANGE su700 input.transfer.low
Response:
BEGIN LIST RANGE <upsname> <varname>
RANGE <upsname> <varname> "<min>" "<max>"
...
END LIST RANGE <upsname> <varname>
BEGIN LIST RANGE su700 input.transfer.low
RANGE su700 input.transfer.low "90" "100"
RANGE su700 input.transfer.low "102" "105"
...
END LIST RANGE su700 input.transfer.low
CLIENT
~~~~~~
Form:
LIST CLIENT <device_name>
LIST CLIENT ups1
Response:
BEGIN LIST CLIENT <device_name>
CLIENT <device name> <client IP address>
...
END LIST CLIENT <device_name>
BEGIN LIST CLIENT ups1
CLIENT ups1 ::1
CLIENT ups1 192.168.1.2
END LIST CLIENT ups1
SET
---
@ -426,15 +487,16 @@ Response:
This tells upsd to switch to TLS mode internally, so all future
communications will be encrypted. You must also change to TLS mode in
the client after receiving the OK, or the connection will be useless.
the client after receiving the OK, or the connection will be useless.
Other commands
--------------
- HELP: lists the commands supported by this server
- VER: shows the version of the server currently in use
- NETVER: shows the version of the network protocol currently in use
These two are not intended to be used directly by programs. Humans can
These three are not intended to be used directly by programs. Humans can
make use of this program by using telnet or netcat. If you use
telnet, make sure you don't have it set to negotiate extra options.
upsd doesn't speak telnet and will probably misunderstand your first