summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-09-17 12:05:52 +0200
committerChristian Grothoff <christian@grothoff.org>2023-09-17 12:05:52 +0200
commit420434962743a3575ddac06b1c67e541e813cdf6 (patch)
treee913a1af4c225b2ea01be2fa66b30c9f7bab3a2d
parentae9bf61430da8e6cc0e9b76e560c06c8302ffeb4 (diff)
downloadanastasis-420434962743a3575ddac06b1c67e541e813cdf6.tar.gz
anastasis-420434962743a3575ddac06b1c67e541e813cdf6.tar.bz2
anastasis-420434962743a3575ddac06b1c67e541e813cdf6.zip
use Etags in double-quotes as per standard, add missing 'return' in tests
-rw-r--r--src/backend/anastasis-httpd_policy-upload.c7
-rw-r--r--src/backend/anastasis-httpd_policy.c24
-rw-r--r--src/restclient/anastasis_api_policy_store.c2
-rw-r--r--src/testing/test_anastasis_api_home/taler/exchange/offline-keys/secm_tofus.pubbin96 -> 96 bytes
-rw-r--r--src/testing/testing_api_cmd_config.c1
-rw-r--r--src/testing/testing_api_cmd_policy_lookup.c1
-rw-r--r--src/testing/testing_api_cmd_policy_store.c1
-rw-r--r--src/testing/testing_api_cmd_truth_challenge.c1
-rw-r--r--src/testing/testing_api_cmd_truth_solve.c1
-rw-r--r--src/testing/testing_api_cmd_truth_store.c1
10 files changed, 28 insertions, 11 deletions
diff --git a/src/backend/anastasis-httpd_policy-upload.c b/src/backend/anastasis-httpd_policy-upload.c
index d966eba..fd4e1ca 100644
--- a/src/backend/anastasis-httpd_policy-upload.c
+++ b/src/backend/anastasis-httpd_policy-upload.c
@@ -757,9 +757,12 @@ AH_handler_policy_post (
MHD_HEADER_KIND,
MHD_HTTP_HEADER_IF_NONE_MATCH);
if ( (NULL == etag) ||
+ (2 >= strlen (etag)) ||
+ ('"' != etag[0]) ||
+ ('"' != etag[strlen (etag) - 1]) ||
(GNUNET_OK !=
- GNUNET_STRINGS_string_to_data (etag,
- strlen (etag),
+ GNUNET_STRINGS_string_to_data (etag + 1,
+ strlen (etag) - 2,
&puc->new_policy_upload_hash,
sizeof (puc->new_policy_upload_hash))) )
{
diff --git a/src/backend/anastasis-httpd_policy.c b/src/backend/anastasis-httpd_policy.c
index a26d11e..177cc06 100644
--- a/src/backend/anastasis-httpd_policy.c
+++ b/src/backend/anastasis-httpd_policy.c
@@ -122,25 +122,30 @@ return_policy (struct MHD_Connection *connection,
{
char *sig_s;
char *etag;
+ char *etagq;
sig_s = GNUNET_STRINGS_data_to_string_alloc (&account_sig,
sizeof (account_sig));
- etag = GNUNET_STRINGS_data_to_string_alloc (&recovery_data_hash,
- sizeof (recovery_data_hash));
GNUNET_break (MHD_YES ==
MHD_add_response_header (resp,
ANASTASIS_HTTP_HEADER_POLICY_SIGNATURE,
sig_s));
+ GNUNET_free (sig_s);
GNUNET_break (MHD_YES ==
MHD_add_response_header (resp,
ANASTASIS_HTTP_HEADER_POLICY_VERSION,
version_s));
+ etag = GNUNET_STRINGS_data_to_string_alloc (&recovery_data_hash,
+ sizeof (recovery_data_hash));
+ GNUNET_asprintf (&etagq,
+ "\"%s\"",
+ etag);
+ GNUNET_free (etag);
GNUNET_break (MHD_YES ==
MHD_add_response_header (resp,
MHD_HTTP_HEADER_ETAG,
- etag));
- GNUNET_free (etag);
- GNUNET_free (sig_s);
+ etagq));
+ GNUNET_free (etagq);
}
{
MHD_RESULT ret;
@@ -203,13 +208,16 @@ AH_policy_get (struct MHD_Connection *connection,
inm = MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_IF_NONE_MATCH);
- if (NULL != inm)
+ if ( (NULL != inm) &&
+ (2 < strlen (inm)) &&
+ ('"' == inm[0]) &&
+ ('"' == inm[strlen (inm) - 1]) )
{
struct GNUNET_HashCode inm_h;
if (GNUNET_OK !=
- GNUNET_STRINGS_string_to_data (inm,
- strlen (inm),
+ GNUNET_STRINGS_string_to_data (inm + 1,
+ strlen (inm) - 2,
&inm_h,
sizeof (inm_h)))
{
diff --git a/src/restclient/anastasis_api_policy_store.c b/src/restclient/anastasis_api_policy_store.c
index 5cfcfcb..3afee7d 100644
--- a/src/restclient/anastasis_api_policy_store.c
+++ b/src/restclient/anastasis_api_policy_store.c
@@ -417,7 +417,7 @@ ANASTASIS_policy_store (
val = GNUNET_STRINGS_data_to_string_alloc (&usp.new_recovery_data_hash,
sizeof (struct GNUNET_HashCode));
GNUNET_asprintf (&hdr,
- "%s: %s",
+ "%s: \"%s\"",
MHD_HTTP_HEADER_IF_NONE_MATCH,
val);
GNUNET_free (val);
diff --git a/src/testing/test_anastasis_api_home/taler/exchange/offline-keys/secm_tofus.pub b/src/testing/test_anastasis_api_home/taler/exchange/offline-keys/secm_tofus.pub
index b086cd1..09a3ebd 100644
--- a/src/testing/test_anastasis_api_home/taler/exchange/offline-keys/secm_tofus.pub
+++ b/src/testing/test_anastasis_api_home/taler/exchange/offline-keys/secm_tofus.pub
Binary files differ
diff --git a/src/testing/testing_api_cmd_config.c b/src/testing/testing_api_cmd_config.c
index 069200b..542e140 100644
--- a/src/testing/testing_api_cmd_config.c
+++ b/src/testing/testing_api_cmd_config.c
@@ -75,6 +75,7 @@ config_cb (void *cls,
TALER_TESTING_unexpected_status (ss->is,
config->http_status,
ss->http_status);
+ return;
}
if (GNUNET_OK == config->http_status)
{
diff --git a/src/testing/testing_api_cmd_policy_lookup.c b/src/testing/testing_api_cmd_policy_lookup.c
index 58c7ddb..2d854c5 100644
--- a/src/testing/testing_api_cmd_policy_lookup.c
+++ b/src/testing/testing_api_cmd_policy_lookup.c
@@ -86,6 +86,7 @@ policy_lookup_cb (void *cls,
TALER_TESTING_unexpected_status (pls->is,
dd->http_status,
pls->http_status);
+ return;
}
if (NULL != pls->upload_reference)
{
diff --git a/src/testing/testing_api_cmd_policy_store.c b/src/testing/testing_api_cmd_policy_store.c
index e5404d0..edc753d 100644
--- a/src/testing/testing_api_cmd_policy_store.c
+++ b/src/testing/testing_api_cmd_policy_store.c
@@ -142,6 +142,7 @@ policy_store_cb (void *cls,
TALER_TESTING_unexpected_status (pss->is,
ud->http_status,
pss->http_status);
+ return;
}
switch (ud->us)
{
diff --git a/src/testing/testing_api_cmd_truth_challenge.c b/src/testing/testing_api_cmd_truth_challenge.c
index e4ea16b..c399345 100644
--- a/src/testing/testing_api_cmd_truth_challenge.c
+++ b/src/testing/testing_api_cmd_truth_challenge.c
@@ -103,6 +103,7 @@ truth_challenge_cb (void *cls,
TALER_TESTING_unexpected_status (ksls->is,
tcd->http_status,
ksls->expected_http_status);
+ return;
}
switch (tcd->http_status)
{
diff --git a/src/testing/testing_api_cmd_truth_solve.c b/src/testing/testing_api_cmd_truth_solve.c
index 40e662d..29157ed 100644
--- a/src/testing/testing_api_cmd_truth_solve.c
+++ b/src/testing/testing_api_cmd_truth_solve.c
@@ -130,6 +130,7 @@ truth_solve_cb (void *cls,
TALER_TESTING_unexpected_status (ksls->is,
tsr->http_status,
ksls->expected_http_status);
+ return;
}
switch (tsr->http_status)
{
diff --git a/src/testing/testing_api_cmd_truth_store.c b/src/testing/testing_api_cmd_truth_store.c
index 675bc61..f7a6ece 100644
--- a/src/testing/testing_api_cmd_truth_store.c
+++ b/src/testing/testing_api_cmd_truth_store.c
@@ -130,6 +130,7 @@ truth_store_cb (void *cls,
TALER_TESTING_unexpected_status (tss->is,
ud->http_status,
tss->http_status);
+ return;
}
switch (ud->us)
{