diff options
-rw-r--r-- | lib/DJabberd/Plugin/VCard/LDAP.pm | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/DJabberd/Plugin/VCard/LDAP.pm b/lib/DJabberd/Plugin/VCard/LDAP.pm index 1ecebb7..f3578b4 100644 --- a/lib/DJabberd/Plugin/VCard/LDAP.pm +++ b/lib/DJabberd/Plugin/VCard/LDAP.pm | |||
@@ -33,6 +33,7 @@ Provides an LDAP VCard backend for DJabberd | |||
33 | LDAPBindDN cn=reader | 33 | LDAPBindDN cn=reader |
34 | LDAPBindPW pass | 34 | LDAPBindPW pass |
35 | LDAPBaseDN ou=people | 35 | LDAPBaseDN ou=people |
36 | LDAPVersion 2 | ||
36 | LDAPFilter (uid=%u) | 37 | LDAPFilter (uid=%u) |
37 | </Plugin> | 38 | </Plugin> |
38 | </VHost> | 39 | </VHost> |
@@ -44,6 +45,9 @@ LDAPFilter is an LDAP filter substutions | |||
44 | - %u will be substituted with the incoming userid (w/o the domain) (ie. myuser) | 45 | - %u will be substituted with the incoming userid (w/o the domain) (ie. myuser) |
45 | - %d will be substituted with the incoming userid's domain (ie. mydoman.com) | 46 | - %d will be substituted with the incoming userid's domain (ie. mydoman.com) |
46 | 47 | ||
48 | LDAPVersion is either 2 or 3, if nothing is specified then default to Net::LDAP default. | ||
49 | This value is passed straight to Net::LDAP | ||
50 | |||
47 | =cut | 51 | =cut |
48 | 52 | ||
49 | sub set_config_ldapuri { | 53 | sub set_config_ldapuri { |
@@ -53,6 +57,11 @@ sub set_config_ldapuri { | |||
53 | } | 57 | } |
54 | } | 58 | } |
55 | 59 | ||
60 | sub set_config_ldapversion { | ||
61 | my ($self, $ldapversion) = @_; | ||
62 | $self->{'ldap_version'} = $ldapversion; | ||
63 | } | ||
64 | |||
56 | sub set_config_ldapbinddn { | 65 | sub set_config_ldapbinddn { |
57 | my ($self, $ldapbinddn) = @_; | 66 | my ($self, $ldapbinddn) = @_; |
58 | $self->{'ldap_binddn'} = $ldapbinddn; | 67 | $self->{'ldap_binddn'} = $ldapbinddn; |
@@ -79,8 +88,11 @@ sub finalize { | |||
79 | $logger->error_die("No LDAP BaseDN Specified") unless $self->{ldap_basedn}; | 88 | $logger->error_die("No LDAP BaseDN Specified") unless $self->{ldap_basedn}; |
80 | $logger->error_die("Must specify filter with userid as %u") unless $self->{ldap_filter}; | 89 | $logger->error_die("Must specify filter with userid as %u") unless $self->{ldap_filter}; |
81 | 90 | ||
91 | my %options; | ||
92 | $options{version} = $self->{ldap_version} if $self->{ldap_version}; | ||
93 | |||
82 | # Initialize ldap connection | 94 | # Initialize ldap connection |
83 | $self->{'ldap_conn'} = Net::LDAP->new($self->{ldap_uri}) | 95 | $self->{'ldap_conn'} = Net::LDAP->new($self->{ldap_uri}, %options) |
84 | or $logger->error_die("Could not connect to LDAP Server ".$self->{ldap_uri}); | 96 | or $logger->error_die("Could not connect to LDAP Server ".$self->{ldap_uri}); |
85 | 97 | ||
86 | if (defined $self->{'ldap_binddn'}) { | 98 | if (defined $self->{'ldap_binddn'}) { |