From: Felix Dörre Date: Mon, 2 May 2016 12:54:07 +0000 (+0200) Subject: upd: rate limit bypassing for test cases X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=b64118c8dbe75bcae43a4bd8bc8278125e48a7af upd: rate limit bypassing for test cases --- diff --git a/src/org/cacert/gigi/pages/account/certs/CertificateRequest.java b/src/org/cacert/gigi/pages/account/certs/CertificateRequest.java index 270c7178..eba64f17 100644 --- a/src/org/cacert/gigi/pages/account/certs/CertificateRequest.java +++ b/src/org/cacert/gigi/pages/account/certs/CertificateRequest.java @@ -431,7 +431,7 @@ public class CertificateRequest { throw error; } try { - if (limit.isLimitExceeded(Integer.toString(ctx.getActor().getId()))) { + if (RATE_LIMIT.isLimitExceeded(Integer.toString(ctx.getActor().getId()))) { throw new GigiApiException("Rate Limit Exceeded"); } return new Certificate(ctx.getTarget(), ctx.getActor(), subject, selectedDigest, // @@ -443,7 +443,7 @@ public class CertificateRequest { } // 100 per 10 minutes - private static final RateLimit limit = new RateLimit(100, 10 * 60 * 1000); + public static final RateLimit RATE_LIMIT = new RateLimit(100, 10 * 60 * 1000); private String verifyName(GigiApiException error, PropertyTemplate nameTemp, PropertyTemplate wotUserTemp, String verifiedCN) { // real names, diff --git a/src/org/cacert/gigi/util/RateLimit.java b/src/org/cacert/gigi/util/RateLimit.java index 46098bf5..65c16684 100644 --- a/src/org/cacert/gigi/util/RateLimit.java +++ b/src/org/cacert/gigi/util/RateLimit.java @@ -70,4 +70,9 @@ public class RateLimit { } } } + + public synchronized void bypass() { + set.clear(); + feat.clear(); + } } diff --git a/util-testing/org/cacert/gigi/DevelLauncher.java b/util-testing/org/cacert/gigi/DevelLauncher.java index c32b6b30..8c010bdc 100644 --- a/util-testing/org/cacert/gigi/DevelLauncher.java +++ b/util-testing/org/cacert/gigi/DevelLauncher.java @@ -32,6 +32,8 @@ import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.Page; +import org.cacert.gigi.pages.account.certs.CertificateRequest; +import org.cacert.gigi.pages.main.RegisterPage; import org.cacert.gigi.util.AuthorizationContext; import org.cacert.gigi.util.ServerConstants; import org.kamranzafar.jtar.TarEntry; @@ -126,6 +128,8 @@ public class DevelLauncher { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { ObjectCache.clearAllCaches(); + RegisterPage.RATE_LIMIT.bypass(); + CertificateRequest.RATE_LIMIT.bypass(); resp.getWriter().println("All caches cleared."); System.out.println("Caches cleared.");