Well, I believe I finally got Wildfire authenticating against my Drupal users table, which uses MD5 password hashes. However, I had to make a couple changes to JDBCAuthProvider to get this to work.
First, on line 89, the parsed PasswordType wasn’'t being assigned to the passwordType variable, so I added this assignment.
I also removed lines 164-166, which threw an exception if the authentication type was not plaintext.
After these changes, I seem to be able to authenticate using the gnome-jabber client (although gaim 1.5 still acts funny), but it would be great if someone could verify that these changes are correct. They seem to fit in with the rest of the scheme, as if they were simply oversights which slipped through the cracks, but I’‘m pretty new to Wildfire still, so I’'d certainly like some confirmation if anyone can offer it
Thanks,
noah
P.S., here’'s a Subversion diff showing exactly what I did:
Index: JDBCAuthProvider.java
===================================================================
— JDBCAuthProvider.java (revision 4640)
+++ JDBCAuthProvider.java (working copy)
@@ -86,7 +86,7 @@
passwordSQL = JiveGlobals.getXMLProperty(“jdbcAuthProvider.passwordSQL”);
passwordType = PasswordType.plain;
try {
-
PasswordType.valueOf(JiveGlobals.getXMLProperty("jdbcAuthProvider.passwordType" , "plain"));
-
passwordType = PasswordType.valueOf(JiveGlobals.getXMLProperty("jdbcAuthProvider.passwordType" , "plain"));
}
catch (IllegalArgumentException iae) {
Log.error(iae);
@@ -161,9 +161,6 @@
public String getPassword(String username) throws UserNotFoundException,
UnsupportedOperationException
{
-
if (!supportsPasswordRetrieval()) {
-
throw new UnsupportedOperationException();
-
}
String password = null;
Connection con = null;
PreparedStatement pstmt = null;