MultiAuth Manual

Configuration options

The configuration options below go in an multiauth.ini file which is located in the same directory as the multiauth binary OR in a directory specified by the -path command line option (This command line option should be specified in the authent_process/g_authent_process setting)

The MultiAuth config file is slightly different to most other authent modules, it's different in that it has global settings and blocks of settings specific to each module you want it to run. The specific settings are used if specified, otherwise the global setting is used, if that is not specified then the default value is used.

An example config file might go...

loglevel debug
do_del false


module 0
  binary c:\surgemail\nwauth.exe -path c:\surgemail
  match *@domain1.com


module 1
  binary c:\surgemail\odbcauth.exe -path c:\surgemail
  match *@domain2.com
Setting Default
loglevel error
module  
binary  
match *
lookup <value of the match setting>
check <value of the match setting>
set <value of the match setting>
del <value of the match setting>
search <value of the match setting>
do_check true
do_lookup true
do_set existing
do_del false
do_search true
strip_prefix  
strip_suffix  
timeout  
loglevel:        The amount of data to log, error logs only errors, info logs
                 errors and info, debug logs everything. GLOBAL only this
                 setting has no effect in a module block.
				 
module:          This is not really a setting, this line starts a module block.
                 The parameter for this line is a priority rating, the module
                 with the lowest rating is used first.
				 
binary:          This is the full path and filename plus parameters of the module.
				 
match:           This setting specifies what usernames are sent to the module,
                 This setting is used for lookup,check,set,del and search unless
                 the lookup,check,set,del or search setting(s) are specified.
				 
lookup:          This setting specifies what usernames are sent to the module
                 for a lookup command.
				 
check:           This setting specifies what usernames are sent to the module
                 for a check command.
				 
set:             This setting specifies what usernames are sent to the module
                 for a set command.
				 
del:             This setting specifies what usernames are sent to the module
                 for a del command.
				 
search:          This setting specifies what usernames are sent to the module
                 for a search command.
				 
do_lookup:       [true|false] This setting specifies whether the module recieves
                 lookup commands.
				 
do_check:        [true|false] This setting specifies whether the module recieves
                 check commands.
				 
do_set:          [true|false|existing] This setting specifies whether the module
                 recieves set commands.
				 
do_del:          [true|false] This setting specifies whether the module recieves
                 del commands.
				 
do_search:       [true|false] This setting specifies whether the module recieves
                 search commands.
				 
strip_prefix:    This setting specifies the prefix to strip from usernames (if
                 present) before sending the command on to the module. eg.
				   strip_prefix domain_
                 
strip_suffix:    This setting specifies the suffix to strip from usernames (if
                 present) before sending the command on to the module. eg.
				   strip_suffix @domain.com
				 
timeout:         Time to wait for a reply from a module before giving up on it.
                 Time is in milli-secconds i.e. 'timeout 1000' == 1 seccond.

Command Line Options

-path        Tells MultiAuth where to create it's logfile and where to find it's
             config file.


-debug       Causes debug logging to be done.


-version     Reports the version number.

Supported Commands

Command Parameters
check <user> <pass>
lookup <user>
set <user> <pass>|(NULL) [label="value"]
del <user>
search <string> [-from n] [-max m]
version
quit
exit
check        Verifies user <user> has password <pass>, this command also
             returns the users uid and any information stored for them.

lookup       Verifies the existance of user <user> and returns uid and info
             as check command above does.

set          Add new user or modify an existing user. The special case (NULL)
             is used to modify a users info without re-setting the password.
             The optional info for a user can be anything provided then info
             label contains no spaces or quotes and the value contains no
             quotes. 

del          Deletes a user, thier home directory and all files stored therein.

search       Returns a list of users matching the search <string>, the string
             may contain a * or ? wildcard, if it does the string is matched
             as if it was a wildcard string, otherwise a match is found only
             if the username contains the string.

version      Returns the version number.

quit         Ends session

exit         Ends session

Command Responses

A command will usually respond with a one line response, that response will
start with +OK or -ERR, example:
  +OK User test@domain.com created successfully
  -ERR Failed to create test@domain.com, could not lock password file

If a command wants to return more that one line as a response it will send
lines starting with +DATA before the final +OK or -ERR response, example:
  +DATA test@domain.com config 111
  +DATA test2@domain.com config 112
  +OK Search Complete 2 items found out of 80

If MultiAuth has a fatal error while trying to initialise then it will return
a -DEAD message like the following...
  -DEAD Failed to load config settings, access denied

If you have any questions about MultiAuth please don't hesitate to contact:
  support-netauth@netwinsite.com