client_options

Description

The client_options plugin adds values to the connection note "client_options" depending on the connecting client's IP address or host name.

The "client_options" note (together with its brethren "sender_options" and "recipient_options") establishes a common mechanism to set and query configuration data specific to the current transaction. The value of the note is a hashref, where each value can be either a simple scalar or another hashref. By convention the keys at the top level are the names of the plugins "owning" them.

Thus, the plugin "foo" could check

    $self->qp->connection->notes('client_options')->{foo}{active} and
    $self->qp->connection->notes('client_options')->{foo}{action}{failure}

to find out whether it should be active for that client at all and what the action in case of a failure for that client should be.

In the configuration file of the client_options plugin, these options could be set with:

    10.1.2.3:    foo/active=1, foo/active/failure=LOGONLY
    10.1.0.0/16: foo/active=1, foo/active/failure=DENY
    example.net: foo/active=0

Docs

Download