79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen# This file is commonly accessed via passdb {} or userdb {} section in
2028d80c2704bbf62b29b2c624b0ee3c3a03c462Timo Sirainen# Dictionary URI
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen# Default password scheme
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainendefault_pass_scheme = MD5
2028d80c2704bbf62b29b2c624b0ee3c3a03c462Timo Sirainen# Username iteration prefix. Keys under this are assumed to contain usernames.
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Siraineniterate_prefix = userdb/
2028d80c2704bbf62b29b2c624b0ee3c3a03c462Timo Sirainen# Should iteration be disabled for this userdb? If this userdb acts only as a
2028d80c2704bbf62b29b2c624b0ee3c3a03c462Timo Sirainen# cache there's no reason to try to iterate the (partial & duplicate) users.
2028d80c2704bbf62b29b2c624b0ee3c3a03c462Timo Sirainen#iterate_disable = no
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen# The example here shows how to do multiple dict lookups and merge the replies.
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen# The "passdb" and "userdb" keys are JSON objects containing key/value pairs,
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen# for example: { "uid": 1000, "gid": 1000, "home": "/home/user" }
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen key = passdb/%u
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen format = json
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen key = userdb/%u
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen format = json
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen key = userdb/%u/quota
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen #format = value
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen # The default_value is used if the key isn't found. If default_value setting
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen # isn't specified at all (even as empty), the passdb/userdb lookup fails with
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen # "user doesn't exist".
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen default_value = 100M
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen# Space separated list of keys whose values contain key/value paired objects.
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen# All the key/value pairs inside the object are added as passdb fields.
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainenpassdb_objects = passdb
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen#passdb_fields {
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen# Userdb key/value object list.
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainenuserdb_objects = userdb
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainenuserdb_fields {
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen # dict:<key> refers to key names
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen quota_rule = *:storage=%{dict:quota}
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen # dict:<key>.<objkey> refers to the objkey inside (JSON) object
79042f8c2ec1778528584c064b164d1ebcdde16bTimo Sirainen mail = maildir:%{dict:userdb.home}/Maildir