+Attribute to change LDAP alias dereference (Closes: #787)

This commit is contained in:
Xavier Guimard 2015-12-28 11:58:53 +00:00
parent 9aedda17d4
commit ae675692c4
8 changed files with 23 additions and 4 deletions

View File

@ -95,6 +95,7 @@ sub defaultValues {
'ldapPort' => 389,
'ldapPpolicyControl' => 0,
'ldapPwdEnc' => 'utf-8',
'ldapSearchDeref' => 'find',
'ldapServer' => 'ldap://localhost',
'ldapSetPassword' => 0,
'ldapTimeout' => 120,

View File

@ -599,6 +599,10 @@ qr/^(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-
'ldapRaw' => {
'type' => 'text'
},
'ldapSearchDeref' => {
'default' => 'find',
'type' => 'select'
},
'ldapServer' => {
'default' => 'ldap://localhost',
'test' => sub { "DUMMY" },

View File

@ -1650,6 +1650,17 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
default => 0,
type => 'bool',
},
ldapSearchDeref => {
type => 'select',
select => [
{ k => 'never', v => 'never' },
{ k => 'search', v => 'search' },
{ k => 'find', v => 'find' },
{ k => 'always', v => 'always' }
],
default => 'find',
documentation => '"deref" para of Net::LDAP::search()',
},
mailLDAPFilter => { type => 'text', },
LDAPFilter => { type => 'text', },
AuthLDAPFilter => { type => 'text', },

View File

@ -238,8 +238,8 @@ sub tree {
help => 'authldap.html#filters',
form => 'simpleInputContainer',
nodes => [
'LDAPFilter', 'AuthLDAPFilter',
'mailLDAPFilter'
'LDAPFilter', 'AuthLDAPFilter',
'mailLDAPFilter', 'ldapSearchDeref',
]
},
{
@ -269,7 +269,7 @@ sub tree {
'ldapPasswordResetAttribute',
'ldapPasswordResetAttributeValue'
]
}
},
]
},
{

View File

@ -249,6 +249,7 @@
"ldapPort": "Server port",
"ldapPwdEnc": "LDAP password encoding",
"ldapRaw": "Binary attributes",
"ldapSearchDeref": "Alias dereference",
"ldapServer": "Server host",
"ldapSetPassword": "Password modify extended operation",
"ldapTimeout": "Timeout",

View File

@ -249,6 +249,7 @@
"ldapPort": "Port",
"ldapPwdEnc": "Encodage des mots de passe LDAP",
"ldapRaw": "Attributs binaires",
"ldapSearchDeref": "Déréférence des alias",
"ldapServer": "Hôte",
"ldapSetPassword": "Opération étendue password modify",
"ldapTimeout": "Temps maximum d'inactivité",

File diff suppressed because one or more lines are too long

View File

@ -76,6 +76,7 @@ sub search {
base => $self->{ldapBase},
scope => 'sub',
filter => $self->{LDAPFilter},
deref => $self->{ldapSearchDeref} || 'find',
attrs => \@attrs,
);
$self->lmLog(