rlm_always

Synopsis

The "always" module is here for debugging purposes. Each instance always returns a preconfigured result without doing anything else.

Processing Sections

Any.

Return Codes

The return code from this module is always the value of the rcode configuration directive.

Expansions

None.

Directives

mpp
Syntax

mpp = boolean

Default

no

Description

When the always module is used inside of the checksimul section, then the always module either permits or denies multiple logins. The mpp option controls that behavior: when set to no, mpp disallows multiple logins; when set to yes, multiple logins are allowed.

rcode
Syntax

rcode = fail | reject | noop | handled | updated | notfound | ok

Default

fail

Description

The return code of the module. The always module will always return the same code. See man unlang for the meaning of these values.

simulcount
Syntax

simulcount = integer

Default

0

Description

The always module can be used inside of the checksimul section. When in the checksimul section, the always module either permits or denies multiple logins. The simulcount option controls that behavior by forcing a count of how many times the user has already logged in.

Default Instances

The server ships with a number of different instantiations of the always module. Each instance is given the name of one of the return codes, e.g., ok, fail, etc. These defaults should not be changed or deleted.

The default instances allow unlang statements such as:

Example use of reject module
 authorize {
 	...
	if (!EAP-Message) {
	   reject
	}
	...
 }

This policy will result in packets without EAP-Message being rejected. Using reject as a module allows the unlang policy engine to be as simple as possible. Instead of hard-coded keywords and meanings, almost everything is a module.