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