diff --git a/doc/conf/LSattribute/check-data.docbook b/doc/conf/LSattribute/check-data.docbook index be9842a3..f349acf3 100644 --- a/doc/conf/LSattribute/check-data.docbook +++ b/doc/conf/LSattribute/check-data.docbook @@ -54,6 +54,7 @@ règles. &conf-LSattribute-check-data-imagesize; &conf-LSattribute-check-data-inarray; &conf-LSattribute-check-data-integer; +&conf-LSattribute-check-data-ldapSearchURI; &conf-LSattribute-check-data-lettersonly; &conf-LSattribute-check-data-maxlength; &conf-LSattribute-check-data-minlength; diff --git a/doc/conf/LSattribute/check_data/LSattribute-check_data.entities.xml b/doc/conf/LSattribute/check_data/LSattribute-check_data.entities.xml index afae6232..17ebbb7c 100644 --- a/doc/conf/LSattribute/check_data/LSattribute-check_data.entities.xml +++ b/doc/conf/LSattribute/check_data/LSattribute-check_data.entities.xml @@ -9,6 +9,7 @@ + diff --git a/doc/conf/LSattribute/check_data/ldapSearchURI.docbook b/doc/conf/LSattribute/check_data/ldapSearchURI.docbook new file mode 100644 index 00000000..10370c4a --- /dev/null +++ b/doc/conf/LSattribute/check_data/ldapSearchURI.docbook @@ -0,0 +1,92 @@ + + ldapSearchURI + Cette règle vérifie que la valeur est une URI de recherche LDAP valide, c'est + à dire, par exemple, + ldaps://ldap.example.com:636/o=example?attr1,attr2?one?(gidNumber=100) + + Cette vérification commence par découper la valeur à l'aide du sépérateur + ? et elle s'assure ensuite : + + + Que la première partie est bien une URI LDAP valide. Si l'hôte + LDAP est spécifié, elle s'assure qu'il soit une adresse IP ou un nom de domaine valide. + Si le port LDAP est spécifié, elle s'assure également qu'il soit correct et que l'hôte + est également bien spécifié. + + Si la base de recherche est spécifiée, elle s'assure qu'elle soit + compatible avec la racine de l'annuaire connecté. + + Si un ou plusieurs attributs sont spécifiés, elle les vérifie un à un + afin de vérifier qu'il s'agit de nom d'attribut valide. + + Que le scope de recherche soit bien spécifié et valide. + + + Si le filtre de recherche est spécifié, elle vérifie qu'il soit valide. + + + + + + + Paramêtres de configuration + + + check_resolving_ldap_host + + Si l'hôte du serveur LDAP est spécifié et qu'il s'agit d'un nom de domaine valide, + un tentative de résolution DNS sera également faite (optionnel, par défaut : + Vrai). + + + + + host_required + + Booléen détermintant si une erreur est relevée en cas d'absence de l'hôte + LDAP. (optionnel, par défaut : Faux) + + + + + basedn_required + + Booléen détermintant si une erreur est relevée en cas d'absence de base de + recherche. (optionnel, par défaut : Faux) + + + + + scope_required + + Booléen détermintant si une erreur est relevée en cas d'absence de portée de + recherche. (optionnel, par défaut : Vrai) + + + + + attr_required + + Booléen détermintant si une erreur est relevée en cas d'absence d'attribut + recherché. (optionnel, par défaut : Faux) + + + + + max_attrs_count + + Nombre maximum d'attribut recherchés. (optionnel, par défaut : pas de limite) + + + + + + filter_required + + Booléen détermintant si une erreur est relevée en cas d'absence de filtre de + recherche. (optionnel, par défaut : Faux) + + + + + diff --git a/lsexample/lsexample.ldif b/lsexample/lsexample.ldif deleted file mode 100644 index c8a0be34..00000000 --- a/lsexample/lsexample.ldif +++ /dev/null @@ -1,713 +0,0 @@ -dn: o=ls -objectClass: top -objectClass: organization -o: ls -structuralObjectClass: organization - -dn: sambaDomainName=LS,o=ls -objectClass: sambaDomain -objectClass: sambaUnixIdPool -objectClass: sambaSidEntry -objectClass: top -structuralObjectClass: sambaSidEntry -sambaDomainName: LS -sambaSID: S-1-5-21-4207250186-2406131440-3849861866 -uidNumber: 800000 -gidNumber: 800002 - -dn: ou=sysaccounts,o=ls -objectClass: top -objectClass: organizationalUnit -ou: sysaccounts -structuralObjectClass: organizationalUnit - -dn: uid=mail,ou=sysaccounts,o=ls -objectClass: top -objectClass: lssysaccount -uid: mail -userPassword: toto -pwdPolicySubentry: cn=sysaccounts,ou=ppolicies,o=ls -structuralObjectClass: lssysaccount - -dn: uid=samba,ou=sysaccounts,o=ls -objectClass: top -objectClass: lssysaccount -uid: samba -userPassword: toto -pwdPolicySubentry: cn=sysaccounts,ou=ppolicies,o=ls -structuralObjectClass: lssysaccount - -dn: uid=ldapsaisie,ou=sysaccounts,o=ls -objectClass: top -objectClass: lssysaccount -uid: ldapsaisie -userPassword: toto -pwdPolicySubentry: cn=sysaccounts,ou=ppolicies,o=ls -structuralObjectClass: lssysaccount - -dn: ou=groups,o=ls -objectClass: top -objectClass: organizationalUnit -ou: groups -structuralObjectClass: organizationalUnit - -dn: cn=adminldap,ou=groups,o=ls -objectClass: top -objectClass: lsgroup -objectClass: posixGroup -objectClass: sambaGroupMapping -cn: adminldap -gidNumber: 70000 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-70000 -sambaGroupType: 2 -structuralObjectClass: posixGroup -uniqueMember: uid=admin,ou=people,o=ls - -dn: cn=invite,ou=groups,o=ls -objectClass: top -objectClass: lsgroup -objectClass: posixGroup -objectClass: sambaGroupMapping -cn: invite -gidNumber: 101009 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-203019 -sambaGroupType: 2 -structuralObjectClass: posixGroup - -dn: cn=ls,ou=groups,o=ls -objectClass: top -objectClass: lsgroup -objectClass: posixGroup -objectClass: sambaGroupMapping -cn: ls -gidNumber: 102001 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-205003 -sambaGroupType: 2 -structuralObjectClass: posixGroup -uniqueMember: uid=invite,ou=people,o=ls - -dn: cn=informatique,ou=groups,o=ls -objectClass: top -objectClass: lsgroup -objectClass: posixGroup -objectClass: sambaGroupMapping -gidNumber: 102009 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-205019 -sambaGroupType: 2 -cn: informatique -structuralObjectClass: posixGroup -uniqueMember: uid=eeggs,ou=people,o=ls -uniqueMember: uid=admin,ou=people,o=ls - -dn: cn=direction,ou=groups,o=ls -objectClass: top -objectClass: lsgroup -objectClass: posixGroup -objectClass: sambaGroupMapping -cn: direction -gidNumber: 102007 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-205015 -sambaGroupType: 2 -structuralObjectClass: posixGroup -uniqueMember: uid=hmartin,ou=people,o=ls -uniqueMember: uid=eeggs,ou=people,o=ls - -dn: cn=administratif,ou=groups,o=ls -objectClass: top -objectClass: lsgroup -objectClass: posixGroup -objectClass: sambaGroupMapping -cn: administratif -gidNumber: 102005 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-205011 -sambaGroupType: 2 -structuralObjectClass: posixGroup - -dn: cn=communication,ou=groups,o=ls -objectClass: top -objectClass: lsgroup -objectClass: posixGroup -objectClass: sambaGroupMapping -cn: communication -gidNumber: 102003 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-205007 -sambaGroupType: 2 -structuralObjectClass: posixGroup - -dn: ou=people,o=ls -objectClass: top -objectClass: organizationalUnit -ou: people -structuralObjectClass: organizationalUnit - -dn: uid=hmartin,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -uid: hmartin -homeDirectory: /home/com -loginShell: /bin/false -uidNumber: 101022 -sambaAcctFlags: [U ] -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-203044 -givenName: Henri -sn: MARTIN -gidNumber: 102001 -lsAllowedServices: MAIL -lsAllowedServices: SAMBA -lsAllowedServices: FTP -cn: Henri MARTIN -sambaPrimaryGroupSID: S-1-5-21-2421470416-3566881284-3047381809-205003 -personalTitle: M. -lsGodfatherDn: uid=eeggs,ou=people,o=ls -userPassword: toto -sambaLMPassword: 0182BD0BD4444BF836077A718CCDF409 -sambaNTPassword: 259745CB123A52AA2E693AAACCA2DB52 -structuralObjectClass: lspeople -mail: henri.martin@ls.com - -dn: uid=s.ldapsaisie,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -loginShell: /bin/false -uidNumber: 101036 -userPassword: toto -sambaAcctFlags: [U ] -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-203072 -sambaNTPassword: 8DB716B655D71DF6BD056A41B22B9EA9 -sambaLMPassword: 6CE56DC112C920EF0F5E44C88BF9DC39 -givenName: Secretariat -mail: secretariat@ldapsaisie.biz -lsAllowedServices: MAIL -lsAllowedServices: SAMBA -lsAllowedServices: FTP -sambaPrimaryGroupSID: S-1-5-21-2421470416-3566881284-3047381809-513 -structuralObjectClass: lspeople -personalTitle: M. -sn: LdapSaisie -cn: Secretariat LdapSaisie -gidNumber: 70000 -uid: s.ldapsaisie -homeDirectory: /home/s.ldapsaisie - -dn: uid=ls,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -uid: ls -homeDirectory: /home/ls -loginShell: /bin/false -uidNumber: 101068 -userPassword: toto -sambaAcctFlags: [U ] -sambaLMPassword: 6E72264E11F708C0AAD3B435B51404EE -sambaNTPassword: 8D9B9B87EE8C0423691F4F0E00C5BDE1 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-203136 -gidNumber: 102001 -lsAllowedServices: MAIL -lsAllowedServices: SAMBA -lsAllowedServices: FTP -sambaPrimaryGroupSID: S-1-5-21-2421470416-3566881284-3047381809-205003 -structuralObjectClass: lspeople -personalTitle: M. -givenName: Ldap -sn: Saisie -cn: LdapSaisie -mail: ldap.saisie@ls.com -description: toto - -dn: uid=erwpa,ou=people,o=ls -uid: erwpa -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -uidNumber: 101082 -sambaAcctFlags: [U ] -homeDirectory: /home/erwpa -loginShell: /bin/false -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-203164 -sn: PAGEARD -gidNumber: 102009 -mail: erwan.page@ldapsaisie.biz -lsAllowedServices: MAIL -lsAllowedServices: SAMBA -lsAllowedServices: FTP -cn: Erwan PAGE -sambaPrimaryGroupSID: S-1-5-21-2421470416-3566881284-3047381809-205019 -personalTitle: M. -givenName: Erwan -lsGodfatherDn: uid=eeggs,ou=people,o=ls -userPassword: toto -sambaLMPassword: B3298C30FB103112C187B8085FE1D9DF -sambaNTPassword: 59D2D06177D147726BBA6AECBCB080BC -structuralObjectClass: lspeople - -dn: uid=eeggs2,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -uid: eeggs2 -uidNumber: 1000000 -gidNumber: 102009 -facsimileTelephoneNumber: 030000000 -lsAllowedServices: MAIL -lsAllowedServices: FTP -description: Utilisateur test Easter-eggs 2 -cn: Easter Eggs 2 -personalTitle: M. -homeDirectory: /home/eeggs -loginShell: /bin/false -sn: Eggs -givenName: Easter -mail: bn8@zionetrix.net -userPassword: toto -structuralObjectClass: lspeople - -dn: uid=eeggs3,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -uid: eeggs3 -uidNumber: 10000000 -gidNumber: 102009 -facsimileTelephoneNumber: 030000000 -lsAllowedServices: MAIL -lsAllowedServices: FTP -description: Utilisateur test Easter-eggs 2 -cn: Easter Eggs 2 -personalTitle: M. -homeDirectory: /home/eeggs -loginShell: /bin/false -sn: Eggs -givenName: Easter -mail: bn8@zionetrix.net -userPassword: toto -structuralObjectClass: lspeople - -dn: ou=companies,o=ls -objectClass: organizationalUnit -objectClass: top -ou: companies -structuralObjectClass: organizationalUnit - -dn: ou=company2,ou=companies,o=ls -objectClass: top -objectClass: lscompany -ou: company2 -description:: dGVzdCAyIA== -structuralObjectClass: lscompany - -dn: ou=people,ou=company2,ou=companies,o=ls -objectClass: top -objectClass: organizationalUnit -ou: people -structuralObjectClass: organizationalUnit - -dn: ou=groups,ou=company2,ou=companies,o=ls -objectClass: top -objectClass: organizationalUnit -ou: groups -structuralObjectClass: organizationalUnit - -dn: ou=company1,ou=companies,o=ls -objectClass: top -objectClass: lscompany -ou: company1 -description: Test company 1 -structuralObjectClass: lscompany - -dn: ou=people,ou=company1,ou=companies,o=ls -objectClass: top -objectClass: organizationalUnit -ou: people -structuralObjectClass: organizationalUnit - -dn: ou=groups,ou=company1,ou=companies,o=ls -objectClass: top -objectClass: organizationalUnit -ou: groups -structuralObjectClass: organizationalUnit - -dn: ou=company3,ou=companies,o=ls -objectClass: top -objectClass: lscompany -ou: company3 -description: test 3 -structuralObjectClass: lscompany - -dn: ou=people,ou=company3,ou=companies,o=ls -objectClass: top -objectClass: organizationalUnit -ou: people -structuralObjectClass: organizationalUnit - -dn: ou=groups,ou=company3,ou=companies,o=ls -objectClass: top -objectClass: organizationalUnit -ou: groups -structuralObjectClass: organizationalUnit - -dn: cn=test,ou=groups,ou=company2,ou=companies,o=ls -objectClass: lsgroup -objectClass: posixGroup -cn: test -gidNumber: 102010 -structuralObjectClass: posixGroup - -dn: cn=group1,ou=groups,ou=company1,ou=companies,o=ls -objectClass: lsgroup -objectClass: posixGroup -cn: group1 -gidNumber: 102011 -uniqueMember: uid=user1,ou=people,ou=company1,ou=companies,o=ls -structuralObjectClass: posixGroup - -dn: uid=user1,ou=people,ou=company1,ou=companies,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -givenName: prenom1 -loginShell: /bin/false -personalTitle: M. -uid: user1 -uidNumber: 10000001 -sn: nom1 -cn: prenom1 nom1 -gidNumber: 101009 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-20001002 -homeDirectory: /home/user1 -mail: user1@ls.com -description: user1 -userPassword: toto -sambaLMPassword: FC26CDB2863917C1AAD3B435B51404EE -sambaNTPassword: 00B2C85DDFBD8CC81602D6FC7340EB0B -structuralObjectClass: lspeople - -dn: uid=user2,ou=people,ou=company1,ou=companies,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -givenName: prenom2 -loginShell: /bin/false -personalTitle: M. -uid: user2 -uidNumber: 10000002 -sn: nom2 -cn: prenom2 nom2 -gidNumber: 102001 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-20001004 -homeDirectory: /home/user2 -mail: user2@ls.com -userPassword: toto -sambaLMPassword: C53D7C8685D27214AAD3B435B51404EE -sambaNTPassword: C549EE84021E5E8372E10CEDEAFD02A8 -structuralObjectClass: lspeople - -dn: ou=company4,ou=companies,o=ls -objectClass: top -objectClass: lscompany -ou: company4 -description: test -structuralObjectClass: lscompany - -dn: ou=people,ou=company4,ou=companies,o=ls -objectClass: top -objectClass: organizationalUnit -ou: people -structuralObjectClass: organizationalUnit - -dn: ou=groups,ou=company4,ou=companies,o=ls -objectClass: top -objectClass: organizationalUnit -ou: groups -structuralObjectClass: organizationalUnit - -dn: cn=testpasdn,ou=groups,o=ls -objectClass: lsgroup -objectClass: posixGroup -cn: testpasdn -gidNumber: 102012 -structuralObjectClass: posixGroup -uniqueMember: uid=erwpa,ou=people,o=ls -uniqueMember: uid=eeggs,ou=people,o=ls -uniqueMember: uid=ls,ou=people,o=ls - -dn: uid=eeggs,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -loginShell: /bin/bash -personalTitle: M. -uidNumber: 10000008 -sn: Eggs -gidNumber: 102009 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-20001016 -userPassword: toto -sambaLMPassword: A466CD4F80A06085E68AA26A841A86FA -sambaNTPassword: 1F2029FF8619E2FEE2189C5A9653BDD5 -structuralObjectClass: lspeople -uid: eeggs -givenName: Easter -cn: Easter Eggs -homeDirectory: /home/eeggs -mail: easter.eggs@ls.com - -dn: cn=secretariat,ou=groups,o=ls -objectClass: lsgroup -objectClass: posixGroup -cn: secretariat -gidNumber: 102013 -uniqueMember: uid=hmartin,ou=people,o=ls -structuralObjectClass: posixGroup - -dn: uid=invite,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -givenName: Utilisateur -loginShell: /bin/false -personalTitle: M. -uid: invite -uidNumber: 10000012 -sn: de passage -cn: Utilisateur de passage -gidNumber: 101009 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-20001024 -homeDirectory: /home/invite -mail: invite@ldapsaisie.biz -userPassword: toto -sambaLMPassword: 0182BD0BD4444BF836077A718CCDF409 -sambaNTPassword: 259745CB123A52AA2E693AAACCA2DB52 -structuralObjectClass: lspeople - -dn: uid=demo,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -givenName: Demonstration -loginShell: /bin/false -personalTitle: M. -uid: demo -uidNumber: 10000014 -sn: LdapSaisie -cn: Demonstration LdapSaisie -gidNumber: 70000 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-20001028 -homeDirectory: /home/demo -mail: demo@ls.com -description:: VXRpbGlzYXRldXIgZGUgZMOpbW9uc3RyYXRpb24= -userPassword: demo -sambaLMPassword: 193DB29CB51FD313AAD3B435B51404EE -sambaNTPassword: 527C9C819B286EFB8EC4EBB5B5AE71CF -structuralObjectClass: lspeople - -dn: uid=admin,ou=people,o=ls -objectClass: top -objectClass: lspeople -objectClass: posixAccount -objectClass: shadowAccount -objectClass: sambaSamAccount -givenName: Administration -loginShell: /bin/false -personalTitle: M. -uid: admin -uidNumber: 10000015 -sn: LdapSaisie -cn: Administration LdapSaisie -gidNumber: 70000 -sambaSID: S-1-5-21-2421470416-3566881284-3047381809-20001030 -homeDirectory: /home/admin -userPassword: admin -sambaLMPassword: F0D412BD764FFE81AAD3B435B51404EE -sambaNTPassword: 209C6174DA490CAEB422F3FA5A7AE634 -structuralObjectClass: lspeople -description:: VXRpbGlzYXRldXIgZGUgZMOpbW9uc3RyYXRpb24gOiBBZG1pbmlzdHJhdGV1cg== -jpegPhoto:: iVBORw0KGgoAAAANSUhEUgAAAOkAAAAyCAYAAAC5zvwPAAAABHNCSVQICAgIfAhkiA - AAAAlwSFlzAAAevgAAHr4BkbqOfgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBo - AABdiSURBVHic7Z15nBTVtce/p2YBZACRYBTBDdwRoqio8SkGmRmQxJgo6sP4YjafRg3ODBqNUXFJ - EIYBNfm45OWjvqhPQ4wmGpgeQFHEqHFBg8aoKCAQWUREFGbpOu+PWz1dVV3VXT1dM4Omf5/P/XTX7 - btVV517zz3bFVXliwwRORhodGXdoKq/7a7xdAfkgpfK6Ld+AK3l/Sm1d7C1Zb3eOfGz7h5XEKSuaT - yqt7dn2NZknT1uaZf1X9N4NiLT2zMsmagzK5d3Vf9BKI2zMRG5CDjRlTVHVZ+Ls48O4GhgH9f1e90 - 1kK6EXJY4EovzEU6gguEkS0qxkmADFWVIbWIbsB5YDvoEaj/J7AnLVenuWbs37udlJXt2ae+WVKCu - /pUeXdp/AGIlUuB84CjX9U0xt98RjPJdv9Ito+giSM3jeyHld2ExASALyVU4aSjIaUgJ1CQ2ylTO1 - 5lVf+ma0RYRBbERqYiUAoe7snYA/4ir/QJwpOv7e6r6UbeNpJMhUxtHIGWLQL/UwSYGorJXrIMqom - DEuZIeCh7W4O+q2hZj+3lDRCzgCFfWy901ls6G1CR2Q2QB4CNQXYpav0F4m6S1hl7Nn7CjdD8sHQo - MQzgOlfHEz1V1DML7KA+1X1vW+q7tX95FNd2/sLlL+w9AnA/mSN/1zkAQB2BYuhR2hjF1DkSvA9nd - lbMNtSdqw/inAkp/hOu/kKlNu6NMxtbvIp090OzQmZXPA2d3Y/9PAE90V/9BiJNIj/Bd7wx7v51x4 - ogdMm1xKchkb6ZM0lmBBJoBnVm5AZgNzJZpi7tWUFNETlgxtrUzEoRfaLQzjCl+fNz6FWA3V85Kra - +c35Gm9NoxO+IZVBFxIZaVVEQE+Iorqw34exxtB/S1K3A6MBHYH+gHrAT+Btyhqm4Vi3viWKuqGyK - 0LxgJ9Vin/cHAXkAfYDVGhfMWcLeqfpDHuA8GjnVlPaqqW5zfBgPnACc5/fUGlgPLgL+o6otZG7d0 - sEeKK7wQdVwdhdTM7YX0Gwt6AjDESYOBJLAZ5Z9YPI3NH7WhKvK+Turm7YNaJ7dn2JLQ2VX/yllva - tNwbJ2Esi/Cvs54tgMbnfQ+ymLa7Cf11vFbQ9u5fMEBJJNfbc9oLntMfzX2w8jjv2L+YJIlE0DHor - I36B4IzSjrgRdB59FQ/UQ+qi6Jw5hBRA4E/unK+ruqjii4YW8f5cBlwFVA35BiNsZY4TqH2D7CEDH - AY6r6jSztHwVMASqBgRGGtB24E7g+isRYRBqc8YNRjPQFSoB64HuEczVtwM+BmzXkYUld47dQeTid - oY9pfXXovRYCmZo4FVsuAk4G7RWhyjZE5tCnfJpeOyanIFHqms5AdW46R0/RWdWLQssbffA04FSIt - KNuQ/m1NlRNCe4/8QOU36Qz5Citr3wp57gvS+yJxfUYNWRJjuIvIHqx1lf/LcJ4Y2N3/axurPtREd - kNWARMJ5xAwdzPtSIyh/Qqm0IuVvdHwGSiEShALwxR/y5iefd/9A4wCLNa/oDsz6EU+CW4Xhw/2nj - dc63WkXLp/M5RwttMAp0QkUABKlC9mq3NTXHvd2VK40FYPInhqqKKvEqxdP9Yx1HXNAqLVzDPMheB - AhyDytNSm/h2lPY7i0hj2/uJSAXwFHCCK3sVZnU5DsOKfhW4HEixMZc6KZ8xpdj1HcAjwHWYWXGs8 - 9t44MeA34LqVBHx9+W/B8ErWNsMLMSwhy3AA8A3gOEYi61LgHd9zXxPRPzCOYN1n7wDNKczdC/KrN - kybVqcMgc/kiDzEK5H9Qco47CtI7CYiPk//KvfyWxtboirc5na1JsSeRTvpP03p++vYcnhiH0YalW - Z8el0UP9/Wvg4ahMjUV0MfNmV/QFwE+h3sORYRCpBpgLPusr0BB6U2qbjc/YRE7u7ADjFlXWSqj5d - cMOm7YeASa6su4Apqro9oOxQYAGwX0BTQ1R1TUgfFvAn4I/AH1X14xxjOhf4X9Kz9zJVDSYgU34Y8 - HbAT28CZ6vqqwF1+gIPAdWu7ISqVvvLAkht4l7gPF/26yi/wGpt0vqJm0JvKA9IXdMNqLZQat+tN4 - 8P/D/by9YkTkF4ADd3YpccqrNPCTVyicruOja+89LFdLY2VNdkHY8gXJY4AfRAbagOtN/Oh92VHy+ - uoGfzS8CB6XFwC232NUH7Xpk2zeKTY+tQbgTKnOxVtNoH6a3jm/3lU4hLBeNeSRUj8CgYInIJXgK9 - XVUvCiuvqitE5HJgru+nDWEE6tSzga9HHZeq3iciJwI/dLIOFZFyVW0JqeLnNMAIn05Q1UChhKpuF - ZELnXKpB1opIj1UNfOBlrdNoaW0EtjDlXsYwv1omUpt03LQZ1B9CewXtGFChwR7Wl/588hlG6oWSl - 3TZFQbSXFtVtuFZHI5+cPWo10M7g4+HXhFzvEoClVLgCUF9w/Qs+UnuAlUuENnBe91AfTaa21ghtQ - m+gI/c7L3oUzOAe4Jq1cwOyQi++AV/69Q1VDpWR7t9gducGUtw7CBWaGqfyCTVewM1YtbB1mO+2Fl - wr/K7gBODSPQFFR1JfCwK0vwOguky/7y1I8QPRMj6fZDQA8HLkTkf5CS16Q2sVpqE7dJTeIUueCls - oA6sUDrKxcg6rIFlrGxNGxxmOtqpd45qjWWdiPC7PnV9T7qu4jURaq8rfUXwPuu1r6frXgcexb/Cx - gXQdTgFfxMUdVkxLp+dqoziPRT37Wdpax/Ja1X1Xci9uN3kwokUgCtr36Gba2HITITIxXOhiHAxQg - LqNj4ptTMPynieDoAcQsSD5YfL64ILRoVipszGio1j3etzXG5jMGzD5V7dGal/50IhOMm6J58R8sF - j+8SVj4Odjd2ya4jLPqJK2upqkaynnGw0nedN5GKyECMYKcfRjjhn9BO911n05m6/6PtGLVLVKzyX - e+ZrbDzAlwuFy+6mZ7JamAiqlVA//Basj8iT0pt021sG1CX76okV/y5D21lw7CkH0mrD5ZPwmnTz8 - WaWvRo3gMj4e44lOWuNsuQ8vlSm/iJzqp6sqB2I/dvneRxMVI7XxnMG67vZexSOhL4a1DBnZJIMUK - oPq7rO/Ks7xfH5yRSEemJkbCegzE62CN7DQ8+UNVAhb2IDMFr9D43l2DKB/8+N5IXj6OAvx+4XybN - LWFIxQhUjkRkNMgEUP/KI6CX0nvjRuDGXO07xgPfB06DHvsCgg2IZrrH+Z+GpVkmjKjY+iD0vQoYZ - q71cOAJqU28BZoAFtJctjQfQ4T8oL733jpEahuDBJbBEOsA3EJbsUI9l+Ig0s5gdye4vtvAY3nWH+ - D6vsVnhZQBETkLs7oNzrOfFDKksy74J7FH82z7y77rvL1C9PdnJjGT5yvAb42Uc8EoSF6ByBmewiJ - Xy2ULHw6TwMoFL5VRsakBuIgOb5esqDrWUGjDmdulrvF8VP6EVyZyIMiBwCX0aFOpTbwM8hjC41GM - EvKAd6IRbo+uqgX8WhUJn7gKIlIR+TJGKZ/CWlXdWEibDsa5vi/Pc+UB4zaXQuikISIlwK+A/w74+ - U1gDWmzsi2k14i+pK2HsvZBJpE+G1gqHIf4rtflWT8DRso57kXgTKlr+iaqD5MmuB5YbT8DzvXXE0 - Go2fR74Ju+n1qAFzATyEeIfITarvAsMhyIpLjP6z7qq5+RKYsOpTQ5B9UzyHyfBRgFOgrlOqlNLME - uuSCbCigyhH6xxrDQcCOIQlfS2I0YHMX/EFfW62FlQ+rvijEKiDKmGXgJ9H0M0T6sqiuy9DGB6ETq - 5jTWq2q+K+F/uL6/l02V1BFofeWjUtN4CyKu+7GCTTprGieDuAl0HaJ1lJbO0+mnhE6kUtv0PdDYi - RRA54xdD5wjly2+EGmegDAR+BqZHAjAf2All0lt47k6q9qvpsuzY9yOCDuAKwtqz7KfD/upUCLtDP - e0AXhNq/JVwvttOAMJSES+gjHrS+FN4BRVXRuhj7N811FX0rzuxVFvuVUNiXzqR4Zl3Y+qi0j1IJk - 0t8Rhk13ZcrHrn92CUqmzqqNMosNiGmkodPaYLRjLrQcApCZxGKJjUalGqCb9TpSD3Ck1jz+rDROj - POswuJ9lT0qSD+qMCZEdLvJBoSqYzjAH9NvORrGFdMOvcwobk99m9ptRCNQRMLlXky2qweZmIrI7x - mwxhXzdwL6Ld8LpnNhD9sdv+HLKGdTfI1iSyxbvinCMK2ueNlRF5HI0mw65U6ANVa/rrOpbtaFqAp - aMQDwGNv2xyoO2OHlAVnouk6VHBZcrHHETaRwrqX+1CdUL+iEio4ExrqxtBJvjgXffu1ZV/xlSzo+ - z8dqLZrtn//8zJLBUABw11AWurDeAeSHFC8RumWqdHp95pcgl2wfhnjA02oTs2A8HWVx1GXRm5XLs - Ui+7rTo8pHg0CF5Vj+pxBbWXBR0mUmfv5xY5f6iqqwsdkCN4+sSVdXDE8VjAbXhXnmWOyZ+/rN9yJ - xKBish+wBxfdj5Co90d4ouCn+PViU4Lupd40Has51L4UG/+xifeIuJlfa2IoS63jj6PYFvqLoU2jH - 0Xr9Bt74IabCtZiFs9JlwiUxYW1mYICllJOzNcipt9HCoip0WoU4+JsetGIAE5fplu6xC/BDUDIlI - G/B9eK6jQPhwErSA/DMjz91UF1LqyniPTHjldvq5plNQmrpCpTb1ztZ1R9+JFAzAeP2moZEZ1MJ42 - LnZdj80o42+7Zm4vVG7IVa4r4Fj0pLdSogUFJXAEVve6svpgJfPV50dCIUTameFSFvqup4tIoHGBi - JSIyC/xSlujjMk9qewpIqF7FBEZgbEGGZ1nH0GeMVc6AqGwvk4Dfk96L74RODPM4RsA1b7AdGxdKT - WJm6SuKRr3UTf/UHq2PYZwgK+9uzK6MEKktOpC5etSkwidPM2q0vdJpMO656yQ2sR8qWmcKpfOj+b - /W1F2DWlHBbCl8KDtkrwJo5pzrhkvNY1zpbYp0rZGrlgwyHleP81WrhDprv8FnCQiHbH//K2q+h2a - p2OcsFNWRwcDL4tIDbBEVdc6juCVmBUntWl/FnD752UjoCaMr2gKtzouZb/BhEgZiJmITgYuxjzgz - RgzvdS9b8N4qWTA2Q64nYuXYvxeBwKvOt46izBcwy7AMU4/33LVaQPOykPt8iWEq1C9SmoSr2HJM6 - g+j9qrsNiIWmUgQ1B7b5CJiOWWeqZwjzZUBXuJqNyC6D3pm2Su1DbdjiTvpIUVlG6zkIqRYB1LKVe - j7UYli/D+1zFAD0SkmjK5UeoSj2LTSIm+R2vpu/Rfav6vT4/enbbSo0EvRBjvqvw+dukjBY+gfsIq - qWs8G5W/kJpURc4AHS+1Tbei+jy2vkn/nitY10fosWFXyqzhiIxG9VTgeAQL1RnZ+vEQqWOvegLGv - vStMKmlA/9Kuq+T8kWGHauqbhKRGXi9YPbEsJuISAvG88SNOgxRpIg0V3Du2cB/AiOd6zIMwddijB - b8L++HGGGTm8V5Ncs+0T+J3QJswNj89sOEXgGzr/HfCxh2/CxV7ZgtqjACE8LmIsRymeopSJhljMx - l24AfhTWpDZX3Sm2TE5kBgDLQS1HrUsqwoa+SellT/anehcViNCbvl0yUo0xCmIQtUJKErce2YrjE - EiSDAdmKJk/VOVWxxPPV+uqE1DSdjujvSG+FeoNeiQAlAlubbSqarXbGNU8fbgtARHqLyCPAvzDhQ - P4AvCUijztqBA9EZBfgoA7elx+BplqqeiPGEybIR9P9Uq8CxqnqLPCoCF7LFpxbVVsxktqgvYn/Lf - 4zMAKjS3VbM2UzMwvaDpwH+Pd7QQT6HHC8qkZTudg9XkGYgtGjdiTa3zqE83RW5aScxvXS8l8g9wX - 8YogijVbgp8yuLlDVETqQ5ZigZ0EoI1B1p02oNbajvrRh0IbKxyixjsaYfAZRYNi2cgfwOGpnldoL - htX6K8Yf0h+DphXjrTBaVdulfQ7hhjpf54E2hxjDBygyCmMVdATGkqgEM5ksAx7ERN37zCl7Jeko+ - q+qak6WxjkeYwpG93kIxg70Y4z10ULgD6q61Ck7EBNCJYV5qhoYmU9E7ses1Djt9VdVdUwRv40JPj - YSYxmjGJO6pzACokey7kGz3U/N3F5In5NBxmE4i72ctDvmZUma8eg/EOtVsP/M6k8WZhgu5Oqnrul - E4EJUDzG2stoLY+CwGotHsaz7dMa4tyFljG+nbYTFvlvrJ/i9e5x25x+KStrR37Lu1ZmVgbbXcun8 - vpSVnIjaX0OsIxHdA2UPzIrWAroGldWgbyF6h84an1O4aQKbuQLW2XJnlGiF7fWnNo7A5lsgJ5N+n - 0qAbQhrsXUtYr2H0Mj28kb99ZhtOdvE7INmYAJrBWEHMFNVr4k60M6CQ1B256kiIDTyQf7tvEFaav - yUqo4JKVcOJPPwlS3i3wwWhqXM5pXQEzPrdztUta0zCdTpIw4C7Y13OxAqwFLVliKBFpENFoYNyoW - sjsZFZGAk3n3IFzNyfhFdglLgM0zE9GwoHj2QH3bGIzd2OjgCyF19qRyzDcuWyPF7M0Zdthkjld/c - AXfHnQalmNCUF0OomVcr3ngsReSGm0g/I6LZ4ecRjiBsTyfthpfg+ue4DpJsd9Y42zBRLT7ERby+7 - +7PlZ11lq2IHK+qkf2KBWPDuAwjEQsSFbcBh6lqoNK+iEyIyDLS+tfntBONrzsTItKHtHQ4LO1BPA - HtbNLBzW2MxDv1qXnm9cS4PBYa8GwdJhCcO72hqpECjoVBROYDL6jqtVHKl6rqahEZgwkqXYERIgl - mBS3DrLZn4TUsKCIEItKDiJEhuhOOLfK+GF/P/cgkvsF440xFwaeY1WqLk/L5vrWjaqcwOJLzAXmm - lMoETNSRQRjLthRURFbiJdzXgTfzEDquBa5xgrl/P1e9UgBVfc052etsDKvWF3gSE5j668D1IlK2M - 6hhPgfYB28kuMXdNI7US7o/hhDd6QDMOKP66rZgVpW1Tlrj+p5K6+KQjMcJJ1j5v5wUCY6HVMqkc7 - iTDnM+h2AWsP2c5A6onhSRt0kT7mvA0yGxlVMGI5OBvUXk9GwxmLMeM+HoJe8jHYlgDnC5Y61TxE4 - Axwl9KJmEOAyzlcnFim7H2CqvIZj41gCb4l7lPo8QkX6kCTb1OZxwDUnqNIdFTlqiqp+KyHN4nTXe - ASaoaqDvc86zYBzBwN3Ad5ysl4FzVbXwYE5FRIIjBQ0iwmEYtjRXmLptwArMy+BPa4sEWBgcSzQ/4 - Y4kc0/cCjyPCRnrd27ZDJwedIZSpAObHIfqaZhgSyUYlcwVwG3FBxwPHCHNUAwr6ifEQVmqprCFTA - JcAbyTz2HHRcQDZ89/DCYo2ljMCYC5pNktmD2qxzY6r1PVROQ4jMomFVjqVUwg5YeLxJobjs3zUMx - +Z6grDSM4up0fmwheDd/Jda5MEd0LEemFIdgHyH7GLpiDsNvlP3kffeiYvNVj4u+k2Kw3gJuAh/6d - Tdyc2XMf0kToJsb9iaYS+IBwQvzcKuSLABG5GXOObhQswUSvbOnw+aQiMhwTh+cM0sKJDzBeHA8Bz - 34RV1fn3FA34bm/701uiWkS42GzwpXa2dNCdXBF7HxwJMYNeEPIRsES4PSCDxEWkUOAqzESYPcL+j - 7mUN6nMQcuxeJk29lw/tC9yCTA1PcB4bXb8Rkm4sKKgLSqKB3/94KIHIQ5OiWXuaNguK2DMeF9BHg - nlpO+nYEMwuhVz8JIr/xYgQkh8iJGrL/OSR90xUvrSKkHYMKX7O58ulOKTd2PTL/aIGwgTXgegiwK - aoqIE7ERqadRkX0xxDoOow/KthdTTLCtda601vnchJlNSlypNMd1HzIJcCDGkiSPE3VoA1bjXQXbi - VFVczrrFlFEHOgUIvV0YFawwzGxh453vg/CrGr5EE2cSGImgA2kD2Ty7xNXZwu/UkQRXYVOJ9LQjo - 3JWsp7YlBA2hNzrqeNISr/Z1CejbEf3UiaAN2EmPq++Yso1Crii4n/B0b5UBwNl0uxAAAAAElFTkS - uQmCC -mail: admin@ls.com - -dn: cn=test34,ou=groups,o=ls -objectClass: lsgroup -objectClass: posixGroup -cn: test34 -gidNumber: 800001 -uniqueMember: uid=eeggs,ou=people,o=ls -description: test -lsGodfatherDn: uid=eeggs,ou=people,o=ls -structuralObjectClass: posixGroup - -dn: ou=ppolicies,o=ls -objectclass: organizationalUnit -ou: ppolicies - -dn: cn=default,ou=ppolicies,o=ls -cn: default -objectclass: top -objectclass: device -objectclass: pwdPolicy -objectclass: pwdPolicyChecker -pwdAttribute: userPassword -pwdMinAge: 0 -pwdMaxAge: 0 -pwdInHistory: 3 -pwdCheckQuality: 1 -pwdMinLength: 8 -pwdExpireWarning: 0 -pwdGraceAuthnLimit: 0 -pwdLockout: FALSE -pwdLockoutDuration: 0 -pwdMaxFailure: 0 -pwdMaxRecordedFailure: 0 -pwdFailureCountInterval: 0 -pwdMustChange: FALSE -pwdAllowUserChange: FALSE -pwdSafeModify: FALSE - -dn: cn=sysaccounts,ou=ppolicies,o=ls -cn: sysaccounts -objectclass: top -objectclass: device -objectclass: pwdPolicy -objectclass: pwdPolicyChecker -pwdAttribute: userPassword -pwdMinAge: 0 -pwdMaxAge: 0 -pwdInHistory: 0 -pwdCheckQuality: 1 -pwdMinLength: 10 -pwdExpireWarning: 0 -pwdGraceAuthnLimit: 0 -pwdLockout: FALSE -pwdLockoutDuration: 0 -pwdMaxFailure: 0 -pwdMaxRecordedFailure: 0 -pwdFailureCountInterval: 0 -pwdMustChange: FALSE -pwdAllowUserChange: FALSE -pwdSafeModify: FALSE diff --git a/lsexample/restore_lsexample b/lsexample/restore_lsexample index 56f51057..c700d2d8 100755 --- a/lsexample/restore_lsexample +++ b/lsexample/restore_lsexample @@ -13,30 +13,59 @@ SLAPD_CONF_DIR=/etc/ldap/slapd.d SLAPD_DB_DIR=/var/lib/ldap SLAPD_USER=openldap SLAPD_GROUP=openldap +SYS_SCHEMA_DIR=/etc/ldap/schema # Deducted configuration -LDIF="$SRC_DIR/lsexample/lsexample.ldif" -SCHEMA_LDIF="$SRC_DIR/lsexample/schema/cn={10}ls.ldif" -SCHEMA_DEST="$SLAPD_CONF_DIR/cn=config/cn=schema/" +SLAPD_CONF_LDIF="$SRC_DIR/lsexample/slapd-config.ldif" +LS_SCHEMA_LDIF="$SRC_DIR/lsexample/schema/ls.ldif" +SAMBA_SCHEMA_LDIF="$SRC_DIR/lsexample/schema/samba.ldif" +SLAPD_DB_LDIF="$SRC_DIR/lsexample/db.ldif" # # Start restoration # # Stop slapd -/usr/sbin/service slapd stop > /dev/null +/usr/sbin/service slapd stop # Purge old DB data -rm -fr $SLAPD_DB_DIR/* +rm -fr $SLAPD_DB_DIR $SLAPD_CONF_DIR +mkdir -p $SLAPD_DB_DIR $SLAPD_CONF_DIR -# Restore schema file -cp -f "$SCHEMA_LDIF" "$SCHEMA_DEST" +# Install slapd.d configuration +slapadd -n0 -F $SLAPD_CONF_DIR -l $SLAPD_CONF_LDIF -# Restore DB data from LDIF file -/usr/sbin/slapadd -l $LDIF -q +# Install schemas +slapadd -n0 -F/etc/ldap/slapd.d -l$SYS_SCHEMA_DIR/core.ldif +slapadd -n0 -F/etc/ldap/slapd.d -l$SYS_SCHEMA_DIR/cosine.ldif +slapadd -n0 -F/etc/ldap/slapd.d -l$SYS_SCHEMA_DIR/nis.ldif +slapadd -n0 -F/etc/ldap/slapd.d -l$SYS_SCHEMA_DIR/inetorgperson.ldif +slapadd -n0 -F/etc/ldap/slapd.d -l$SYS_SCHEMA_DIR/ppolicy.ldif +slapadd -n0 -F/etc/ldap/slapd.d -l$SYS_SCHEMA_DIR/dyngroup.ldif +slapadd -n0 -F/etc/ldap/slapd.d -l$SAMBA_SCHEMA_LDIF +slapadd -n0 -F/etc/ldap/slapd.d -l$LS_SCHEMA_LDIF # Fix rights on restored data -chown $SLAPD_USER:$SLAPD_GROUP -R $SLAPD_DB_DIR $SCHEMA_DEST +chown $SLAPD_USER:$SLAPD_GROUP -R $SLAPD_DB_DIR $SLAPD_CONF_DIR # Start slapd -/usr/sbin/service slapd start > /dev/null +/usr/sbin/service slapd start + +cat << EOF > /etc/ldapvi.conf +profile default +unpaged-help: yes +ldap-conf: yes + +profile config +host: ldapi:// +sasl-mech: EXTERNAL +base: cn=config + +profile ls +host: ldapi:// +sasl-mech: EXTERNAL +base: o=ls +EOF + +# Add database +ldapvi -p config --verbose --ldapmodify --ldapvi --add $SLAPD_DB_LDIF diff --git a/lsexample/schema/cn={10}ls.ldif b/lsexample/schema/cn={10}ls.ldif deleted file mode 100644 index 0054e1f6..00000000 --- a/lsexample/schema/cn={10}ls.ldif +++ /dev/null @@ -1,40 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 7e667c54 -dn: cn={10}ls -objectClass: olcSchemaConfig -objectClass: top -cn: {10}ls -olcObjectIdentifier: {0}EeRoot 1.3.6.1.4.1.10650 -olcObjectIdentifier: {1}LeRoot EeRoot:4 -olcObjectIdentifier: {2}LsRoot LeRoot:10000 -olcObjectIdentifier: {3}LsLDAP LsRoot:2 -olcObjectIdentifier: {4}LsLDAPAttribute LsLDAP:1 -olcObjectIdentifier: {5}LsLDAPObjectClass LsLDAP:2 -olcAttributeTypes: {0}( LsLDAPAttribute:1 NAME 'lsAllowedServices' DESC 'Lis - tof allowed services' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsM - atch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {1}( LsLDAPAttribute:2 NAME 'lsRecoveryHash' DESC 'Passwo - rdRecover Hash' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 15) -olcAttributeTypes: {2}( LsLDAPAttribute:3 NAME 'lsGodfatherDn' DESC 'Godfath - erdn of this entry' SUP distinguishedName ) -structuralObjectClass: olcSchemaConfig -entryUUID: 6408206a-b8c2-1038-8c14-9d79696c60b6 -creatorsName: cn=admin,cn=config -createTimestamp: 20190130100601Z -olcObjectClasses: {0}( LsLDAPObjectClass:1 NAME 'lspeople' DESC 'LS people O - bjectclass' STRUCTURAL MUST ( uid $ cn ) MAY ( jpegPhoto $ sn $ givenName $ - postalAddress $ postalCode $ l $ st $ c $ telephoneNumber $ mobile $ fax $ - mail$ personalTitle $ description $ userPassword $ lsallowedservices $ lsR - ecoveryHash $ lsGodfatherDn ) ) -olcObjectClasses: {1}( LsLDAPObjectClass:3 NAME 'lsgroup' DESC 'LS group Obj - ectclass' AUXILIARY MUST cn MAY ( uniquemember $ description $ lsGodfatherD - n )) -olcObjectClasses: {2}( LsLDAPObjectClass:4 NAME 'lssysaccount' DESC 'LS syst - emaccount Objectclass' STRUCTURAL MUST uid MAY ( userpassword $ description - )) -olcObjectClasses: {3}( LsLDAPObjectClass:5 NAME 'lscompany' SUP organization - alUnit STRUCTURAL MUST ou MAY ( description $ lsGodfatherDn ) ) -entryCSN: 20190130103114.350601Z#000000#000#000000 -modifiersName: cn=admin,cn=config -modifyTimestamp: 20190130103114Z diff --git a/lsexample/schema/ls.ldif b/lsexample/schema/ls.ldif new file mode 100644 index 00000000..76b749cc --- /dev/null +++ b/lsexample/schema/ls.ldif @@ -0,0 +1,43 @@ +dn: cn=ls,cn=schema,cn=config +cn: ls +objectclass: olcSchemaConfig +objectclass: top +olcattributetypes: {0}( LsLDAPAttribute:1 NAME 'lsAllowedServices' DESC 'Lis + tof allowed services' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsM + atch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) +olcattributetypes: {1}( LsLDAPAttribute:2 NAME 'lsRecoveryHash' DESC 'Passwo + rdRecover Hash' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1. + 15) +olcattributetypes: {2}( LsLDAPAttribute:3 NAME 'lsGodfatherDn' DESC 'Godfath + erdn of this entry' SUP distinguishedName ) +olcattributetypes: {3}( LsLDAPAttribute:4 NAME 'lsDynGroupMemberDnURI' DESC + 'Dynamic group members DN URI' SUP labeledURI ) +olcattributetypes: {4}( LsLDAPAttribute:5 NAME 'lsDynGroupMemberUidURI' DESC + 'Dynamic group members UID URI' SUP labeledURI ) +olcattributetypes: {5}( LsLDAPAttribute:6 NAME 'lsDynGroupMemberDn' DESC 'Dy + namic group members DN' SUP uniqueMember ) +olcattributetypes: {6}( LsLDAPAttribute:7 NAME 'lsDynGroupMemberUid' DESC 'D + ynamic group members UID' SUP memberUid ) +olcobjectclasses: {0}( LsLDAPObjectClass:1 NAME 'lspeople' DESC 'LS people O + bjectclass' STRUCTURAL MUST ( uid $ cn ) MAY ( jpegPhoto $ sn $ givenName $ + postalAddress $ postalCode $ l $ st $ c $ telephoneNumber $ mobile $ fax $ + mail$ personalTitle $ description $ userPassword $ lsallowedservices $ lsR + ecoveryHash $ lsGodfatherDn ) ) +olcobjectclasses: {1}( LsLDAPObjectClass:3 NAME 'lsgroup' DESC 'LS group Obj + ectclass' AUXILIARY MUST cn MAY ( uniquemember $ description $ lsGodfatherD + n )) +olcobjectclasses: {2}( LsLDAPObjectClass:4 NAME 'lssysaccount' DESC 'LS syst + emaccount Objectclass' STRUCTURAL MUST uid MAY ( userpassword $ description + )) +olcobjectclasses: {3}( LsLDAPObjectClass:5 NAME 'lscompany' SUP organization + alUnit STRUCTURAL MUST ou MAY ( description $ lsGodfatherDn ) ) +olcobjectclasses: {4}( LsLDAPObjectClass:6 NAME 'lsdyngroup' DESC 'Dynamic g + roups objectclass' SUP top AUXILIARY MUST cn MAY ( description $ uniqueMemb + er $ memberUid $ lsGodfatherDn $ lsDynGroupMemberDnURI $ lsDynGroupMemberDn + $ lsDynGroupMemberUidURI $ lsDynGroupMemberUid $ dgIdentity $ dgAuthz )) +olcobjectidentifier: {0}EeRoot 1.3.6.1.4.1.10650 +olcobjectidentifier: {1}LeRoot EeRoot:4 +olcobjectidentifier: {2}LsRoot LeRoot:10000 +olcobjectidentifier: {3}LsLDAP LsRoot:2 +olcobjectidentifier: {4}LsLDAPAttribute LsLDAP:1 +olcobjectidentifier: {5}LsLDAPObjectClass LsLDAP:2 diff --git a/lsexample/schema/lsexample.schema b/lsexample/schema/lsexample.schema deleted file mode 100644 index cb07f0eb..00000000 --- a/lsexample/schema/lsexample.schema +++ /dev/null @@ -1,59 +0,0 @@ -# LdapSaisie - LDAP Schema - Example -# Web Site : https://ldapsaisie.org -objectIdentifier EeRoot 1.3.6.1.4.1.10650 -objectIdentifier LeRoot EeRoot:4 -objectIdentifier LsRoot LeRoot:10000 -objectIdentifier LsLDAP LsRoot:2 -objectIdentifier LsLDAPAttribute LsLDAP:1 -objectIdentifier LsLDAPObjectClass LsLDAP:2 - -# -attributetype (LsLDAPAttribute:1 - NAME 'lsAllowedServices' - DESC 'List of allowed services' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) - -attributetype ( LsLDAPAttribute:2 NAME 'lsRecoveryHash' - DESC 'Password Recover Hash' - EQUALITY caseIgnoreMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) - -attributetype ( LsLDAPAttribute:3 NAME 'lsGodfatherDn' - SUP distinguishedName - DESC 'Godfather dn of this entry' ) -# - -# -objectclass (LsLDAPObjectClass:1 - NAME 'lspeople' - DESC 'LS people Objectclass' - STRUCTURAL - MUST ( uid $ cn ) - MAY ( jpegPhoto $ sn $ givenName $ postalAddress $ postalCode $ l $ st $ c $ - telephoneNumber $ mobile $ fax $ mail $ personalTitle $ description $ - userPassword $ lsallowedservices $ lsRecoveryHash $ lsGodfatherDn )) - -objectclass (LsLDAPObjectClass:3 - NAME 'lsgroup' - DESC 'LS group Objectclass' - AUXILIARY - MUST ( cn ) - MAY ( uniquemember $ description $ lsGodfatherDn )) - -objectclass (LsLDAPObjectClass:4 - NAME 'lssysaccount' - DESC 'LS system account Objectclass' - STRUCTURAL - MUST ( uid ) - MAY (userpassword $ description)) - -objectclass ( LsLDAPObjectClass:5 - NAME 'lscompany' - SUP organizationalUnit - STRUCTURAL - MUST ( ou ) - MAY ( description $ lsGodfatherDn )) - -# diff --git a/lsexample/schema/samba.ldif b/lsexample/schema/samba.ldif new file mode 100644 index 00000000..b52a8bd9 --- /dev/null +++ b/lsexample/schema/samba.ldif @@ -0,0 +1,176 @@ +dn: cn=samba,cn=schema,cn=config +cn: samba +objectclass: olcSchemaConfig +olcattributetypes: {0}( 1.3.6.1.4.1.7165.2.1.24 NAME 'sambaLMPassword' DESC + 'LanManager Password' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.1 + 15.121.1.26{32} SINGLE-VALUE ) +olcattributetypes: {1}( 1.3.6.1.4.1.7165.2.1.25 NAME 'sambaNTPassword' DESC + 'MD4 hash of the unicode password' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6 + .1.4.1.1466.115.121.1.26{32} SINGLE-VALUE ) +olcattributetypes: {2}( 1.3.6.1.4.1.7165.2.1.26 NAME 'sambaAcctFlags' DESC ' + Account Flags' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121. + 1.26{16} SINGLE-VALUE ) +olcattributetypes: {3}( 1.3.6.1.4.1.7165.2.1.27 NAME 'sambaPwdLastSet' DESC + 'Timestamp of the last password update' EQUALITY integerMatch SYNTAX 1.3.6. + 1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {4}( 1.3.6.1.4.1.7165.2.1.28 NAME 'sambaPwdCanChange' DES + C 'Timestamp of when the user is allowed to update the password' EQUALITY i + ntegerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {5}( 1.3.6.1.4.1.7165.2.1.29 NAME 'sambaPwdMustChange' DE + SC 'Timestamp of when the password will expire' EQUALITY integerMatch SYNTA + X 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {6}( 1.3.6.1.4.1.7165.2.1.30 NAME 'sambaLogonTime' DESC ' + Timestamp of last logon' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115. + 121.1.27 SINGLE-VALUE ) +olcattributetypes: {7}( 1.3.6.1.4.1.7165.2.1.31 NAME 'sambaLogoffTime' DESC + 'Timestamp of last logoff' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.11 + 5.121.1.27 SINGLE-VALUE ) +olcattributetypes: {8}( 1.3.6.1.4.1.7165.2.1.32 NAME 'sambaKickoffTime' DESC + 'Timestamp of when the user will be logged off automatically' EQUALITY int + egerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {9}( 1.3.6.1.4.1.7165.2.1.48 NAME 'sambaBadPasswordCount' + DESC 'Bad password attempt count' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1 + .1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {10}( 1.3.6.1.4.1.7165.2.1.49 NAME 'sambaBadPasswordTime' + DESC 'Time of the last bad password attempt' EQUALITY integerMatch SYNTAX + 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {11}( 1.3.6.1.4.1.7165.2.1.55 NAME 'sambaLogonHours' DESC + 'Logon Hours' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121. + 1.26{42} SINGLE-VALUE ) +olcattributetypes: {12}( 1.3.6.1.4.1.7165.2.1.33 NAME 'sambaHomeDrive' DESC + 'Driver letter of home directory mapping' EQUALITY caseIgnoreIA5Match SYNTA + X 1.3.6.1.4.1.1466.115.121.1.26{4} SINGLE-VALUE ) +olcattributetypes: {13}( 1.3.6.1.4.1.7165.2.1.34 NAME 'sambaLogonScript' DES + C 'Logon script path' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115. + 121.1.15{255} SINGLE-VALUE ) +olcattributetypes: {14}( 1.3.6.1.4.1.7165.2.1.35 NAME 'sambaProfilePath' DES + C 'Roaming profile path' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.1 + 15.121.1.15{255} SINGLE-VALUE ) +olcattributetypes: {15}( 1.3.6.1.4.1.7165.2.1.36 NAME 'sambaUserWorkstations + ' DESC 'List of user workstations the user is allowed to logon to' EQUALITY + caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE ) +olcattributetypes: {16}( 1.3.6.1.4.1.7165.2.1.37 NAME 'sambaHomePath' DESC ' + Home directory UNC path' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.1 + 15.121.1.15{128} ) +olcattributetypes: {17}( 1.3.6.1.4.1.7165.2.1.38 NAME 'sambaDomainName' DESC + 'Windows NT domain to which the user belongs' EQUALITY caseIgnoreMatch SYN + TAX 1.3.6.1.4.1.1466.115.121.1.15{128} ) +olcattributetypes: {18}( 1.3.6.1.4.1.7165.2.1.47 NAME 'sambaMungedDial' DESC + 'Base64 encoded user parameter string' EQUALITY caseExactMatch SYNTAX 1.3. + 6.1.4.1.1466.115.121.1.15{1050} ) +olcattributetypes: {19}( 1.3.6.1.4.1.7165.2.1.54 NAME 'sambaPasswordHistory' + DESC 'Concatenated MD4 hashes of the unicode passwords used on this accoun + t' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} ) +olcattributetypes: {20}( 1.3.6.1.4.1.7165.2.1.20 NAME 'sambaSID' DESC 'Secur + ity ID' EQUALITY caseIgnoreIA5Match SUBSTR caseExactIA5SubstringsMatch SYNT + AX 1.3.6.1.4.1.1466.115.121.1.26{64} SINGLE-VALUE ) +olcattributetypes: {21}( 1.3.6.1.4.1.7165.2.1.23 NAME 'sambaPrimaryGroupSID' + DESC 'Primary Group Security ID' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6. + 1.4.1.1466.115.121.1.26{64} SINGLE-VALUE ) +olcattributetypes: {22}( 1.3.6.1.4.1.7165.2.1.51 NAME 'sambaSIDList' DESC 'S + ecurity ID List' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.12 + 1.1.26{64} ) +olcattributetypes: {23}( 1.3.6.1.4.1.7165.2.1.19 NAME 'sambaGroupType' DESC + 'NT Group Type' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) +olcattributetypes: {24}( 1.3.6.1.4.1.7165.2.1.21 NAME 'sambaNextUserRid' DES + C 'Next NT rid to give our for users' EQUALITY integerMatch SYNTAX 1.3.6.1. + 4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {25}( 1.3.6.1.4.1.7165.2.1.22 NAME 'sambaNextGroupRid' DE + SC 'Next NT rid to give out for groups' EQUALITY integerMatch SYNTAX 1.3.6. + 1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {26}( 1.3.6.1.4.1.7165.2.1.39 NAME 'sambaNextRid' DESC 'N + ext NT rid to give out for anything' EQUALITY integerMatch SYNTAX 1.3.6.1.4 + .1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {27}( 1.3.6.1.4.1.7165.2.1.40 NAME 'sambaAlgorithmicRidBa + se' DESC 'Base at which the samba RID generation algorithm should operate' + EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {28}( 1.3.6.1.4.1.7165.2.1.41 NAME 'sambaShareName' DESC + 'Share Name' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 + SINGLE-VALUE ) +olcattributetypes: {29}( 1.3.6.1.4.1.7165.2.1.42 NAME 'sambaOptionName' DESC + 'Option Name' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SY + NTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) +olcattributetypes: {30}( 1.3.6.1.4.1.7165.2.1.43 NAME 'sambaBoolOption' DESC + 'A boolean option' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1 + .7 SINGLE-VALUE ) +olcattributetypes: {31}( 1.3.6.1.4.1.7165.2.1.44 NAME 'sambaIntegerOption' D + ESC 'An integer option' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.1 + 21.1.27 SINGLE-VALUE ) +olcattributetypes: {32}( 1.3.6.1.4.1.7165.2.1.45 NAME 'sambaStringOption' DE + SC 'A string option' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115 + .121.1.26 SINGLE-VALUE ) +olcattributetypes: {33}( 1.3.6.1.4.1.7165.2.1.46 NAME 'sambaStringListOption + ' DESC 'A string list option' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1 + 466.115.121.1.15 ) +olcattributetypes: {34}( 1.3.6.1.4.1.7165.2.1.53 NAME 'sambaTrustFlags' DESC + 'Trust Password Flags' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466 + .115.121.1.26 ) +olcattributetypes: {35}( 1.3.6.1.4.1.7165.2.1.58 NAME 'sambaMinPwdLength' DE + SC 'Minimal password length (default: 5)' EQUALITY integerMatch SYNTAX 1.3. + 6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {36}( 1.3.6.1.4.1.7165.2.1.59 NAME 'sambaPwdHistoryLength + ' DESC 'Length of Password History Entries (default: 0 => off)' EQUALITY in + tegerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {37}( 1.3.6.1.4.1.7165.2.1.60 NAME 'sambaLogonToChgPwd' D + ESC 'Force Users to logon for password change (default: 0 => off, 2 => on)' + EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {38}( 1.3.6.1.4.1.7165.2.1.61 NAME 'sambaMaxPwdAge' DESC + 'Maximum password age, in seconds (default: -1 => never expire passwords)' + EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {39}( 1.3.6.1.4.1.7165.2.1.62 NAME 'sambaMinPwdAge' DESC + 'Minimum password age, in seconds (default: 0 => allow immediate password c + hange)' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-V + ALUE ) +olcattributetypes: {40}( 1.3.6.1.4.1.7165.2.1.63 NAME 'sambaLockoutDuration' + DESC 'Lockout duration in minutes (default: 30, -1 => forever)' EQUALITY i + ntegerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {41}( 1.3.6.1.4.1.7165.2.1.64 NAME 'sambaLockoutObservati + onWindow' DESC 'Reset time after lockout in minutes (default: 30)' EQUALITY + integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {42}( 1.3.6.1.4.1.7165.2.1.65 NAME 'sambaLockoutThreshold + ' DESC 'Lockout users after bad logon attempts (default: 0 => off)' EQUALIT + Y integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {43}( 1.3.6.1.4.1.7165.2.1.66 NAME 'sambaForceLogoff' DES + C 'Disconnect Users outside logon hours (default: -1 => off, 0 => on)' EQUA + LITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcattributetypes: {44}( 1.3.6.1.4.1.7165.2.1.67 NAME 'sambaRefuseMachinePwd + Change' DESC 'Allow Machine Password changes (default: 0 => off)' EQUALITY + integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) +olcobjectclasses: {0}( 1.3.6.1.4.1.7165.2.2.6 NAME 'sambaSamAccount' DESC 'S + amba 3.0 Auxilary SAM Account' SUP top AUXILIARY MUST ( uid $ sambaSID ) MA + Y ( cn $ sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $ sambaLogonTi + me $ sambaLogoffTime $ sambaKickoffTime $ sambaPwdCanChange $ sambaPwdMustC + hange $ sambaAcctFlags $ displayName $ sambaHomePath $ sambaHomeDrive $ sam + baLogonScript $ sambaProfilePath $ description $ sambaUserWorkstations $ sa + mbaPrimaryGroupSID $ sambaDomainName $ sambaMungedDial $ sambaBadPasswordCo + unt $ sambaBadPasswordTime $ sambaPasswordHistory $ sambaLogonHours ) ) +olcobjectclasses: {1}( 1.3.6.1.4.1.7165.2.2.4 NAME 'sambaGroupMapping' DESC + 'Samba Group Mapping' SUP top AUXILIARY MUST ( gidNumber $ sambaSID $ samba + GroupType ) MAY ( displayName $ description $ sambaSIDList ) ) +olcobjectclasses: {2}( 1.3.6.1.4.1.7165.2.2.14 NAME 'sambaTrustPassword' DES + C 'Samba Trust Password' SUP top STRUCTURAL MUST ( sambaDomainName $ sambaN + TPassword $ sambaTrustFlags ) MAY ( sambaSID $ sambaPwdLastSet ) ) +olcobjectclasses: {3}( 1.3.6.1.4.1.7165.2.2.5 NAME 'sambaDomain' DESC 'Samba + Domain Information' SUP top STRUCTURAL MUST ( sambaDomainName $ sambaSID ) + MAY ( sambaNextRid $ sambaNextGroupRid $ sambaNextUserRid $ sambaAlgorithm + icRidBase $ sambaMinPwdLength $ sambaPwdHistoryLength $ sambaLogonToChgPwd + $ sambaMaxPwdAge $ sambaMinPwdAge $ sambaLockoutDuration $ sambaLockoutObse + rvationWindow $ sambaLockoutThreshold $ sambaForceLogoff $ sambaRefuseMachi + nePwdChange ) ) +olcobjectclasses: {4}( 1.3.6.1.4.1.7165.2.2.7 NAME 'sambaUnixIdPool' DESC 'P + ool for allocating UNIX uids/gids' SUP top AUXILIARY MUST ( uidNumber $ gid + Number ) ) +olcobjectclasses: {5}( 1.3.6.1.4.1.7165.2.2.8 NAME 'sambaIdmapEntry' DESC 'M + apping from a SID to an ID' SUP top AUXILIARY MUST sambaSID MAY ( uidNumber + $ gidNumber ) ) +olcobjectclasses: {6}( 1.3.6.1.4.1.7165.2.2.9 NAME 'sambaSidEntry' DESC 'Str + uctural Class for a SID' SUP top STRUCTURAL MUST sambaSID ) +olcobjectclasses: {7}( 1.3.6.1.4.1.7165.2.2.10 NAME 'sambaConfig' DESC 'Samb + a Configuration Section' SUP top AUXILIARY MAY description ) +olcobjectclasses: {8}( 1.3.6.1.4.1.7165.2.2.11 NAME 'sambaShare' DESC 'Samba + Share Section' SUP top STRUCTURAL MUST sambaShareName MAY description ) +olcobjectclasses: {9}( 1.3.6.1.4.1.7165.2.2.12 NAME 'sambaConfigOption' DESC + 'Samba Configuration Option' SUP top STRUCTURAL MUST sambaOptionName MAY ( + sambaBoolOption $ sambaIntegerOption $ sambaStringOption $ sambaStringList + option $ description ) ) diff --git a/lsexample/slapd-config.ldif b/lsexample/slapd-config.ldif new file mode 100644 index 00000000..4529a405 --- /dev/null +++ b/lsexample/slapd-config.ldif @@ -0,0 +1,44 @@ +dn: cn=config +objectClass: olcGlobal +cn: config +olcArgsFile: /var/run/slapd/slapd.args +olcPidFile: /var/run/slapd/slapd.pid +olcToolThreads: 1 +olcLogLevel: stats +olcServerId: 1 +olcAttributeOptions: lang- x- + +dn: cn=module{0},cn=config +objectClass: olcModuleList +cn: module{0} +olcModulePath: /usr/lib/ldap +olcModuleLoad: {0}back_mdb +olcModuleLoad: {1}ppolicy +olcModuleLoad: {2}dynlist +olcModuleLoad: {3}pw-sha2 + +dn: cn=schema,cn=config +objectClass: olcSchemaConfig +cn: schema + +dn: olcDatabase={-1}frontend,cn=config +objectClass: olcDatabaseConfig +objectClass: olcFrontendConfig +olcDatabase: {-1}frontend +olcAccess: {0}to * + by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage + by * break +olcAccess: {1}to dn.exact="" by * read +olcAccess: {2}to dn.base="cn=Subschema" by * read +olcSizeLimit: 500 +olcLimits: {0}* size.pr=1000 size.prtotal=unlimited +olcPasswordHash: {SSHA512} + +dn: olcDatabase={0}config,cn=config +objectClass: olcDatabaseConfig +olcDatabase: {0}config +olcAccess: {0}to * + by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage + by * break +olcRootDN: cn=admin,cn=config + diff --git a/lsexample/slapd/permissions-ls.conf b/lsexample/slapd/permissions-ls.conf deleted file mode 100644 index b2cf8723..00000000 --- a/lsexample/slapd/permissions-ls.conf +++ /dev/null @@ -1,94 +0,0 @@ -## Racine -access to dn.regex="^o=ls$" attrs="entry,children,objectclass" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by users read - by * read - -## Groups -### Ajout d'entrees par les admins -access to dn.regex="^ou=groups,o=ls$" attrs="children,objectclass" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by users read - by * none - -access to dn.regex="^cn=[^,]+,ou=groups,o=ls$" attrs="entry,objectclass" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by users read - by * none - -### Les admins peuvent tout modifier, les authentifies peuvent tout voir -access to dn.regex="^cn=[^,]+,ou=groups,o=ls$" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by users read - by * none - - -## Peoples -### Ajout d'entrees par les admins -access to dn.regex="^ou=people,o=ls$" attrs="children,objectclass" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by users read - by * read - -access to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs="entry,objectclass" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by users read - by * read - - -### Les admins peuvent modifier le mot de passe, samba le mettre à jour, les autres peuvent s'en servir pour l'authentification -access to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs="userPassword" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=samba,ou=sysaccounts,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by self write - by anonymous auth - by * none - -access to dn.regex="^uid=[^,]+,ou=sysaccounts,o=ls$" attrs="userPassword" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by anonymous auth - by * none - -### Les admins peuvent modifier ces attributs, les authentifies peuvent les voir -access to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs="uid,lsallowedservices,uidNumber,gidNumber,homeDirectory,loginShell,sambaSID,sambaAcctFlags,sambaPrimaryGroupSID" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by users read - by * none - -### Les admins peuvent modifier ces attributs, le proprio aussi, samba aussi -access to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs="sambaLMPassword,sambaNTPassword" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by dn="uid=samba,ou=sysaccounts,o=ls" write - by self write - by * none - -### Les admins peuvent modifier ces attributs, le proprio aussi, les authentifies peuvent les voir -access to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs="c,cn,jpegPhoto,personalTitle,sn,givenName,postalAddress,postalCode,l,st,telephoneNumber,mobile,fax,mail,description" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by self write - by users read - by * read - -## Les authentifies peuvent voir les noeuds et les admins peuvent en ajouter -access to * attrs="entry" - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by users read - by * none - -## Le reste -access to * - by group/lsgroup/uniqueMember="cn=adminldap,ou=groups,o=ls" write - by dn="uid=ldapsaisie,ou=sysaccounts,o=ls" write - by * none diff --git a/lsexample/slapd/slapd.conf b/lsexample/slapd/slapd.conf deleted file mode 100644 index ac92259e..00000000 --- a/lsexample/slapd/slapd.conf +++ /dev/null @@ -1,45 +0,0 @@ -# LSexample - Config - -# Loading schema -include /etc/ldap/schema/core.schema -include /etc/ldap/schema/cosine.schema -include /etc/ldap/schema/nis.schema -include /etc/ldap/schema/inetorgperson.schema -include /etc/ldap/schema/samba.schema -include /etc/ldap/schema/lsexample.schema - -# Slapd core configuration -pidfile /var/run/slapd/slapd.pid -argsfile /var/run/slapd/slapd.args -loglevel stats -modulepath /usr/lib/ldap -moduleload back_hdb -sizelimit 500 -tool-threads 1 - -# LSexample database configuration -backend hdb -database hdb -suffix "o=ls" - -# The database directory MUST exist prior to running slapd AND -# should only be accessible by the slapd and slap tools. -# Mode 700 recommended. -directory /var/lib/ldap - -# Indices to maintain -index objectClass eq -index uidNumber eq -index gidNumber eq -index lsallowedservices,lsGodfatherDn eq -index sambasid eq -index sambaDomainName eq -index memberUid,uniqueMember eq -index givenname,cn,sn,mail,uid sub,eq,approx - -# Save the time that the entry gets modified, for database #1 -lastmod on -checkpoint 512 30 - -# Loading LSexample permission file -include permissions-ls.conf diff --git a/lsexample/slapd/slapd.d/cn=config.ldif b/lsexample/slapd/slapd.d/cn=config.ldif deleted file mode 100644 index 970f360c..00000000 --- a/lsexample/slapd/slapd.d/cn=config.ldif +++ /dev/null @@ -1,16 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 1a375831 -dn: cn=config -objectClass: olcGlobal -cn: config -olcArgsFile: /var/run/slapd/slapd.args -olcLogLevel: none -olcPidFile: /var/run/slapd/slapd.pid -olcToolThreads: 1 -structuralObjectClass: olcGlobal -entryUUID: 6db4a4c4-6a91-1032-8cb6-d5eaa14a6b52 -creatorsName: cn=config -createTimestamp: 20130616052915Z -entryCSN: 20130616052915.388815Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616052915Z diff --git a/lsexample/slapd/slapd.d/cn=config/cn=module{0}.ldif b/lsexample/slapd/slapd.d/cn=config/cn=module{0}.ldif deleted file mode 100644 index d3c0187d..00000000 --- a/lsexample/slapd/slapd.d/cn=config/cn=module{0}.ldif +++ /dev/null @@ -1,14 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 418bf3c9 -dn: cn=module{0} -objectClass: olcModuleList -cn: module{0} -olcModulePath: /usr/lib/ldap -olcModuleLoad: {0}back_hdb -structuralObjectClass: olcModuleList -entryUUID: 5605629c-6a95-1032-9775-cf219862f309 -creatorsName: cn=config -createTimestamp: 20130616055713Z -entryCSN: 20130616055713.639138Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616055713Z diff --git a/lsexample/slapd/slapd.d/cn=config/cn=schema.ldif b/lsexample/slapd/slapd.d/cn=config/cn=schema.ldif deleted file mode 100644 index f644d1d5..00000000 --- a/lsexample/slapd/slapd.d/cn=config/cn=schema.ldif +++ /dev/null @@ -1,615 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 6d62e916 -dn: cn=schema -objectClass: olcSchemaConfig -cn: schema -olcObjectIdentifier: OLcfg 1.3.6.1.4.1.4203.1.12.2 -olcObjectIdentifier: OLcfgAt OLcfg:3 -olcObjectIdentifier: OLcfgGlAt OLcfgAt:0 -olcObjectIdentifier: OLcfgBkAt OLcfgAt:1 -olcObjectIdentifier: OLcfgDbAt OLcfgAt:2 -olcObjectIdentifier: OLcfgOvAt OLcfgAt:3 -olcObjectIdentifier: OLcfgCtAt OLcfgAt:4 -olcObjectIdentifier: OLcfgOc OLcfg:4 -olcObjectIdentifier: OLcfgGlOc OLcfgOc:0 -olcObjectIdentifier: OLcfgBkOc OLcfgOc:1 -olcObjectIdentifier: OLcfgDbOc OLcfgOc:2 -olcObjectIdentifier: OLcfgOvOc OLcfgOc:3 -olcObjectIdentifier: OLcfgCtOc OLcfgOc:4 -olcObjectIdentifier: OMsyn 1.3.6.1.4.1.1466.115.121.1 -olcObjectIdentifier: OMsBoolean OMsyn:7 -olcObjectIdentifier: OMsDN OMsyn:12 -olcObjectIdentifier: OMsDirectoryString OMsyn:15 -olcObjectIdentifier: OMsIA5String OMsyn:26 -olcObjectIdentifier: OMsInteger OMsyn:27 -olcObjectIdentifier: OMsOID OMsyn:38 -olcObjectIdentifier: OMsOctetString OMsyn:40 -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.1 DESC 'ACI Item' X-BINARY-TRANS - FER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.2 DESC 'Access Point' X-NOT-HUMA - N-READABLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.3 DESC 'Attribute Type Descripti - on' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.4 DESC 'Audio' X-NOT-HUMAN-READA - BLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.5 DESC 'Binary' X-NOT-HUMAN-READ - ABLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.8 DESC 'Certificate' X-BINARY-TR - ANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.9 DESC 'Certificate List' X-BINA - RY-TRANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.10 DESC 'Certificate Pair' X-BIN - ARY-TRANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.4203.666.11.10.2.1 DESC 'X.509 AttributeCertifi - cate' X-BINARY-TRANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'Distinguished Name' ) -olcLdapSyntaxes: ( 1.2.36.79672281.1.5.0 DESC 'RDN' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.13 DESC 'Data Quality' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.14 DESC 'Delivery Method' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.15 DESC 'Directory String' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.16 DESC 'DIT Content Rule Descri - ption' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.17 DESC 'DIT Structure Rule Desc - ription' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.19 DESC 'DSA Quality' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.20 DESC 'DSE Type' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.21 DESC 'Enhanced Guide' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Num - ber' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' X-NOT-HUMAN-READAB - LE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.25 DESC 'Guide' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'Integer' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' X-NOT-HUMAN-READA - BLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.29 DESC 'Master And Shadow Acces - s Points' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.30 DESC 'Matching Rule Descripti - on' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.31 DESC 'Matching Rule Use Descr - iption' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.32 DESC 'Mail Preference' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.33 DESC 'MHS OR Address' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.34 DESC 'Name And Optional UID' - ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.35 DESC 'Name Form Description' - ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.36 DESC 'Numeric String' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Descriptio - n' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.40 DESC 'Octet String' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.42 DESC 'Protocol Information' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.43 DESC 'Presentation Address' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.44 DESC 'Printable String' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.45 DESC 'SubtreeSpecification' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.49 DESC 'Supported Algorithm' X- - BINARY-TRANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.51 DESC 'Teletex Terminal Identi - fier' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.52 DESC 'Telex Number' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.54 DESC 'LDAP Syntax Description - ' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.55 DESC 'Modify Rights' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.56 DESC 'LDAP Schema Definition' - ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.57 DESC 'LDAP Schema Description - ' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.58 DESC 'Substring Assertion' ) -olcLdapSyntaxes: ( 1.3.6.1.1.1.0.0 DESC 'RFC2307 NIS Netgroup Triple' ) -olcLdapSyntaxes: ( 1.3.6.1.1.1.0.1 DESC 'RFC2307 Boot Parameter' ) -olcLdapSyntaxes: ( 1.3.6.1.1.15.1 DESC 'Certificate Exact Assertion' ) -olcLdapSyntaxes: ( 1.3.6.1.1.15.2 DESC 'Certificate Assertion' ) -olcLdapSyntaxes: ( 1.3.6.1.1.15.3 DESC 'Certificate Pair Exact Assertion' ) -olcLdapSyntaxes: ( 1.3.6.1.1.15.4 DESC 'Certificate Pair Assertion' ) -olcLdapSyntaxes: ( 1.3.6.1.1.15.5 DESC 'Certificate List Exact Assertion' ) -olcLdapSyntaxes: ( 1.3.6.1.1.15.6 DESC 'Certificate List Assertion' ) -olcLdapSyntaxes: ( 1.3.6.1.1.15.7 DESC 'Algorithm Identifier' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.4203.666.11.10.2.2 DESC 'AttributeCertificate E - xact Assertion' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.4203.666.11.10.2.3 DESC 'AttributeCertificate A - ssertion' ) -olcLdapSyntaxes: ( 1.3.6.1.1.16.1 DESC 'UUID' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.4203.666.11.2.1 DESC 'CSN' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.4203.666.11.2.4 DESC 'CSN SID' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.4203.1.1.1 DESC 'OpenLDAP void' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.4203.666.2.7 DESC 'OpenLDAP authz' ) -olcLdapSyntaxes: ( 1.3.6.1.4.1.4203.666.2.1 DESC 'OpenLDAP Experimental ACI' ) -olcAttributeTypes: ( 2.5.4.0 NAME 'objectClass' DESC 'RFC4512: object classes - of the entity' EQUALITY objectIdentifierMatch SYNTAX 1.3.6.1.4.1.1466.115.121 - .1.38 ) -olcAttributeTypes: ( 2.5.21.9 NAME 'structuralObjectClass' DESC 'RFC4512: stru - ctural object class of entry' EQUALITY objectIdentifierMatch SYNTAX 1.3.6.1.4 - .1.1466.115.121.1.38 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperati - on ) -olcAttributeTypes: ( 2.5.18.1 NAME 'createTimestamp' DESC 'RFC4512: time which - object was created' EQUALITY generalizedTimeMatch ORDERING generalizedTimeOr - deringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE NO-USER-MODIFIC - ATION USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.18.2 NAME 'modifyTimestamp' DESC 'RFC4512: time which - object was last modified' EQUALITY generalizedTimeMatch ORDERING generalized - TimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE NO-USER-M - ODIFICATION USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.18.3 NAME 'creatorsName' DESC 'RFC4512: name of creat - or' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SING - LE-VALUE NO-USER-MODIFICATION USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.18.4 NAME 'modifiersName' DESC 'RFC4512: name of last - modifier' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 12 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.18.9 NAME 'hasSubordinates' DESC 'X.501: entry has ch - ildren' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALU - E NO-USER-MODIFICATION USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.18.10 NAME 'subschemaSubentry' DESC 'RFC4512: name of - controlling subschema entry' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1. - 4.1.1466.115.121.1.12 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperat - ion ) -olcAttributeTypes: ( 1.3.6.1.1.20 NAME 'entryDN' DESC 'DN of the entry' EQUALI - TY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE N - O-USER-MODIFICATION USAGE directoryOperation ) -olcAttributeTypes: ( 1.3.6.1.1.16.4 NAME 'entryUUID' DESC 'UUID of the entry' - EQUALITY UUIDMatch ORDERING UUIDOrderingMatch SYNTAX 1.3.6.1.1.16.1 SINGLE-VA - LUE NO-USER-MODIFICATION USAGE directoryOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.7 NAME 'entryCSN' DESC 'change seq - uence number of the entry content' EQUALITY CSNMatch ORDERING CSNOrderingMatc - h SYNTAX 1.3.6.1.4.1.4203.666.11.2.1{64} SINGLE-VALUE NO-USER-MODIFICATION US - AGE directoryOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.13 NAME 'namingCSN' DESC 'change s - equence number of the entry naming (RDN)' EQUALITY CSNMatch ORDERING CSNOrder - ingMatch SYNTAX 1.3.6.1.4.1.4203.666.11.2.1{64} SINGLE-VALUE NO-USER-MODIFICA - TION USAGE directoryOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.23 NAME 'syncreplCookie' DESC 'syn - crepl Cookie for shadow copy' EQUALITY octetStringMatch ORDERING octetStringO - rderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE NO-USER-MODIFI - CATION USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.25 NAME 'contextCSN' DESC 'the lar - gest committed CSN of a context' EQUALITY CSNMatch ORDERING CSNOrderingMatch - SYNTAX 1.3.6.1.4.1.4203.666.11.2.1{64} NO-USER-MODIFICATION USAGE dSAOperatio - n ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer' DESC 'RFC4512 - : alternative servers' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperatio - n ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts' DESC 'RF - C4512: naming contexts' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperati - on ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl' DESC - 'RFC4512: supported controls' SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAO - peration ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension' DESC - 'RFC4512: supported extended operations' SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 - 8 USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion' D - ESC 'RFC4512: supported LDAP versions' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 U - SAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms - ' DESC 'RFC4512: supported SASL mechanisms' SYNTAX 1.3.6.1.4.1.1466.115.121.1 - .15 USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.1.3.5 NAME 'supportedFeatures' DESC 'RFC - 4512: features supported by the server' EQUALITY objectIdentifierMatch SYNTAX - 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.10 NAME 'monitorContext' DESC 'mon - itor context' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121 - .1.12 SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.1.12.2.1 NAME 'configContext' DESC 'conf - ig context' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1 - .12 SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.1.4 NAME 'vendorName' DESC 'RFC3045: name of impl - ementation vendor' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 15 SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.1.5 NAME 'vendorVersion' DESC 'RFC3045: version o - f implementation' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.1 - 5 SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation ) -olcAttributeTypes: ( 2.5.18.5 NAME 'administrativeRole' DESC 'RFC3672: adminis - trative role' EQUALITY objectIdentifierMatch SYNTAX 1.3.6.1.4.1.1466.115.121. - 1.38 USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.18.6 NAME 'subtreeSpecification' DESC 'RFC3672: subtr - ee specification' SYNTAX 1.3.6.1.4.1.1466.115.121.1.45 SINGLE-VALUE USAGE dir - ectoryOperation ) -olcAttributeTypes: ( 2.5.21.1 NAME 'dITStructureRules' DESC 'RFC4512: DIT stru - cture rules' EQUALITY integerFirstComponentMatch SYNTAX 1.3.6.1.4.1.1466.115. - 121.1.17 USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.21.2 NAME 'dITContentRules' DESC 'RFC4512: DIT conten - t rules' EQUALITY objectIdentifierFirstComponentMatch SYNTAX 1.3.6.1.4.1.1466 - .115.121.1.16 USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.21.4 NAME 'matchingRules' DESC 'RFC4512: matching rul - es' EQUALITY objectIdentifierFirstComponentMatch SYNTAX 1.3.6.1.4.1.1466.115. - 121.1.30 USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.21.5 NAME 'attributeTypes' DESC 'RFC4512: attribute t - ypes' EQUALITY objectIdentifierFirstComponentMatch SYNTAX 1.3.6.1.4.1.1466.11 - 5.121.1.3 USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.21.6 NAME 'objectClasses' DESC 'RFC4512: object class - es' EQUALITY objectIdentifierFirstComponentMatch SYNTAX 1.3.6.1.4.1.1466.115. - 121.1.37 USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.21.7 NAME 'nameForms' DESC 'RFC4512: name forms ' EQU - ALITY objectIdentifierFirstComponentMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 - 5 USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.21.8 NAME 'matchingRuleUse' DESC 'RFC4512: matching r - ule uses' EQUALITY objectIdentifierFirstComponentMatch SYNTAX 1.3.6.1.4.1.146 - 6.115.121.1.31 USAGE directoryOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes' DESC 'RFC - 4512: LDAP syntaxes' EQUALITY objectIdentifierFirstComponentMatch SYNTAX 1.3. - 6.1.4.1.1466.115.121.1.54 USAGE directoryOperation ) -olcAttributeTypes: ( 2.5.4.1 NAME ( 'aliasedObjectName' 'aliasedEntryName' ) D - ESC 'RFC4512: name of aliased object' EQUALITY distinguishedNameMatch SYNTAX - 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE ) -olcAttributeTypes: ( 2.16.840.1.113730.3.1.34 NAME 'ref' DESC 'RFC3296: subord - inate referral URL' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1 - .15 USAGE distributedOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.1.3.1 NAME 'entry' DESC 'OpenLDAP ACL en - try pseudo-attribute' SYNTAX 1.3.6.1.4.1.4203.1.1.1 SINGLE-VALUE NO-USER-MODI - FICATION USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.1.3.2 NAME 'children' DESC 'OpenLDAP ACL - children pseudo-attribute' SYNTAX 1.3.6.1.4.1.4203.1.1.1 SINGLE-VALUE NO-USE - R-MODIFICATION USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.8 NAME ( 'authzTo' 'saslAuthzTo' ) - DESC 'proxy authorization targets' EQUALITY authzMatch SYNTAX 1.3.6.1.4.1.42 - 03.666.2.7 USAGE distributedOperation X-ORDERED 'VALUES' ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.9 NAME ( 'authzFrom' 'saslAuthzFro - m' ) DESC 'proxy authorization sources' EQUALITY authzMatch SYNTAX 1.3.6.1.4. - 1.4203.666.2.7 USAGE distributedOperation X-ORDERED 'VALUES' ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.119.3 NAME 'entryTtl' DESC 'RFC2589: - entry time-to-live' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE NO-USE - R-MODIFICATION USAGE dSAOperation ) -olcAttributeTypes: ( 1.3.6.1.4.1.1466.101.119.4 NAME 'dynamicSubtrees' DESC 'R - FC2589: dynamic subtrees' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFI - CATION USAGE dSAOperation ) -olcAttributeTypes: ( 2.5.4.49 NAME 'distinguishedName' DESC 'RFC4519: common s - upertype of DN attributes' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1 - .1466.115.121.1.12 ) -olcAttributeTypes: ( 2.5.4.41 NAME 'name' DESC 'RFC4519: common supertype of n - ame attributes' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYN - TAX 1.3.6.1.4.1.1466.115.121.1.15{32768} ) -olcAttributeTypes: ( 2.5.4.3 NAME ( 'cn' 'commonName' ) DESC 'RFC4519: common - name(s) for which the entity is known by' SUP name ) -olcAttributeTypes: ( 0.9.2342.19200300.100.1.1 NAME ( 'uid' 'userid' ) DESC 'R - FC4519: user identifier' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstrings - Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: ( 1.3.6.1.1.1.1.0 NAME 'uidNumber' DESC 'RFC2307: An intege - r uniquely identifying a user in an administrative domain' EQUALITY integerMa - tch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE - -VALUE ) -olcAttributeTypes: ( 1.3.6.1.1.1.1.1 NAME 'gidNumber' DESC 'RFC2307: An intege - r uniquely identifying a group in an administrative domain' EQUALITY integerM - atch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGL - E-VALUE ) -olcAttributeTypes: ( 2.5.4.35 NAME 'userPassword' DESC 'RFC4519/2307: password - of user' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} - ) -olcAttributeTypes: ( 1.3.6.1.4.1.250.1.57 NAME 'labeledURI' DESC 'RFC2079: Uni - form Resource Identifier with optional label' EQUALITY caseExactMatch SYNTAX - 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 2.5.4.13 NAME 'description' DESC 'RFC4519: descriptive in - formation' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1 - .3.6.1.4.1.1466.115.121.1.15{1024} ) -olcAttributeTypes: ( 2.5.4.34 NAME 'seeAlso' DESC 'RFC4519: DN of related obje - ct' SUP distinguishedName ) -olcAttributeTypes: ( OLcfgGlAt:78 NAME 'olcConfigFile' DESC 'File for slapd co - nfiguration directives' EQUALITY caseIgnoreMatch SYNTAX OMsDirectoryString SI - NGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:79 NAME 'olcConfigDir' DESC 'Directory for slap - d configuration backend' EQUALITY caseIgnoreMatch SYNTAX OMsDirectoryString S - INGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:1 NAME 'olcAccess' DESC 'Access Control List' E - QUALITY caseIgnoreMatch SYNTAX OMsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:86 NAME 'olcAddContentAcl' DESC 'Check ACLs aga - inst content of Add ops' SYNTAX OMsBoolean SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:2 NAME 'olcAllows' DESC 'Allowed set of depreca - ted features' EQUALITY caseIgnoreMatch SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:3 NAME 'olcArgsFile' DESC 'File for slapd comma - nd line options' EQUALITY caseIgnoreMatch SYNTAX OMsDirectoryString SINGLE-VA - LUE ) -olcAttributeTypes: ( OLcfgGlAt:5 NAME 'olcAttributeOptions' EQUALITY caseIgnor - eMatch SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:4 NAME 'olcAttributeTypes' DESC 'OpenLDAP attri - buteTypes' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX O - MsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:6 NAME 'olcAuthIDRewrite' EQUALITY caseIgnoreMa - tch SYNTAX OMsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:7 NAME 'olcAuthzPolicy' EQUALITY caseIgnoreMatc - h SYNTAX OMsDirectoryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:8 NAME 'olcAuthzRegexp' EQUALITY caseIgnoreMatc - h SYNTAX OMsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:9 NAME 'olcBackend' DESC 'A type of backend' EQ - UALITY caseIgnoreMatch SYNTAX OMsDirectoryString SINGLE-VALUE X-ORDERED 'SIBL - INGS' ) -olcAttributeTypes: ( OLcfgGlAt:10 NAME 'olcConcurrency' SYNTAX OMsInteger SING - LE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:11 NAME 'olcConnMaxPending' SYNTAX OMsInteger S - INGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:12 NAME 'olcConnMaxPendingAuth' SYNTAX OMsInteg - er SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:13 NAME 'olcDatabase' DESC 'The backend type fo - r a database instance' SUP olcBackend SINGLE-VALUE X-ORDERED 'SIBLINGS' ) -olcAttributeTypes: ( OLcfgGlAt:14 NAME 'olcDefaultSearchBase' SYNTAX OMsDN SIN - GLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:15 NAME 'olcDisallows' EQUALITY caseIgnoreMatch - SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:16 NAME 'olcDitContentRules' DESC 'OpenLDAP DIT - content rules' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYN - TAX OMsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgDbAt:0.20 NAME 'olcExtraAttrs' EQUALITY caseIgnoreMa - tch SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:17 NAME 'olcGentleHUP' SYNTAX OMsBoolean SINGLE - -VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.17 NAME 'olcHidden' SYNTAX OMsBoolean SINGLE- - VALUE ) -olcAttributeTypes: ( OLcfgGlAt:18 NAME 'olcIdleTimeout' SYNTAX OMsInteger SING - LE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:19 NAME 'olcInclude' SUP labeledURI ) -olcAttributeTypes: ( OLcfgGlAt:20 NAME 'olcIndexSubstrIfMinLen' SYNTAX OMsInte - ger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:21 NAME 'olcIndexSubstrIfMaxLen' SYNTAX OMsInte - ger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:22 NAME 'olcIndexSubstrAnyLen' SYNTAX OMsIntege - r SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:23 NAME 'olcIndexSubstrAnyStep' SYNTAX OMsInteg - er SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:84 NAME 'olcIndexIntLen' SYNTAX OMsInteger SING - LE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.4 NAME 'olcLastMod' SYNTAX OMsBoolean SINGLE- - VALUE ) -olcAttributeTypes: ( OLcfgGlAt:85 NAME 'olcLdapSyntaxes' DESC 'OpenLDAP ldapSy - ntax' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX OMsDir - ectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgDbAt:0.5 NAME 'olcLimits' EQUALITY caseIgnoreMatch S - YNTAX OMsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:93 NAME 'olcListenerThreads' SYNTAX OMsInteger - SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:26 NAME 'olcLocalSSF' SYNTAX OMsInteger SINGLE- - VALUE ) -olcAttributeTypes: ( OLcfgGlAt:27 NAME 'olcLogFile' SYNTAX OMsDirectoryString - SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:28 NAME 'olcLogLevel' EQUALITY caseIgnoreMatch - SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgDbAt:0.6 NAME 'olcMaxDerefDepth' SYNTAX OMsInteger S - INGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.16 NAME 'olcMirrorMode' SYNTAX OMsBoolean SIN - GLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:30 NAME 'olcModuleLoad' EQUALITY caseIgnoreMatc - h SYNTAX OMsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:31 NAME 'olcModulePath' SYNTAX OMsDirectoryStri - ng SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.18 NAME 'olcMonitoring' SYNTAX OMsBoolean SIN - GLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:32 NAME 'olcObjectClasses' DESC 'OpenLDAP objec - t classes' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX O - MsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:33 NAME 'olcObjectIdentifier' EQUALITY caseIgno - reMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX OMsDirectoryString X-ORDERED - 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:34 NAME 'olcOverlay' SUP olcDatabase SINGLE-VAL - UE X-ORDERED 'SIBLINGS' ) -olcAttributeTypes: ( OLcfgGlAt:35 NAME 'olcPasswordCryptSaltFormat' SYNTAX OMs - DirectoryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:36 NAME 'olcPasswordHash' EQUALITY caseIgnoreMa - tch SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:37 NAME 'olcPidFile' SYNTAX OMsDirectoryString - SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:38 NAME 'olcPlugin' EQUALITY caseIgnoreMatch SY - NTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:39 NAME 'olcPluginLogFile' SYNTAX OMsDirectoryS - tring SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:40 NAME 'olcReadOnly' SYNTAX OMsBoolean SINGLE- - VALUE ) -olcAttributeTypes: ( OLcfgGlAt:41 NAME 'olcReferral' SUP labeledURI SINGLE-VAL - UE ) -olcAttributeTypes: ( OLcfgDbAt:0.7 NAME 'olcReplica' SUP labeledURI EQUALITY c - aseIgnoreMatch X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:43 NAME 'olcReplicaArgsFile' SYNTAX OMsDirector - yString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:44 NAME 'olcReplicaPidFile' SYNTAX OMsDirectory - String SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:45 NAME 'olcReplicationInterval' SYNTAX OMsInte - ger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:46 NAME 'olcReplogFile' SYNTAX OMsDirectoryStri - ng SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:47 NAME 'olcRequires' EQUALITY caseIgnoreMatch - SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:48 NAME 'olcRestrict' EQUALITY caseIgnoreMatch - SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:49 NAME 'olcReverseLookup' SYNTAX OMsBoolean SI - NGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.8 NAME 'olcRootDN' EQUALITY distinguishedName - Match SYNTAX OMsDN SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:51 NAME 'olcRootDSE' EQUALITY caseIgnoreMatch S - YNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgDbAt:0.9 NAME 'olcRootPW' SYNTAX OMsDirectoryString - SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:89 NAME 'olcSaslAuxprops' SYNTAX OMsDirectorySt - ring SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:53 NAME 'olcSaslHost' SYNTAX OMsDirectoryString - SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:54 NAME 'olcSaslRealm' SYNTAX OMsDirectoryStrin - g SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:56 NAME 'olcSaslSecProps' SYNTAX OMsDirectorySt - ring SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:58 NAME 'olcSchemaDN' EQUALITY distinguishedNam - eMatch SYNTAX OMsDN SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:59 NAME 'olcSecurity' EQUALITY caseIgnoreMatch - SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:81 NAME 'olcServerID' EQUALITY caseIgnoreMatch - SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:60 NAME 'olcSizeLimit' SYNTAX OMsDirectoryStrin - g SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:61 NAME 'olcSockbufMaxIncoming' SYNTAX OMsInteg - er SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:62 NAME 'olcSockbufMaxIncomingAuth' SYNTAX OMsI - nteger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:83 NAME 'olcSortVals' DESC 'Attributes whose va - lues will always be sorted' EQUALITY caseIgnoreMatch SYNTAX OMsDirectoryStrin - g ) -olcAttributeTypes: ( OLcfgDbAt:0.15 NAME 'olcSubordinate' SYNTAX OMsDirectoryS - tring SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.10 NAME 'olcSuffix' EQUALITY distinguishedNam - eMatch SYNTAX OMsDN ) -olcAttributeTypes: ( OLcfgDbAt:0.19 NAME 'olcSyncUseSubentry' DESC 'Store sync - context in a subentry' SYNTAX OMsBoolean SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.11 NAME 'olcSyncrepl' EQUALITY caseIgnoreMatc - h SYNTAX OMsDirectoryString X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgGlAt:90 NAME 'olcTCPBuffer' DESC 'Custom TCP buffer - size' SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgGlAt:66 NAME 'olcThreads' SYNTAX OMsInteger SINGLE-V - ALUE ) -olcAttributeTypes: ( OLcfgGlAt:67 NAME 'olcTimeLimit' SYNTAX OMsDirectoryStrin - g ) -olcAttributeTypes: ( OLcfgGlAt:68 NAME 'olcTLSCACertificateFile' SYNTAX OMsDir - ectoryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:69 NAME 'olcTLSCACertificatePath' SYNTAX OMsDir - ectoryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:70 NAME 'olcTLSCertificateFile' SYNTAX OMsDirec - toryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:71 NAME 'olcTLSCertificateKeyFile' SYNTAX OMsDi - rectoryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:72 NAME 'olcTLSCipherSuite' SYNTAX OMsDirectory - String SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:73 NAME 'olcTLSCRLCheck' SYNTAX OMsDirectoryStr - ing SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:82 NAME 'olcTLSCRLFile' SYNTAX OMsDirectoryStri - ng SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:74 NAME 'olcTLSRandFile' SYNTAX OMsDirectoryStr - ing SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:75 NAME 'olcTLSVerifyClient' SYNTAX OMsDirector - yString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:77 NAME 'olcTLSDHParamFile' SYNTAX OMsDirectory - String SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:87 NAME 'olcTLSProtocolMin' SYNTAX OMsDirectory - String SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgGlAt:80 NAME 'olcToolThreads' SYNTAX OMsInteger SING - LE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.12 NAME 'olcUpdateDN' SYNTAX OMsDN SINGLE-VAL - UE ) -olcAttributeTypes: ( OLcfgDbAt:0.13 NAME 'olcUpdateRef' SUP labeledURI EQUALIT - Y caseIgnoreMatch ) -olcAttributeTypes: ( OLcfgGlAt:88 NAME 'olcWriteTimeout' SYNTAX OMsInteger SIN - GLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.1 NAME 'olcDbDirectory' DESC 'Directory for d - atabase content' EQUALITY caseIgnoreMatch SYNTAX OMsDirectoryString SINGLE-VA - LUE ) -olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.5 NAME 'OpenLDAPaci' DESC 'OpenLDA - P access control information (experimental)' EQUALITY OpenLDAPaciMatch SYNTAX - 1.3.6.1.4.1.4203.666.2.1 USAGE directoryOperation ) -olcAttributeTypes: ( OLcfgDbAt:1.11 NAME 'olcDbCacheFree' DESC 'Number of extr - a entries to free when max is reached' SYNTAX OMsInteger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.1 NAME 'olcDbCacheSize' DESC 'Entry cache siz - e in entries' SYNTAX OMsInteger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.2 NAME 'olcDbCheckpoint' DESC 'Database check - point interval in kbytes and minutes' SYNTAX OMsDirectoryString SINGLE-VALUE - ) -olcAttributeTypes: ( OLcfgDbAt:1.16 NAME 'olcDbChecksum' DESC 'Enable database - checksum validation' SYNTAX OMsBoolean SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.13 NAME 'olcDbCryptFile' DESC 'Pathname of fi - le containing the DB encryption key' SYNTAX OMsDirectoryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.14 NAME 'olcDbCryptKey' DESC 'DB encryption k - ey' SYNTAX OMsOctetString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.3 NAME 'olcDbConfig' DESC 'BerkeleyDB DB_CONF - IG configuration directives' SYNTAX OMsIA5String X-ORDERED 'VALUES' ) -olcAttributeTypes: ( OLcfgDbAt:1.4 NAME 'olcDbNoSync' DESC 'Disable synchronou - s database writes' SYNTAX OMsBoolean SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.15 NAME 'olcDbPageSize' DESC 'Page size of sp - ecified DB, in Kbytes' EQUALITY caseExactMatch SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgDbAt:1.5 NAME 'olcDbDirtyRead' DESC 'Allow reads of - uncommitted data' SYNTAX OMsBoolean SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.12 NAME 'olcDbDNcacheSize' DESC 'DN cache siz - e' SYNTAX OMsInteger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.6 NAME 'olcDbIDLcacheSize' DESC 'IDL cache si - ze in IDLs' SYNTAX OMsInteger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.2 NAME 'olcDbIndex' DESC 'Attribute index par - ameters' EQUALITY caseIgnoreMatch SYNTAX OMsDirectoryString ) -olcAttributeTypes: ( OLcfgDbAt:1.7 NAME 'olcDbLinearIndex' DESC 'Index attribu - tes one at a time' SYNTAX OMsBoolean SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.8 NAME 'olcDbLockDetect' DESC 'Deadlock detec - tion algorithm' SYNTAX OMsDirectoryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:0.3 NAME 'olcDbMode' DESC 'Unix permissions of - database files' SYNTAX OMsDirectoryString SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.9 NAME 'olcDbSearchStack' DESC 'Depth of sear - ch stack in IDLs' SYNTAX OMsInteger SINGLE-VALUE ) -olcAttributeTypes: ( OLcfgDbAt:1.10 NAME 'olcDbShmKey' DESC 'Key for shared me - mory region' SYNTAX OMsInteger SINGLE-VALUE ) -olcObjectClasses: ( 2.5.6.0 NAME 'top' DESC 'top of the superclass chain' ABST - RACT MUST objectClass ) -olcObjectClasses: ( 1.3.6.1.4.1.1466.101.120.111 NAME 'extensibleObject' DESC - 'RFC4512: extensible object' SUP top AUXILIARY ) -olcObjectClasses: ( 2.5.6.1 NAME 'alias' DESC 'RFC4512: an alias' SUP top STRU - CTURAL MUST aliasedObjectName ) -olcObjectClasses: ( 2.16.840.1.113730.3.2.6 NAME 'referral' DESC 'namedref: na - med subordinate referral' SUP top STRUCTURAL MUST ref ) -olcObjectClasses: ( 1.3.6.1.4.1.4203.1.4.1 NAME ( 'OpenLDAProotDSE' 'LDAProotD - SE' ) DESC 'OpenLDAP Root DSE object' SUP top STRUCTURAL MAY cn ) -olcObjectClasses: ( 2.5.17.0 NAME 'subentry' DESC 'RFC3672: subentry' SUP top - STRUCTURAL MUST ( cn $ subtreeSpecification ) ) -olcObjectClasses: ( 2.5.20.1 NAME 'subschema' DESC 'RFC4512: controlling subsc - hema (sub)entry' AUXILIARY MAY ( dITStructureRules $ nameForms $ dITContentRu - les $ objectClasses $ attributeTypes $ matchingRules $ matchingRuleUse ) ) -olcObjectClasses: ( 1.3.6.1.4.1.1466.101.119.2 NAME 'dynamicObject' DESC 'RFC2 - 589: Dynamic Object' SUP top AUXILIARY ) -olcObjectClasses: ( 1.3.6.1.4.1.4203.666.3.4 NAME 'glue' DESC 'Glue Entry' SUP - top STRUCTURAL ) -olcObjectClasses: ( 1.3.6.1.4.1.4203.666.3.5 NAME 'syncConsumerSubentry' DESC - 'Persistent Info for SyncRepl Consumer' AUXILIARY MAY syncreplCookie ) -olcObjectClasses: ( 1.3.6.1.4.1.4203.666.3.6 NAME 'syncProviderSubentry' DESC - 'Persistent Info for SyncRepl Producer' AUXILIARY MAY contextCSN ) -olcObjectClasses: ( OLcfgGlOc:0 NAME 'olcConfig' DESC 'OpenLDAP configuration - object' SUP top ABSTRACT ) -olcObjectClasses: ( OLcfgGlOc:1 NAME 'olcGlobal' DESC 'OpenLDAP Global configu - ration options' SUP olcConfig STRUCTURAL MAY ( cn $ olcConfigFile $ olcConfig - Dir $ olcAllows $ olcArgsFile $ olcAttributeOptions $ olcAuthIDRewrite $ olcA - uthzPolicy $ olcAuthzRegexp $ olcConcurrency $ olcConnMaxPending $ olcConnMax - PendingAuth $ olcDisallows $ olcGentleHUP $ olcIdleTimeout $ olcIndexSubstrIf - MaxLen $ olcIndexSubstrIfMinLen $ olcIndexSubstrAnyLen $ olcIndexSubstrAnySte - p $ olcIndexIntLen $ olcLocalSSF $ olcLogFile $ olcLogLevel $ olcPasswordCryp - tSaltFormat $ olcPasswordHash $ olcPidFile $ olcPluginLogFile $ olcReadOnly $ - olcReferral $ olcReplogFile $ olcRequires $ olcRestrict $ olcReverseLookup $ - olcRootDSE $ olcSaslAuxprops $ olcSaslHost $ olcSaslRealm $ olcSaslSecProps - $ olcSecurity $ olcServerID $ olcSizeLimit $ olcSockbufMaxIncoming $ olcSockb - ufMaxIncomingAuth $ olcTCPBuffer $ olcThreads $ olcTimeLimit $ olcTLSCACertif - icateFile $ olcTLSCACertificatePath $ olcTLSCertificateFile $ olcTLSCertifica - teKeyFile $ olcTLSCipherSuite $ olcTLSCRLCheck $ olcTLSRandFile $ olcTLSVerif - yClient $ olcTLSDHParamFile $ olcTLSCRLFile $ olcToolThreads $ olcWriteTimeou - t $ olcObjectIdentifier $ olcAttributeTypes $ olcObjectClasses $ olcDitConten - tRules $ olcLdapSyntaxes ) ) -olcObjectClasses: ( OLcfgGlOc:2 NAME 'olcSchemaConfig' DESC 'OpenLDAP schema o - bject' SUP olcConfig STRUCTURAL MAY ( cn $ olcObjectIdentifier $ olcLdapSynta - xes $ olcAttributeTypes $ olcObjectClasses $ olcDitContentRules ) ) -olcObjectClasses: ( OLcfgGlOc:3 NAME 'olcBackendConfig' DESC 'OpenLDAP Backend - -specific options' SUP olcConfig STRUCTURAL MUST olcBackend ) -olcObjectClasses: ( OLcfgGlOc:4 NAME 'olcDatabaseConfig' DESC 'OpenLDAP Databa - se-specific options' SUP olcConfig STRUCTURAL MUST olcDatabase MAY ( olcHidde - n $ olcSuffix $ olcSubordinate $ olcAccess $ olcAddContentAcl $ olcLastMod $ - olcLimits $ olcMaxDerefDepth $ olcPlugin $ olcReadOnly $ olcReplica $ olcRepl - icaArgsFile $ olcReplicaPidFile $ olcReplicationInterval $ olcReplogFile $ ol - cRequires $ olcRestrict $ olcRootDN $ olcRootPW $ olcSchemaDN $ olcSecurity $ - olcSizeLimit $ olcSyncUseSubentry $ olcSyncrepl $ olcTimeLimit $ olcUpdateDN - $ olcUpdateRef $ olcMirrorMode $ olcMonitoring $ olcExtraAttrs ) ) -olcObjectClasses: ( OLcfgGlOc:5 NAME 'olcOverlayConfig' DESC 'OpenLDAP Overlay - -specific options' SUP olcConfig STRUCTURAL MUST olcOverlay ) -olcObjectClasses: ( OLcfgGlOc:6 NAME 'olcIncludeFile' DESC 'OpenLDAP configura - tion include file' SUP olcConfig STRUCTURAL MUST olcInclude MAY ( cn $ olcRoo - tDSE ) ) -olcObjectClasses: ( OLcfgGlOc:7 NAME 'olcFrontendConfig' DESC 'OpenLDAP fronte - nd configuration' AUXILIARY MAY ( olcDefaultSearchBase $ olcPasswordHash $ ol - cSortVals ) ) -olcObjectClasses: ( OLcfgGlOc:8 NAME 'olcModuleList' DESC 'OpenLDAP dynamic mo - dule info' SUP olcConfig STRUCTURAL MAY ( cn $ olcModulePath $ olcModuleLoad - ) ) -olcObjectClasses: ( OLcfgDbOc:2.1 NAME 'olcLdifConfig' DESC 'LDIF backend conf - iguration' SUP olcDatabaseConfig STRUCTURAL MUST olcDbDirectory ) -olcObjectClasses: ( OLcfgDbOc:1.2 NAME 'olcHdbConfig' DESC 'HDB backend config - uration' SUP olcDatabaseConfig STRUCTURAL MUST olcDbDirectory MAY ( olcDbCach - eSize $ olcDbCheckpoint $ olcDbConfig $ olcDbCryptFile $ olcDbCryptKey $ olcD - bNoSync $ olcDbDirtyRead $ olcDbIDLcacheSize $ olcDbIndex $ olcDbLinearIndex - $ olcDbLockDetect $ olcDbMode $ olcDbSearchStack $ olcDbShmKey $ olcDbCacheFr - ee $ olcDbDNcacheSize $ olcDbPageSize ) ) -structuralObjectClass: olcSchemaConfig -entryUUID: 5605c11a-6a95-1032-9776-cf219862f309 -creatorsName: cn=config -createTimestamp: 20130616055713Z -entryCSN: 20130616055713.639138Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616055713Z diff --git a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={0}core.ldif b/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={0}core.ldif deleted file mode 100644 index 0eecfbd7..00000000 --- a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={0}core.ldif +++ /dev/null @@ -1,243 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 b1b9e123 -dn: cn={0}core -objectClass: olcSchemaConfig -cn: {0}core -olcAttributeTypes: {0}( 2.5.4.2 NAME 'knowledgeInformation' DESC 'RFC2256: kno - wledge information' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121. - 1.15{32768} ) -olcAttributeTypes: {1}( 2.5.4.4 NAME ( 'sn' 'surname' ) DESC 'RFC2256: last (f - amily) name(s) for which the entity is known by' SUP name ) -olcAttributeTypes: {2}( 2.5.4.5 NAME 'serialNumber' DESC 'RFC2256: serial numb - er of the entity' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch S - YNTAX 1.3.6.1.4.1.1466.115.121.1.44{64} ) -olcAttributeTypes: {3}( 2.5.4.6 NAME ( 'c' 'countryName' ) DESC 'RFC2256: ISO- - 3166 country 2-letter code' SUP name SINGLE-VALUE ) -olcAttributeTypes: {4}( 2.5.4.7 NAME ( 'l' 'localityName' ) DESC 'RFC2256: loc - ality which this object resides in' SUP name ) -olcAttributeTypes: {5}( 2.5.4.8 NAME ( 'st' 'stateOrProvinceName' ) DESC 'RFC2 - 256: state or province which this object resides in' SUP name ) -olcAttributeTypes: {6}( 2.5.4.9 NAME ( 'street' 'streetAddress' ) DESC 'RFC225 - 6: street address of this object' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreS - ubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} ) -olcAttributeTypes: {7}( 2.5.4.10 NAME ( 'o' 'organizationName' ) DESC 'RFC2256 - : organization this object belongs to' SUP name ) -olcAttributeTypes: {8}( 2.5.4.11 NAME ( 'ou' 'organizationalUnitName' ) DESC ' - RFC2256: organizational unit this object belongs to' SUP name ) -olcAttributeTypes: {9}( 2.5.4.12 NAME 'title' DESC 'RFC2256: title associated - with the entity' SUP name ) -olcAttributeTypes: {10}( 2.5.4.14 NAME 'searchGuide' DESC 'RFC2256: search gui - de, deprecated by enhancedSearchGuide' SYNTAX 1.3.6.1.4.1.1466.115.121.1.25 ) -olcAttributeTypes: {11}( 2.5.4.15 NAME 'businessCategory' DESC 'RFC2256: busin - ess category' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTA - X 1.3.6.1.4.1.1466.115.121.1.15{128} ) -olcAttributeTypes: {12}( 2.5.4.16 NAME 'postalAddress' DESC 'RFC2256: postal a - ddress' EQUALITY caseIgnoreListMatch SUBSTR caseIgnoreListSubstringsMatch SYN - TAX 1.3.6.1.4.1.1466.115.121.1.41 ) -olcAttributeTypes: {13}( 2.5.4.17 NAME 'postalCode' DESC 'RFC2256: postal code - ' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4. - 1.1466.115.121.1.15{40} ) -olcAttributeTypes: {14}( 2.5.4.18 NAME 'postOfficeBox' DESC 'RFC2256: Post Off - ice Box' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3 - .6.1.4.1.1466.115.121.1.15{40} ) -olcAttributeTypes: {15}( 2.5.4.19 NAME 'physicalDeliveryOfficeName' DESC 'RFC2 - 256: Physical Delivery Office Name' EQUALITY caseIgnoreMatch SUBSTR caseIgnor - eSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} ) -olcAttributeTypes: {16}( 2.5.4.20 NAME 'telephoneNumber' DESC 'RFC2256: Teleph - one Number' EQUALITY telephoneNumberMatch SUBSTR telephoneNumberSubstringsMat - ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) -olcAttributeTypes: {17}( 2.5.4.21 NAME 'telexNumber' DESC 'RFC2256: Telex Numb - er' SYNTAX 1.3.6.1.4.1.1466.115.121.1.52 ) -olcAttributeTypes: {18}( 2.5.4.22 NAME 'teletexTerminalIdentifier' DESC 'RFC22 - 56: Teletex Terminal Identifier' SYNTAX 1.3.6.1.4.1.1466.115.121.1.51 ) -olcAttributeTypes: {19}( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' ) DE - SC 'RFC2256: Facsimile (Fax) Telephone Number' SYNTAX 1.3.6.1.4.1.1466.115.12 - 1.1.22 ) -olcAttributeTypes: {20}( 2.5.4.24 NAME 'x121Address' DESC 'RFC2256: X.121 Addr - ess' EQUALITY numericStringMatch SUBSTR numericStringSubstringsMatch SYNTAX 1 - .3.6.1.4.1.1466.115.121.1.36{15} ) -olcAttributeTypes: {21}( 2.5.4.25 NAME 'internationaliSDNNumber' DESC 'RFC2256 - : international ISDN number' EQUALITY numericStringMatch SUBSTR numericString - SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{16} ) -olcAttributeTypes: {22}( 2.5.4.26 NAME 'registeredAddress' DESC 'RFC2256: regi - stered postal address' SUP postalAddress SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 - ) -olcAttributeTypes: {23}( 2.5.4.27 NAME 'destinationIndicator' DESC 'RFC2256: d - estination indicator' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMat - ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{128} ) -olcAttributeTypes: {24}( 2.5.4.28 NAME 'preferredDeliveryMethod' DESC 'RFC2256 - : preferred delivery method' SYNTAX 1.3.6.1.4.1.1466.115.121.1.14 SINGLE-VALU - E ) -olcAttributeTypes: {25}( 2.5.4.29 NAME 'presentationAddress' DESC 'RFC2256: pr - esentation address' EQUALITY presentationAddressMatch SYNTAX 1.3.6.1.4.1.1466 - .115.121.1.43 SINGLE-VALUE ) -olcAttributeTypes: {26}( 2.5.4.30 NAME 'supportedApplicationContext' DESC 'RFC - 2256: supported application context' EQUALITY objectIdentifierMatch SYNTAX 1. - 3.6.1.4.1.1466.115.121.1.38 ) -olcAttributeTypes: {27}( 2.5.4.31 NAME 'member' DESC 'RFC2256: member of a gro - up' SUP distinguishedName ) -olcAttributeTypes: {28}( 2.5.4.32 NAME 'owner' DESC 'RFC2256: owner (of the ob - ject)' SUP distinguishedName ) -olcAttributeTypes: {29}( 2.5.4.33 NAME 'roleOccupant' DESC 'RFC2256: occupant - of role' SUP distinguishedName ) -olcAttributeTypes: {30}( 2.5.4.36 NAME 'userCertificate' DESC 'RFC2256: X.509 - user certificate, use ;binary' EQUALITY certificateExactMatch SYNTAX 1.3.6.1. - 4.1.1466.115.121.1.8 ) -olcAttributeTypes: {31}( 2.5.4.37 NAME 'cACertificate' DESC 'RFC2256: X.509 CA - certificate, use ;binary' EQUALITY certificateExactMatch SYNTAX 1.3.6.1.4.1. - 1466.115.121.1.8 ) -olcAttributeTypes: {32}( 2.5.4.38 NAME 'authorityRevocationList' DESC 'RFC2256 - : X.509 authority revocation list, use ;binary' SYNTAX 1.3.6.1.4.1.1466.115.1 - 21.1.9 ) -olcAttributeTypes: {33}( 2.5.4.39 NAME 'certificateRevocationList' DESC 'RFC22 - 56: X.509 certificate revocation list, use ;binary' SYNTAX 1.3.6.1.4.1.1466.1 - 15.121.1.9 ) -olcAttributeTypes: {34}( 2.5.4.40 NAME 'crossCertificatePair' DESC 'RFC2256: X - .509 cross certificate pair, use ;binary' SYNTAX 1.3.6.1.4.1.1466.115.121.1.1 - 0 ) -olcAttributeTypes: {35}( 2.5.4.42 NAME ( 'givenName' 'gn' ) DESC 'RFC2256: fir - st name(s) for which the entity is known by' SUP name ) -olcAttributeTypes: {36}( 2.5.4.43 NAME 'initials' DESC 'RFC2256: initials of s - ome or all of names, but not the surname(s).' SUP name ) -olcAttributeTypes: {37}( 2.5.4.44 NAME 'generationQualifier' DESC 'RFC2256: na - me qualifier indicating a generation' SUP name ) -olcAttributeTypes: {38}( 2.5.4.45 NAME 'x500UniqueIdentifier' DESC 'RFC2256: X - .500 unique identifier' EQUALITY bitStringMatch SYNTAX 1.3.6.1.4.1.1466.115.1 - 21.1.6 ) -olcAttributeTypes: {39}( 2.5.4.46 NAME 'dnQualifier' DESC 'RFC2256: DN qualifi - er' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTR caseIgno - reSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 ) -olcAttributeTypes: {40}( 2.5.4.47 NAME 'enhancedSearchGuide' DESC 'RFC2256: en - hanced search guide' SYNTAX 1.3.6.1.4.1.1466.115.121.1.21 ) -olcAttributeTypes: {41}( 2.5.4.48 NAME 'protocolInformation' DESC 'RFC2256: pr - otocol information' EQUALITY protocolInformationMatch SYNTAX 1.3.6.1.4.1.1466 - .115.121.1.42 ) -olcAttributeTypes: {42}( 2.5.4.50 NAME 'uniqueMember' DESC 'RFC2256: unique me - mber of a group' EQUALITY uniqueMemberMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1 - .34 ) -olcAttributeTypes: {43}( 2.5.4.51 NAME 'houseIdentifier' DESC 'RFC2256: house - identifier' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX - 1.3.6.1.4.1.1466.115.121.1.15{32768} ) -olcAttributeTypes: {44}( 2.5.4.52 NAME 'supportedAlgorithms' DESC 'RFC2256: su - pported algorithms' SYNTAX 1.3.6.1.4.1.1466.115.121.1.49 ) -olcAttributeTypes: {45}( 2.5.4.53 NAME 'deltaRevocationList' DESC 'RFC2256: de - lta revocation list; use ;binary' SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 ) -olcAttributeTypes: {46}( 2.5.4.54 NAME 'dmdName' DESC 'RFC2256: name of DMD' S - UP name ) -olcAttributeTypes: {47}( 2.5.4.65 NAME 'pseudonym' DESC 'X.520(4th): pseudonym - for the object' SUP name ) -olcAttributeTypes: {48}( 0.9.2342.19200300.100.1.3 NAME ( 'mail' 'rfc822Mailbo - x' ) DESC 'RFC1274: RFC822 Mailbox' EQUALITY caseIgnoreIA5Match SUBSTR caseIg - noreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) -olcAttributeTypes: {49}( 0.9.2342.19200300.100.1.25 NAME ( 'dc' 'domainCompone - nt' ) DESC 'RFC1274/2247: domain component' EQUALITY caseIgnoreIA5Match SUBST - R caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VA - LUE ) -olcAttributeTypes: {50}( 0.9.2342.19200300.100.1.37 NAME 'associatedDomain' DE - SC 'RFC1274: domain associated with object' EQUALITY caseIgnoreIA5Match SUBST - R caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -olcAttributeTypes: {51}( 1.2.840.113549.1.9.1 NAME ( 'email' 'emailAddress' 'p - kcs9email' ) DESC 'RFC3280: legacy attribute for email addresses in DNs' EQUA - LITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4. - 1.1466.115.121.1.26{128} ) -olcObjectClasses: {0}( 2.5.6.2 NAME 'country' DESC 'RFC2256: a country' SUP to - p STRUCTURAL MUST c MAY ( searchGuide $ description ) ) -olcObjectClasses: {1}( 2.5.6.3 NAME 'locality' DESC 'RFC2256: a locality' SUP - top STRUCTURAL MAY ( street $ seeAlso $ searchGuide $ st $ l $ description ) - ) -olcObjectClasses: {2}( 2.5.6.4 NAME 'organization' DESC 'RFC2256: an organizat - ion' SUP top STRUCTURAL MUST o MAY ( userPassword $ searchGuide $ seeAlso $ b - usinessCategory $ x121Address $ registeredAddress $ destinationIndicator $ pr - eferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNu - mber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOffi - ceBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l $ de - scription ) ) -olcObjectClasses: {3}( 2.5.6.5 NAME 'organizationalUnit' DESC 'RFC2256: an org - anizational unit' SUP top STRUCTURAL MUST ou MAY ( userPassword $ searchGuide - $ seeAlso $ businessCategory $ x121Address $ registeredAddress $ destination - Indicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier - $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ str - eet $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName - $ st $ l $ description ) ) -olcObjectClasses: {4}( 2.5.6.6 NAME 'person' DESC 'RFC2256: a person' SUP top - STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ seeAlso $ - description ) ) -olcObjectClasses: {5}( 2.5.6.7 NAME 'organizationalPerson' DESC 'RFC2256: an o - rganizational person' SUP person STRUCTURAL MAY ( title $ x121Address $ regis - teredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ - teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facs - imileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ - physicalDeliveryOfficeName $ ou $ st $ l ) ) -olcObjectClasses: {6}( 2.5.6.8 NAME 'organizationalRole' DESC 'RFC2256: an org - anizational role' SUP top STRUCTURAL MUST cn MAY ( x121Address $ registeredAd - dress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ telete - xTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTe - lephoneNumber $ seeAlso $ roleOccupant $ preferredDeliveryMethod $ street $ p - ostOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ ou $ - st $ l $ description ) ) -olcObjectClasses: {7}( 2.5.6.9 NAME 'groupOfNames' DESC 'RFC2256: a group of n - ames (DNs)' SUP top STRUCTURAL MUST ( member $ cn ) MAY ( businessCategory $ - seeAlso $ owner $ ou $ o $ description ) ) -olcObjectClasses: {8}( 2.5.6.10 NAME 'residentialPerson' DESC 'RFC2256: an res - idential person' SUP person STRUCTURAL MUST l MAY ( businessCategory $ x121Ad - dress $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ - telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDN - Number $ facsimileTelephoneNumber $ preferredDeliveryMethod $ street $ postOf - ficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l ) - ) -olcObjectClasses: {9}( 2.5.6.11 NAME 'applicationProcess' DESC 'RFC2256: an ap - plication process' SUP top STRUCTURAL MUST cn MAY ( seeAlso $ ou $ l $ descri - ption ) ) -olcObjectClasses: {10}( 2.5.6.12 NAME 'applicationEntity' DESC 'RFC2256: an ap - plication entity' SUP top STRUCTURAL MUST ( presentationAddress $ cn ) MAY ( - supportedApplicationContext $ seeAlso $ ou $ o $ l $ description ) ) -olcObjectClasses: {11}( 2.5.6.13 NAME 'dSA' DESC 'RFC2256: a directory system - agent (a server)' SUP applicationEntity STRUCTURAL MAY knowledgeInformation ) -olcObjectClasses: {12}( 2.5.6.14 NAME 'device' DESC 'RFC2256: a device' SUP to - p STRUCTURAL MUST cn MAY ( serialNumber $ seeAlso $ owner $ ou $ o $ l $ desc - ription ) ) -olcObjectClasses: {13}( 2.5.6.15 NAME 'strongAuthenticationUser' DESC 'RFC2256 - : a strong authentication user' SUP top AUXILIARY MUST userCertificate ) -olcObjectClasses: {14}( 2.5.6.16 NAME 'certificationAuthority' DESC 'RFC2256: - a certificate authority' SUP top AUXILIARY MUST ( authorityRevocationList $ c - ertificateRevocationList $ cACertificate ) MAY crossCertificatePair ) -olcObjectClasses: {15}( 2.5.6.17 NAME 'groupOfUniqueNames' DESC 'RFC2256: a gr - oup of unique names (DN and Unique Identifier)' SUP top STRUCTURAL MUST ( uni - queMember $ cn ) MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ descript - ion ) ) -olcObjectClasses: {16}( 2.5.6.18 NAME 'userSecurityInformation' DESC 'RFC2256: - a user security information' SUP top AUXILIARY MAY supportedAlgorithms ) -olcObjectClasses: {17}( 2.5.6.16.2 NAME 'certificationAuthority-V2' SUP certif - icationAuthority AUXILIARY MAY deltaRevocationList ) -olcObjectClasses: {18}( 2.5.6.19 NAME 'cRLDistributionPoint' SUP top STRUCTURA - L MUST cn MAY ( certificateRevocationList $ authorityRevocationList $ deltaRe - vocationList ) ) -olcObjectClasses: {19}( 2.5.6.20 NAME 'dmd' SUP top STRUCTURAL MUST dmdName MA - Y ( userPassword $ searchGuide $ seeAlso $ businessCategory $ x121Address $ r - egisteredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumb - er $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ - facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddres - s $ physicalDeliveryOfficeName $ st $ l $ description ) ) -olcObjectClasses: {20}( 2.5.6.21 NAME 'pkiUser' DESC 'RFC2587: a PKI user' SUP - top AUXILIARY MAY userCertificate ) -olcObjectClasses: {21}( 2.5.6.22 NAME 'pkiCA' DESC 'RFC2587: PKI certificate a - uthority' SUP top AUXILIARY MAY ( authorityRevocationList $ certificateRevoca - tionList $ cACertificate $ crossCertificatePair ) ) -olcObjectClasses: {22}( 2.5.6.23 NAME 'deltaCRL' DESC 'RFC2587: PKI user' SUP - top AUXILIARY MAY deltaRevocationList ) -olcObjectClasses: {23}( 1.3.6.1.4.1.250.3.15 NAME 'labeledURIObject' DESC 'RFC - 2079: object that contains the URI attribute type' SUP top AUXILIARY MAY labe - ledURI ) -olcObjectClasses: {24}( 0.9.2342.19200300.100.4.19 NAME 'simpleSecurityObject' - DESC 'RFC1274: simple security object' SUP top AUXILIARY MUST userPassword ) -olcObjectClasses: {25}( 1.3.6.1.4.1.1466.344 NAME 'dcObject' DESC 'RFC2247: do - main component object' SUP top AUXILIARY MUST dc ) -olcObjectClasses: {26}( 1.3.6.1.1.3.1 NAME 'uidObject' DESC 'RFC2377: uid obje - ct' SUP top AUXILIARY MUST uid ) -structuralObjectClass: olcSchemaConfig -entryUUID: 56061354-6a95-1032-9777-cf219862f309 -creatorsName: cn=config -createTimestamp: 20130616055713Z -entryCSN: 20130616055713.639138Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616055713Z diff --git a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={1}cosine.ldif b/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={1}cosine.ldif deleted file mode 100644 index 643d70cd..00000000 --- a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={1}cosine.ldif +++ /dev/null @@ -1,177 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 75de0966 -dn: cn={1}cosine -objectClass: olcSchemaConfig -cn: {1}cosine -olcAttributeTypes: {0}( 0.9.2342.19200300.100.1.2 NAME 'textEncodedORAddress' - EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1. - 1466.115.121.1.15{256} ) -olcAttributeTypes: {1}( 0.9.2342.19200300.100.1.4 NAME 'info' DESC 'RFC1274: g - eneral information' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{2048} ) -olcAttributeTypes: {2}( 0.9.2342.19200300.100.1.5 NAME ( 'drink' 'favouriteDri - nk' ) DESC 'RFC1274: favorite drink' EQUALITY caseIgnoreMatch SUBSTR caseIgno - reSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {3}( 0.9.2342.19200300.100.1.6 NAME 'roomNumber' DESC 'RFC1 - 274: room number' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch S - YNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {4}( 0.9.2342.19200300.100.1.7 NAME 'photo' DESC 'RFC1274: - photo (G3 fax)' SYNTAX 1.3.6.1.4.1.1466.115.121.1.23{25000} ) -olcAttributeTypes: {5}( 0.9.2342.19200300.100.1.8 NAME 'userClass' DESC 'RFC12 - 74: category of user' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMat - ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {6}( 0.9.2342.19200300.100.1.9 NAME 'host' DESC 'RFC1274: h - ost computer' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTA - X 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {7}( 0.9.2342.19200300.100.1.10 NAME 'manager' DESC 'RFC127 - 4: DN of manager' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115 - .121.1.12 ) -olcAttributeTypes: {8}( 0.9.2342.19200300.100.1.11 NAME 'documentIdentifier' D - ESC 'RFC1274: unique identifier of document' EQUALITY caseIgnoreMatch SUBSTR - caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {9}( 0.9.2342.19200300.100.1.12 NAME 'documentTitle' DESC ' - RFC1274: title of document' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstri - ngsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {10}( 0.9.2342.19200300.100.1.13 NAME 'documentVersion' DES - C 'RFC1274: version of document' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSu - bstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {11}( 0.9.2342.19200300.100.1.14 NAME 'documentAuthor' DESC - 'RFC1274: DN of author of document' EQUALITY distinguishedNameMatch SYNTAX 1 - .3.6.1.4.1.1466.115.121.1.12 ) -olcAttributeTypes: {12}( 0.9.2342.19200300.100.1.15 NAME 'documentLocation' DE - SC 'RFC1274: location of document original' EQUALITY caseIgnoreMatch SUBSTR c - aseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {13}( 0.9.2342.19200300.100.1.20 NAME ( 'homePhone' 'homeTe - lephoneNumber' ) DESC 'RFC1274: home telephone number' EQUALITY telephoneNumb - erMatch SUBSTR telephoneNumberSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121 - .1.50 ) -olcAttributeTypes: {14}( 0.9.2342.19200300.100.1.21 NAME 'secretary' DESC 'RFC - 1274: DN of secretary' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.146 - 6.115.121.1.12 ) -olcAttributeTypes: {15}( 0.9.2342.19200300.100.1.22 NAME 'otherMailbox' SYNTAX - 1.3.6.1.4.1.1466.115.121.1.39 ) -olcAttributeTypes: {16}( 0.9.2342.19200300.100.1.26 NAME 'aRecord' EQUALITY ca - seIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -olcAttributeTypes: {17}( 0.9.2342.19200300.100.1.27 NAME 'mDRecord' EQUALITY c - aseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -olcAttributeTypes: {18}( 0.9.2342.19200300.100.1.28 NAME 'mXRecord' EQUALITY c - aseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -olcAttributeTypes: {19}( 0.9.2342.19200300.100.1.29 NAME 'nSRecord' EQUALITY c - aseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -olcAttributeTypes: {20}( 0.9.2342.19200300.100.1.30 NAME 'sOARecord' EQUALITY - caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -olcAttributeTypes: {21}( 0.9.2342.19200300.100.1.31 NAME 'cNAMERecord' EQUALIT - Y caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -olcAttributeTypes: {22}( 0.9.2342.19200300.100.1.38 NAME 'associatedName' DESC - 'RFC1274: DN of entry associated with domain' EQUALITY distinguishedNameMatc - h SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 ) -olcAttributeTypes: {23}( 0.9.2342.19200300.100.1.39 NAME 'homePostalAddress' D - ESC 'RFC1274: home postal address' EQUALITY caseIgnoreListMatch SUBSTR caseIg - noreListSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 ) -olcAttributeTypes: {24}( 0.9.2342.19200300.100.1.40 NAME 'personalTitle' DESC - 'RFC1274: personal title' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstring - sMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {25}( 0.9.2342.19200300.100.1.41 NAME ( 'mobile' 'mobileTel - ephoneNumber' ) DESC 'RFC1274: mobile telephone number' EQUALITY telephoneNum - berMatch SUBSTR telephoneNumberSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.12 - 1.1.50 ) -olcAttributeTypes: {26}( 0.9.2342.19200300.100.1.42 NAME ( 'pager' 'pagerTelep - honeNumber' ) DESC 'RFC1274: pager telephone number' EQUALITY telephoneNumber - Match SUBSTR telephoneNumberSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1 - .50 ) -olcAttributeTypes: {27}( 0.9.2342.19200300.100.1.43 NAME ( 'co' 'friendlyCount - ryName' ) DESC 'RFC1274: friendly country name' EQUALITY caseIgnoreMatch SUBS - TR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: {28}( 0.9.2342.19200300.100.1.44 NAME 'uniqueIdentifier' DE - SC 'RFC1274: unique identifer' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.14 - 66.115.121.1.15{256} ) -olcAttributeTypes: {29}( 0.9.2342.19200300.100.1.45 NAME 'organizationalStatus - ' DESC 'RFC1274: organizational status' EQUALITY caseIgnoreMatch SUBSTR caseI - gnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {30}( 0.9.2342.19200300.100.1.46 NAME 'janetMailbox' DESC ' - RFC1274: Janet mailbox' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5Subst - ringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) -olcAttributeTypes: {31}( 0.9.2342.19200300.100.1.47 NAME 'mailPreferenceOption - ' DESC 'RFC1274: mail preference option' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 - ) -olcAttributeTypes: {32}( 0.9.2342.19200300.100.1.48 NAME 'buildingName' DESC ' - RFC1274: name of building' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstrin - gsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {33}( 0.9.2342.19200300.100.1.49 NAME 'dSAQuality' DESC 'RF - C1274: DSA Quality' SYNTAX 1.3.6.1.4.1.1466.115.121.1.19 SINGLE-VALUE ) -olcAttributeTypes: {34}( 0.9.2342.19200300.100.1.50 NAME 'singleLevelQuality' - DESC 'RFC1274: Single Level Quality' SYNTAX 1.3.6.1.4.1.1466.115.121.1.13 SIN - GLE-VALUE ) -olcAttributeTypes: {35}( 0.9.2342.19200300.100.1.51 NAME 'subtreeMinimumQualit - y' DESC 'RFC1274: Subtree Mininum Quality' SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 13 SINGLE-VALUE ) -olcAttributeTypes: {36}( 0.9.2342.19200300.100.1.52 NAME 'subtreeMaximumQualit - y' DESC 'RFC1274: Subtree Maximun Quality' SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 13 SINGLE-VALUE ) -olcAttributeTypes: {37}( 0.9.2342.19200300.100.1.53 NAME 'personalSignature' D - ESC 'RFC1274: Personal Signature (G3 fax)' SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 23 ) -olcAttributeTypes: {38}( 0.9.2342.19200300.100.1.54 NAME 'dITRedirect' DESC 'R - FC1274: DIT Redirect' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466 - .115.121.1.12 ) -olcAttributeTypes: {39}( 0.9.2342.19200300.100.1.55 NAME 'audio' DESC 'RFC1274 - : audio (u-law)' SYNTAX 1.3.6.1.4.1.1466.115.121.1.4{25000} ) -olcAttributeTypes: {40}( 0.9.2342.19200300.100.1.56 NAME 'documentPublisher' D - ESC 'RFC1274: publisher of document' EQUALITY caseIgnoreMatch SUBSTR caseIgno - reSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcObjectClasses: {0}( 0.9.2342.19200300.100.4.4 NAME ( 'pilotPerson' 'newPilo - tPerson' ) SUP person STRUCTURAL MAY ( userid $ textEncodedORAddress $ rfc822 - Mailbox $ favouriteDrink $ roomNumber $ userClass $ homeTelephoneNumber $ hom - ePostalAddress $ secretary $ personalTitle $ preferredDeliveryMethod $ busine - ssCategory $ janetMailbox $ otherMailbox $ mobileTelephoneNumber $ pagerTelep - honeNumber $ organizationalStatus $ mailPreferenceOption $ personalSignature - ) ) -olcObjectClasses: {1}( 0.9.2342.19200300.100.4.5 NAME 'account' SUP top STRUCT - URAL MUST userid MAY ( description $ seeAlso $ localityName $ organizationNam - e $ organizationalUnitName $ host ) ) -olcObjectClasses: {2}( 0.9.2342.19200300.100.4.6 NAME 'document' SUP top STRUC - TURAL MUST documentIdentifier MAY ( commonName $ description $ seeAlso $ loca - lityName $ organizationName $ organizationalUnitName $ documentTitle $ docume - ntVersion $ documentAuthor $ documentLocation $ documentPublisher ) ) -olcObjectClasses: {3}( 0.9.2342.19200300.100.4.7 NAME 'room' SUP top STRUCTURA - L MUST commonName MAY ( roomNumber $ description $ seeAlso $ telephoneNumber - ) ) -olcObjectClasses: {4}( 0.9.2342.19200300.100.4.9 NAME 'documentSeries' SUP top - STRUCTURAL MUST commonName MAY ( description $ seeAlso $ telephonenumber $ l - ocalityName $ organizationName $ organizationalUnitName ) ) -olcObjectClasses: {5}( 0.9.2342.19200300.100.4.13 NAME 'domain' SUP top STRUCT - URAL MUST domainComponent MAY ( associatedName $ organizationName $ descripti - on $ businessCategory $ seeAlso $ searchGuide $ userPassword $ localityName $ - stateOrProvinceName $ streetAddress $ physicalDeliveryOfficeName $ postalAdd - ress $ postalCode $ postOfficeBox $ streetAddress $ facsimileTelephoneNumber - $ internationalISDNNumber $ telephoneNumber $ teletexTerminalIdentifier $ tel - exNumber $ preferredDeliveryMethod $ destinationIndicator $ registeredAddress - $ x121Address ) ) -olcObjectClasses: {6}( 0.9.2342.19200300.100.4.14 NAME 'RFC822localPart' SUP d - omain STRUCTURAL MAY ( commonName $ surname $ description $ seeAlso $ telepho - neNumber $ physicalDeliveryOfficeName $ postalAddress $ postalCode $ postOffi - ceBox $ streetAddress $ facsimileTelephoneNumber $ internationalISDNNumber $ - telephoneNumber $ teletexTerminalIdentifier $ telexNumber $ preferredDelivery - Method $ destinationIndicator $ registeredAddress $ x121Address ) ) -olcObjectClasses: {7}( 0.9.2342.19200300.100.4.15 NAME 'dNSDomain' SUP domain - STRUCTURAL MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAME - Record ) ) -olcObjectClasses: {8}( 0.9.2342.19200300.100.4.17 NAME 'domainRelatedObject' D - ESC 'RFC1274: an object related to an domain' SUP top AUXILIARY MUST associat - edDomain ) -olcObjectClasses: {9}( 0.9.2342.19200300.100.4.18 NAME 'friendlyCountry' SUP c - ountry STRUCTURAL MUST friendlyCountryName ) -olcObjectClasses: {10}( 0.9.2342.19200300.100.4.20 NAME 'pilotOrganization' SU - P ( organization $ organizationalUnit ) STRUCTURAL MAY buildingName ) -olcObjectClasses: {11}( 0.9.2342.19200300.100.4.21 NAME 'pilotDSA' SUP dsa STR - UCTURAL MAY dSAQuality ) -olcObjectClasses: {12}( 0.9.2342.19200300.100.4.22 NAME 'qualityLabelledData' - SUP top AUXILIARY MUST dsaQuality MAY ( subtreeMinimumQuality $ subtreeMaximu - mQuality ) ) -structuralObjectClass: olcSchemaConfig -entryUUID: 560647de-6a95-1032-9778-cf219862f309 -creatorsName: cn=config -createTimestamp: 20130616055713Z -entryCSN: 20130616055713.639138Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616055713Z diff --git a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={2}nis.ldif b/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={2}nis.ldif deleted file mode 100644 index cd89a727..00000000 --- a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={2}nis.ldif +++ /dev/null @@ -1,106 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 e02f73e2 -dn: cn={2}nis -objectClass: olcSchemaConfig -cn: {2}nis -olcAttributeTypes: {0}( 1.3.6.1.1.1.1.2 NAME 'gecos' DESC 'The GECOS field; th - e common name' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatc - h SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) -olcAttributeTypes: {1}( 1.3.6.1.1.1.1.3 NAME 'homeDirectory' DESC 'The absolut - e path to the home directory' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1 - 466.115.121.1.26 SINGLE-VALUE ) -olcAttributeTypes: {2}( 1.3.6.1.1.1.1.4 NAME 'loginShell' DESC 'The path to th - e login shell' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.2 - 6 SINGLE-VALUE ) -olcAttributeTypes: {3}( 1.3.6.1.1.1.1.5 NAME 'shadowLastChange' EQUALITY integ - erMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {4}( 1.3.6.1.1.1.1.6 NAME 'shadowMin' EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {5}( 1.3.6.1.1.1.1.7 NAME 'shadowMax' EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {6}( 1.3.6.1.1.1.1.8 NAME 'shadowWarning' EQUALITY integerM - atch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {7}( 1.3.6.1.1.1.1.9 NAME 'shadowInactive' EQUALITY integer - Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {8}( 1.3.6.1.1.1.1.10 NAME 'shadowExpire' EQUALITY integerM - atch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {9}( 1.3.6.1.1.1.1.11 NAME 'shadowFlag' EQUALITY integerMat - ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {10}( 1.3.6.1.1.1.1.12 NAME 'memberUid' EQUALITY caseExactI - A5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 26 ) -olcAttributeTypes: {11}( 1.3.6.1.1.1.1.13 NAME 'memberNisNetgroup' EQUALITY ca - seExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.11 - 5.121.1.26 ) -olcAttributeTypes: {12}( 1.3.6.1.1.1.1.14 NAME 'nisNetgroupTriple' DESC 'Netgr - oup triple' SYNTAX 1.3.6.1.1.1.0.0 ) -olcAttributeTypes: {13}( 1.3.6.1.1.1.1.15 NAME 'ipServicePort' EQUALITY intege - rMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {14}( 1.3.6.1.1.1.1.16 NAME 'ipServiceProtocol' SUP name ) -olcAttributeTypes: {15}( 1.3.6.1.1.1.1.17 NAME 'ipProtocolNumber' EQUALITY int - egerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {16}( 1.3.6.1.1.1.1.18 NAME 'oncRpcNumber' EQUALITY integer - Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {17}( 1.3.6.1.1.1.1.19 NAME 'ipHostNumber' DESC 'IP address - ' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} ) -olcAttributeTypes: {18}( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber' DESC 'IP netw - ork' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SI - NGLE-VALUE ) -olcAttributeTypes: {19}( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber' DESC 'IP netm - ask' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SI - NGLE-VALUE ) -olcAttributeTypes: {20}( 1.3.6.1.1.1.1.22 NAME 'macAddress' DESC 'MAC address' - EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} ) -olcAttributeTypes: {21}( 1.3.6.1.1.1.1.23 NAME 'bootParameter' DESC 'rpc.bootp - aramd parameter' SYNTAX 1.3.6.1.1.1.0.1 ) -olcAttributeTypes: {22}( 1.3.6.1.1.1.1.24 NAME 'bootFile' DESC 'Boot image nam - e' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -olcAttributeTypes: {23}( 1.3.6.1.1.1.1.26 NAME 'nisMapName' SUP name ) -olcAttributeTypes: {24}( 1.3.6.1.1.1.1.27 NAME 'nisMapEntry' EQUALITY caseExac - tIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121. - 1.26{1024} SINGLE-VALUE ) -olcObjectClasses: {0}( 1.3.6.1.1.1.2.0 NAME 'posixAccount' DESC 'Abstraction o - f an account with POSIX attributes' SUP top AUXILIARY MUST ( cn $ uid $ uidNu - mber $ gidNumber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $ - description ) ) -olcObjectClasses: {1}( 1.3.6.1.1.1.2.1 NAME 'shadowAccount' DESC 'Additional a - ttributes for shadow passwords' SUP top AUXILIARY MUST uid MAY ( userPassword - $ shadowLastChange $ shadowMin $ shadowMax $ shadowWarning $ shadowInactive - $ shadowExpire $ shadowFlag $ description ) ) -olcObjectClasses: {2}( 1.3.6.1.1.1.2.2 NAME 'posixGroup' DESC 'Abstraction of - a group of accounts' SUP top STRUCTURAL MUST ( cn $ gidNumber ) MAY ( userPas - sword $ memberUid $ description ) ) -olcObjectClasses: {3}( 1.3.6.1.1.1.2.3 NAME 'ipService' DESC 'Abstraction an I - nternet Protocol service' SUP top STRUCTURAL MUST ( cn $ ipServicePort $ ipSe - rviceProtocol ) MAY description ) -olcObjectClasses: {4}( 1.3.6.1.1.1.2.4 NAME 'ipProtocol' DESC 'Abstraction of - an IP protocol' SUP top STRUCTURAL MUST ( cn $ ipProtocolNumber $ description - ) MAY description ) -olcObjectClasses: {5}( 1.3.6.1.1.1.2.5 NAME 'oncRpc' DESC 'Abstraction of an O - NC/RPC binding' SUP top STRUCTURAL MUST ( cn $ oncRpcNumber $ description ) M - AY description ) -olcObjectClasses: {6}( 1.3.6.1.1.1.2.6 NAME 'ipHost' DESC 'Abstraction of a ho - st, an IP device' SUP top AUXILIARY MUST ( cn $ ipHostNumber ) MAY ( l $ desc - ription $ manager ) ) -olcObjectClasses: {7}( 1.3.6.1.1.1.2.7 NAME 'ipNetwork' DESC 'Abstraction of a - n IP network' SUP top STRUCTURAL MUST ( cn $ ipNetworkNumber ) MAY ( ipNetmas - kNumber $ l $ description $ manager ) ) -olcObjectClasses: {8}( 1.3.6.1.1.1.2.8 NAME 'nisNetgroup' DESC 'Abstraction of - a netgroup' SUP top STRUCTURAL MUST cn MAY ( nisNetgroupTriple $ memberNisNe - tgroup $ description ) ) -olcObjectClasses: {9}( 1.3.6.1.1.1.2.9 NAME 'nisMap' DESC 'A generic abstracti - on of a NIS map' SUP top STRUCTURAL MUST nisMapName MAY description ) -olcObjectClasses: {10}( 1.3.6.1.1.1.2.10 NAME 'nisObject' DESC 'An entry in a - NIS map' SUP top STRUCTURAL MUST ( cn $ nisMapEntry $ nisMapName ) MAY descri - ption ) -olcObjectClasses: {11}( 1.3.6.1.1.1.2.11 NAME 'ieee802Device' DESC 'A device w - ith a MAC address' SUP top AUXILIARY MAY macAddress ) -olcObjectClasses: {12}( 1.3.6.1.1.1.2.12 NAME 'bootableDevice' DESC 'A device - with boot parameters' SUP top AUXILIARY MAY ( bootFile $ bootParameter ) ) -structuralObjectClass: olcSchemaConfig -entryUUID: 56066b88-6a95-1032-9779-cf219862f309 -creatorsName: cn=config -createTimestamp: 20130616055713Z -entryCSN: 20130616055713.639138Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616055713Z diff --git a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={3}inetorgperson.ldif b/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={3}inetorgperson.ldif deleted file mode 100644 index 0f181a74..00000000 --- a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={3}inetorgperson.ldif +++ /dev/null @@ -1,48 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 314118ac -dn: cn={3}inetorgperson -objectClass: olcSchemaConfig -cn: {3}inetorgperson -olcAttributeTypes: {0}( 2.16.840.1.113730.3.1.1 NAME 'carLicense' DESC 'RFC279 - 8: vehicle license or registration plate' EQUALITY caseIgnoreMatch SUBSTR cas - eIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: {1}( 2.16.840.1.113730.3.1.2 NAME 'departmentNumber' DESC ' - RFC2798: identifies a department within an organization' EQUALITY caseIgnoreM - atch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: {2}( 2.16.840.1.113730.3.1.241 NAME 'displayName' DESC 'RFC - 2798: preferred name to be used when displaying entries' EQUALITY caseIgnoreM - atch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SI - NGLE-VALUE ) -olcAttributeTypes: {3}( 2.16.840.1.113730.3.1.3 NAME 'employeeNumber' DESC 'RF - C2798: numerically identifies an employee within an organization' EQUALITY ca - seIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.12 - 1.1.15 SINGLE-VALUE ) -olcAttributeTypes: {4}( 2.16.840.1.113730.3.1.4 NAME 'employeeType' DESC 'RFC2 - 798: type of employment for a person' EQUALITY caseIgnoreMatch SUBSTR caseIgn - oreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: {5}( 0.9.2342.19200300.100.1.60 NAME 'jpegPhoto' DESC 'RFC2 - 798: a JPEG image' SYNTAX 1.3.6.1.4.1.1466.115.121.1.28 ) -olcAttributeTypes: {6}( 2.16.840.1.113730.3.1.39 NAME 'preferredLanguage' DESC - 'RFC2798: preferred written or spoken language for a person' EQUALITY caseIg - noreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 15 SINGLE-VALUE ) -olcAttributeTypes: {7}( 2.16.840.1.113730.3.1.40 NAME 'userSMIMECertificate' D - ESC 'RFC2798: PKCS#7 SignedData used to support S/MIME' SYNTAX 1.3.6.1.4.1.14 - 66.115.121.1.5 ) -olcAttributeTypes: {8}( 2.16.840.1.113730.3.1.216 NAME 'userPKCS12' DESC 'RFC2 - 798: personal identity information, a PKCS #12 PFX' SYNTAX 1.3.6.1.4.1.1466.1 - 15.121.1.5 ) -olcObjectClasses: {0}( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' DESC 'RFC2 - 798: Internet Organizational Person' SUP organizationalPerson STRUCTURAL MAY - ( audio $ businessCategory $ carLicense $ departmentNumber $ displayName $ em - ployeeNumber $ employeeType $ givenName $ homePhone $ homePostalAddress $ ini - tials $ jpegPhoto $ labeledURI $ mail $ manager $ mobile $ o $ pager $ photo - $ roomNumber $ secretary $ uid $ userCertificate $ x500uniqueIdentifier $ pre - ferredLanguage $ userSMIMECertificate $ userPKCS12 ) ) -structuralObjectClass: olcSchemaConfig -entryUUID: 56068406-6a95-1032-977a-cf219862f309 -creatorsName: cn=config -createTimestamp: 20130616055713Z -entryCSN: 20130616055713.639138Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616055713Z diff --git a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={4}samba.ldif b/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={4}samba.ldif deleted file mode 100644 index e830fb7b..00000000 --- a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={4}samba.ldif +++ /dev/null @@ -1,157 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 e8bb6371 -dn: cn={4}samba -objectClass: olcSchemaConfig -cn: {4}samba -olcAttributeTypes: {0}( 1.3.6.1.4.1.7165.2.1.24 NAME 'sambaLMPassword' DESC 'L - anManager Password' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.1 - 21.1.26{32} SINGLE-VALUE ) -olcAttributeTypes: {1}( 1.3.6.1.4.1.7165.2.1.25 NAME 'sambaNTPassword' DESC 'M - D4 hash of the unicode password' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4 - .1.1466.115.121.1.26{32} SINGLE-VALUE ) -olcAttributeTypes: {2}( 1.3.6.1.4.1.7165.2.1.26 NAME 'sambaAcctFlags' DESC 'Ac - count Flags' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 - {16} SINGLE-VALUE ) -olcAttributeTypes: {3}( 1.3.6.1.4.1.7165.2.1.27 NAME 'sambaPwdLastSet' DESC 'T - imestamp of the last password update' EQUALITY integerMatch SYNTAX 1.3.6.1.4. - 1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {4}( 1.3.6.1.4.1.7165.2.1.28 NAME 'sambaPwdCanChange' DESC - 'Timestamp of when the user is allowed to update the password' EQUALITY integ - erMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {5}( 1.3.6.1.4.1.7165.2.1.29 NAME 'sambaPwdMustChange' DESC - 'Timestamp of when the password will expire' EQUALITY integerMatch SYNTAX 1. - 3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {6}( 1.3.6.1.4.1.7165.2.1.30 NAME 'sambaLogonTime' DESC 'Ti - mestamp of last logon' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121. - 1.27 SINGLE-VALUE ) -olcAttributeTypes: {7}( 1.3.6.1.4.1.7165.2.1.31 NAME 'sambaLogoffTime' DESC 'T - imestamp of last logoff' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.12 - 1.1.27 SINGLE-VALUE ) -olcAttributeTypes: {8}( 1.3.6.1.4.1.7165.2.1.32 NAME 'sambaKickoffTime' DESC ' - Timestamp of when the user will be logged off automatically' EQUALITY integer - Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {9}( 1.3.6.1.4.1.7165.2.1.48 NAME 'sambaBadPasswordCount' D - ESC 'Bad password attempt count' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.146 - 6.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {10}( 1.3.6.1.4.1.7165.2.1.49 NAME 'sambaBadPasswordTime' D - ESC 'Time of the last bad password attempt' EQUALITY integerMatch SYNTAX 1.3. - 6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {11}( 1.3.6.1.4.1.7165.2.1.55 NAME 'sambaLogonHours' DESC ' - Logon Hours' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 - {42} SINGLE-VALUE ) -olcAttributeTypes: {12}( 1.3.6.1.4.1.7165.2.1.33 NAME 'sambaHomeDrive' DESC 'D - river letter of home directory mapping' EQUALITY caseIgnoreIA5Match SYNTAX 1. - 3.6.1.4.1.1466.115.121.1.26{4} SINGLE-VALUE ) -olcAttributeTypes: {13}( 1.3.6.1.4.1.7165.2.1.34 NAME 'sambaLogonScript' DESC - 'Logon script path' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121. - 1.15{255} SINGLE-VALUE ) -olcAttributeTypes: {14}( 1.3.6.1.4.1.7165.2.1.35 NAME 'sambaProfilePath' DESC - 'Roaming profile path' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.1 - 21.1.15{255} SINGLE-VALUE ) -olcAttributeTypes: {15}( 1.3.6.1.4.1.7165.2.1.36 NAME 'sambaUserWorkstations' - DESC 'List of user workstations the user is allowed to logon to' EQUALITY cas - eIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE ) -olcAttributeTypes: {16}( 1.3.6.1.4.1.7165.2.1.37 NAME 'sambaHomePath' DESC 'Ho - me directory UNC path' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.1 - 21.1.15{128} ) -olcAttributeTypes: {17}( 1.3.6.1.4.1.7165.2.1.38 NAME 'sambaDomainName' DESC ' - Windows NT domain to which the user belongs' EQUALITY caseIgnoreMatch SYNTAX - 1.3.6.1.4.1.1466.115.121.1.15{128} ) -olcAttributeTypes: {18}( 1.3.6.1.4.1.7165.2.1.47 NAME 'sambaMungedDial' DESC ' - ' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1050} ) -olcAttributeTypes: {19}( 1.3.6.1.4.1.7165.2.1.54 NAME 'sambaPasswordHistory' D - ESC 'Concatenated MD4 hashes of the unicode passwords used on this account' E - QUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} ) -olcAttributeTypes: {20}( 1.3.6.1.4.1.7165.2.1.20 NAME 'sambaSID' DESC 'Securit - y ID' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} SI - NGLE-VALUE ) -olcAttributeTypes: {21}( 1.3.6.1.4.1.7165.2.1.23 NAME 'sambaPrimaryGroupSID' D - ESC 'Primary Group Security ID' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4. - 1.1466.115.121.1.26{64} SINGLE-VALUE ) -olcAttributeTypes: {22}( 1.3.6.1.4.1.7165.2.1.51 NAME 'sambaSIDList' DESC 'Sec - urity ID List' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1. - 26{64} ) -olcAttributeTypes: {23}( 1.3.6.1.4.1.7165.2.1.19 NAME 'sambaGroupType' DESC 'N - T Group Type' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SING - LE-VALUE ) -olcAttributeTypes: {24}( 1.3.6.1.4.1.7165.2.1.21 NAME 'sambaNextUserRid' DESC - 'Next NT rid to give our for users' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1. - 1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {25}( 1.3.6.1.4.1.7165.2.1.22 NAME 'sambaNextGroupRid' DESC - 'Next NT rid to give out for groups' EQUALITY integerMatch SYNTAX 1.3.6.1.4. - 1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {26}( 1.3.6.1.4.1.7165.2.1.39 NAME 'sambaNextRid' DESC 'Nex - t NT rid to give out for anything' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1 - 466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {27}( 1.3.6.1.4.1.7165.2.1.40 NAME 'sambaAlgorithmicRidBase - ' DESC 'Base at which the samba RID generation algorithm should operate' EQUA - LITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) -olcAttributeTypes: {28}( 1.3.6.1.4.1.7165.2.1.41 NAME 'sambaShareName' DESC 'S - hare Name' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SING - LE-VALUE ) -olcAttributeTypes: {29}( 1.3.6.1.4.1.7165.2.1.42 NAME 'sambaOptionName' DESC ' - Option Name' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX - 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {30}( 1.3.6.1.4.1.7165.2.1.43 NAME 'sambaBoolOption' DESC ' - A boolean option' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 S - INGLE-VALUE ) -olcAttributeTypes: {31}( 1.3.6.1.4.1.7165.2.1.44 NAME 'sambaIntegerOption' DES - C 'An integer option' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1 - .27 SINGLE-VALUE ) -olcAttributeTypes: {32}( 1.3.6.1.4.1.7165.2.1.45 NAME 'sambaStringOption' DESC - 'A string option' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121 - .1.26 SINGLE-VALUE ) -olcAttributeTypes: {33}( 1.3.6.1.4.1.7165.2.1.46 NAME 'sambaStringListOption' - DESC 'A string list option' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466. - 115.121.1.15 ) -olcAttributeTypes: {34}( 1.3.6.1.4.1.7165.2.1.50 NAME 'sambaPrivName' SUP name - ) -olcAttributeTypes: {35}( 1.3.6.1.4.1.7165.2.1.52 NAME 'sambaPrivilegeList' DES - C 'Privileges List' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.1 - 21.1.26{64} ) -olcAttributeTypes: {36}( 1.3.6.1.4.1.7165.2.1.53 NAME 'sambaTrustFlags' DESC ' - Trust Password Flags' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115 - .121.1.26 ) -olcObjectClasses: {0}( 1.3.6.1.4.1.7165.2.2.6 NAME 'sambaSamAccount' DESC 'Sam - ba 3.0 Auxilary SAM Account' SUP top AUXILIARY MUST ( uid $ sambaSID ) MAY ( - cn $ sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $ sambaLogonTime $ s - ambaLogoffTime $ sambaKickoffTime $ sambaPwdCanChange $ sambaPwdMustChange $ - sambaAcctFlags $ displayName $ sambaHomePath $ sambaHomeDrive $ sambaLogonScr - ipt $ sambaProfilePath $ description $ sambaUserWorkstations $ sambaPrimaryGr - oupSID $ sambaDomainName $ sambaMungedDial $ sambaBadPasswordCount $ sambaBad - PasswordTime $ sambaPasswordHistory $ sambaLogonHours ) ) -olcObjectClasses: {1}( 1.3.6.1.4.1.7165.2.2.4 NAME 'sambaGroupMapping' DESC 'S - amba Group Mapping' SUP top AUXILIARY MUST ( gidNumber $ sambaSID $ sambaGrou - pType ) MAY ( displayName $ description $ sambaSIDList ) ) -olcObjectClasses: {2}( 1.3.6.1.4.1.7165.2.2.14 NAME 'sambaTrustPassword' DESC - 'Samba Trust Password' SUP top STRUCTURAL MUST ( sambaDomainName $ sambaNTPas - sword $ sambaTrustFlags ) MAY ( sambaSID $ sambaPwdLastSet ) ) -olcObjectClasses: {3}( 1.3.6.1.4.1.7165.2.2.5 NAME 'sambaDomain' DESC 'Samba D - omain Information' SUP top AUXILIARY MUST ( sambaDomainName $ sambaSID ) MAY - ( sambaNextRid $ sambaNextGroupRid $ sambaNextUserRid $ sambaAlgorithmicRidBa - se ) ) -olcObjectClasses: {4}( 1.3.6.1.4.1.7165.2.2.7 NAME 'sambaUnixIdPool' DESC 'Poo - l for allocating UNIX uids/gids' SUP top AUXILIARY MUST ( uidNumber $ gidNumb - er ) ) -olcObjectClasses: {5}( 1.3.6.1.4.1.7165.2.2.8 NAME 'sambaIdmapEntry' DESC 'Map - ping from a SID to an ID' SUP top AUXILIARY MUST sambaSID MAY ( uidNumber $ g - idNumber ) ) -olcObjectClasses: {6}( 1.3.6.1.4.1.7165.2.2.9 NAME 'sambaSidEntry' DESC 'Struc - tural Class for a SID' SUP top STRUCTURAL MUST sambaSID ) -olcObjectClasses: {7}( 1.3.6.1.4.1.7165.1.2.2.10 NAME 'sambaConfig' DESC 'Samb - a Configuration Section' SUP top AUXILIARY MAY description ) -olcObjectClasses: {8}( 1.3.6.1.4.1.7165.2.2.11 NAME 'sambaShare' DESC 'Samba S - hare Section' SUP top STRUCTURAL MUST sambaShareName MAY description ) -olcObjectClasses: {9}( 1.3.6.1.4.1.7165.2.2.12 NAME 'sambaConfigOption' DESC ' - Samba Configuration Option' SUP top STRUCTURAL MUST sambaOptionName MAY ( sam - baBoolOption $ sambaIntegerOption $ sambaStringOption $ sambaStringListoption - $ description ) ) -olcObjectClasses: {10}( 1.3.6.1.4.1.7165.2.2.13 NAME 'sambaPrivilege' DESC 'Sa - mba Privilege' SUP top AUXILIARY MUST sambaSID MAY sambaPrivilegeList ) -structuralObjectClass: olcSchemaConfig -entryUUID: 5606a71a-6a95-1032-977b-cf219862f309 -creatorsName: cn=config -createTimestamp: 20130616055713Z -entryCSN: 20130616055713.639138Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616055713Z diff --git a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={5}lsexample.ldif b/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={5}lsexample.ldif deleted file mode 100644 index 6ffe0b03..00000000 --- a/lsexample/slapd/slapd.d/cn=config/cn=schema/cn={5}lsexample.ldif +++ /dev/null @@ -1,39 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 5c6a815f -dn: cn={5}lsexample -objectClass: olcSchemaConfig -cn: {5}lsexample -olcObjectIdentifier: {0}EeRoot 1.3.6.1.4.1.10650 -olcObjectIdentifier: {1}LeRoot EeRoot:4 -olcObjectIdentifier: {2}LsRoot LeRoot:10000 -olcObjectIdentifier: {3}LsLDAP LsRoot:2 -olcObjectIdentifier: {4}LsLDAPAttribute LsLDAP:1 -olcObjectIdentifier: {5}LsLDAPObjectClass LsLDAP:2 -olcAttributeTypes: {0}( LsLDAPAttribute:1 NAME 'lsAllowedServices' DESC 'List - of allowed services' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatc - h SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) -olcAttributeTypes: {1}( LsLDAPAttribute:2 NAME 'lsRecoveryHash' DESC 'Password - Recover Hash' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 - ) -olcAttributeTypes: {2}( LsLDAPAttribute:3 NAME 'lsGodfatherDn' DESC 'Godfather - dn of this entry' SUP distinguishedName ) -olcObjectClasses: {0}( LsLDAPObjectClass:1 NAME 'lspeople' DESC 'LS people Obj - ectclass' STRUCTURAL MUST ( uid $ cn ) MAY ( jpegPhoto $ sn $ givenName $ pos - talAddress $ postalCode $ l $ st $ c $ telephoneNumber $ mobile $ fax $ mail - $ personalTitle $ description $ userPassword $ lsallowedservices $ lsRecovery - Hash $ lsGodfatherDn ) ) -olcObjectClasses: {1}( LsLDAPObjectClass:3 NAME 'lsgroup' DESC 'LS group Objec - tclass' AUXILIARY MUST cn MAY ( uniquemember $ description $ lsGodfatherDn ) - ) -olcObjectClasses: {2}( LsLDAPObjectClass:4 NAME 'lssysaccount' DESC 'LS system - account Objectclass' STRUCTURAL MUST uid MAY ( userpassword $ description ) - ) -olcObjectClasses: {3}( LsLDAPObjectClass:5 NAME 'lscompany' SUP organizational - Unit STRUCTURAL MUST ou MAY ( description $ lsGodfatherDn ) ) -structuralObjectClass: olcSchemaConfig -entryUUID: 076f2732-6a9d-1032-82eb-95e24cffa2a0 -creatorsName: cn=config -createTimestamp: 20130616065217Z -entryCSN: 20130616065217.757414Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616065217Z diff --git a/lsexample/slapd/slapd.d/cn=config/olcDatabase={-1}frontend.ldif b/lsexample/slapd/slapd.d/cn=config/olcDatabase={-1}frontend.ldif deleted file mode 100644 index f684d76f..00000000 --- a/lsexample/slapd/slapd.d/cn=config/olcDatabase={-1}frontend.ldif +++ /dev/null @@ -1,20 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 c50de41a -dn: olcDatabase={-1}frontend -objectClass: olcDatabaseConfig -objectClass: olcFrontendConfig -olcDatabase: {-1}frontend -olcAddContentAcl: FALSE -olcLastMod: TRUE -olcMaxDerefDepth: 0 -olcReadOnly: FALSE -olcSchemaDN: cn=Subschema -olcSyncUseSubentry: FALSE -olcMonitoring: FALSE -structuralObjectClass: olcDatabaseConfig -entryUUID: 5606cc0e-6a95-1032-977d-cf219862f309 -creatorsName: cn=config -createTimestamp: 20130616055713Z -entryCSN: 20130616055713.639138Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616055713Z diff --git a/lsexample/slapd/slapd.d/cn=config/olcDatabase={0}config.ldif b/lsexample/slapd/slapd.d/cn=config/olcDatabase={0}config.ldif deleted file mode 100644 index 0b7bb773..00000000 --- a/lsexample/slapd/slapd.d/cn=config/olcDatabase={0}config.ldif +++ /dev/null @@ -1,16 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 96dac74f -dn: olcDatabase={0}config -objectClass: olcDatabaseConfig -olcDatabase: {0}config -olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external - ,cn=auth manage by * break -olcRootDN: cn=admin,cn=config -structuralObjectClass: olcDatabaseConfig -entryUUID: 6db4d93a-6a91-1032-8cb8-d5eaa14a6b52 -creatorsName: cn=config -createTimestamp: 20130616052915Z -olcRootPW:: dG90bw== -entryCSN: 20130616061517.456231Z#000000#000#000000 -modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth -modifyTimestamp: 20130616061517Z diff --git a/lsexample/slapd/slapd.d/cn=config/olcDatabase={1}hdb.ldif b/lsexample/slapd/slapd.d/cn=config/olcDatabase={1}hdb.ldif deleted file mode 100644 index 151ed078..00000000 --- a/lsexample/slapd/slapd.d/cn=config/olcDatabase={1}hdb.ldif +++ /dev/null @@ -1,97 +0,0 @@ -# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. -# CRC32 4ba4a558 -dn: olcDatabase={1}hdb -objectClass: olcDatabaseConfig -objectClass: olcHdbConfig -olcDatabase: {1}hdb -olcSuffix: o=ls -olcAccess: {0}to dn.regex="^o=ls$" attrs=entry,children,objectclass by group - /lsgroup/uniqueMember.exact="cn=adminldap,ou=groups,o=ls" write by dn.base=" - uid=ldapsaisie,ou=sysaccounts,o=ls" write by users read by * read -olcAccess: {1}to dn.regex="^ou=groups,o=ls$" attrs=children,objectclass by g - roup/lsgroup/uniqueMember.exact="cn=adminldap,ou=groups,o=ls" write by dn.ba - se="uid=ldapsaisie,ou=sysaccounts,o=ls" write by users read by * none -olcAccess: {2}to dn.regex="^cn=[^,]+,ou=groups,o=ls$" attrs=entry,objectclass - by group/lsgroup/uniqueMember.exact="cn=adminldap,ou=groups,o=ls" write by - dn.base="uid=ldapsaisie,ou=sysaccounts,o=ls" write by users read by * none -olcAccess: {3}to dn.regex="^cn=[^,]+,ou=groups,o=ls$" by group/lsgroup/unique - Member.exact="cn=adminldap,ou=groups,o=ls" write by dn.base="uid=ldapsaisie, - ou=sysaccounts,o=ls" write by users read by * none -olcAccess: {4}to dn.regex="^ou=people,o=ls$" attrs=children,objectclass by g - roup/lsgroup/uniqueMember.exact="cn=adminldap,ou=groups,o=ls" write by dn.ba - se="uid=ldapsaisie,ou=sysaccounts,o=ls" write by users read by * read -olcAccess: {5}to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs=entry,objectclas - s by group/lsgroup/uniqueMember.exact="cn=adminldap,ou=groups,o=ls" write b - y dn.base="uid=ldapsaisie,ou=sysaccounts,o=ls" write by users read by * rea - d -olcAccess: {6}to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs=userPassword by - group/lsgroup/uniqueMember.exact="cn=adminldap,ou=groups,o=ls" write by dn. - base="uid=samba,ou=sysaccounts,o=ls" write by dn.base="uid=ldapsaisie,ou=sys - accounts,o=ls" write by self write by anonymous auth by * none -olcAccess: {7}to dn.regex="^uid=[^,]+,ou=sysaccounts,o=ls$" attrs=userPasswor - d by group/lsgroup/uniqueMember.exact="cn=adminldap,ou=groups,o=ls" write b - y dn.base="uid=ldapsaisie,ou=sysaccounts,o=ls" write by anonymous auth by * - none -olcAccess: {8}to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs=uid,lsallowedser - vices,uidNumber,gidNumber,homeDirectory,loginShell,sambaSID,sambaAcctFlags,sa - mbaPrimaryGroupSID by group/lsgroup/uniqueMember.exact="cn=adminldap,ou=grou - ps,o=ls" write by dn.base="uid=ldapsaisie,ou=sysaccounts,o=ls" write by use - rs read by * none -olcAccess: {9}to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs=sambaLMPassword, - sambaNTPassword by group/lsgroup/uniqueMember.exact="cn=adminldap,ou=groups, - o=ls" write by dn.base="uid=ldapsaisie,ou=sysaccounts,o=ls" write by dn.bas - e="uid=samba,ou=sysaccounts,o=ls" write by self write by * none -olcAccess: {10}to dn.regex="^uid=[^,]+,ou=people,o=ls$" attrs=c,cn,jpegPhoto, - personalTitle,sn,givenName,postalAddress,postalCode,l,st,telephoneNumber,mobi - le,fax,mail,description by group/lsgroup/uniqueMember.exact="cn=adminldap,ou - =groups,o=ls" write by dn.base="uid=ldapsaisie,ou=sysaccounts,o=ls" write b - y self write by users read by * read -olcAccess: {11}to attrs=entry by group/lsgroup/uniqueMember.exact="cn=adminld - ap,ou=groups,o=ls" write by dn.base="uid=ldapsaisie,ou=sysaccounts,o=ls" wri - te by users read by * none -olcAccess: {12}to * by group/lsgroup/uniqueMember.exact="cn=adminldap,ou=grou - ps,o=ls" write by dn.base="uid=ldapsaisie,ou=sysaccounts,o=ls" write by * n - one -olcAddContentAcl: FALSE -olcLastMod: TRUE -olcMaxDerefDepth: 15 -olcReadOnly: FALSE -olcSyncUseSubentry: FALSE -olcMonitoring: FALSE -olcDbDirectory: /var/lib/ldap -olcDbCacheSize: 1000 -olcDbCheckpoint: 512 30 -olcDbConfig: {0}set_cachesize 0 2097152 0 -olcDbConfig: {1}set_lk_max_objects 1500 -olcDbConfig: {2}set_lk_max_locks 1500 -olcDbConfig: {3}set_lk_max_lockers 1500 -olcDbNoSync: FALSE -olcDbDirtyRead: FALSE -olcDbIDLcacheSize: 0 -olcDbIndex: objectClass eq -olcDbIndex: cn eq,approx,sub -olcDbIndex: uid eq,approx,sub -olcDbIndex: uidNumber eq -olcDbIndex: gidNumber eq -olcDbIndex: sambaSID eq -olcDbIndex: lsAllowedServices eq -olcDbIndex: lsGodfatherDn eq -olcDbIndex: uniqueMember eq -olcDbIndex: sambaDomainName eq -olcDbIndex: memberUid eq -olcDbIndex: givenName eq,approx,sub -olcDbIndex: sn eq,approx,sub -olcDbIndex: mail eq,approx,sub -olcDbLinearIndex: FALSE -olcDbMode: 0600 -olcDbSearchStack: 16 -olcDbShmKey: 0 -olcDbCacheFree: 1 -olcDbDNcacheSize: 0 -structuralObjectClass: olcHdbConfig -entryUUID: a17059aa-6aa2-1032-8f84-37b4f3699116 -creatorsName: cn=config -createTimestamp: 20130616073223Z -entryCSN: 20130616073223.616056Z#000000#000#000000 -modifiersName: cn=config -modifyTimestamp: 20130616073223Z diff --git a/src/conf/LSaddons/config.LSaddons.dyngroup.php b/src/conf/LSaddons/config.LSaddons.dyngroup.php new file mode 100644 index 00000000..72884d5f --- /dev/null +++ b/src/conf/LSaddons/config.LSaddons.dyngroup.php @@ -0,0 +1,56 @@ + array( + 'LSdyngroup', + 'posixGroup', + ), + 'rdn' => 'cn', + 'container_dn' => 'ou=dyngroups', + 'container_auto_create' => array( + 'objectclass' => array( + 'top', + 'organizationalUnit', + ), + 'attrs' => array( + 'ou' => 'dyngroups', + ), + ), + 'display_name_format' => '%{cn}', + 'label' => 'Dynamic groups', + + 'customActions' => array ( + 'showTechInfo' => array ( + 'function' => 'showTechInfo', + 'label' => 'Show technical information', + 'hideLabel' => True, + 'noConfirmation' => true, + 'disableOnSuccessMsg' => true, + 'icon' => 'tech_info', + 'rights' => array ( + 'admin', + ), + ), + 'updateDynGroupMembersCache' => array ( + 'function' => 'updateDynGroupMembersCache', + 'label' => 'Update members cache', + 'question_format' => 'Are you sure you want to update members cache of this dynamic group ?', + 'onSuccessMsgFormat' => 'Members cache updated.', + 'icon' => 'refresh', + 'rights' => array ( + 'admin', + ), + ), + ), + + 'LSsearch' => array ( + 'attrs' => array ( + 'cn', + 'gidNumber' => array ( + 'searchLSformat' => '(gidNumber=%{pattern})', + 'approxLSformat' => '(gidNumber=%{pattern})', + ), + 'description', + ), + 'params' => array ( + 'sortBy' => 'displayName' + ), + 'customActions' => array ( + 'updateDynGroupsMembersCache' => array ( + 'function' => 'updateDynGroupsMembersCache', + 'label' => 'Update members cache', + 'question_format' => 'Are you sure you want to update members cache of all dynamic groups (could be quite long) ?', + 'onSuccessMsgFormat' => 'Dynamic groups members cache updated.', + 'icon' => 'refresh', + 'rights' => array ( + 'admin', + ), + ), + ), + ), + + 'after_delete' => 'updateGroupMembersAllowedServices', + 'after_create' => 'updateDynGroupMembersCache', + + 'attrs' => array ( + + /* ----------- start -----------*/ + 'cn' => array ( + 'label' => 'Name', + 'ldap_type' => 'ascii', + 'html_type' => 'text', + 'required' => 1, + 'check_data' => array ( + 'alphanumeric' => array( + 'msg' => 'Name must contain alphanumeric values only.', + ), + ), + 'validation' => array ( + array ( + 'filter' => 'cn=%{val}', + 'result' => 0, + ), + ), + 'view' => 1, + 'rights' => array( + 'user' => 'r', + 'admin' => 'w', + 'godfather' => 'r', + ), + 'form' => array ( + 'modify' => 1, + 'create' => 1, + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'gidNumber' => array ( + 'label' => 'Identifier', + 'ldap_type' => 'numeric', + 'html_type' => 'text', + 'required' => 1, + 'generate_function' => 'generate_samba_gidNumber', + 'validation' => array ( + array ( + 'filter' => 'gidNumber=%{val}', + 'result' => 0, + ), + ), + 'view' => 1, + 'rights' => array( + 'user' => 'r', + 'admin' => 'w', + ), + 'form' => array ( + 'modify' => 1, + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'lsDynGroupMemberDnURI' => array ( + 'label' => 'Member search URI', + 'help_info' => "

LDAP search URI or group members. A LDAP search URI is composed of the following parts separated by semicolons :

Example : ldap:///ou=people,o=ls??one?(&(objectClass=lspeople)(mail=*@ls.com))

", + 'ldap_type' => 'ascii', + 'html_type' => 'textarea', + 'required' => 0, + 'default_value' => 'ldap:///ou=people,o=ls??one?(objectClass=lspeople)', + 'check_data' => array ( + 'ldapSearchURI' => array( + 'msg' => "Invalid LDAP search URI.", + ), + ), + 'view' => 1, + 'rights' => array( + 'admin' => 'w', + ), + 'form' => array ( + 'modify' => 1, + 'create' => 1, + ), + 'dependAttrs' => array( + 'lsDynGroupMemberUidURI' + ), + 'after_modify' => array( + 'updateGroupMembersAllowedServices', + 'updateDynGroupMembersCache', + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'lsDynGroupMemberUidURI' => array ( + 'label' => 'Member search URI (UID)', + 'ldap_type' => 'ascii', + 'html_type' => 'textarea', + 'required' => 0, + 'generate_function' => 'generateDyngroupMemberUidURI', + 'rights' => array( + 'admin' => 'w', + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'lsDynGroupMemberDn' => array ( + 'label' => 'Members', + 'ldap_type' => 'ascii', + 'html_type' => 'select_object', + 'html_options' => array( + 'selectable_object' => array( + 'object_type' => 'LSpeople', + 'display_name_format' => '%{cn} (%{dn})', + 'value_attribute' => 'dn', + ), + ), + 'required' => 0, + 'multiple' => 1, + 'view' => 1, + 'rights' => array( + 'user' => 'r', + 'admin' => 'w', + 'godfather' => 'w', + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'lsDynGroupMemberUid' => array ( + 'label' => 'Members UID', + 'ldap_type' => 'ascii', + 'html_type' => 'select_object', + 'html_options' => array( + 'selectable_object' => array( + 'object_type' => 'LSpeople', + 'display_name_format' => '%{cn} (%{uid})', + 'value_attribute' => 'uid', + ) + ), + 'required' => 0, + 'multiple' => 1, + 'view' => 1, + 'rights' => array( + 'user' => 'r', + 'admin' => 'w', + 'godfather' => 'w', + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'uniqueMember' => array ( + 'label' => 'Members (cache)', + 'ldap_type' => 'ascii', + 'html_type' => 'select_object', + 'html_options' => array( + 'selectable_object' => array( + array( + 'object_type' => 'LSpeople', + 'display_name_format' => '%{cn} (%{dn})', + 'value_attribute' => 'dn', + ), + ), + 'ordered' => true, + ), + 'required' => 0, + 'multiple' => 1, + 'validation' => array ( + array ( + 'object_type' => 'LSpeople', + 'basedn' => '%{val}', + 'result' => 1, + ), + ), + 'view' => 1, + 'rights' => array( + 'admin' => 'w', + 'admingroup' => 'w', + 'godfather' => 'w', + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'memberUid' => array ( + 'label' => 'Members UID (cache)', + 'ldap_type' => 'ascii', + 'html_type' => 'select_object', + 'html_options' => array( + 'selectable_object' => array( + array( + 'object_type' => 'LSpeople', + 'display_name_format' => '%{cn} (%{uid})', + 'value_attribute' => 'uid', + ), + ), + 'ordered' => true, + ), + 'required' => 0, + 'multiple' => 1, + 'validation' => array ( + array ( + 'object_type' => 'LSpeople', + 'filter' => '(uid=%{val})', + 'result' => 1, + ), + ), + 'view' => 1, + 'rights' => array( + 'admin' => 'w', + 'admingroup' => 'w', + 'godfather' => 'w', + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'description' => array ( + 'label' => 'Description', + 'ldap_type' => 'ascii', + 'html_type' => 'textarea', + 'multiple' => 1, + 'rights' => array( + 'user' => 'r', + 'admin' => 'w', + 'godfather' => 'r', + ), + 'view' => 1, + 'form' => array ( + 'modify' => 1, + 'create' => 1, + ), + ), + /* ----------- end -----------*/ + + /* ----------- start -----------*/ + 'lsGodfatherDn' => array ( + 'label' => 'Accountable(s)', + 'ldap_type' => 'ascii', + 'html_type' => 'select_object', + 'html_options' => array ( + 'selectable_object' => array( + 'object_type' => 'LSpeople', + 'value_attribute' => 'dn', + ), + ), + 'validation' => array ( + array ( + 'basedn' => '%{val}', + 'result' => 1, + 'msg' => "One or several of these users don't exist.", + ), + ), + 'multiple' => 0, + 'rights' => array( + 'admin' => 'w', + ), + 'view' => 1, + 'form' => array ( + 'modify' => 1, + 'create' => 1, + ), + ), + /* ----------- end -----------*/ + + ), +); diff --git a/src/conf/LSobjects/config.LSobjects.LSpeople.php b/src/conf/LSobjects/config.LSobjects.LSpeople.php index c6cf891e..f2244681 100644 --- a/src/conf/LSobjects/config.LSobjects.LSpeople.php +++ b/src/conf/LSobjects/config.LSobjects.LSpeople.php @@ -148,6 +148,17 @@ $GLOBALS['LSobjects']['LSpeople'] = array ( 'admingroup' => 'w', ), ), + 'dyngroups' => array( + 'label' => 'Belongs to dynamic groups ...', + 'emptyText' => "Doesn't belong to any dynamic group.", + 'LSobject' => "LSdyngroup", + 'linkAttribute' => "uniqueMember", + 'linkAttributeValue' => "dn", + 'rights' => array( + 'self' => 'r', + 'admin' => 'r', + ), + ), 'godfather' => array( 'label' => 'Godfather of ...', 'emptyText' => "Doesn't sponsor any user.", @@ -160,6 +171,30 @@ $GLOBALS['LSobjects']['LSpeople'] = array ( 'admingroup' => 'w', ), ), + 'group_godfather' => array( + 'label' => 'Godfather of groups ...', + 'emptyText' => "Doesn't sponsor any group.", + 'LSobject' => "LSgroup", + 'linkAttribute' => "lsGodfatherDn", + 'linkAttributeValue' => "dn", + 'rights' => array( + 'self' => 'r', + 'admin' => 'w', + 'admingroup' => 'w', + ), + ), + 'dyngroup_godfather' => array( + 'label' => 'Godfather of dynamic groups ...', + 'emptyText' => "Doesn't sponsor any dynamic group.", + 'LSobject' => "LSdyngroup", + 'linkAttribute' => "lsGodfatherDn", + 'linkAttributeValue' => "dn", + 'rights' => array( + 'self' => 'r', + 'admin' => 'w', + 'admingroup' => 'w', + ), + ), ), // LSform @@ -278,6 +313,10 @@ $GLOBALS['LSobjects']['LSpeople'] = array ( ), ), + 'after_create' => 'triggerUpdateDynGroupsMembersCacheOnUserCreateOrDelete', + 'after_modify' => 'triggerUpdateDynGroupsMembersCacheOnUserModify', + 'after_delete' => 'triggerUpdateDynGroupsMembersCacheOnUserCreateOrDelete', + // Attributes 'attrs' => array_merge($GLOBALS['pwdPolicyAccountAttrs'], array ( diff --git a/src/conf/config.LSaddons.php b/src/conf/config.LSaddons.php index 7eed5627..0f75fd56 100644 --- a/src/conf/config.LSaddons.php +++ b/src/conf/config.LSaddons.php @@ -25,6 +25,7 @@ $GLOBALS['LSaddons']['loads'] = array ( 'posix', 'ftp', 'maildir', + 'dyngroup', 'showTechInfo', 'LSaccessRightsMatrixView', ); diff --git a/src/conf/config.inc.php b/src/conf/config.inc.php index b0e8f70f..0ed2189d 100644 --- a/src/conf/config.inc.php +++ b/src/conf/config.inc.php @@ -96,6 +96,7 @@ $GLOBALS['LSconfig'] = array( 'LSaccess' => array( 'LSpeople', 'LSgroup', + 'LSdyngroup', 'LSsysaccount', 'pwdPolicy', ), diff --git a/src/includes/addons/LSaddons.dyngroup.php b/src/includes/addons/LSaddons.dyngroup.php new file mode 100644 index 00000000..8f5b10d3 --- /dev/null +++ b/src/includes/addons/LSaddons.dyngroup.php @@ -0,0 +1,359 @@ + + * + * @retval boolean true if dyngroup are fully supported, false otherwise + */ +function LSaddon_dyngroup_support() { + $retval = true; + + $MUST_DEFINE_CONST = array( + 'DYNGROUP_OBJECT_TYPE', + ); + + foreach($MUST_DEFINE_CONST as $const) { + if ( !defined($const) || !constant($const) ) { + LSerror :: addErrorCode('DYNGROUP_SUPPORT_01', $const); + $retval = false; + } + } + + if ( + !(constant('DYNGROUP_MEMBER_DN_URI_ATTRIBUTE') && constant('DYNGROUP_MEMBER_DN_ATTRIBUTE') && constant('DYNGROUP_MEMBER_DN_STATIC_ATTRIBUTE')) && + !(constant('DYNGROUP_MEMBER_UID_URI_ATTRIBUTE') && constant('DYNGROUP_MEMBER_UID_ATTRIBUTE') && constant('DYNGROUP_MEMBER_UID_STATIC_ATTRIBUTE')) + ) { + LSerror :: addErrorCode('DYNGROUP_SUPPORT_02'); + $retval = false; + } + + if ($retval && php_sapi_name() == 'cli') { + LScli :: add_command( + 'update_dyngroups_members_cache', + 'cli_updateDynGroupsMembersCache', + 'Update dynamic groups members cache' + ); + } + + return $retval; +} + +/* + * Parse LDAP search URI + * + * @param[in] $uri string The LDAP search URI to parse + * + * @retval array|false Array of parsed LDAP search URI info, or false + */ +function parseLdapSearchURI($uri) { + $uri_parts = explode('?', $uri); + if (count($uri_parts) < 2) { + return false; + } + + return array ( + 'ldap_base_uri' => $uri_parts[0], + 'requested_attributes' => $uri_parts[1], + 'scope' => (isset($uri_parts[2])?$uri_parts[2]:null), + 'filter' => (isset($uri_parts[3])?$uri_parts[3]:null), + ); +} + +/* + * Extract attributes cited in an LDAP filter string + * + * @param[in] $filter string The LDAP filter string + * + * @retval array|false Array of the attributes cited in the LDAP filter string, or false + */ +function extractAttributesFromLdapFilterString($filter) { + if ($filter[0] != '(') + $filter = "($filter)"; + + if (!preg_match_all('#\((?P[a-z0-9]+)(?P[~<>]?=)(?P[^\)]+)\)#i', $filter, $parts)) + return false; + + return $parts['attr']; +} + +/** + * Generate dyngroup memberUid URI attribute value from memberDN URI attribute + * + * @author Benjamin Renard + * + * @param[in] $ldapObject The LSldapObject + * + * @retval array|null array of memberUid URI attribute values or null in case of error + */ +function generateDyngroupMemberUidURI($ldapObject) { + if (!isset($ldapObject -> attrs[ DYNGROUP_MEMBER_DN_URI_ATTRIBUTE ])) { + LSerror :: addErrorCode( + 'DYNGROUP_01', + array('dependency' => DYNGROUP_MEMBER_DN_URI_ATTRIBUTE, 'attr' => DYNGROUP_MEMBER_UID_URI_ATTRIBUTE) + ); + return; + } + + $dn_uri = $ldapObject -> attrs[ DYNGROUP_MEMBER_DN_URI_ATTRIBUTE ] -> getValue(); + if (empty($dn_uri)) + return; + + $uri_parts = explode('?', $dn_uri[0]); + if (count($uri_parts) < 2) { + LSerror :: addErrorCode('DYNGROUP_02', DYNGROUP_MEMBER_DN_URI_ATTRIBUTE); + return; + } + $uri_parts[1] = 'uid'; + return array( + implode('?', $uri_parts) + ); +} + +/** + * Update dyngroup cache members attributes + * + * @author Benjamin Renard + * + * @param[in] $dyngroup The LSldapObject + * + * @retval boolean True on success, False otherwise + */ +function updateDynGroupMembersCache($dyngroup, $reload=true) { + if ($reload && !$dyngroup -> reloadData()) { + LSlog :: get_logger('LSaddon_dyngroup') -> error("Fail to reload $dyngroup data"); + return false; + } + $attrs_map = array( + 'DYNGROUP_MEMBER_DN_ATTRIBUTE' => 'DYNGROUP_MEMBER_DN_STATIC_ATTRIBUTE', + 'DYNGROUP_MEMBER_UID_ATTRIBUTE' => 'DYNGROUP_MEMBER_UID_STATIC_ATTRIBUTE' + ); + $old_attrs = array(); + $attrs = array(); + foreach ($attrs_map as $src_attr => $dst_attr) { + $src_attr = constant($src_attr); + $dst_attr = constant($dst_attr); + if (!$src_attr || !$dst_attr) + continue; + LSlog :: get_logger('LSaddon_dyngroup') -> trace( + "updateDynGroupMembersCache($dyngroup): update attribute '$dst_attr' from '$dst_attr'" + ); + $old_attrs[$dst_attr] = $dyngroup -> getValue($dst_attr, false, array()); + ksort($old_attrs[$dst_attr]); + + $attrs[$dst_attr] = $dyngroup -> getValue($src_attr, false, array()); + ksort($attrs[$dst_attr]); + } + + if ($attrs == $old_attrs) { + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "updateDynGroupMembersCache($dyngroup): no member change" + ); + return true; + } + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "updateDynGroupMembersCache($dyngroup): change detected:\n - Current: ".varDump($old_attrs). + "\n\n - New: ".varDump($attrs) + ); + + if (!$old_attrs) { + LSlog :: get_logger('LSaddon_dyngroup') -> error( + "updateDynGroupMembersCache($dyngroup): No member attribute defined !" + ); + return false; + } + + if (!LSldap :: update(DYNGROUP_OBJECT_TYPE, $dyngroup -> getDn(), $attrs)) { + LSlog :: get_logger('LSaddon_dyngroup') -> error("Fail to update $dyngroup cache members attributes"); + return false; + } + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "updateDynGroupMembersCache($dyngroup): cache members attributes updated" + ); + return true; +} + +function updateDynGroupsMembersCache() { + if (!LSsession :: loadLSobject(DYNGROUP_OBJECT_TYPE)) + LSlog :: get_logger('LSaddon_dyngroup') -> fatal('Fail to load dyngroup object type'); + + // List dyn groups + $dyngroup_class = constant('DYNGROUP_OBJECT_TYPE'); + $dyngroup = new $dyngroup_class(); + $error = false; + foreach($dyngroup -> listObjects(null, null, array('withoutCache' => true)) as $group) { + if (!updateDynGroupMembersCache($group, false)) + $error = true; + } + return !$error; +} + +function triggerUpdateDynGroupsMembersCacheOnUserModify($user) { + $changed_attrs = array(); + foreach($user -> attrs as $attr_name => $attr) { + if ($attr -> isUpdate()) + $changed_attrs[] = strtolower($attr_name); + } + if (!$changed_attrs) { + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "triggerUpdateDynGroupsMembersCacheOnUserModify($user): no attribute changed" + ); + return true; + } + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "triggerUpdateDynGroupsMembersCacheOnUserModify($user): changed attributes = ".implode(', ', $changed_attrs) + ); + + return triggerUpdateDynGroupsMembersCacheOnUserChanges($user, $changed_attrs); +} + +function triggerUpdateDynGroupsMembersCacheOnUserCreateOrDelete($user) { + $changed_attrs = array_keys($user -> attrs); + return triggerUpdateDynGroupsMembersCacheOnUserChanges($user, $changed_attrs); +} + +function triggerUpdateDynGroupsMembersCacheOnUserChanges(&$user, &$changed_attrs) { + if (!LSsession :: loadLSobject(DYNGROUP_OBJECT_TYPE)) { + LSlog :: get_logger('LSaddon_dyngroup') -> error('Fail to load dyngroup object type'); + return false; + } + + // List dyn groups + $dyngroup_class = constant('DYNGROUP_OBJECT_TYPE'); + $dyngroup = new $dyngroup_class(); + $error = false; + $impacted_dyngroups = 0; + $updated_dyngroups = 0; + foreach($dyngroup -> listObjects() as $group) { // Leave cache enabled + $uri = null; + foreach(array(DYNGROUP_MEMBER_DN_URI_ATTRIBUTE, DYNGROUP_MEMBER_UID_URI_ATTRIBUTE) as $uri_attr) { + $uri = $group -> getValue($uri_attr, true); + if ($uri) break; + } + + if (!$uri) { + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "triggerUpdateDynGroupsMembersCacheOnUserChanges($user): $group hasn't member URI attribute." + ); + continue; + } + $parsed_uri = parseLdapSearchURI($uri); + if (!$parsed_uri) { + LSlog :: get_logger('LSaddon_dyngroup') -> warning( + "triggerUpdateDynGroupsMembersCacheOnUserChanges($user): fail to parse member URI attribute of $group." + ); + continue; + } + + if (!$parsed_uri['filter']) { + LSlog :: get_logger('LSaddon_dyngroup') -> warning( + "triggerUpdateDynGroupsMembersCacheOnUserChanges($user): no LDAP filter found in member URI attribute of $group." + ); + continue; + } + + $filter_attrs = extractAttributesFromLdapFilterString($parsed_uri['filter']); + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "triggerUpdateDynGroupsMembersCacheOnUserChanges($user): attributes of LDAP filter of member URI attribute of $group = ".implode(', ', $filter_attrs) + ); + + if (!$filter_attrs) { + LSlog :: get_logger('LSaddon_dyngroup') -> warning( + "triggerUpdateDynGroupsMembersCacheOnUserChanges($user): fail to extract attribute from LDAP filter '".$parsed_uri['filter']."' from member URI attribute of $group." + ); + continue; + } + + $is_impacted = false; + foreach($filter_attrs as $attr) { + if (in_array(strtolower($attr), $changed_attrs)) { + $is_impacted = true; + break; + } + } + + if (!$is_impacted) { + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "triggerUpdateDynGroupsMembersCacheOnUserChanges($user): $group is NOT impacted by user's changes." + ); + continue; + } + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "triggerUpdateDynGroupsMembersCacheOnUserChanges($user): $group is impacted by user's changes ". + "(at least by attribute '$attr')." + ); + $impacted_dyngroups++; + if (updateDynGroupMembersCache($group, false)) + $updated_dyngroups++; + else + $error = true; + } + LSlog :: get_logger('LSaddon_dyngroup') -> debug( + "triggerUpdateDynGroupsMembersCacheOnUserChanges($user): $impacted_dyngroups impacted dyngroups found, ". + "$updated_dyngroups updated." + ); + if ($impacted_dyngroups && $impacted_dyngroups == $updated_dyngroups) { + LSsession :: addInfo( + getFData( + _('Members cache of %{count} dynamic group(s) have been updated because thes were potentially impacted by your changes.'), + $updated_dyngroups) + ); + } + else if ($error) { + LSsession :: addInfo( + getFData( + _('Members cache of %{count} dynamic group(s) have NOT been updated but thes were potentially impacted by your changes. A delay of some minutes could be necessary to handle your changes on this groups.'), + ($impacted_dyngroups-$updated_dyngroups) + ) + ); + } + return !$error; +} + + +if (php_sapi_name() != 'cli') + return true; + +function cli_updateDynGroupsMembersCache($command_args) { + return updateDynGroupsMembersCache(); +} diff --git a/src/includes/class/class.LScli.php b/src/includes/class/class.LScli.php index 50c42a9a..c19cc4ea 100644 --- a/src/includes/class/class.LScli.php +++ b/src/includes/class/class.LScli.php @@ -638,14 +638,25 @@ class LScli extends LSlog_staticLoggerClass { * * @retval array List of available options **/ - public static function autocomplete_int($prefix='') { + public static function autocomplete_int($prefix='', $quote_char='') { $opts = array(); for ($i=0; $i < 10; $i++) { - $opts[] = "$prefix$i"; + $opts[] = self :: quote_word("$prefix$i", $quote_char); } return $opts; } + /** + * Autocomplete boolean option + * + * @param[in] $prefix string Option prefix (optional, default=empty string) + * + * @retval array List of available options + **/ + public static function autocomplete_bool($prefix='', $quote_char='') { + return self :: autocomplete_opts(array('0', '1'), $prefix, false, $quote_char); + } + /** * Autocomplete LSobject type option * diff --git a/src/includes/class/class.LSformRule_ldapSearchURI.php b/src/includes/class/class.LSformRule_ldapSearchURI.php new file mode 100644 index 00000000..7093fca5 --- /dev/null +++ b/src/includes/class/class.LSformRule_ldapSearchURI.php @@ -0,0 +1,179 @@ + + */ +class LSformRule_ldapSearchURI extends LSformRule { + + // CLI parameters autocompleters + protected static $cli_params_autocompleters = array( + 'check_resolving_ldap_host' => array('LScli', 'autocomplete_bool'), + 'host_required' => array('LScli', 'autocomplete_bool'), + 'scope_required' => array('LScli', 'autocomplete_bool'), + 'attr_required' => array('LScli', 'autocomplete_bool'), + 'max_attrs_count' => array('LScli', 'autocomplete_int'), + 'filter_required' => array('LScli', 'autocomplete_bool'), + ); + + /** + * Check an LDAP search URI value + * + * @param mixed $value The value to check + * @param array $options Validation option + * @param object $formElement The LSformElement object + * + * @return boolean true if the value is valid, false otherwise + */ + public static function validate($value, $options=array(), &$formElement) { + self :: log_trace("validate($value): options = ".varDump($options)); + $uri_parts = explode('?', $value); + + self :: log_trace("validate($value): URI parts = ".varDump($uri_parts)); + + /* + * The LDAP URI + */ + if (!preg_match('/^(?Pldaps?)\:\/\/(?P[^\/\:]+)?(:(?P[0-9]+))?\/(?P.*)$/', $uri_parts[0], $m)) { + throw new LSformRuleException(getFData(_('Invalid LDAP server URI (%{uri})'), $uri_parts[0])); + } + self :: log_trace("validate($value): parsed LDAP URI:".varDump($m)); + + // Check LDAP host + if ($m['host']) { + if (filter_var($m['host'], FILTER_VALIDATE_IP)) { + self :: log_trace("validate($value): '".$m['host']."' is a valid IP address"); + } + elseif ( + filter_var($m['host'], FILTER_VALIDATE_DOMAIN) && + (!LSconfig :: get('params.check_resolving_ldap_host', true, 'bool', $options) || @gethostbyname($m['host']) != $m['host']) + ) { + self :: log_trace("validate($value): '".$m['host']."' is a valid domain name"); + } + else { + throw new LSformRuleException(getFData(_('Invalid LDAP host (%{host})'), $m['host'])); + } + + if ($m['port'] && $m['port'] < 1 || $m['port'] > 65535) { + throw new LSformRuleException(getFData(_('Invalid LDAP port (%{port})'), $m['port'])); + } + } + elseif ($m['port']) { + throw new LSformRuleException(getFData(_('A LDAP URI could not contain port without host (%{host}:%{port})'), $m)); + } + else { + self :: log_trace("validate($value): URI doesn't contain LDAP host"); + if (LSconfig :: get('params.host_required', False, 'bool', $options)) + throw new LSformRuleException(_('LDAP host not provided but required')); + } + + // Check base DN + if (isset($m['basedn']) && $m['basedn']) { + if (!isCompatibleDNs($m['basedn'], LSsession :: getRootDn())) + throw new LSformRuleException(getFData(_('Invalid base DN (%{basedn})'), $m['basedn'])); + self :: log_trace("validate($value): base DN '".$m['basedn']."' is valid"); + } + else { + self :: log_trace("validate($value): URI doesn't contain search base DN"); + if (LSconfig :: get('params.basedn_required', False, 'bool', $options)) + throw new LSformRuleException(_('Search base DN not provided but required')); + } + + /* + * Attributes (optionals) + */ + $max_attrs_count = LSconfig :: get('params.max_attrs_count', null, null, $options); + if (isset($uri_parts[1]) && $uri_parts[1]) { + $attrs = explode(',', $uri_parts[1]); + if (!is_empty($max_attrs_count) && count($attrs) > $max_attrs_count) + throw new LSformRuleException( + getFData( + _('Invalid searched attributes count (%{attrCount} > %{maxAttrsCount})'), + array('attrCount' => count($attrs), 'maxAttrsCount' => $max_attrs_count) + ) + ); + foreach($attrs as $attr) { + if (!preg_match('/^[a-z][a-z0-9\-]+$/i', $attr)) { + throw new LSformRuleException(getFData(_('Invalid attribute name (%{attr})'), $attr)); + } + } + } + else { + self :: log_trace("validate($value): no attribute name provided"); + if ( + LSconfig :: get('params.attr_required', False, 'bool', $options) || + (!is_empty($max_attrs_count) && $max_attrs_count > 0) + ) + throw new LSformRuleException(_('Attribute name not provided but required')); + } + + /* + * Scope + */ + if (isset($uri_parts[2]) && $uri_parts[2]) { + if (!in_array($uri_parts[2], array('base', 'one', 'sub'))) { + throw new LSformRuleException( + getFData( + _('Invalid search scope (%{scope}). Must be one of the following value : base, one or sub.'), + $uri_parts[2] + ) + ); + } + } + else { + self :: log_trace("validate($value): no search scope provided"); + if (LSconfig :: get('params.scope_required', true, 'bool', $options)) + throw new LSformRuleException(_('Search scope not provided but required')); + } + + /* + * LDAP Filter (optinal) + */ + if (isset($uri_parts[3]) && $uri_parts[3]) { + /* + Try to parse LDAP filter string to validate it + + Due to a limitation of Net_LDAP2_Filter::parse() that only + support filter enclosed by parentheses, if string does not + start with "(", enclose the filter with parentheses. + */ + $filter = @Net_LDAP2_Filter::parse( + ($uri_parts[3][0]=='('?$uri_parts[3]:"(".$uri_parts[3].")") + ); + if (!$filter instanceof Net_LDAP2_Filter) { + throw new LSformRuleException(getFData(_('Invalid LDAP filter ("%{filter}")'), $uri_parts[3])); + } + self :: log_trace("validate($value): LDAP search filter '".$uri_parts[3]."' is valid."); + } + else { + self :: log_trace("validate($value): no search filter provided"); + if (LSconfig :: get('params.filter_required', false, 'bool', $options)) + throw new LSformRuleException(_('Search filter not provided but required')); + } + + self :: log_trace("validate($value): LDAP search URI is valid."); + return True; + } + +} diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 6ae7f133..4ef29b40 100644 Binary files a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo and b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo differ diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po index ee2c336b..61c94ca7 100644 --- a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po +++ b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: LdapSaisie\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-07-12 18:59+0200\n" +"PO-Revision-Date: 2021-07-21 19:28+0200\n" "Last-Translator: Benjamin Renard \n" "Language-Team: LdapSaisie \n" @@ -19,6 +19,7 @@ msgstr "" "X-Poedit-SourceCharset: utf-8\n" "X-Poedit-Basepath: /var/www/ldapsaisie/trunk\n" "X-Generator: Poedit 2.4.2\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.samba.php:27 msgid "SAMBA Support: Unable to load smbHash class." @@ -160,6 +161,52 @@ msgstr "MAIL : Erreur durant l'envoie de votre mail" msgid "PhpLdapAdmin Support : The constant %{const} is not defined." msgstr "Support PhpLdapAdmin : La constante %{const} n'est pas définie." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:27 +msgid "Dynamic groups support: The constant %{const} is not defined." +msgstr "" +"Support des groupes dynamiques : La constante %{const} n'est pas définie." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:30 +msgid "" +"Dynamic groups support: You must at least define all constantes of dynamic " +"groups's by DN or by UID." +msgstr "" +"Support des groupes dynamiques : vous devez au moins définir toutes les " +"constantes des groupes dynamiques par DN ou par UID." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:34 +msgid "" +"Dynamic groups: The attribute %{dependency} is missing. Unable to forge the " +"attribute %{attr}." +msgstr "" +"Support des groupes dynamiques : L'attribut %{dependency} est manquant. " +"Impossible de générer l'attribut %{attr}." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:37 +msgid "Dynamic groups: Fail to parse %{attr} value : invalid number of parts." +msgstr "" +"Groupes dynamiques : Impossible d'analyser la valeur de l'attribut %{attr} : " +"nombre de parties invalide." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:338 +msgid "" +"Members cache of %{count} dynamic group(s) have been updated because thes " +"were potentially impacted by your changes." +msgstr "" +"Le cache des membres de %{count} groupe(s) dynamique(s) as été mis à jours " +"suite à vos modifications qui les impactaient potentiellement." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:345 +msgid "" +"Members cache of %{count} dynamic group(s) have NOT been updated but thes " +"were potentially impacted by your changes. A delay of some minutes could be " +"necessary to handle your changes on this groups." +msgstr "" +"Le cache des membres de %{count} groupe(s) dynamique(s) n'ont PAS put être " +"mis à jours suite à vos modifications qui les impactaient potentiellement. " +"Un délais de quelques minutes pourra être nécessaire pour que vos " +"modifications soient pris en compte sur ces groupes." + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.posix.php:27 msgid "POSIX Support : The constant %{const} is not defined." msgstr "Support POSIX : La constante %{const} n'est pas définie." @@ -456,19 +503,19 @@ msgstr "État" msgid "Sub-state" msgstr "Sous-état" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:52 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:60 msgid "Invalid syntax checking configuration: unknown rule %{rule}." msgstr "" "Configuration de validation syntaxique invalide : règle %{rule} inconnue." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:73 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:100 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:81 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:283 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_date.php:47 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_list.php:63 msgid "Invalid value" msgstr "Valeur invalide" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:111 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:294 msgid "LSformRule_%{type}: Parameter %{param} is not found." msgstr "LSformRule_%{type} : Le paramètre %{param} n'est pas défini." @@ -917,21 +964,21 @@ msgstr "" "LSattr_html_select_objet : l'objet sélectionné %{name} n'a pas de valeur " "dans son attribut %{attr}, vous ne pouvez pas le sélectionner." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:90 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:95 msgid "" "LSformRule_differentPassword : Other password attribute is not configured." msgstr "" "LSformRule_differentPassword : L'autre attribut mot de passe n'est pas " "configuré." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:93 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:98 msgid "" "LSformRule_differentPassword : Fail to load LSattr_ldap :: password class." msgstr "" "LSformRule_differentPassword : Impossible de charger la classe " "LSattr_ldap :: password." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:96 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:101 msgid "" "LSformRule_differentPassword : The other password attribute %{attr} does not " "exist." @@ -939,7 +986,7 @@ msgstr "" "LSformRule_differentPassword : L'autre attribut mot de passe %{attr} " "n'existe pas." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:99 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:104 msgid "" "LSformRule_differentPassword : The other password attribute could not be the " "same of the current one." @@ -947,7 +994,7 @@ msgstr "" "LSformRule_differentPassword : L'autre attribut mot de passe ne peut être le " "même que l'attribut courant." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:102 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:107 msgid "" "LSformRule_differentPassword : The other password attributes must use " "LSattr_ldap :: password. It's not the case of the attribure %{attr}." @@ -955,11 +1002,7 @@ msgstr "" "LSformRule_differentPassword : Les autres attributs mots de passe doivent " "utiliser LSattr_ldap :: password. Ce n'est pas le cas de l'attribut %{attr}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:261 -msgid "The value of field %{label} is invalid." -msgstr "La valeur du champ %{label} est incorrecte." - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:756 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:755 msgid "" "LSattribute : Attribute %{attr} : LDAP or HTML types unknow (LDAP = %{ldap} " "& HTML = %{html})." @@ -967,7 +1010,7 @@ msgstr "" "LSattribute : Attribut %{attr} : Les types LDAP ou HTML sont inconnus (LDAP " "= %{ldap} & HTML = %{html})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:759 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:758 msgid "" "LSattribute : The function %{func} to display the attribute %{attr} is " "unknow." @@ -975,14 +1018,14 @@ msgstr "" "LSattribute : La fonction %{func} pour afficher l'attribut %{attr} est " "inconnue." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:762 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:761 msgid "" "LSattribute : The rule %{rule} to validate the attribute %{attr} is unknow." msgstr "" "LSattribute : La règle %{rule} de validation de l'attribut %{attr} n'existe " "pas." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:765 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:764 msgid "" "LSattribute : Configuration data to verify the attribute %{attr} are " "incorrect." @@ -990,22 +1033,22 @@ msgstr "" "LSattribute : Les données de configuration pour vérifier l'attribut %{attr} " "sont incorrecte." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:768 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:767 msgid "" "LSattribute : The function %{func} to save the attribute %{attr} is unknow." msgstr "" "LSattribute : La fonction %{func} pour sauvegarder l'attribut %{attr} est " "inconnue." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:771 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:770 msgid "LSattribute : The value of the attribute %{attr} can't be generated." msgstr "LSattribute : La valeur de l'attribut %{attr} ne peut être générée." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:774 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:773 msgid "LSattribute : Generation of the attribute %{attr} failed." msgstr "LSattribute : La génération de l'attribut %{attr} a échouée." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:777 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:776 msgid "" "LSattribute : Generation of the attribute %{attr} did not return a correct " "value." @@ -1013,14 +1056,14 @@ msgstr "" "LSattribute : La génération de l'attribut %{attr} n'a pas retournée de " "valeur correcte." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:780 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:779 msgid "" "LSattribute : The attr_%{type} of the attribute %{name} is not yet defined." msgstr "" "LSattribute : L'objet attr_%{type} de l'attribut %{name} n'est pas encore " "défini." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_callable.php:66 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_callable.php:71 msgid "LSformRule_callable : The given callable option is not callable" msgstr "LSformRule_callable : Le paramètre fournis n'est pas exécutable" @@ -1260,8 +1303,8 @@ msgstr "" "Context:\n" "%{context}" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_mimetype.php:47 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_mimetype.php:51 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_mimetype.php:53 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_mimetype.php:57 msgid "Invalid file type (%{type})." msgstr "Type de fichier invalide (%{type})." @@ -1523,15 +1566,15 @@ msgstr "" "LSrelation : Des paramètres sont manquant dans l'appel des méthodes de " "manipulation des relations standards." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:51 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:60 msgid "Password is too long (maximum: %{maxLength})." msgstr "Le mot de passe est trop long (maximum : %{maxLength})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:56 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:65 msgid "Password is too short (minimum: %{minLength})." msgstr "Le mot de passe est trop court (minimum : %{minLength})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:81 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:90 msgid "" "Password match with only %{valid} rule(s) (at least %{minValidRegex} are " "required)." @@ -1539,11 +1582,11 @@ msgstr "" "Le mot de passe ne respecte que %{valid} règle(s) (au moins %{minValidRegex} " "sont requises)." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:92 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:101 msgid "This password is prohibited." msgstr "Ce mot de passe est interdit." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:107 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:116 msgid "" "LSformRule_password : Invalid regex configured : %{regex}. You must use PCRE " "(begining by '/' caracter)." @@ -1583,6 +1626,67 @@ msgstr "LSldap : Erreur pendant la modification du DN de l'objet." msgid "LSldap: LDAP server base DN not configured." msgstr "LSldap : Le base DN du serveur LDAP n'est pas configuré." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:59 +msgid "Invalid LDAP server URI (%{uri})" +msgstr "URI de serveur LDAP invalide (%{uri})" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:75 +msgid "Invalid LDAP host (%{host})" +msgstr "Hôte LDAP invalide (%{type})." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:79 +msgid "Invalid LDAP port (%{port})" +msgstr "Port LDAP invalide (%{port})" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:83 +msgid "A LDAP URI could not contain port without host (%{host}:%{port})" +msgstr "Une URI LDAP ne peut contenir de port sans hôte (%{host}:%{port})" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:88 +msgid "LDAP host not provided but required" +msgstr "Hôte LDAP non-fourni mais obligatoire" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:94 +msgid "Invalid base DN (%{basedn})" +msgstr "Base DN invalide (%{basedn})" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:100 +msgid "Search base DN not provided but required" +msgstr "Base DN de recherche non-fournie mais obligatoire" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:112 +msgid "Invalid searched attributes count (%{attrCount} > %{maxAttrsCount})" +msgstr "" +"Nombre d'attributs recherchés invalide (%{attrCount} > %{maxAttrsCount})" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:118 +msgid "Invalid attribute name (%{attr})" +msgstr "Nom d'attribut invalide (%{attr})" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:128 +msgid "Attribute name not provided but required" +msgstr "Nom d'attribut non-fourni mais obligatoire" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:138 +msgid "" +"Invalid search scope (%{scope}). Must be one of the following value : base, " +"one or sub." +msgstr "" +"Portée de recherche invalide (%{scope}). Doit être une des valeurs " +"suivantes : base, one ou sub." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:147 +msgid "Search scope not provided but required" +msgstr "Portéé de recherche non-fournie mais obligatoire" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:165 +msgid "Invalid LDAP filter (\"%{filter}\")" +msgstr "Filtre LDAP invalide (\"%{filter}\")" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:172 +msgid "Search filter not provided but required" +msgstr "Filtre de recherche non-fourni mais obligatoire" + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSrelation.php:331 msgid "listing related objects" msgstr "énumaration des objets liés" @@ -1803,11 +1907,11 @@ msgstr "Ajouter ce site internet à mes favoris." msgid "Generate the value" msgstr "Générer une valeur" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_filesize.php:49 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_filesize.php:55 msgid "File is too big." msgstr "Fichier trop gros." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_filesize.php:53 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_filesize.php:59 msgid "File is too light." msgstr "Fichier trop petit." @@ -1826,6 +1930,30 @@ msgstr "" "des constantes suivantes : LSAUTH_CAS_SERVER_SSL_CACERT ou " "LSAUTH_CAS_SERVER_NO_SSL_VALIDATION" +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_numberOfValues.php:52 +msgid "max (or min)" +msgstr "max (ou min)" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_numberOfValues.php:65 +msgid "At least one value is required." +msgid_plural "At least %{min} values are required." +msgstr[0] "Au moins une valeur est obligatoire." +msgstr[1] "Au moins %{min} valeurs sont obligatoires." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_numberOfValues.php:77 +msgid "Maximum one value is allowed." +msgid_plural "Maximum %{max} values are allowed." +msgstr[0] "Au maximum une valeur est autorisée." +msgstr[1] "Au maximum %{max} valeurs sont autorisées." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_numberOfValues.php:93 +msgid "" +"LSformRule_numberOfValues: Parameter max could not be lower than parameter " +"min." +msgstr "" +"LSformRule_numberOfValues : Le paramètre max ne peut être inférieur au " +"paramètre min." + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:126 msgid "Add a field to add another values." msgstr "Ajouter une autre valeur à ce champ." @@ -1919,7 +2047,7 @@ msgstr "" "Cliquer pour activer la création/modification de la maildir en même temps " "que la création/modification du l'utilisateur." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_regex.php:62 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_regex.php:67 msgid "LSformRule_regex : Regex has not been configured to validate data." msgstr "" "LSformRule_regex : L'expression régulière de vérification des données n'est " @@ -2001,11 +2129,11 @@ msgstr "Cette requête ne peut être traitée." msgid "This request could not be processed correctly." msgstr "Cette requête ne peut être traitée correctement." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_rangelength.php:50 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_rangelength.php:55 msgid "Value is too short (minimum: %{limit})." msgstr "La valeur est trop courte (minimum : %{limit})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_rangelength.php:54 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_rangelength.php:59 msgid "Value is too long (maximum: %{limit})." msgstr "La valeur est trop longue (maximum: %{limit})." @@ -2360,7 +2488,7 @@ msgstr "" "LSattr_html_select_list : Impossible de récupérer les valeurs possibles de " "l'attribut %{attr} en utilisant la fonction configurée %{callable}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_inarray.php:57 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_inarray.php:62 msgid "" "LSformRule_inarray : Possible values has not been configured to validate " "data." @@ -2380,7 +2508,7 @@ msgstr "Valeur invalide pour le composant %{component} : \"%{value}\"." msgid "Godfather" msgstr "Parrain" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_date.php:66 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_date.php:72 msgid "LSformRule_date : No date format specify." msgstr "LSformRule_date : Aucun format de date spécifié." @@ -2413,11 +2541,11 @@ msgstr "" "Note: Les paramètres/arguments de la commande doivent être placés après " "celle-ci." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:804 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:835 msgid "LScli : The CLI command '%{command}' already exists." msgstr "LScli : La commande CLI '%{command}' existe déjà." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:807 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:838 msgid "LScli : The CLI command '%{command}' handler is not callable." msgstr "" "LScli : La fonction de prise en charge de la commande CLI '%{command}' n'est " @@ -2967,6 +3095,12 @@ msgstr "non" msgid "yes" msgstr "oui" +#~ msgid "Invalid LDAP URI format" +#~ msgstr "Format d'URI LDAP invalide" + +#~ msgid "The value of field %{label} is invalid." +#~ msgstr "La valeur du champ %{label} est incorrecte." + #~ msgid "LSformRule: Unknown rule type %{type}." #~ msgstr "LSformRule : Type de règle %{type} inconnu." diff --git a/src/lang/fr_FR.UTF8/lang.php b/src/lang/fr_FR.UTF8/lang.php index e057dbdc..ea9f9384 100644 --- a/src/lang/fr_FR.UTF8/lang.php +++ b/src/lang/fr_FR.UTF8/lang.php @@ -2,12 +2,27 @@ $GLOBALS['LSlang'] = array ( +# LSobjects.LSdyngroup.attrs.lsDynGroupMemberDnURI.help_info +"

LDAP search URI or group members. A LDAP search URI is composed of the following parts separated by semicolons :

    +
  • The LDAP URI in format ldap://[host]/[base DN]. For instance, to make a request on the same LDAP server, use ldap:///o=ls
  • +
  • The retreived attributes (separated by coma, optional)
  • +
  • The search scope (base, one or sub)
  • +
  • The LDAP filter (optional, default : (objectClass=*))
  • +

Example : ldap:///ou=people,o=ls??one?(&(objectClass=lspeople)(mail=*@ls.com))

" => + "

L'URI LDAP de recherche des membres du groupe. Une URI de recherche LDAP est composée des parties suivantes séparées par des points virgules :

    +
  • L'URI LDAP au format ldap://[host]/[base DN]. Par exemple, pour effectuer une recherche sur le même serveur LDAP, utiliser ldap:///o=ls
  • +
  • Les attributs récupérés (séparés par une virgule, facultatif)
  • +
  • La profondeur de la recherche (base, one ou sub)
  • +
  • Le filtre LDAP (facultatif, par défaut : (objectClass=*))
  • +

Exemple : ldap:///ou=people,o=ls??one?(&(objectClass=lsPeople)(mail=*@ls.com))

", + # LSobjects.pwdPolicy.attrs.pwdCheckModule.help_info "Used with caution ! The name of the OpenLDAP module to used to check the password quality." => "À utiliser avec vigilance ! Nom du module pour OpenLDAP à utiliser pour vérifier la qualité du mot de passe.", # LSobjects.LSpeople.attrs.lsGodfatherDn.label # LSobjects.LSgroup.attrs.lsGodfatherDn.label +# LSobjects.LSdyngroup.attrs.lsGodfatherDn.label # LSobjects.LScompany.attrs.lsGodfatherDn.label "Accountable(s)" => "Responsable(s)", @@ -44,10 +59,22 @@ $GLOBALS['LSlang'] = array ( "Always (disable account)" => "Toujours (compte désactivé)", +# LSobjects.LSdyngroup.LSsearch.customActions.updateDynGroupsMembersCache.question_format +"Are you sure you want to update members cache of all dynamic groups (could be quite long) ?" => + "Êtes-vous sûre de vouloir mettre à jour le cache des membres de tous les groupes dynamiques (peut être assez long) ?", + +# LSobjects.LSdyngroup.customActions.updateDynGroupMembersCache.question_format +"Are you sure you want to update members cache of this dynamic group ?" => + "Êtes-vous sûre de vouloir mettre à jour le cache de membre de ce groupe dynamique ?", + # LSobjects.LSpeople.attrs.sambaPwdMustChange.html_options.special_values.0 "At first login" => "À la première connexion", +# LSobjects.LSpeople.LSrelation.dyngroups.label +"Belongs to dynamic groups ..." => + "Appartient aux groupes dynamiques ...", + # LSobjects.LSpeople.LSrelation.groups.label # LSobjects.LSsysaccount.LSrelation.groups.label "Belongs to groups ..." => @@ -55,7 +82,7 @@ $GLOBALS['LSlang'] = array ( # LSobjects.pwdPolicy.LSform.layout.bruteforce.label "Brute-force attacks protection" => - "Proctetion anti brute-force", + "Protection anti brute-force", # LSobjects.pwdPolicy.attrs.pwdCheckModule.label "Check OpenLDAP module to used" => @@ -123,6 +150,7 @@ $GLOBALS['LSlang'] = array ( # LSobjects.LSpeople.attrs.description.label # LSobjects.LSgroup.attrs.description.label +# LSobjects.LSdyngroup.attrs.description.label # LSobjects.LSsysaccount.attrs.description.label # LSobjects.LScompany.attrs.description.label "Description" => @@ -136,15 +164,35 @@ $GLOBALS['LSlang'] = array ( "Do you confirm change of this user's password?" => "Confirmez-vous le changement du mot de passe de cet utilisateur ?", +# LSobjects.LSpeople.LSrelation.dyngroups.emptyText +"Doesn't belong to any dynamic group." => + "N'appartient à aucun groupe dynamique.", + # LSobjects.LSpeople.LSrelation.groups.emptyText # LSobjects.LSsysaccount.LSrelation.groups.emptyText "Doesn't belong to any group." => "N'appartient à aucun groupe.", +# LSobjects.LSpeople.LSrelation.dyngroup_godfather.emptyText +"Doesn't sponsor any dynamic group." => + "Ne parraine aucun groupe dynamique.", + +# LSobjects.LSpeople.LSrelation.group_godfather.emptyText +"Doesn't sponsor any group." => + "Ne parraine aucun groupe.", + # LSobjects.LSpeople.LSrelation.godfather.emptyText "Doesn't sponsor any user." => "Ne parraine aucun utilisateur.", +# LSobjects.LSdyngroup.label +"Dynamic groups" => + "Groupes dynamiques", + +# LSobjects.LSdyngroup.LSsearch.customActions.updateDynGroupsMembersCache.onSuccessMsgFormat +"Dynamic groups members cache updated." => + "Le cache des membres des groupes dynamiques a été mis à jour.", + # LSobjects.LSpeople.attrs.mail.label "E-mail address" => "Adresse e-mail", @@ -190,6 +238,14 @@ $GLOBALS['LSlang'] = array ( "Godfather of ..." => "Parrain de ...", +# LSobjects.LSpeople.LSrelation.dyngroup_godfather.label +"Godfather of dynamic groups ..." => + "Parrain des groupes dynamiques ...", + +# LSobjects.LSpeople.LSrelation.group_godfather.label +"Godfather of groups ..." => + "Parrain des groupes ...", + # LSobjects.pwdPolicy.attrs.pwdGraceAuthNLimit.label "Grace delay after password expiration" => "Délai de grâce après l'expiration du mot de passe", @@ -251,6 +307,10 @@ $GLOBALS['LSlang'] = array ( "Indicates the time the account was locked time. Delete this date and set pwdReset attribute to unlock the account." => "Indique la durée de blocage du compte. Supprimez cette date et définissez l'attribut pwdReset pour débloquer le compte.", +# LSobjects.LSdyngroup.attrs.lsDynGroupMemberDnURI.check_data.ldapSearchURI.msg +"Invalid LDAP search URI." => + "URI de recherche LDAP invalide.", + # LSobjects.LSpeople.attrs.gidNumber.html_options.possible_values.1.label "LDAP Groups" => "Groupes LDAP", @@ -326,10 +386,35 @@ $GLOBALS['LSlang'] = array ( "Maximum validity duration of a password" => "Durée maximum de validité du mot de passe", +# LSobjects.LSdyngroup.attrs.lsDynGroupMemberDnURI.label +"Member search URI" => + "URI de recherche des membres", + +# LSobjects.LSdyngroup.attrs.lsDynGroupMemberUidURI.label +"Member search URI (UID)" => + "URI de recherche des membres (UID)", + # LSobjects.LSgroup.attrs.uniqueMember.label +# LSobjects.LSdyngroup.attrs.lsDynGroupMemberDn.label "Members" => "Membres", +# LSobjects.LSdyngroup.attrs.uniqueMember.label +"Members (cache)" => + "Membres (cache)", + +# LSobjects.LSdyngroup.attrs.lsDynGroupMemberUid.label +"Members UID" => + "UID des membres", + +# LSobjects.LSdyngroup.attrs.memberUid.label +"Members UID (cache)" => + "UID des membres (cache)", + +# LSobjects.LSdyngroup.customActions.updateDynGroupMembersCache.onSuccessMsgFormat +"Members cache updated." => + "Le cache des membres a été mis à jour.", + # LSobjects.pwdPolicy.attrs.pwdMinLength.label "Minimum length a password" => "Longueur minimum d'un mot de passe", @@ -364,12 +449,14 @@ $GLOBALS['LSlang'] = array ( "Doit être un entier positif.", # LSobjects.LSgroup.attrs.cn.label +# LSobjects.LSdyngroup.attrs.cn.label # LSobjects.pwdPolicy.attrs.cn.label # LSobjects.LScompany.attrs.ou.label "Name" => "Nom", # LSobjects.LSgroup.attrs.cn.check_data.alphanumeric.msg +# LSobjects.LSdyngroup.attrs.cn.check_data.alphanumeric.msg "Name must contain alphanumeric values only." => "Le nom doit contenir uniquement des valeurs alpha-numériques.", @@ -449,6 +536,7 @@ $GLOBALS['LSlang'] = array ( "Identifiant numérique", # LSobjects.LSgroup.attrs.lsGodfatherDn.validation.0.msg +# LSobjects.LSdyngroup.attrs.lsGodfatherDn.validation.0.msg # LSobjects.LScompany.attrs.lsGodfatherDn.validation.0.msg "One or several of these users don't exist." => "Un ou plusieurs utilisateurs n'existent pas.", @@ -594,6 +682,7 @@ $GLOBALS['LSlang'] = array ( # LSobjects.LSpeople.customActions.showTechInfo.label # LSobjects.LSgroup.customActions.showTechInfo.label +# LSobjects.LSdyngroup.customActions.showTechInfo.label # LSobjects.LSsysaccount.customActions.showTechInfo.label # LSobjects.pwdPolicy.customActions.showTechInfo.label # LSobjects.LScompany.customActions.showTechInfo.label @@ -677,6 +766,11 @@ $GLOBALS['LSlang'] = array ( "Until an administrator manually unlock it (default)" => "Tant qu'un administrateur ne le débloque pas (par défaut)", +# LSobjects.LSdyngroup.customActions.updateDynGroupMembersCache.label +# LSobjects.LSdyngroup.LSsearch.customActions.updateDynGroupsMembersCache.label +"Update members cache" => + "Mettre à jour le cache des membres", + # LSobjects.pwdPolicy.attrs.pwdAllowUserChange.label "User can change its password" => "L'utilisateur peut changer son mot de passe", diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index 7d0c1eba..d1fcf105 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -117,6 +117,39 @@ msgstr "" msgid "PhpLdapAdmin Support : The constant %{const} is not defined." msgstr "" +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:27 +msgid "Dynamic groups support: The constant %{const} is not defined." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:30 +msgid "" +"Dynamic groups support: You must at least define all constantes of dynamic " +"groups's by DN or by UID." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:34 +msgid "" +"Dynamic groups: The attribute %{dependency} is missing. Unable to forge the " +"attribute %{attr}." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:37 +msgid "Dynamic groups: Fail to parse %{attr} value : invalid number of parts." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:338 +msgid "" +"Members cache of %{count} dynamic group(s) have been updated because thes " +"were potentially impacted by your changes." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.dyngroup.php:345 +msgid "" +"Members cache of %{count} dynamic group(s) have NOT been updated but thes " +"were potentially impacted by your changes. A delay of some minutes could be " +"necessary to handle your changes on this groups." +msgstr "" + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.posix.php:27 msgid "POSIX Support : The constant %{const} is not defined." msgstr "" @@ -379,18 +412,18 @@ msgstr "" msgid "Sub-state" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:52 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:60 msgid "Invalid syntax checking configuration: unknown rule %{rule}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:73 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:100 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:81 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:283 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_date.php:47 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_list.php:63 msgid "Invalid value" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:111 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule.php:294 msgid "LSformRule_%{type}: Parameter %{param} is not found." msgstr "" @@ -793,86 +826,82 @@ msgid "" "value, you can't select it." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:90 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:95 msgid "" "LSformRule_differentPassword : Other password attribute is not configured." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:93 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:98 msgid "" "LSformRule_differentPassword : Fail to load LSattr_ldap :: password class." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:96 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:101 msgid "" "LSformRule_differentPassword : The other password attribute %{attr} does not " "exist." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:99 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:104 msgid "" "LSformRule_differentPassword : The other password attribute could not be the " "same of the current one." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:102 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:107 msgid "" "LSformRule_differentPassword : The other password attributes must use " "LSattr_ldap :: password. It's not the case of the attribure %{attr}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:261 -msgid "The value of field %{label} is invalid." -msgstr "" - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:756 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:755 msgid "" "LSattribute : Attribute %{attr} : LDAP or HTML types unknow (LDAP = %{ldap} " "& HTML = %{html})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:759 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:758 msgid "" "LSattribute : The function %{func} to display the attribute %{attr} is " "unknow." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:762 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:761 msgid "" "LSattribute : The rule %{rule} to validate the attribute %{attr} is unknow." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:765 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:764 msgid "" "LSattribute : Configuration data to verify the attribute %{attr} are " "incorrect." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:768 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:767 msgid "" "LSattribute : The function %{func} to save the attribute %{attr} is unknow." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:771 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:770 msgid "LSattribute : The value of the attribute %{attr} can't be generated." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:774 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:773 msgid "LSattribute : Generation of the attribute %{attr} failed." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:777 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:776 msgid "" "LSattribute : Generation of the attribute %{attr} did not return a correct " "value." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:780 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattribute.php:779 msgid "" "LSattribute : The attr_%{type} of the attribute %{name} is not yet defined." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_callable.php:66 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_callable.php:71 msgid "LSformRule_callable : The given callable option is not callable" msgstr "" @@ -1072,8 +1101,8 @@ msgid "" "%{context}" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_mimetype.php:47 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_mimetype.php:51 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_mimetype.php:53 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_mimetype.php:57 msgid "Invalid file type (%{type})." msgstr "" @@ -1275,25 +1304,25 @@ msgid "" "standard relations (Method : %{meth})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:51 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:60 msgid "Password is too long (maximum: %{maxLength})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:56 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:65 msgid "Password is too short (minimum: %{minLength})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:81 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:90 msgid "" "Password match with only %{valid} rule(s) (at least %{minValidRegex} are " "required)." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:92 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:101 msgid "This password is prohibited." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:107 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_password.php:116 msgid "" "LSformRule_password : Invalid regex configured : %{regex}. You must use PCRE " "(begining by '/' caracter)." @@ -1331,6 +1360,64 @@ msgstr "" msgid "LSldap: LDAP server base DN not configured." msgstr "" +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:59 +msgid "Invalid LDAP server URI (%{uri})" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:75 +msgid "Invalid LDAP host (%{host})" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:79 +msgid "Invalid LDAP port (%{port})" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:83 +msgid "A LDAP URI could not contain port without host (%{host}:%{port})" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:88 +msgid "LDAP host not provided but required" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:94 +msgid "Invalid base DN (%{basedn})" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:100 +msgid "Search base DN not provided but required" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:112 +msgid "Invalid searched attributes count (%{attrCount} > %{maxAttrsCount})" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:118 +msgid "Invalid attribute name (%{attr})" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:128 +msgid "Attribute name not provided but required" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:138 +msgid "" +"Invalid search scope (%{scope}). Must be one of the following value : base, " +"one or sub." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:147 +msgid "Search scope not provided but required" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:165 +msgid "Invalid LDAP filter (\"%{filter}\")" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:172 +msgid "Search filter not provided but required" +msgstr "" + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSrelation.php:331 msgid "listing related objects" msgstr "" @@ -1519,11 +1606,11 @@ msgstr "" msgid "Generate the value" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_filesize.php:49 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_filesize.php:55 msgid "File is too big." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_filesize.php:53 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_filesize.php:59 msgid "File is too light." msgstr "" @@ -1538,6 +1625,28 @@ msgid "" "LSAUTH_CAS_SERVER_SSL_CACERT or LSAUTH_CAS_SERVER_NO_SSL_VALIDATION" msgstr "" +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_numberOfValues.php:52 +msgid "max (or min)" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_numberOfValues.php:65 +msgid "At least one value is required." +msgid_plural "At least %{min} values are required." +msgstr[0] "" +msgstr[1] "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_numberOfValues.php:77 +msgid "Maximum one value is allowed." +msgid_plural "Maximum %{max} values are allowed." +msgstr[0] "" +msgstr[1] "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_numberOfValues.php:93 +msgid "" +"LSformRule_numberOfValues: Parameter max could not be lower than parameter " +"min." +msgstr "" + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:126 msgid "Add a field to add another values." msgstr "" @@ -1620,7 +1729,7 @@ msgid "" "Click to enable maildir creation/modification on user creation/modification." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_regex.php:62 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_regex.php:67 msgid "LSformRule_regex : Regex has not been configured to validate data." msgstr "" @@ -1700,11 +1809,11 @@ msgstr "" msgid "This request could not be processed correctly." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_rangelength.php:50 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_rangelength.php:55 msgid "Value is too short (minimum: %{limit})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_rangelength.php:54 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_rangelength.php:59 msgid "Value is too long (maximum: %{limit})." msgstr "" @@ -2014,7 +2123,7 @@ msgid "" "%{attr} using configured function %{callable}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_inarray.php:57 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_inarray.php:62 msgid "" "LSformRule_inarray : Possible values has not been configured to validate " "data." @@ -2032,7 +2141,7 @@ msgstr "" msgid "Godfather" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_date.php:66 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_date.php:72 msgid "LSformRule_date : No date format specify." msgstr "" @@ -2062,11 +2171,11 @@ msgid "" "Note: Command's parameter/argument must be place after the command." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:804 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:835 msgid "LScli : The CLI command '%{command}' already exists." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:807 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:838 msgid "LScli : The CLI command '%{command}' handler is not callable." msgstr ""