diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-11-17 21:01:42 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-11-17 21:01:42 +0100 |
commit | c96c9e1656e86c059ab5e8ce239783fc8cbebda7 (patch) | |
tree | 90ecbd2a36ff685a87ff71b60c610c9aaa51b1ad /src/sync | |
parent | 398692841c64a0c486af1bfbeb47df3bc0cc3534 (diff) | |
download | sync-c96c9e1656e86c059ab5e8ce239783fc8cbebda7.tar.gz sync-c96c9e1656e86c059ab5e8ce239783fc8cbebda7.tar.bz2 sync-c96c9e1656e86c059ab5e8ce239783fc8cbebda7.zip |
adjust to spec
Diffstat (limited to 'src/sync')
-rw-r--r-- | src/sync/sync-httpd.c | 33 | ||||
-rw-r--r-- | src/sync/sync-httpd.h | 4 | ||||
-rw-r--r-- | src/sync/sync-httpd_backup_post.c | 2 | ||||
-rw-r--r-- | src/sync/sync-httpd_terms.c | 6 | ||||
-rw-r--r-- | src/sync/sync.conf | 5 |
5 files changed, 34 insertions, 16 deletions
diff --git a/src/sync/sync-httpd.c b/src/sync/sync-httpd.c index ec5ae46..d8f8072 100644 --- a/src/sync/sync-httpd.c +++ b/src/sync/sync-httpd.c @@ -61,9 +61,9 @@ struct TALER_Amount SH_annual_fee; char *SH_backend_url; /** - * Our own base URL + * Our fulfillment URL. */ -char *SH_my_base_url; +char *SH_fulfillment_url; /** * Our context for making HTTP requests. @@ -187,6 +187,11 @@ url_handler (void *cls, &SH_handler_terms, MHD_HTTP_OK }, {NULL, NULL, NULL, NULL, 0, 0 } }; + static struct SH_RequestHandler h400 = { + "", NULL, "text/plain", + "Invalid account key", 0, + &SH_MHD_handler_static_response, MHD_HTTP_BAD_REQUEST + }; static struct SH_RequestHandler h404 = { "", NULL, "text/html", "<html><title>404: not found</title></html>", 0, @@ -235,11 +240,23 @@ url_handler (void *cls, method, url); - if (GNUNET_OK == - GNUNET_CRYPTO_eddsa_public_key_from_string (url, - strlen (url), - &account_pub.eddsa_pub)) + if (0 == strncmp (url, + "/backups/", + strlen ("/backups/"))) { + const char *ac = &url[strlen ("/backups/")]; + + if (GNUNET_OK != + GNUNET_CRYPTO_eddsa_public_key_from_string (ac, + strlen (ac), + &account_pub.eddsa_pub)) + { + return SH_MHD_handler_static_response (&h400, + connection, + con_cls, + upload_data, + upload_data_size); + } if (0 == strcasecmp (method, MHD_HTTP_METHOD_GET)) { @@ -537,8 +554,8 @@ run (void *cls, if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (config, "sync", - "BASE_URL", - &SH_my_base_url)) + "FULFILLMENT_URL", + &SH_fulfillment_url)) { GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, "sync", diff --git a/src/sync/sync-httpd.h b/src/sync/sync-httpd.h index a922991..33cdb26 100644 --- a/src/sync/sync-httpd.h +++ b/src/sync/sync-httpd.h @@ -147,9 +147,9 @@ extern struct TALER_Amount SH_annual_fee; extern char *SH_backend_url; /** - * Our own base URL + * Our fulfillment URL */ -extern char *SH_my_base_url; +extern char *SH_fulfillment_url; /** * Our context for making HTTP requests. diff --git a/src/sync/sync-httpd_backup_post.c b/src/sync/sync-httpd_backup_post.c index 0866784..deb6701 100644 --- a/src/sync/sync-httpd_backup_post.c +++ b/src/sync/sync-httpd_backup_post.c @@ -449,7 +449,7 @@ begin_payment (struct BackupContext *bc, order = json_pack ("{s:o, s:s, s:s}", "amount", TALER_JSON_from_amount (&SH_annual_fee), "summary", "annual fee for sync service", - "fulfillment_url", SH_my_base_url); + "fulfillment_url", SH_fulfillment_url); bc->po = TALER_MERCHANT_order_put (SH_ctx, SH_backend_url, order, diff --git a/src/sync/sync-httpd_terms.c b/src/sync/sync-httpd_terms.c index 710f2c6..a96e4d5 100644 --- a/src/sync/sync-httpd_terms.c +++ b/src/sync/sync-httpd_terms.c @@ -43,9 +43,11 @@ SH_handler_terms (struct SH_RequestHandler *rh, { return SH_RESPONSE_reply_json_pack (connection, MHD_HTTP_OK, - "{s:I, s:o}", + "{s:I, s:o, s:s}", "storage_limit_in_megabytes", (json_int_t) SH_upload_limit_mb, "annual_fee", - TALER_JSON_from_amount (&SH_annual_fee)); + TALER_JSON_from_amount (&SH_annual_fee), + "version", + "0.0"); } diff --git a/src/sync/sync.conf b/src/sync/sync.conf index 459c5c6..2b1d1d0 100644 --- a/src/sync/sync.conf +++ b/src/sync/sync.conf @@ -31,9 +31,8 @@ ANNUAL_FEE = TESTKUDOS:0.1 # Upload limit per backup, in megabytes UPLOAD_LIMIT_MB = 16 -# Public base URL of the SYNC service itself. Used for the -# fulfillment URL. -BASE_URL = https://localhost:9967/ +# Fulfillment URL of the SYNC service itself. +FULFILLMENT_URL = taler://fulfillment-success # Base URL of our payment backend PAYMENT_BACKEND_URL = http://localhost:9966/ |