From 0aab3c2027d54fc1ba834ab73fd53328952b7a1b Mon Sep 17 00:00:00 2001 From: Simponic Date: Thu, 29 Dec 2022 17:49:42 -0700 Subject: Make tests pass, rename jail threshold --- lib/chessh/ssh/daemon.ex | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'lib') diff --git a/lib/chessh/ssh/daemon.ex b/lib/chessh/ssh/daemon.ex index cd0d466..9f17f75 100644 --- a/lib/chessh/ssh/daemon.ex +++ b/lib/chessh/ssh/daemon.ex @@ -22,24 +22,24 @@ defmodule Chessh.SSH.Daemon do end def pwd_authenticate(username, password, inet) do - [jail_timeout_ms, jail_threshold] = + [jail_timeout_ms, jail_attempt_threshold] = Application.get_env(:chessh, RateLimits) - |> Keyword.take([:jail_timeout_ms, :jail_threshold]) + |> Keyword.take([:jail_timeout_ms, :jail_attempt_threshold]) |> Keyword.values() {ip, _port} = inet rateId = "failed_password_attempts:#{Enum.join(Tuple.to_list(ip), ".")}" - case Hammer.check_rate(rateId, jail_timeout_ms, jail_threshold) do - {:allow, _count} -> - pwd_authenticate(username, password) || - (fn -> - Hammer.check_rate_inc(rateId, jail_timeout_ms, jail_threshold, 1) - false - end).() + if pwd_authenticate(username, password) do + true + else + case Hammer.check_rate_inc(rateId, jail_timeout_ms, jail_attempt_threshold, 1) do + {:allow, _count} -> + false - {:deny, _limit} -> - :disconnect + {:deny, _limit} -> + :disconnect + end end end -- cgit v1.2.3-70-g09d2