commit 78492523949940ffefdbb42b49eba9d660205a25
parent 2e7bdb1e1ed2b3bc4685b906b62143c3de9c2e68
Author: Christian Grothoff <christian@grothoff.org>
Date: Sat, 17 Feb 2024 17:46:59 +0100
-fix
Diffstat:
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/challengerdb/challenger_do_challenge_set_address_and_pin.sql b/src/challengerdb/challenger_do_challenge_set_address_and_pin.sql
@@ -70,11 +70,13 @@ IF ( (0 = my_status.address_attempts_left) AND
(in_address != my_status.address) )
THEN
out_address_refused=TRUE;
+ out_last_pin=0;
RETURN;
END IF;
out_address_refused=FALSE;
-IF (in_address != my_status.address)
+IF ( (my_status.address IS NULL) OR
+ (in_address != my_status.address) )
THEN
-- we are changing the address, update counters
my_status.address_attempts_left = my_status.address_attempts_left - 1;
diff --git a/src/challengerdb/challenger_do_validate_and_solve_pin.sql b/src/challengerdb/challenger_do_validate_and_solve_pin.sql
@@ -53,14 +53,23 @@ out_address_attempts_left=my_status.address_attempts_left;
out_pin_transmissions_left=my_status.pin_transmissions_left;
out_client_redirect_uri=my_status.client_redirect_uri;
+IF (my_status.last_pin IS NULL)
+THEN
+ out_solved=FALSE;
+ out_auth_attempts_left=0;
+ out_client_redirect_uri=NULL;
+ RETURN;
+END IF;
+
IF (0 = my_status.auth_attempts_left)
THEN
out_solved=FALSE;
out_auth_attempts_left=0;
out_client_redirect_uri=NULL;
+ RETURN;
END IF;
-out_solved = (last_pin = in_new_pin);
+out_solved = (my_status.last_pin = in_new_pin);
IF NOT out_solved
THEN
diff --git a/src/challengerdb/pg_validate_solve_pin.c b/src/challengerdb/pg_validate_solve_pin.c
@@ -72,7 +72,7 @@ CH_PG_validate_solve_pin (void *cls,
",out_auth_attempts_left AS auth_attempts_left"
",out_pin_transmissions_left AS pin_transmissions_left"
",out_client_redirect_uri AS client_redirect_uri"
- " FROM challenger_do_validate_solve_pin"
+ " FROM challenger_do_validate_and_solve_pin"
" ($1,$2);");
qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
"do_validate_solve_pin",