PageRenderTime 75ms CodeModel.GetById 31ms RepoModel.GetById 1ms app.codeStats 0ms

/libs/ldaplib/attrs.py

https://bitbucket.org/sqbell/iredadmin-ose
Python | 141 lines | 94 code | 16 blank | 31 comment | 0 complexity | 08069efad9e340fdacd0f970f2078a42 MD5 | raw file
Possible License(s): GPL-2.0
  1. # Author: Zhang Huangbin <zhb@iredmail.org>
  2. # ---------------------------------------------------------
  3. # Values.
  4. # ---------------------------------------------------------
  5. ACCOUNT_STATUS_ACTIVE = 'active'
  6. ACCOUNT_STATUS_DISABLED = 'disabled'
  7. ACCOUNT_STATUSES = [ACCOUNT_STATUS_ACTIVE, ACCOUNT_STATUS_DISABLED, ]
  8. # All account types which can be converted to ldap dn.
  9. ACCOUNT_TYPES_ALL = ['domain', 'catchall', 'admin', 'user', 'maillist', 'maillistExternal', 'alias', ]
  10. ACCOUNT_TYPES_EMAIL = ['admin', 'user', 'maillist', 'maillistExternal', 'alias', ]
  11. ACCOUNT_TYPES_DOMAIN = ['domain', 'catchall', ]
  12. # Default groups which will be created while create a new domain.
  13. # WARNING: Don't use unicode string here.
  14. GROUP_USERS = 'Users'
  15. GROUP_GROUPS = 'Groups'
  16. GROUP_ALIASES = 'Aliases'
  17. GROUP_EXTERNALS = 'Externals'
  18. DEFAULT_GROUPS = [GROUP_USERS, GROUP_GROUPS, GROUP_ALIASES, GROUP_EXTERNALS, ]
  19. #
  20. DN_BETWEEN_USER_AND_DOMAIN = DN_BETWEEN_CATCHALL_AND_DOMAIN = 'ou=%s,' % (GROUP_USERS, )
  21. DN_BETWEEN_MAILLIST_AND_DOMAIN = 'ou=%s,' % (GROUP_GROUPS, )
  22. DN_BETWEEN_ALIAS_AND_DOMAIN = 'ou=%s,' % (GROUP_ALIASES, )
  23. DN_BETWEEN_MAILLIST_EXTERNAL_AND_DOMAIN = 'ou=%s,' % (GROUP_EXTERNALS, )
  24. # RDN of accounts. Default is 'mail'.
  25. # Note: Although you can use other attr as RDN, but all mail user/list/alias
  26. # must have 'mail' attribute.
  27. RDN_USER = 'mail' # Supports: mail, cn, uid.
  28. RDN_MAILLIST = RDN_ALIAS = RDN_ADMIN = RDN_CATCHALL = 'mail'
  29. RDN_MAILLIST_EXTERNAL = 'memberOfGroup'
  30. RDN_DOMAIN = 'domainName'
  31. # ---------------------------------------------------------
  32. # Attributes.
  33. # ---------------------------------------------------------
  34. ATTR_GLOBAL_ADMIN = 'domainGlobalAdmin'
  35. ATTR_DOMAIN_CURRENT_QUOTA_SIZE = 'domainCurrentQuotaSize'
  36. # ---------------------------------------------------------
  37. # Admin related.
  38. # ---------------------------------------------------------
  39. ADMIN_SEARCH_ATTRS = ['mail', 'accountStatus', 'cn', 'preferredLanguage',
  40. 'domainGlobalAdmin', 'enabledService',
  41. 'objectClass',
  42. ]
  43. ADMIN_ATTRS_ALL = ADMIN_SEARCH_ATTRS + ['sn', 'givenName']
  44. # ---------------------------------------------------------
  45. # Domain related.
  46. # ---------------------------------------------------------
  47. DOMAIN_FILTER = '(objectClass=mailDomain)'
  48. # All availabe services.
  49. DOMAIN_ENABLED_SERVICE = ('mail', 'domainalias', 'senderbcc', 'recipientbcc',)
  50. # Services availabel in 'Service Control' page.
  51. DOMAIN_SERVICE_UNDER_CONTROL = ['mail', 'domainalias', 'senderbcc', 'recipientbcc', ]
  52. DOMAIN_SEARCH_ATTRS = [
  53. # Attributes used in domain list page.
  54. 'domainName', 'domainAliasName', 'domainAdmin',
  55. 'cn', 'mtaTransport', 'accountStatus',
  56. 'domainCurrentQuotaSize',
  57. 'domainCurrentUserNumber',
  58. 'domainCurrentListNumber',
  59. 'domainCurrentAliasNumber',
  60. 'accountSetting',
  61. ]
  62. DOMAIN_ATTRS_ALL = [
  63. # Normal attributes.
  64. 'domainName', 'domainAliasName', 'cn', 'description', 'accountStatus', 'domainBackupMX',
  65. 'domainAdmin', 'mtaTransport', 'enabledService',
  66. 'domainRecipientBccAddress', 'domainSenderBccAddress',
  67. 'disclaimer',
  68. 'domainCurrentQuotaSize',
  69. 'domainCurrentUserNumber',
  70. 'domainCurrentListNumber',
  71. 'domainCurrentAliasNumber',
  72. 'accountSetting',
  73. ]
  74. VALUES_DOMAIN_BACKUPMX = ['yes', 'no']
  75. # ---------------------------------------------------------
  76. # User related.
  77. # ---------------------------------------------------------
  78. USER_FILTER = '(objectClass=mailUser)'
  79. USER_ATTR_PASSWORD = 'userPassword'
  80. # All availabe services.
  81. USER_ENABLED_SERVICES = (
  82. 'internal', 'doveadm',
  83. 'mail', 'smtp', 'smtpsecured',
  84. 'pop3', 'pop3secured',
  85. 'imap', 'imapsecured',
  86. 'deliver', 'forward',
  87. 'recipientbcc', 'senderbcc',
  88. 'managesieve', 'managesievesecured', 'sieve', 'sievesecured',
  89. 'shadowaddress',
  90. 'displayedInGlobalAddressBook',
  91. )
  92. # Services availabel in 'Service Control' page.
  93. USER_SERVICE_UNDER_CONTROL = [
  94. 'internal',
  95. 'mail', 'smtp', 'smtpsecured',
  96. 'pop3', 'pop3secured',
  97. 'imap', 'imapsecured',
  98. 'deliver', 'forward',
  99. 'recipientbcc', 'senderbcc',
  100. 'managesieve', 'managesievesecured', 'sieve', 'sievesecured',
  101. 'shadowaddress',
  102. 'displayedInGlobalAddressBook',
  103. ]
  104. USER_SEARCH_ATTRS = [
  105. # Required attributes.
  106. 'mail', 'cn', 'accountStatus', 'mailQuota',
  107. 'employeeNumber', 'title', 'shadowAddress', 'memberOfGroup',
  108. 'storageBaseDirectory', 'mailMessageStore',
  109. 'uidNumber', 'gidNumber', 'sambaSID',
  110. ]
  111. USER_ATTRS_ALL = [
  112. 'mail', 'cn', 'accountStatus', 'mailQuota', 'jpegPhoto',
  113. 'sn', 'givenName',
  114. 'enabledService', 'memberOfGroup', 'employeeNumber', 'preferredLanguage',
  115. 'telephoneNumber', 'userRecipientBccAddress', 'userSenderBccAddress',
  116. 'mailForwardingAddress', 'mtaTransport',
  117. 'storageBaseDirectory', 'mailMessageStore', # Maildir
  118. 'mobile', 'title', 'shadowAddress',
  119. 'shadowLastChange', # Date of last password change, it's a integer.
  120. # Per-user whitelist & blacklist.
  121. 'amavisWhitelistSender', 'amavisBlacklistSender',
  122. 'mailWhitelistRecipient', 'mailBlacklistRecipient',
  123. 'domainGlobalAdmin', # Global admin
  124. 'uidNumber', 'gidNumber', 'sambaSID',
  125. ]