gnunet-svn
[Top][All Lists]
Advanced

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

[taler-sync] branch master updated (d9ce406 -> d3a649c)


From: gnunet
Subject: [taler-sync] branch master updated (d9ce406 -> d3a649c)
Date: Thu, 14 Nov 2019 19:47:23 +0100

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

grothoff pushed a change to branch master
in repository sync.

    from d9ce406  first cut at syncdb plugin
     new fe0de89  work on build system
     new d3a649c  fix ftbfs of syncdb

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 configure.ac                        | 14 ++++----
 {src => doc}/Makefile.am            |  2 +-
 src/include/sync_database_plugin.h  | 38 +-------------------
 src/include/sync_service.h          | 41 ++++++++++++++++-----
 src/syncdb/Makefile.am              |  5 +--
 src/syncdb/plugin_syncdb_postgres.c | 72 +++++++++++++++++++++++++++----------
 src/util/Makefile.am                |  3 --
 7 files changed, 99 insertions(+), 76 deletions(-)
 copy {src => doc}/Makefile.am (67%)

diff --git a/configure.ac b/configure.ac
index 1250b6d..37784fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,9 +4,9 @@
 # This configure file is in the public domain
 
 AC_PREREQ([2.69])
-AC_INIT([anastasis], [0.5.0], [address@hidden])
-AC_CONFIG_SRCDIR([src/backend/anastasis-httpd.c])
-AC_CONFIG_HEADERS([anastasis_config.h])
+AC_INIT([sync], [0.5.0], [address@hidden])
+AC_CONFIG_SRCDIR([src/sync/sync-httpd.c])
+AC_CONFIG_HEADERS([sync_config.h])
 # support for non-recursive builds
 AM_INIT_AUTOMAKE([subdir-objects 1.9 tar-pax])
 
@@ -17,7 +17,7 @@ AC_CONFIG_MACRO_DIR([m4])
 
 LT_INIT
 
-DX_INIT_DOXYGEN([anastasis],,,
+DX_INIT_DOXYGEN([sync],,,
 DX_PS_FEATURE(OFF),
 DX_PDF_FEATURE(OFF),
 DX_RTF_FEATURE(OFF),
@@ -300,10 +300,10 @@ AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test 
"x$enable_experimental" = "xyes"])
 AC_CONFIG_FILES([Makefile
 doc/Makefile
 src/Makefile
-src/util/Makefile
-src/stasis/Makefile
-src/backend/Makefile
 src/include/Makefile
 src/lib/Makefile
+src/sync/Makefile
+src/syncdb/Makefile
+src/util/Makefile
 ])
 AC_OUTPUT
diff --git a/src/Makefile.am b/doc/Makefile.am
similarity index 67%
copy from src/Makefile.am
copy to doc/Makefile.am
index cd274f1..737ac0c 100644
--- a/src/Makefile.am
+++ b/doc/Makefile.am
@@ -1,3 +1,3 @@
 # This Makefile is in the public domain
 AM_CPPFLAGS = -I$(top_srcdir)/src/include
-SUBDIRS = include util syncdb sync lib
+SUBDIRS = .
diff --git a/src/include/sync_database_plugin.h 
b/src/include/sync_database_plugin.h
index b847888..36162c6 100644
--- a/src/include/sync_database_plugin.h
+++ b/src/include/sync_database_plugin.h
@@ -22,46 +22,10 @@
 #define SYNC_DATABASE_PLUGIN_H
 
 #include <gnunet/gnunet_util_lib.h>
-#include <sync_error_codes.h>
 #include "sync_service.h"
 #include <jansson.h>
 #include <taler/taler_util.h>
 
-/**
- * Private key identifying an account.
- */
-struct SYNC_AccountPrivateKey
-{
-  /**
-   * We use EdDSA.
-   */
-  struct GNUNET_EdDSAPrivateKey eddsa_priv;
-};
-
-
-/**
- * Public key identifying an account.
- */
-struct SYNC_AccountPublicKey
-{
-  /**
-   * We use EdDSA.
-   */
-  struct GNUNET_EdDSAPrivateKey eddsa_priv;
-};
-
-
-/**
- * Signature made with an account's public key.
- */
-struct SYNC_AccountSignature
-{
-  /**
-   * We use EdDSA.
-   */
-  struct GNUNET_EdDSASignature eddsa_sig;
-};
-
 
 /**
  * Possible status codes returned from the SYNC database.
@@ -76,7 +40,7 @@ enum SYNC_DB_QueryStatus
   /**
    * Account is unpaid.
    */
-  SYNC_DB_QS_PAYMENT_REQUIRED = -3,
+  SYNC_DB_PAYMENT_REQUIRED = -3,
 
   /**
    * Hard database issue, retries futile.
diff --git a/src/include/sync_service.h b/src/include/sync_service.h
index efe46fe..d0c79af 100644
--- a/src/include/sync_service.h
+++ b/src/include/sync_service.h
@@ -21,16 +21,44 @@
 #ifndef _SYNC_SERVICE_H
 #define _SYNC_SERVICE_H
 
+#include <gnunet/gnunet_util_lib.h>
 #include <gnunet/gnunet_curl_lib.h>
 #include <jansson.h>
 
 
 /**
- * An EdDSA public key that is used to identify a user's account.
+ * Private key identifying an account.
  */
-struct SYNC_AccountPubP
+struct SYNC_AccountPrivateKey
 {
-  struct GNUNET_CRYPTO_EddsaPublicKey pub;
+  /**
+   * We use EdDSA.
+   */
+  struct GNUNET_CRYPTO_EddsaPrivateKey eddsa_priv;
+};
+
+
+/**
+ * Public key identifying an account.
+ */
+struct SYNC_AccountPublicKey
+{
+  /**
+   * We use EdDSA.
+   */
+  struct GNUNET_CRYPTO_EddsaPrivateKey eddsa_priv;
+};
+
+
+/**
+ * Signature made with an account's public key.
+ */
+struct SYNC_AccountSignature
+{
+  /**
+   * We use EdDSA.
+   */
+  struct GNUNET_CRYPTO_EddsaSignature eddsa_sig;
 };
 
 
@@ -46,19 +74,16 @@ void
 SYNC_upload_cancel (struct SYNC_UploadOperation *uo);
 
 
-
 struct SYNC_DownloadOperation;
 
 struct SYNC_DownloadOperation *
 SYNC_download (struct GNUNET_CURL_Context *ctx,
-             const char *base_url,
-             ...);
+               const char *base_url,
+               ...);
 
 
 void
 SYNC_download_cancel (struct SYNC_DownloadOperation *uo);
 
 
-
-
 #endif  /* _SYNC_SERVICE_H */
diff --git a/src/syncdb/Makefile.am b/src/syncdb/Makefile.am
index 9b3d4b0..e181df9 100644
--- a/src/syncdb/Makefile.am
+++ b/src/syncdb/Makefile.am
@@ -22,6 +22,7 @@ libsyncdb_la_SOURCES = \
   sync_db_plugin.c
 
 libsyncdb_la_LIBADD = \
+  $(top_builddir)/src/util/libsyncutil.la \
   -lgnunetpq \
   -lpq \
   -lgnunetutil
@@ -35,6 +36,7 @@ libsync_plugin_db_postgres_la_SOURCES = \
 libsync_plugin_db_postgres_la_LIBADD = \
   $(LTLIBINTL)
 libsync_plugin_db_postgres_la_LDFLAGS = \
+  $(top_builddir)/src/util/libsyncutil.la \
   $(TALER_PLUGIN_LDFLAGS) \
   -lgnunetpq \
   -lpq \
@@ -52,8 +54,7 @@ test_sync_db_postgres_LDFLAGS = \
   -lgnunetutil \
   -lgnunetpq \
   -ltalerutil \
-  -ltalerpq \
-  -luuid
+  -ltalerpq
 
 TESTS = \
   test_sync_db-postgres
diff --git a/src/syncdb/plugin_syncdb_postgres.c 
b/src/syncdb/plugin_syncdb_postgres.c
index d1c3e3e..d1c49b5 100644
--- a/src/syncdb/plugin_syncdb_postgres.c
+++ b/src/syncdb/plugin_syncdb_postgres.c
@@ -20,6 +20,7 @@
  */
 #include "platform.h"
 #include <gnunet/gnunet_util_lib.h>
+#include <gnunet/gnunet_db_lib.h>
 #include <gnunet/gnunet_pq_lib.h>
 #include <taler/taler_pq_lib.h>
 #include "sync_database_plugin.h"
@@ -255,7 +256,7 @@ postgres_store_backup (void *cls,
                        const void *backup)
 {
   struct PostgresClosure *pg = cls;
-  struct GNUNET_PQ_QueryStatus qs;
+  enum GNUNET_DB_QueryStatus qs;
   struct GNUNET_HashCode bh;
 
   check_connection (pg);
@@ -282,11 +283,14 @@ postgres_store_backup (void *cls,
   case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
     GNUNET_break (0);
     return SYNC_DB_NO_RESULTS;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     return SYNC_DB_ONE_RESULT;
   case GNUNET_DB_STATUS_HARD_ERROR:
     /* handle interesting case below */
     break;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
 
   /* First, check if account exists */
@@ -316,9 +320,12 @@ postgres_store_backup (void *cls,
     return SYNC_DB_SOFT_ERROR;
   case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
     return SYNC_DB_PAYMENT_REQUIRED;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     /* handle interesting case below */
     break;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
 
   /* account exists, check if existing backup conflicts */
@@ -348,9 +355,12 @@ postgres_store_backup (void *cls,
   case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
     /* original error must have been a hard error, oddly enough */
     return SYNC_DB_HARD_ERROR;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     /* handle interesting case below */
     break;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
 
   /* had an existing backup, is it identical? */
@@ -385,7 +395,7 @@ postgres_update_backup (void *cls,
                         const void *backup)
 {
   struct PostgresClosure *pg = cls;
-  struct GNUNET_PQ_QueryStatus qs;
+  enum GNUNET_DB_QueryStatus qs;
   struct GNUNET_HashCode bh;
 
   check_connection (pg);
@@ -413,11 +423,14 @@ postgres_update_backup (void *cls,
   case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
     GNUNET_break (0);
     return SYNC_DB_NO_RESULTS;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     return SYNC_DB_ONE_RESULT;
   case GNUNET_DB_STATUS_HARD_ERROR:
     /* handle interesting case below */
     break;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
 
   /* First, check if account exists */
@@ -447,9 +460,12 @@ postgres_update_backup (void *cls,
     return SYNC_DB_SOFT_ERROR;
   case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
     return SYNC_DB_PAYMENT_REQUIRED;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     /* handle interesting case below */
     break;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
 
   /* account exists, check if existing backup conflicts */
@@ -480,9 +496,12 @@ postgres_update_backup (void *cls,
     /* Well, trying to update where there is no original
        is a hard erorr, even though an odd one */
     return SYNC_DB_HARD_ERROR;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     /* handle interesting case below */
     break;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
 
   /* had an existing backup, is it identical? */
@@ -519,6 +538,7 @@ postgres_lookup_backup (void *cls,
                         void **backup)
 {
   struct PostgresClosure *pg = cls;
+  enum GNUNET_DB_QueryStatus qs;
   struct GNUNET_PQ_QueryParam params[] = {
     GNUNET_PQ_query_param_auto_from_type (account_pub),
     GNUNET_PQ_query_param_end
@@ -529,8 +549,8 @@ postgres_lookup_backup (void *cls,
     GNUNET_PQ_result_spec_auto_from_type ("backup_hash",
                                           backup_hash),
     GNUNET_PQ_result_spec_variable_size ("data",
-                                         &backup,
-                                         &backup_size),
+                                         backup,
+                                         backup_size),
     GNUNET_PQ_result_spec_end
   };
 
@@ -549,8 +569,11 @@ postgres_lookup_backup (void *cls,
     return SYNC_DB_SOFT_ERROR;
   case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
     return SYNC_DB_NO_RESULTS;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     return SYNC_DB_ONE_RESULT;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
 }
 
@@ -570,7 +593,7 @@ postgres_increment_lifetime (void *cls,
 {
   struct PostgresClosure *pg = cls;
   struct GNUNET_TIME_Absolute expiration;
-  struct GNUNET_PQ_QueryStatus qs;
+  enum GNUNET_DB_QueryStatus qs;
 
   check_connection (pg);
   if (GNUNET_OK !=
@@ -586,12 +609,12 @@ postgres_increment_lifetime (void *cls,
       GNUNET_PQ_query_param_end
     };
     struct GNUNET_PQ_ResultSpec rs[] = {
-      TALER_PQ_result_spec_absolute_time ("wire_deadline",
-                                          &wire_deadline),
+      TALER_PQ_result_spec_absolute_time ("expiration_date",
+                                          &expiration),
       GNUNET_PQ_result_spec_end
     };
 
-    qs = GNUNET_PQ_eval_prepared_singleton_select (session->conn,
+    qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
                                                    "account_select",
                                                    params,
                                                    rs);
@@ -613,12 +636,13 @@ postgres_increment_lifetime (void *cls,
         GNUNET_PQ_query_param_end
       };
 
+      expiration = GNUNET_TIME_relative_to_absolute (lifetime);
       qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
                                                "account_insert",
                                                params);
     }
     break;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     {
       struct GNUNET_PQ_QueryParam params[] = {
         GNUNET_PQ_query_param_absolute_time (&expiration),
@@ -626,11 +650,16 @@ postgres_increment_lifetime (void *cls,
         GNUNET_PQ_query_param_end
       };
 
+      expiration = GNUNET_TIME_absolute_add (expiration,
+                                             lifetime);
       qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
                                                "account_update",
                                                params);
     }
     break;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
   switch (qs)
   {
@@ -645,8 +674,11 @@ postgres_increment_lifetime (void *cls,
     GNUNET_break (0);
     rollback (pg);
     return SYNC_DB_NO_RESULTS;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     break;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
   qs = commit_transaction (pg);
   switch (qs)
@@ -658,8 +690,11 @@ postgres_increment_lifetime (void *cls,
     return SYNC_DB_SOFT_ERROR;
   case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
     return SYNC_DB_ONE_RESULT;
-  case GNUNET_DB_STATUS_SUCCESS_RESULT_ONE:
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     return SYNC_DB_ONE_RESULT;
+  default:
+    GNUNET_break (0);
+    return SYNC_DB_HARD_ERROR;
   }
 }
 
@@ -789,6 +824,7 @@ libsync_plugin_db_postgres_init (void *cls)
   plugin->drop_tables = &postgres_drop_tables;
   plugin->gc = &postgres_gc;
   plugin->store_backup_TR = &postgres_store_backup;
+  plugin->lookup_backup_TR = &postgres_lookup_backup;
   plugin->update_backup_TR = &postgres_update_backup;
   plugin->increment_lifetime_TR = &postgres_increment_lifetime;
   return plugin;
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index bc1291c..a8bb4d4 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -9,9 +9,6 @@ endif
 
 pkgcfgdir = $(prefix)/share/sync/config.d/
 
-pkgcfg_DATA = \
-  paths.conf
-
 bin_SCRIPTS = \
   sync-config
 

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



reply via email to

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