commit 11064577a029c9dbfabe5cbdb7f5bab4650a5a7d
parent f3550bf44f67735195a09c1a18500300d7a252d8
Author: Christian Grothoff <christian@grothoff.org>
Date: Sat, 6 May 2023 16:00:25 +0200
-update SQL
Diffstat:
4 files changed, 35 insertions(+), 27 deletions(-)
diff --git a/src/challengerdb/Makefile.am b/src/challengerdb/Makefile.am
@@ -60,6 +60,8 @@ libchallenger_plugin_db_postgres_la_SOURCES = \
pg_client_add.h pg_client_add.c \
pg_client_delete.h pg_client_delete.c \
pg_client_check.h pg_client_check.c \
+ pg_info_get_grant.h pg_info_get_grant.c \
+ pg_auth_add_grant.h pg_auth_add_grant.c \
pg_setup_nonce.h pg_setup_nonce.c \
pg_login_start.h pg_login_start.c \
pg_challenge_set_address_and_pin.h pg_challenge_set_address_and_pin.c \
diff --git a/src/challengerdb/challenger-0001.sql b/src/challengerdb/challenger-0001.sql
@@ -111,7 +111,7 @@ COMMENT ON COLUMN grants.address
COMMENT ON COLUMN grants.address_expiration_time
IS 'Timestamp until when we consider the address to be valid';
COMMENT ON COLUMN grants.grant_expiration_time
- IS 'Time until when we consider the grnat to be valid';
+ IS 'Time until when we consider the grant to be valid';
-- Complete transaction
COMMIT;
diff --git a/src/challengerdb/pg_challenge_set_address_and_pin.c b/src/challengerdb/pg_challenge_set_address_and_pin.c
@@ -41,8 +41,8 @@ CH_PG_challenge_set_address_and_pin (
struct GNUNET_TIME_Absolute now
= GNUNET_TIME_absolute_get ();
struct GNUNET_TIME_Absolute next_tx_time
- = GNUNET_TIME_absolute_subtract (last_tx_time,
- validation_duration),
+ = GNUNET_TIME_absolute_subtract (now,
+ validation_duration);
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_auto_from_type (nonce),
GNUNET_PQ_query_param_string (address),
@@ -78,35 +78,35 @@ CH_PG_challenge_set_address_and_pin (
")"
"UPDATE validations SET"
" address_attempts_left=CASE"
- " WHEN decisions.addr_changed
+ " WHEN decisions.addr_changed"
" THEN address_attempts_left - 1 "
" ELSE address_attempts_left "
" END "
",last_pin = CASE "
- " WHEN decisions.addr_changed
- " THEN $5"
- " ELSE last_pin"
- " ,END"
- " ,pin_transmissions_left=CASE"
- " WHEN decisions.addr_changed
+ " WHEN decisions.addr_changed"
+ " THEN $5"
+ " ELSE last_pin"
+ " ,END"
+ " ,pin_transmissions_left=CASE"
+ " WHEN decisions.addr_changed"
" THEN 3 "
- " ELSE WHEN decisions.send_pin
- " THEN pin_transmissions_left - 1"
- " ELSE pin_transmissions_left"
- " END"
- " ,END"
- " ,last_tx_time=CASE"
- " WHEN decisions.send_pin"
- " THEN $4"
- " ELSE last_tx_time"
- " END"
- " ,address=$2"
- " WHERE nonce=$1"
- " RETURNING"
- " last_tx_time"
- " ,decisions.send_pin AS pin_transmit"
- " ,last_pin"
- " ,pin_attempts_left;");
+ " ELSE WHEN decisions.send_pin"
+ " THEN pin_transmissions_left - 1"
+ " ELSE pin_transmissions_left"
+ " END"
+ " ,END"
+ " ,last_tx_time=CASE"
+ " WHEN decisions.send_pin"
+ " THEN $4"
+ " ELSE last_tx_time"
+ " END"
+ " ,address=$2"
+ " WHERE nonce=$1"
+ " RETURNING"
+ " last_tx_time"
+ " ,decisions.send_pin AS pin_transmit"
+ " ,last_pin"
+ " ,pin_attempts_left;");
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
"challenge_set_address_and_pin",
params,
diff --git a/src/challengerdb/plugin_challengerdb_postgres.c b/src/challengerdb/plugin_challengerdb_postgres.c
@@ -28,6 +28,8 @@
#include "pg_helper.h"
#include "pg_client_add.h"
#include "pg_client_delete.h"
+#include "pg_info_get_grant.h"
+#include "pg_auth_add_grant.h"
#include "pg_client_check.h"
#include "pg_setup_nonce.h"
#include "pg_login_start.h"
@@ -400,6 +402,10 @@ libchallenger_plugin_db_postgres_init (void *cls)
= &CH_PG_validate_solve_pin;
plugin->validation_get
= &CH_PG_validation_get;
+ plugin->info_get_grant
+ = &CH_PG_info_get_grant;
+ plugin->auth_add_grant
+ = &CH_PG_auth_add_grant;
return plugin;
}