Flaky behaviour when adding buddies without domains


I’m rolling with Openfire 3.4.5 and had an issue with a user getting booted from the server every so often. I tracked it down to an entry they had in their buddy list that did not contain a domain (“full jid”), it was mybuddy instead of mybuddy@domain (in jiveroster).

So I played around and noticed that I could add buddies via Pidgin that did not contain a domain name. Openfire happily placed it in the database and then will dump tracebacks to the logs.

Am I missing something here? Seems like Openfire shouldn’t except these non-complete JIDs.

I am attaching the XMPP console log from Pidgin and the traceback on the server and the bogus entry now in the database. (akrherz2 user does not exist)



Attached is the ISE that happens on the admin console. Appears to be related to this:


Thanks for the reoprt! JM-1304

Just to note that this bug continues to crank lots of errors out from openfire. I hope it is addressed before 3.6.0


Rarrrrrrrrrrrrrrrrrrrrrrrrrrrr There, I vented.

Had a user get bit again by this bug. The issue was this bug prevented them from logging in:

java.lang.IllegalArgumentException: Illegal JID: Manformed_Jid_with_no_domain
at org.xmpp.packet.JID.init(JID.java:395)
at org.xmpp.packet.JID.(JID.java:230)
at org.jivesoftware.openfire.roster.RosterItemProvider.getItems(RosterItemProvider .java:278)
at org.jivesoftware.openfire.roster.Roster.(Roster.java:110)

I had to manually remove the bad entry from the database and the user could log in again.


Had to cut off the list of issues somewhere. Lord knows enough things changed in 3.6.0. Anyway, yeah, I think we have some pending patches to improve upon this already!