gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-sync] branch master updated: adjust to spec


From: gnunet
Subject: [taler-sync] branch master updated: adjust to spec
Date: Sun, 17 Nov 2019 21:01:44 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository sync.

The following commit(s) were added to refs/heads/master by this push:
     new c96c9e1  adjust to spec
c96c9e1 is described below

commit c96c9e1656e86c059ab5e8ce239783fc8cbebda7
Author: Christian Grothoff <address@hidden>
AuthorDate: Sun Nov 17 21:01:42 2019 +0100

    adjust to spec
---
 src/include/sync_service.h        |  1 +
 src/sync/sync-httpd.c             | 33 +++++++++++++++++++++++++--------
 src/sync/sync-httpd.h             |  4 ++--
 src/sync/sync-httpd_backup_post.c |  2 +-
 src/sync/sync-httpd_terms.c       |  6 ++++--
 src/sync/sync.conf                |  5 ++---
 6 files changed, 35 insertions(+), 16 deletions(-)

diff --git a/src/include/sync_service.h b/src/include/sync_service.h
index b210921..627be51 100644
--- a/src/include/sync_service.h
+++ b/src/include/sync_service.h
@@ -22,6 +22,7 @@
 #define SYNC_SERVICE_H
 
 #include <gnunet/gnunet_util_lib.h>
+#include <taler/taler_error_codes.h>
 #include <gnunet/gnunet_curl_lib.h>
 #include <jansson.h>
 
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/

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]