Email settings bug in admin console with LDAP?

Hi there,

Firstly I’‘ll give you my environment: I’'m running Suse 10 Linux, and Wildfire 3.0.0 RPM with a Mysql 4.1.19 DB and authenticating against OpenLDAP.

Anyway I found an interesting error when setting the Email settings in the Admin console. I get a stack error trace (below) on the actual admin console window, when I go into the “Email Settings” and press “Send Test Email”. I suspect the reason I am getting this is because in my wildfire.xml file, I have a search filter for users that excludes adminDN user that wildfire uses to access the LDAP directory. e.g. the adminDN is uid=admin,ou=people,o=mycompany, but my search filter excludes this user as an actual user than can login.

Should I be including the adminDN in the search filter so it can login to Jabber? Also what are the email settings used for other than the content filter plugin?

The stack trace is below"

org.jivesoftware.wildfire.user.UserNotFoundException

at org.jivesoftware.wildfire.ldap.LdapUserProvider.loadUser(LdapUserProvider.java: 92)

at org.jivesoftware.wildfire.user.UserManager.getUser(UserManager.java:171)

at org.jivesoftware.wildfire.admin.system_002demailtest_jsp._jspService(system_002 demailtest_jsp.java:144)

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

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

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:830)

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.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

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

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

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

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

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

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

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

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler. java:471)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)

at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.ja va:633)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)

at org.mortbay.http.HttpServer.service(HttpServer.java:909)

at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)

at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)

at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)

at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)

at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)

at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

org.jivesoftware.wildfire.user.UserNotFoundException: Username admin not found

at org.jivesoftware.wildfire.ldap.LdapManager.findUserDN(LdapManager.java:503)

at org.jivesoftware.wildfire.ldap.LdapManager.findUserDN(LdapManager.java:431)

at org.jivesoftware.wildfire.ldap.LdapUserProvider.loadUser(LdapUserProvider.java: 69)

at org.jivesoftware.wildfire.user.UserManager.getUser(UserManager.java:171)

at org.jivesoftware.wildfire.admin.system_002demailtest_jsp._jspService(system_002 demailtest_jsp.java:144)

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

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

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:830)

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.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

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

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

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

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

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

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

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

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler. java:471)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)

at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.ja va:633)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)

at org.mortbay.http.HttpServer.service(HttpServer.java:909)

at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)

at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)

at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)

at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)

at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)

at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

I have a very similar setup. I use SuSe 10.1, Postgresql 8.1.4 and OpenLDAP. The exact same thing happens to me.

When I first installed Wildfire, I didn’‘t know I could use LDAP, so I was using db for everything, then the email test worked fine, later on, I switched to LDAP, but the button still worked! I decided to reinstall wildfire later on the road because a Shared Group problem, but this time I don’'t even logged in with the admin user on the Admin Console, instead, I configured LDAP and added my user as Admin, then I got the exact same problem you have.

I have no idea what’'s wrong.

Thanks

Do you use search filters in your configuration file? I '‘m pretty sure the reason it does that is because I use a search filter that excludes the adminDN. I changed the search filter so it included the adminDN (and a group of other people that I don’‘t want to be able to log into the system) and the error message disappeared. I’'m tried changing the search filter to include the adminDN in particular, but with no success i.e it broke the ldap stuff.

To me the email settings aren’‘t too important (as far as I can tell) since I don’'t get the wildfire server to send me emails, But I am unsure if I should be concerned?

I have the same problem. I use search filters but i dont filter out the administrator account. The problem appears to be that wildfire searches for the email address of a user called Admin. This user does not exist in the domain.

In my case, if I change my search filter to uid=, and thats it, then it works happily. If I narrow it down to only my allowed users, then it gives the error.

I also suffer from this problem using Active Directory 2003. I have Wildfire 3.0.1 installed using LDAP. Any news about this one?

I too am having the same issue. I am running Red Hat Enterprise 4 connected to LDAP ( Fedora Directory Server ). It is trying to authenticate as Admin when sending mail. This is a problem for me as I need mail to work properly so it can send users their transcripts. It may not be the full extent of the problem as I also notice that when Spark Fastpath tries to send the transcript after a web chat is complete it tries to authenticate against LDAP using the randomly generated session id for that web chat.

Here is the error:

2006.11.30 08:00:37 org.jivesoftware.wildfire.ldap.LdapGroupProvider.getGroupNames(LdapGroupProvider .java:335) Could not find user in LDAP a74143a4

a74143a4 is the session name that is generated when a fastpath web session is initiated.

Could someone please issue a bug report? I think I am seeing another side affect of this problem, where fastpath chats never show a transcript option because the server is looking for the random session ID in the active directory:

2007.01.25 11:39:26 org.jivesoftware.wildfire.ldap.LdapGroupProvider.getGroupNames(LdapGroupProvider .java:335) Could not find user in LDAP 6401c4c0

Wildfire 3.1.1