##VERSION: $Id: authmysqlrc,v 1.17 2004/04/20 01:38:17 mrsam Exp $
|
#
|
# Copyright 2000-2004 Double Precision, Inc. See COPYING for
|
# distribution information.
|
#
|
# Do not alter lines that begin with ##, they are used when upgrading
|
# this configuration.
|
#
|
# authmysqlrc created from authmysqlrc.dist by sysconftool
|
#
|
# DO NOT INSTALL THIS FILE with world read permissions. This file
|
# might contain the MySQL admin password!
|
#
|
# Each line in this file must follow the following format:
|
#
|
# field[spaces|tabs]value
|
#
|
# That is, the name of the field, followed by spaces or tabs, followed by
|
# field value. Trailing spaces are prohibited.
|
|
|
##NAME: LOCATION:0
|
#
|
# The server name, userid, and password used to log in.
|
|
MYSQL_SERVER localhost
|
MYSQL_USERNAME root
|
MYSQL_PASSWORD
|
|
##NAME: MYSQL_SOCKET:0
|
#
|
# MYSQL_SOCKET can be used with MySQL version 3.22 or later, it specifies the
|
# filesystem pipe used for the connection
|
#
|
# MYSQL_SOCKET /var/run/mysqld/mysqld.sock
|
|
##NAME: MYSQL_PORT:0
|
#
|
# MYSQL_PORT can be used with MySQL version 3.22 or later to specify a port to
|
# connect to.
|
|
MYSQL_PORT 0
|
|
##NAME: MYSQL_OPT:0
|
#
|
# Leave MYSQL_OPT as 0, unless you know what you're doing.
|
|
MYSQL_OPT 0
|
|
##NAME: MYSQL_DATABASE:0
|
#
|
# The name of the MySQL database we will open:
|
|
MYSQL_DATABASE mailserver
|
|
##NAME: MYSQL_USER_TABLE:0
|
#
|
# The name of the table containing your user data. See README.authmysqlrc
|
# for the required fields in this table.
|
|
MYSQL_USER_TABLE mail_box
|
|
##NAME: MYSQL_CRYPT_PWFIELD:0
|
#
|
# Either MYSQL_CRYPT_PWFIELD or MYSQL_CLEAR_PWFIELD must be defined. Both
|
# are OK too. crypted passwords go into MYSQL_CRYPT_PWFIELD, cleartext
|
# passwords go into MYSQL_CLEAR_PWFIELD. Cleartext passwords allow
|
# CRAM-MD5 authentication to be implemented.
|
|
MYSQL_CRYPT_PWFIELD cryptpwd
|
|
##NAME: MYSQL_CLEAR_PWFIELD:0
|
#
|
#
|
# MYSQL_CLEAR_PWFIELD clear
|
|
##NAME: MYSQL_DEFAULT_DOMAIN:0
|
#
|
# If DEFAULT_DOMAIN is defined, and someone tries to log in as 'user',
|
# we will look up 'user@DEFAULT_DOMAIN' instead.
|
#
|
#
|
# DEFAULT_DOMAIN example.com
|
|
##NAME: MYSQL_UID_FIELD:0
|
#
|
# Other fields in the mysql table:
|
#
|
# MYSQL_UID_FIELD - contains the numerical userid of the account
|
#
|
MYSQL_UID_FIELD 8
|
|
##NAME: MYSQL_GID_FIELD:0
|
#
|
# Numerical groupid of the account
|
|
MYSQL_GID_FIELD 8
|
|
##NAME: MYSQL_LOGIN_FIELD:0
|
#
|
# The login id, default is id. Basically the query is:
|
#
|
# SELECT MYSQL_UID_FIELD, MYSQL_GID_FIELD, ... WHERE id='loginid'
|
#
|
|
MYSQL_LOGIN_FIELD email
|
|
##NAME: MYSQL_HOME_FIELD:0
|
#
|
|
MYSQL_HOME_FIELD maildir
|
|
##NAME: MYSQL_NAME_FIELD:0
|
#
|
# The user's name (optional)
|
|
#MYSQL_NAME_FIELD name
|
|
##NAME: MYSQL_MAILDIR_FIELD:0
|
#
|
# This is an optional field, and can be used to specify an arbitrary
|
# location of the maildir for the account, which normally defaults to
|
# $HOME/Maildir (where $HOME is read from MYSQL_HOME_FIELD).
|
#
|
# You still need to provide a MYSQL_HOME_FIELD, even if you uncomment this
|
# out.
|
#
|
# MYSQL_MAILDIR_FIELD maildir
|
|
##NAME: MYSQL_DEFAULTDELIVERY:0
|
#
|
# Courier mail server only: optional field specifies custom mail delivery
|
# instructions for this account (if defined) -- essentially overrides
|
# DEFAULTDELIVERY from ${sysconfdir}/courierd
|
#
|
# MYSQL_DEFAULTDELIVERY defaultdelivery
|
|
##NAME: MYSQL_QUOTA_FIELD:0
|
#
|
# Define MYSQL_QUOTA_FIELD to be the name of the field that can optionally
|
# specify a maildir quota. See README.maildirquota for more information
|
#
|
# MYSQL_QUOTA_FIELD quota
|
|
##NAME: MYSQL_AUXOPTIONS:0
|
#
|
# Auxiliary options. The MYSQL_AUXOPTIONS field should be a char field that
|
# contains a single string consisting of comma-separated "ATTRIBUTE=NAME"
|
# pairs. These names are additional attributes that define various per-account
|
# "options", as given in INSTALL's description of the "Account OPTIONS"
|
# setting.
|
#
|
# MYSQL_AUXOPTIONS_FIELD auxoptions
|
#
|
# You might want to try something like this, if you'd like to use a bunch
|
# of individual fields, instead of a single text blob:
|
#
|
# MYSQL_AUXOPTIONS_FIELD CONCAT("disableimap=",disableimap,",disablepop3=",disablepop3,",disablewebmail=",disablewebmail,",sharedgroup=",sharedgroup)
|
#
|
# This will let you define fields called "disableimap", etc, with the end result
|
# being something that the OPTIONS parser understands.
|
|
|
##NAME: MYSQL_WHERE_CLAUSE:0
|
#
|
# This is optional, MYSQL_WHERE_CLAUSE can be basically set to an arbitrary
|
# fixed string that is appended to the WHERE clause of our query
|
#
|
# MYSQL_WHERE_CLAUSE server='mailhost.example.com'
|
|
##NAME: MYSQL_SELECT_CLAUSE:0
|
#
|
# (EXPERIMENTAL)
|
# This is optional, MYSQL_SELECT_CLAUSE can be set when you have a database,
|
# which is structuraly different from proposed. The fixed string will
|
# be used to do a SELECT operation on database, which should return fields
|
# in order specified bellow:
|
#
|
# username, cryptpw, clearpw, uid, gid, home, maildir, quota, fullname, options
|
#
|
# The username field should include the domain (see example below).
|
#
|
# Enabling this option causes ignorance of any other field-related
|
# options, excluding default domain.
|
#
|
# There are two variables, which you can use. Substitution will be made
|
# for them, so you can put entered username (local part) and domain name
|
# in the right place of your query. These variables are:
|
# $(local_part), $(domain), $(service)
|
#
|
# If a $(domain) is empty (not given by the remote user) the default domain
|
# name is used in its place.
|
#
|
# $(service) will expand out to the service being authenticated: imap, imaps,
|
# pop3 or pop3s. Courier mail server only: service will also expand out to
|
# "courier", when searching for local mail account's location. In this case,
|
# if the "maildir" field is not empty it will be used in place of
|
# DEFAULTDELIVERY. Courier mail server will also use esmtp when doing
|
# authenticated ESMTP.
|
#
|
# This example is a little bit modified adaptation of vmail-sql
|
# database scheme:
|
#
|
# MYSQL_SELECT_CLAUSE SELECT CONCAT(popbox.local_part, '@', popbox.domain_name), \
|
# CONCAT('{MD5}', popbox.password_hash), \
|
# popbox.clearpw, \
|
# domain.uid, \
|
# domain.gid, \
|
# CONCAT(domain.path, '/', popbox.mbox_name), \
|
# '', \
|
# domain.quota, \
|
# '', \
|
# CONCAT("disableimap=",disableimap,",disablepop3=", \
|
# disablepop3,",disablewebmail=",disablewebmail, \
|
# ",sharedgroup=",sharedgroup) \
|
# FROM popbox, domain \
|
# WHERE popbox.local_part = '$(local_part)' \
|
# AND popbox.domain_name = '$(domain)' \
|
# AND popbox.domain_name = domain.domain_name
|
|
|
##NAME: MYSQL_ENUMERATE_CLAUSE:0
|
#
|
# {EXPERIMENTAL}
|
# Optional custom SQL query used to enumerate accounts for authenumerate,
|
# in order to compile a list of accounts for shared folders. The query
|
# should return the following fields: name, uid, gid, homedir, maildir
|
#
|
# Example:
|
# MYSQL_ENUMERATE_CLAUSE SELECT CONCAT(popbox.local_part, '@', popbox.domain_name), \
|
# domain.uid, \
|
# domain.gid, \
|
# CONCAT(domain.path, '/', popbox.mbox_name), \
|
# '' \
|
# FROM popbox, domain \
|
# WHERE popbox.local_part = '$(local_part)' \
|
# AND popbox.domain_name = '$(domain)' \
|
# AND popbox.domain_name = domain.domain_name
|
|
|
|
##NAME: MYSQL_CHPASS_CLAUSE:0
|
#
|
# (EXPERIMENTAL)
|
# This is optional, MYSQL_CHPASS_CLAUSE can be set when you have a database,
|
# which is structuraly different from proposed. The fixed string will
|
# be used to do an UPDATE operation on database. In other words, it is
|
# used, when changing password.
|
#
|
# There are four variables, which you can use. Substitution will be made
|
# for them, so you can put entered username (local part) and domain name
|
# in the right place of your query. There variables are:
|
# $(local_part) , $(domain) , $(newpass) , $(newpass_crypt)
|
#
|
# If a $(domain) is empty (not given by the remote user) the default domain
|
# name is used in its place.
|
# $(newpass) contains plain password
|
# $(newpass_crypt) contains its crypted form
|
#
|
# MYSQL_CHPASS_CLAUSE UPDATE popbox \
|
# SET clearpw='$(newpass)', \
|
# password_hash='$(newpass_crypt)' \
|
# WHERE local_part='$(local_part)' \
|
# AND domain_name='$(domain)'
|
#
|