diff --git a/authentik/policies/geoip/models.py b/authentik/policies/geoip/models.py
index f94341afd9..435e144c85 100644
--- a/authentik/policies/geoip/models.py
+++ b/authentik/policies/geoip/models.py
@@ -128,7 +128,7 @@ class GeoIPPolicy(Policy):
(geoip_data["lat"], geoip_data["long"]),
)
if self.check_history_distance and dist.km >= (
- self.history_max_distance_km - self.distance_tolerance_km
+ self.history_max_distance_km + self.distance_tolerance_km
):
return PolicyResult(
False, _("Distance from previous authentication is larger than threshold.")
@@ -139,7 +139,7 @@ class GeoIPPolicy(Policy):
# clamped to be at least 1 hour
rel_time_hours = max(int((_now - previous_login.created).total_seconds() / 3600), 1)
if self.check_impossible_travel and dist.km >= (
- (MAX_DISTANCE_HOUR_KM * rel_time_hours) - self.distance_tolerance_km
+ (MAX_DISTANCE_HOUR_KM * rel_time_hours) + self.distance_tolerance_km
):
return PolicyResult(False, _("Distance is further than possible."))
return PolicyResult(True)
diff --git a/authentik/policies/password/models.py b/authentik/policies/password/models.py
index 15df0502cf..f94b7b4b52 100644
--- a/authentik/policies/password/models.py
+++ b/authentik/policies/password/models.py
@@ -148,10 +148,10 @@ class PasswordPolicy(Policy):
user_inputs.append(request.user.email)
if request.http_request:
user_inputs.append(request.http_request.brand.branding_title)
- # Only calculate result for the first 100 characters, as with over 100 char
+ # Only calculate result for the first 72 characters, as with over 100 char
# long passwords we can be reasonably sure that they'll surpass the score anyways
# See https://github.com/dropbox/zxcvbn#runtime-latency
- results = zxcvbn(password[:100], user_inputs)
+ results = zxcvbn(password[:72], user_inputs)
LOGGER.debug("password failed", check="zxcvbn", score=results["score"])
result = PolicyResult(results["score"] > self.zxcvbn_score_threshold)
if not result.passing:
diff --git a/web/src/admin/policies/geoip/GeoIPPolicyForm.ts b/web/src/admin/policies/geoip/GeoIPPolicyForm.ts
index 1b5119ae2b..d59936c1ab 100644
--- a/web/src/admin/policies/geoip/GeoIPPolicyForm.ts
+++ b/web/src/admin/policies/geoip/GeoIPPolicyForm.ts
@@ -105,6 +105,22 @@ export class GeoIPPolicyForm extends BasePolicyForm
+ ${msg( + "Maximum distance a login attempt is allowed from in kilometers.", + )} +
+- ${msg( - "Maximum distance a login attempt is allowed from in kilometers.", - )} -
-