LDAP setup : Illegal JID

Hello,

In our LDAP setup , the uid are in fact e-mails, so they contains “@” and “.”

Ex : name.firstname@domain.com

In the setup, the «Profile Settings» pass without problem, but when i want to add my account as administrator in the «Admin Account» step, i got an error 500.

Any chance to make it works ?

Regards.


HTTP ERROR 500

Problem accessing /setup/setup-admin-settings.jsp. Reason:

Illegal JID: name.firstname@domain.com@jabber-02.zoubi.lan

Caused by:

java.lang.IllegalArgumentException: Illegal JID: name.firstname@domain.com@jabber-02.zoubi.lan

at org.xmpp.packet.JID.(JID.java:542)

at org.xmpp.packet.JID.(JID.java:496)

at org.jivesoftware.openfire.admin.setup.setup_002dadmin_002dsettings_jsp._jspServ ice(setup_002dadmin_002dsettings_jsp.java:187)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1359)

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:50)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1330)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:22 7)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:94 1)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186 )

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875 )

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandler Collection.java:250)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.jav a:149)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)

at org.eclipse.jetty.server.Server.handle(Server.java:349)

at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)

at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.j ava:936)

at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)

at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)

at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51 )

at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.jav a:586)

at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java :44)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598 )

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)

at java.lang.Thread.run(Thread.java:679)

Caused by: java.lang.IllegalArgumentException: The input is not a valid JID node: name.firstname@domain.com

at org.xmpp.packet.JID.nodeprep(JID.java:294)

at org.xmpp.packet.JID.(JID.java:529)

… 40 more

Seems like a bug for me and/or that Openfire doesn’t support XEP-106 JID Escaping.

But your JID is valid.

Maybe try to replace the first @ with \40

I am not sure if it helps.

Thanks for your advice, it works…almost

Remplacing @ with \40, works to select the account :

Visionner l'image

So i clicked on the «Test» button, and i got this popup, with the account correcly written :

Visionner l'image

when i entered the password and clicked on the «Test» button, it said that the username was not found and the account shown change in a wrong form :

Visionner l'image

I did a dump on the LDAP conversation and i found that the LDAP search request was buggy as shown in the last screenshot :

Filter: (&(&(uid=myname%5C40domain.com)(objectclass=inetOrgPerson))(ou=ou=X&YY VVVV*,ou=Agencies,ou=X&Y,dc=domain,dc=com))

the “@” became “%5C40”

Where can i fill a bug report please ?

PS : sorry to host the pictures elsewhere but the build in function of the editor the attach pictures is not working (permission denied)

The advanced editor has also an attach option. With Chrome and Firefox Ctrl+V should also work to insert an image, also in this editor.

Interesting “URL encoding during LDAP setup” issue: %40=UrlEncode("@") && %5C=UrlEncode("%") == %5C40=UrlEncode(UrlEncode("@"))

Are you using the current Openfire version?

Link “undefined” to advanced editor:

I’m using the tar.gz version «openfire_3_9_1.tar.gz»

Java version :

java version “1.6.0_27”

OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1)

OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

OF-765 created.

Thanks LG. I will monitor the bug.