Author: bdonlan
Date: 2005-06-10 12:59:43 -0400 (Fri, 10 Jun 2005)
New Revision: 753
Modified:
trunk/clients/Javer2/server.conf
trunk/clients/Javer2/src/org/haverdev/haver/server/BasicAuthentication.java
Log:
Make the digest algorithm list configurable
Modified: trunk/clients/Javer2/server.conf
===================================================================
--- trunk/clients/Javer2/server.conf 2005-06-10 16:35:51 UTC (rev 752)
+++ trunk/clients/Javer2/server.conf 2005-06-10 16:59:43 UTC (rev 753)
@@ -25,6 +25,9 @@
haver.auth.methods=basic
haver.auth.basic.delegate=org.haverdev.haver.server.BasicAuthentication
+# A list of (haver auth digest name):(java digest SPI name)
+haver.digestMaps=sha512:SHA-512 sha256:SHA-256 sha1:SHA-1
+
# Default chat channels (deprecated)
#haver.ChatChannels=lobby,conspiracy,haver,creatures
haver.ChatChannels=
Modified:
trunk/clients/Javer2/src/org/haverdev/haver/server/BasicAuthentication.java
===================================================================
--- trunk/clients/Javer2/src/org/haverdev/haver/server/BasicAuthentication.java
2005-06-10 16:35:51 UTC (rev 752)
+++ trunk/clients/Javer2/src/org/haverdev/haver/server/BasicAuthentication.java
2005-06-10 16:59:43 UTC (rev 753)
@@ -22,7 +22,7 @@
*/
public class BasicAuthentication extends UserCommandWrapper implements
AuthProvider {
- org.apache.log4j.Logger log =
org.apache.log4j.Logger.getLogger(BasicAuthentication.class);
+ static org.apache.log4j.Logger log =
org.apache.log4j.Logger.getLogger(BasicAuthentication.class);
static java.util.Map algos;
@@ -32,18 +32,25 @@
algos.put(havername, spiname);
}
catch (NoSuchAlgorithmException e) {
- // XXX
+ log.error("Algorithm SPI " + spiname + " for " + havername + " not
found", e);
}
}
static void algoInit() {
if (algos != null) return;
+ String algostr = System.getProperty("haver.digestMaps",
"sha512:SHA-512 sha256:SHA-256 sha1:SHA-1");
+ String[] algolist = Misc.optionSplit(algostr);
Map algotemp = new LinkedHashMap();
- mapAlgo(algotemp, "sha512", "SHA-512");
- mapAlgo(algotemp, "sha256", "SHA-256");
- mapAlgo(algotemp, "sha1", "SHA-1");
- mapAlgo(algotemp, "md5", "MD5");
+
+ for (int i = 0; i < algolist.length; i++) {
+ String desc = algolist[i];
+ int sep = desc.indexOf(':');
+ String havername = desc.substring(0, sep);
+ String spiname = desc.substring(sep + 1);
+ mapAlgo(algotemp, havername, spiname);
+ }
+
algos = Collections.unmodifiableMap(algotemp);
}