Database field for username too short

All the schemas have the jiveuser.username field set to 32 characters. When you create a user through the admin console, if the name is greater than 32 characters then internally it fails to create the user (no record is inserted into the jiveuser table), but it tells you “New user created successfully.” It even lets you “Edit Properties” on this user who was not really created. It sure fooled me the first time!

I think there are two problems:

  1. Exceptions in the database are being ignored. (I’'m attaching the stack trace from the server log at the end).

  2. Need to increase jiveuser.username field from 32 to 1023 according to:

    http://www.xmpp.org/specs/rfc3920.html#addressing

(Don’'t forget to increase size of all username fields, not just in jiveuser table but also the foreign keys.)

Otherwise, I’'ve been really happy with the application so far.

Thanks a lot,

Christian

[org.jivesoftware.messenger.user.DefaultUserProvider.createUser(DefaultUserProv ider.java:125)

] Internal server error

org.postgresql.util.PSQLException: ERROR: value too long for type character varying(32)

at org.postgresql.util.PSQLException.parseServerError(PSQLException.java:139)

at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:152)

at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:100)

at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43)

at org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java :517)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java :50)

at org.jivesoftware.messenger.user.DefaultUserProvider.createUser(DefaultUserProvi der.java:122)

at org.jivesoftware.messenger.user.UserManager.createUser(UserManager.java:104)

at org.jivesoftware.messenger.admin.user_002dcreate_jsp._jspService(user_002dcreat e_jsp.java:139)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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