****************************
im3195: RFC3195 Input Module
****************************

===========================  ===========================================================================
**Module Name:**             **im3195**
**Author:**                  `Rainer Gerhards <https://rainer.gerhards.net/>`_ <rgerhards@adiscon.com>
===========================  ===========================================================================


Purpose
=======

Receives syslog messages via RFC 3195. The RAW profile is fully
implemented and the COOKED profile is provided in an experimental state.
This module uses `liblogging <http://www.liblogging.org>`_ for the
actual protocol handling.


Module Parameters
-----------------

.. note::

   Parameter names are case-insensitive; PascalCase is recommended for
   readability.

.. list-table::
   :widths: 30 70
   :header-rows: 1

   * - Parameter
     - Summary
   * - :ref:`param-im3195-input3195listenport`
     - .. include:: ../../reference/parameters/im3195-input3195listenport.rst
        :start-after: .. summary-start
        :end-before: .. summary-end


Caveats/Known Bugs
==================

Due to no demand at all for RFC3195, we have converted rfc3195d to this
input module, but we have NOT conducted any testing. Also, the module
does not yet properly handle the recovery case. If someone intends to
put this module into production, good testing should be conducted. It
also is a good idea to notify the rsyslog project that you intend to use
it in production. In this case, we'll probably give the module another
cleanup. We don't do this now because so far it looks just like a big
waste of time.

Currently only a single listener can be defined. That one binds to all
interfaces.

Example
=======

The following sample accepts syslog messages via RFC 3195 on port 1601.

.. code-block:: none

   $ModLoad im3195
   $Input3195ListenPort 1601


.. toctree::
   :hidden:

   ../../reference/parameters/im3195-input3195listenport


