[CalendarServer-dev] [CalendarServer] #260: OpenLDAP directory service
CalendarServer
trac at macosforge.org
Thu Aug 6 09:56:51 PDT 2009
#260: OpenLDAP directory service
---------------------------------------+------------------------------------
Reporter: jusiskin@… | Owner: sagen@…
Type: Feature | Status: new
Priority: 2: Expected | Milestone: CalendarServer-2.x
Component: Calendar Server | Severity: Other
Keywords: |
---------------------------------------+------------------------------------
Comment(by rlalkaka@…):
Replying to [comment:29 rahul@…]:
> I have modified the patch given to me by Oxullo to include LDAP TLS
support as well as filters. Also authentication is done using PAM rather
than LDAP. I have only commented out the LDAP authentication code just in
case you intend to revert to using LDAP server for authentication. The
configuration options are as below now (I have included a sample filter
option as well). Also the tlsCACertDir option does not seem to be working
(no idea as to why this option is not working).
I'm having some trouble getting this working. Leaving the credentials
field blank (which the comments in
twistedcaldav/directory/ldapdirectory.py imply will anonymously bind)
prompts ./run to spew errors about the blank credentials DN (log and trace
below). Is there an easy way to change the patched LDAP to bind to
uid=<username>,ou=people,dc=example,dc=com and then proceed with PAM auth
if the record exists, instead of searching as in the current
implementation? Apologies if this is a trivial change -- I can't make head
or tail of LDAP right now.
{{{
[startup] Configuring directory service of type:
twistedcaldav.directory.ldapdirectory.LdapDirectoryService
[LdapDirectoryService] Calling ldap.initialize('ldap://ldap.server-
removed.com:389/').
[-] Traceback (most recent call last):
[-] File "../Twisted/bin/twistd", line 21, in ?
[-] run()
[-] File "/tmp/src/Twisted/twisted/scripts/twistd.py", line 27, in run
[-] app.run(runApp, ServerOptions)
[-] File "/tmp/src/Twisted/twisted/application/app.py", line 379, in run
[-] runApp(config)
[-] File "/tmp/src/Twisted/twisted/scripts/twistd.py", line 23, in
runApp
[-] _SomeApplicationRunner(config).run()
[-] File "/tmp/src/Twisted/twisted/application/app.py", line 157, in run
[-] self.application = self.createOrGetApplication()
[-] File "/tmp/src/Twisted/twisted/application/app.py", line 202, in
createOrGetApplication
[-] ser = plg.makeService(self.config.subOptions)
[-] File "/tmp/src/CalendarServer-1.2/twistedcaldav/tap.py", line 749,
in makeService
[-] service = serviceMethod(options)
[-] File "/tmp/src/CalendarServer-1.2/twistedcaldav/tap.py", line 471,
in makeService_Slave
[-] baseDirectory =
directoryClass(**config.DirectoryService["params"])
[-] File
"/tmp/src/CalendarServer-1.2/twistedcaldav/directory/ldapdirectory.py",
line 144, in __init__
[-] self._updateStorage(recordType)
[-] File
"/tmp/src/CalendarServer-1.2/twistedcaldav/directory/ldapdirectory.py",
line 238, in _updateStorage
[-] logging.info("Retrieving subtree of %s." % ldap.dn.dn2str(base),
system="LdapDirectoryService")
[-] AttributeError: 'module' object has no attribute 'dn'
}}}
--
Ticket URL: <http://trac.calendarserver.org/ticket/260#comment:31>
CalendarServer </>
HTTP/WebDAV/CalDAV Server
More information about the calendarserver-dev
mailing list