Illegal JID

one user has registered his JID using cyrillic letters and now I got in logs:

Internal server error

java.lang.IllegalArgumentException: Illegal JID: H8(Roster.java:89)

at org.jivesoftware.wildfire.roster.RosterManager.getRoster(RosterManager.java:76)

at org.jivesoftware.wildfire.user.User.getRoster(User.java:243)

at org.jivesoftware.wildfire.handler.IQRosterHandler.manageRoster(IQRosterHandler. java:185)

at org.jivesoftware.wildfire.handler.IQRosterHandler.handleIQ(IQRosterHandler.java :103)

at org.jivesoftware.wildfire.handler.IQHandler.process(IQHandler.java:48)

at org.jivesoftware.wildfire.IQRouter.handle(IQRouter.java:261)

at org.jivesoftware.wildfire.IQRouter.route(IQRouter.java:94)

at org.jivesoftware.wildfire.PacketRouter.route(PacketRouter.java:65)

at org.jivesoftware.wildfire.net.SocketReader.processIQ(SocketReader.java:396)

at org.jivesoftware.wildfire.net.ClientSocketReader.processIQ(ClientSocketReader.j ava:50)

at org.jivesoftware.wildfire.net.SocketReader.readStream(SocketReader.java:264)

at org.jivesoftware.wildfire.net.SocketReader.run(SocketReader.java:119)

at java.lang.Thread.run(Unknown Source)

Caused by: org.jivesoftware.stringprep.StringprepException: Contains prohibited code points.

at org.jivesoftware.stringprep.Stringprep.nodeprep(Stringprep.java:120)

at org.xmpp.packet.JID.init(JID.java:350)

… 22 more[/code]

Do you know how the user was able to register this account? I’'d like to try to duplicate this? The server should be preventing registrations that contain invalid characters.

Regards,

Matt

sure. Hi’'s use Pandion for it.

Hey Denis,

Do you know how did Wildfire end up with an invalid username (e.g. H8<) in the database? Have you created those users manually in the database? Or are they being read from an LDAP server? In any case, you will have to make sure that existing usernames conform to the Nodeprep profile of as defined in http://www.xmpp.org/specs/rfc3920.html#addressing-node.

Regards,

– Gato

I think I found what’‘s wrong. I’'ve change database encoding in postrgres from LATIN1 to UNICODE and while it working without any problems.

will test it for some time.