syslogrelay -- history of user-visible changes. 2023-11-15
See the end of file for copying conditions.

Please send syslogrelay bug reports to <gray@gnu.org>

Version 2.3, 2023-11-15

* Fix check for hostname presence in the message


Version 2.2, 2022-12-24

* Handling of control characters in syslog messages

If the message text contains ASCII control characters (ASCII 0 to 31),
these are replaced with their "caret notation", i.e. a caret
character followed by the character value XORed with 0100.  Thus,
horizontal tabulation (ASCII 9) becomes ^I, carriage return
(ASCII 13) becomes ^M, etc.  By default the newline character is
exempt from this translation.  Instead, it is substituted with
horizontal space (ASCII 32).

The "-Wcontrol_chars=MODE" option can be used to alter this
processing. Possible values for MODE are:

 caret
    Replace all control characters with their caret notation.  The newline
    character is represented as ^J.

 caretnl
    The default algorithm as described above.

 octal
    Replace control characters with their octal representation.

 raw
    Reproduce control characters verbatim.

* New option -s: set input buffer size

The -s option changes the default input buffer size.  Its argument is
the desired size in bytes.  For UDP input, values of up to 4096 are
allowed.  The default is 1024.

* New output channel: pri:///DIR

  Distributes messages to two disk files located in directory DIR.
  The name of the file to write to is selected depending on the message
  severity.  Messages with severity greater than LOG_ERR are directed
  to file "1" ("out" file), messages with severity less than or equal
  to LOG_ERR are directed to file "2" ("err" file).

  This channel understands the following parameters:

    severity=SEVERITY
       Gives name of the delimiter severity.  Messages with severity
       less than or equal to that value will be directed to "err" file.
       (DIR/2, by default).

    errfile=NAME
       Sets the name of the "err" file.

    outfile=NAME
       Sets the name of the "out" file.

    prio=none|keep|decode
       Controls whether and how the message priority is reflected on
       the output.  See the channel "file:" for details.

  Default settings correspond to:

      -Wseverity=err -Werrfile=2 -Woutfile=1 -Wprio=none


Version 2.1, 2022-05-30

* Bugfix: restore implicit port number for UDP.


Version 2.0, 2022-05-27

* Implements four output channels:

 file://FILE
   Outputs messages to FILE.
 udp://HOST[:PORT]
   Forwards messages to HOST:PORT via UDP.  Default PORT is 514.
 tcp://HOST:PORT
   Forwards messages to HOST:PORT via TCP (plaintext).  PORT is
   mandatory.
 tls+tcp://HOST[:PORT]
   Forwards messages to HOST:PORT via encrypted TCP.  Default PORT
   is 6514.  This requires GnuTLS.  See the README for details.

* The output channel to use is supplied as the command line argument

For example:

  syslogrelay tls+tcp://172.10.0.1

The options -O and -R are retained for compatibility with busybox
syslog, but may disappear in the future.

* -W: specify additional parameters for the selected channel

For example, -Wprio=V is used with the file:// channel to specify the
message priority output.  This replaces the following withdrawn
options:

  -k    replaced with -W prio=keep
  -D    replaced with -W prio=decode

See the manpage for a detailed discussion of the available channel
parameters.

* Message queues are implemented

This helps avoid message dropping is the remote collector goes down
for a while.  Useful with tcp:// and tls+tcp:// channels.


Version 1.0, 2022-05-22

Initial release.

=========================================================================
Copyright information:

Copyright (C) 2022 Sergey Poznyakoff

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and this permission notice are preserved,
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.

Local variables:
mode: outline
paragraph-separate: "[  ]*$"
eval: (add-hook 'write-file-hooks 'time-stamp)
time-stamp-start: "changes. "
time-stamp-format: "%:y-%02m-%02d"
time-stamp-end: "\n"
end:
