The list of admins in an Openfire instance is represented as List<JID>. Usually, the list will contain bare JIDs. The methods that check if a particular JID represents an admin, doesn't make sure that the JID that's being checked is also a bare JID.
If the JID that is being checked is retrieved from a 'to' or 'from' attribute in a stanza, there's a good chance that that JID is actually a full JID. The isAdmin() check will always fail in those cases.
AdminManager should make sure that the list consists of bare JIDs. Checks should also always use bare JIDs.
The attached patch makes sure that all JID management in org.openfire.admin.AdminManager is done using bare JIDs only.