# -*- text -*-
#
#  $Id: 11bd2246642bf3c080327c7f4a67dc42603f3a6c $

# passwd module allows to do authorization via any passwd-like
# file and to extract any attributes from these files.
#
#  See the "smbpasswd" and "etc_group" files for more examples.
#
# parameters are:
#   filename - path to file
#
#   format - format for filename record. This parameters
#            correlates record in the passwd file and RADIUS
#            attributes.
#
#            Field marked as '*' is a key field. That is, the parameter
#            with this name from the request is used to search for
#            the record from passwd file
#
#            Attributes marked as '=' are added to reply_items instead
#            of default configure_items
#
#	     Attributes marked as '~' are added to request_items
#
#            Field marked as ',' may contain a comma separated list
#            of attributes.
#
#   hash_size - hashtable size.  Setting it to 0 is no longer permitted
#		A future version of the server will have the module
#		automatically determine the hash size.  Having it set
#		manually should not be necessary.
#
#   allow_multiple_keys - if many records for a key are allowed
#
#   ignore_nislike - ignore NIS-related records
#
#   delimiter - symbol to use as a field separator in passwd file,
#            for format ':' symbol is always used. '\0', '\n' are
#	     not allowed
#

#  An example configuration for using /etc/passwd.
#
#  This is an example which will NOT WORK if you have shadow passwords,
#  NIS, etc.  The "unix" module is normally responsible for reading
#  system passwords.  You should use it instead of this example.
#
passwd etc_passwd {
	filename = /etc/passwd
	format = "*User-Name:Crypt-Password:"
	hash_size = 100
	ignore_nislike = no
	allow_multiple_keys = no
}
