summaryrefslogtreecommitdiff
path: root/src/authorization
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-08-27 17:44:01 +0200
committerChristian Grothoff <christian@grothoff.org>2021-08-27 17:44:01 +0200
commit2e2a558a59d0e7a25953cddf2afb67b7ab96135c (patch)
treea8bbc38cdb83092cea3624a855d63a5fb8a71603 /src/authorization
parent3a6466bb3854863b4b35deb08cb2e4ed03ebf12b (diff)
downloadanastasis-2e2a558a59d0e7a25953cddf2afb67b7ab96135c.tar.gz
anastasis-2e2a558a59d0e7a25953cddf2afb67b7ab96135c.tar.bz2
anastasis-2e2a558a59d0e7a25953cddf2afb67b7ab96135c.zip
fix retry counter logic, deal with negative retry counters, limit code reuse for iban method
Diffstat (limited to 'src/authorization')
-rw-r--r--src/authorization/anastasis_authorization_plugin_email.c5
-rw-r--r--src/authorization/anastasis_authorization_plugin_file.c6
-rw-r--r--src/authorization/anastasis_authorization_plugin_iban.c1
-rw-r--r--src/authorization/anastasis_authorization_plugin_post.c7
-rw-r--r--src/authorization/anastasis_authorization_plugin_sms.c5
5 files changed, 24 insertions, 0 deletions
diff --git a/src/authorization/anastasis_authorization_plugin_email.c b/src/authorization/anastasis_authorization_plugin_email.c
index 78c12ca..0eefcc5 100644
--- a/src/authorization/anastasis_authorization_plugin_email.c
+++ b/src/authorization/anastasis_authorization_plugin_email.c
@@ -27,6 +27,10 @@
#include <gnunet/gnunet_db_lib.h>
#include "anastasis_database_lib.h"
+/**
+ * How many retries do we allow per code?
+ */
+#define INITIAL_RETRY_COUNTER 3
/**
* Saves the State of a authorization plugin.
@@ -595,6 +599,7 @@ libanastasis_plugin_authorization_email_init (void *cls)
}
plugin = GNUNET_new (struct ANASTASIS_AuthorizationPlugin);
+ plugin->retry_counter = INITIAL_RETRY_COUNTER;
plugin->code_validity_period = GNUNET_TIME_UNIT_DAYS;
plugin->code_rotation_period = GNUNET_TIME_UNIT_HOURS;
plugin->code_retransmission_frequency = GNUNET_TIME_UNIT_MINUTES;
diff --git a/src/authorization/anastasis_authorization_plugin_file.c b/src/authorization/anastasis_authorization_plugin_file.c
index db9dc67..66dbbe1 100644
--- a/src/authorization/anastasis_authorization_plugin_file.c
+++ b/src/authorization/anastasis_authorization_plugin_file.c
@@ -24,6 +24,11 @@
#include <gnunet/gnunet_db_lib.h>
#include "anastasis_database_lib.h"
+/**
+ * How many retries do we allow per code?
+ */
+#define INITIAL_RETRY_COUNTER 3
+
/**
* Saves the state of a authorization process
@@ -293,6 +298,7 @@ libanastasis_plugin_authorization_file_init (void *cls)
plugin = GNUNET_new (struct ANASTASIS_AuthorizationPlugin);
plugin->cls = (void *) ac;
+ plugin->retry_counter = INITIAL_RETRY_COUNTER;
plugin->code_validity_period = GNUNET_TIME_UNIT_MINUTES;
plugin->code_rotation_period = GNUNET_TIME_UNIT_MINUTES;
plugin->code_retransmission_frequency = GNUNET_TIME_UNIT_MINUTES;
diff --git a/src/authorization/anastasis_authorization_plugin_iban.c b/src/authorization/anastasis_authorization_plugin_iban.c
index be8f33b..cdd51a7 100644
--- a/src/authorization/anastasis_authorization_plugin_iban.c
+++ b/src/authorization/anastasis_authorization_plugin_iban.c
@@ -697,6 +697,7 @@ libanastasis_plugin_authorization_iban_init (void *cls)
ctx->ac = ac;
plugin = GNUNET_new (struct ANASTASIS_AuthorizationPlugin);
plugin->payment_plugin_managed = true;
+ plugin->retry_counter = UINT32_MAX; /* long polling */
plugin->code_validity_period = CODE_VALIDITY_PERIOD;
plugin->code_rotation_period = GNUNET_TIME_UNIT_ZERO;
plugin->code_retransmission_frequency = GNUNET_TIME_UNIT_ZERO; /* not applicable */
diff --git a/src/authorization/anastasis_authorization_plugin_post.c b/src/authorization/anastasis_authorization_plugin_post.c
index 98dd042..4adeffd 100644
--- a/src/authorization/anastasis_authorization_plugin_post.c
+++ b/src/authorization/anastasis_authorization_plugin_post.c
@@ -28,6 +28,12 @@
#include "anastasis_database_lib.h"
/**
+ * How many retries do we allow per code?
+ */
+#define INITIAL_RETRY_COUNTER 3
+
+
+/**
* Saves the State of a authorization plugin.
*/
struct PostContext
@@ -633,6 +639,7 @@ libanastasis_plugin_authorization_post_init (void *cls)
GNUNET_free (fn);
}
plugin = GNUNET_new (struct ANASTASIS_AuthorizationPlugin);
+ plugin->retry_counter = INITIAL_RETRY_COUNTER;
plugin->code_validity_period = GNUNET_TIME_UNIT_MONTHS;
plugin->code_rotation_period = GNUNET_TIME_UNIT_WEEKS;
plugin->code_retransmission_frequency
diff --git a/src/authorization/anastasis_authorization_plugin_sms.c b/src/authorization/anastasis_authorization_plugin_sms.c
index 4922380..94b2c0d 100644
--- a/src/authorization/anastasis_authorization_plugin_sms.c
+++ b/src/authorization/anastasis_authorization_plugin_sms.c
@@ -27,6 +27,10 @@
#include <gnunet/gnunet_db_lib.h>
#include "anastasis_database_lib.h"
+/**
+ * How many retries do we allow per code?
+ */
+#define INITIAL_RETRY_COUNTER 3
/**
* Saves the State of a authorization plugin.
@@ -585,6 +589,7 @@ libanastasis_plugin_authorization_sms_init (void *cls)
}
}
plugin = GNUNET_new (struct ANASTASIS_AuthorizationPlugin);
+ plugin->retry_counter = INITIAL_RETRY_COUNTER;
plugin->code_validity_period = GNUNET_TIME_UNIT_DAYS;
plugin->code_rotation_period = GNUNET_TIME_UNIT_HOURS;
plugin->code_retransmission_frequency = GNUNET_TIME_UNIT_MINUTES;