Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse McConnell2011-11-02 17:39:22 -0400
committerJesse McConnell2011-11-02 17:39:22 -0400
commit81e58f1f7121abd5c584dc941845e44d8bd34b51 (patch)
tree564b2eb2a377d3dfb3042456bc94ce39df60aacb /jetty-security/src/main/java
parentc83b02c4a7de5e8e351039eba4b55f0773e45d1c (diff)
downloadorg.eclipse.jetty.project-81e58f1f7121abd5c584dc941845e44d8bd34b51.tar.gz
org.eclipse.jetty.project-81e58f1f7121abd5c584dc941845e44d8bd34b51.tar.xz
org.eclipse.jetty.project-81e58f1f7121abd5c584dc941845e44d8bd34b51.zip
[Bug 362447] add setMaxNonceAge() to DigestAuthenticator
Diffstat (limited to 'jetty-security/src/main/java')
-rw-r--r--jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java b/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java
index ca5d2cd7cf..932435f985 100644
--- a/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java
+++ b/jetty-security/src/main/java/org/eclipse/jetty/security/authentication/DigestAuthenticator.java
@@ -87,7 +87,18 @@ public class DigestAuthenticator extends LoginAuthenticator
String mna=configuration.getInitParameter("maxNonceAge");
if (mna!=null)
- _maxNonceAgeMs=Long.valueOf(mna);
+ {
+ synchronized (this)
+ {
+ _maxNonceAgeMs=Long.valueOf(mna);
+ }
+ }
+ }
+
+ /* ------------------------------------------------------------ */
+ public synchronized void setMaxNonceAge(long maxNonceAgeInMillis)
+ {
+ _maxNonceAgeMs = maxNonceAgeInMillis;
}
/* ------------------------------------------------------------ */
@@ -235,7 +246,11 @@ public class DigestAuthenticator extends LoginAuthenticator
private int checkNonce(Digest digest, Request request)
{
// firstly let's expire old nonces
- long expired = request.getTimeStamp()-_maxNonceAgeMs;
+ long expired;
+ synchronized (this)
+ {
+ expired = request.getTimeStamp()-_maxNonceAgeMs;
+ }
Nonce nonce=_nonceQueue.peek();
while (nonce!=null && nonce._ts<expired)

Back to the top