Re: Postmaster account creation problem
"Keith T. Garner" <[email protected]> Mon, 6 Dec 2004 11:14:58 -0600
| Newsgroups | gmane.mail.jamm.user |
|---|---|
| Message-ID | <[email protected]> |
I think when we've seen this problem in the past, it was either tomcat
4.0 or just debian's tomcat being the problem. Upgrade to 4.1 and you
should be okay.
Keith
On Mon, Dec 06, 2004 at 02:18:35, Massimiliano Ferrero said:
> Hello, I've Jamm 0.9.6 installed, up and working since one year.
>
> System is a Debian Woody 3.0 with backported:
> - tomcat4 4.0.3
> - openldap 2.1.30
>
> I've always used it as site admin and everything worked fine.
> Now I've started delegating control of some domains and I have run into
> some problem:
>
> - at first when I tried to create an Account from a domain postmaster I
> got a "Permission problem": it was due to an extra , in ldap acl
>
> Solved thanks to :)
> http://sourceforge.net/mailarchive/message.php?msg_id=2231321
>
> Maybe you should write clearly in the documentation that the second ACL
> differs from the first for the missing ,
>
> - corrected the acl now I get an "Unknow error", but this time the
> account gets created
>
> Applying ;)
> http://sourceforge.net/mailarchive/message.php?msg_id=6910910
> I put Jamm in debug
>
> And this is what I get
>
>
>
>
>
>
>
> html><head><title>Apache Tomcat/4.0.3 - Error
> report</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color
> : white;background-color : #0086b2;} BODY{font-family :
> sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color
> : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE>
> </head><body><h1>Apache Tomcat/4.0.3 - HTTP Status 500 - Internal Server
> Error</h1><HR size="1" noshade><p><b>type</b> Exception
> report</p><p><b>message</b> <u>Internal Server
> Error</u></p><p><b>description</b> <u>The server encountered an internal
> error (Internal Server Error) that prevented it from fulfilling this
> request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException:
> Could not create account: [email protected]
> at
> org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
> at
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
> at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at
> jamm.webapp.AuthenticationFilter.doFilter(AuthenticationFilter.java:106)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:429)
> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:495)
> at java.lang.Thread.run(Thread.java:484)
> </pre></p><p><b>root cause</b> <pre>jamm.backend.MailManagerException:
> Could not create account: [email protected]
> at jamm.backend.MailManager.createAccount(MailManager.java:478)
> at jamm.webapp.AddAccountAction.execute(AddAccountAction.java:87)
> at
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
> at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at
> jamm.webapp.AuthenticationFilter.doFilter(AuthenticationFilter.java:106)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:429)
> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:495)
> at java.lang.Thread.run(Thread.java:484)
> Caused by:
> javax.naming.NamingException: [LDAP: error code 80 - entry modify
> failed]; remaining name ''
> at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:2780)
> at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2682)
> at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2488)
> at com.sun.jndi.ldap.LdapCtx.extendedOperation(LdapCtx.java:2863)
> at
> javax.naming.ldap.InitialLdapContext.extendedOperation(InitialLdapContext.java:163)
> at jamm.ldap.LdapFacade.changePassword(LdapFacade.java:621)
> at jamm.backend.MailManager.createAccount(MailManager.java:463)
> at jamm.webapp.AddAccountAction.execute(AddAccountAction.java:87)
> at
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
> at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at
> jamm.webapp.AuthenticationFilter.doFilter(AuthenticationFilter.java:106)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:429)
> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:495)
> at java.lang.Thread.run(Thread.java:484)
> </pre></p><HR size="1" noshade></body></html>
>
>
>
>
>
>
> So the culprit seems to be a:
>
> javax.naming.NamingException: [LDAP: error code 80 - entry modify
> failed]; remaining name ''
>
> Can't find any reference to this. What's the problem?
>
> This is my slapd.conf
>
>
>
>
>
>
> # Allow LDAPv2 binds
> allow bind_v2
>
> # This is the main slapd configuration file. See slapd.conf(5) for more
> # info on the configuration options.
>
> #######################################################################
> # Global Directives:
>
> # Features to permit
> allow bind_v2
>
> # Schema and objectClass definitions
> 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/jamm.schema
> include /etc/ldap/schema/samba.schema
> include /etc/ldap/schema/amavis.schema
>
> # Schema check allows for forcing entries to
> # match schemas for their objectClasses's
> schemacheck on
>
> # Where the pid file is put. The init.d script
> # will not stop the server if you change this.
> pidfile /var/run/slapd/slapd.pid
>
> # List of arguments that were passed to the server
> argsfile /var/run/slapd.args
>
> # Read slapd.conf(5) for possible values
> loglevel 2
>
> # Where the dynamically loaded modules are stored
> modulepath /usr/lib/ldap
> moduleload back_bdb
>
> #######################################################################
> # Specific Backend Directives for bdb:
> # Backend specific directives apply to this backend until another
> # 'backend' directive occurs
> backend bdb
>
> #######################################################################
> # Specific Backend Directives for 'other':
> # Backend specific directives apply to this backend until another
> # 'backend' directive occurs
> #backend <other>
>
> #######################################################################
> # Specific Directives for database #1, of type bdb:
> # Database specific directives apply to this databasse until another
> # 'database' directive occurs
> database bdb
>
> # The base of your directory in database #1
> suffix "dc=midhgard,dc=it"
>
> # Where the database file are physically stored for database #1
> directory "/var/lib/ldap"
>
> # Indexing options for database #1
> index objectClass pres,eq
> index mail eq,sub
> index cn eq,sub
>
> # uncomment these if you are storing posixAccount and
> # posixGroup entries in the directory as well
> index uidNumber eq
> index gidNumber eq
> index memberUid eq
>
> # Save the time that the entry gets modified, for database #1
> lastmod on
>
> # Where to store the replica logs for database #1
> # replogfile /var/lib/ldap/replog
>
> # root user
> rootdn "cn=greatcucumber,dc=midhgard,dc=it"
> rootpw {SSHA}blabla
>
> # The userPassword by default can be changed
> # by the entry owning it if they are authenticated.
> # Others should not be able to see it, except the
> # admin entry below
> # These access lines apply to database #1 only
> access to attribute=userPassword
> by dn="cn=greatcucumber,dc=midhgard,dc=it" write
> by anonymous auth
> by self write
> by * none
>
> # Ensure read access to the base for things like
> # supportedSASLMechanisms. Without this you may
> # have problems with SASL not knowing what
> # mechanisms are available and the like.
> # Note that this is covered by the 'access to *'
> # ACL below too but if you change that as people
> # are wont to do you'll still need this if you
> # want SASL (and possible other things) to work
> # happily.
> access to dn.base="" by * read
>
> access to dn=".*,jvd=([^,]+),o=hosting,dc=midhgard,dc=it"
> attr=userPassword
> by self write
> by
> group/jammPostmaster/roleOccupant="cn=postmaster,jvd=$1,o=hosting,dc=midhgard,dc=it"
> write
> by anonymous auth
> by * none
>
> # The admin dn has full write access, everyone else
> # can read everything.
> access to *
> by dn="cn=greatcucumber,dc=midhgard,dc=it" write
> by * read
>
>
>
>
>
> One last thing: alias creation works without any problem.
>
> Thanks
> Massimiliano
--
Keith T. Garner [email protected]
"Make no little plans; they have no magic to
stir men's blood." - Daniel H. Burnham
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/