From 01f1c263a6de4236113955576e744deb525d64af Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Mon, 25 Jan 2021 14:48:35 -0500 Subject: [PATCH] Add a meter for captcha requests. --- .../textsecuregcm/controllers/AccountController.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java index 96953ca08..3a3d036a6 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java @@ -85,6 +85,7 @@ public class AccountController { private final Meter filteredHostMeter = metricRegistry.meter(name(AccountController.class, "filtered_host" )); private final Meter rateLimitedHostMeter = metricRegistry.meter(name(AccountController.class, "rate_limited_host" )); private final Meter rateLimitedPrefixMeter = metricRegistry.meter(name(AccountController.class, "rate_limited_prefix")); + private final Meter captchaRequiredMeter = metricRegistry.meter(name(AccountController.class, "captcha_required" )); private final Meter captchaSuccessMeter = metricRegistry.meter(name(AccountController.class, "captcha_success" )); private final Meter captchaFailureMeter = metricRegistry.meter(name(AccountController.class, "captcha_failure" )); @@ -199,6 +200,8 @@ public class AccountController { CaptchaRequirement requirement = requiresCaptcha(number, transport, forwardedFor, requester, captcha, storedChallenge, pushChallenge); if (requirement.isCaptchaRequired()) { + captchaRequiredMeter.mark(); + if (requirement.isAutoBlock() && shouldAutoBlock(requester)) { logger.info("Auto-block: " + requester); abusiveHostRules.setBlockedHost(requester, "Auto-Block");