From fbbf35c87ff71b6dc1e29718c591ea47f2c5eb1e Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 25 Apr 2016 00:26:34 +0200 Subject: [PATCH 1/2] fix #4438 --- configure.ac | 54 ++++++++++++++++++++++++++++++++++++++ src/exchangedb/Makefile.am | 8 +++--- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 52af3e4c5..aaf6c204d 100644 --- a/configure.ac +++ b/configure.ac @@ -98,6 +98,60 @@ AS_IF([test $libgnunetutil != 1], *** ]])]) +# Check for GNUnet's libgnunetjson. +libgnunetjson=0 +AC_MSG_CHECKING([for libgnunetjson]) +AC_ARG_WITH(gnunet, + [AS_HELP_STRING([--with-gnunet=PFX], [base of GNUnet installation])], + [AC_MSG_RESULT([given as $with_gnunet])], + [AC_MSG_RESULT(not given) + with_gnunet=yes]) +AS_CASE([$with_gnunet], + [yes], [], + [no], [AC_MSG_ERROR([--with-gnunet is required])], + [LDFLAGS="-L$with_gnunet/lib $LDFLAGS" + CPPFLAGS="-I$with_gnunet/include $CPPFLAGS"]) +AC_CHECK_HEADERS([gnunet/platform.h gnunet/gnunet_json_lib.h], + [AC_CHECK_LIB([gnunetjson], [GNUNET_JSON_parse], libgnunetjson=1)], + [], [#ifdef HAVE_GNUNET_PLATFORM_H + #include + #endif]) +AS_IF([test $libgnunetjson != 1], + [AC_MSG_ERROR([[ +*** +*** You need libgnunetjson to build this program. +*** Make sure you have libjansson installed while +*** building GNUnet. +*** ]])]) + + +# Check for GNUnet's libgnunetcurl. +libgnunetcurl=0 +AC_MSG_CHECKING([for libgnunetcurl]) +AC_ARG_WITH(gnunet, + [AS_HELP_STRING([--with-gnunet=PFX], [base of GNUnet installation])], + [AC_MSG_RESULT([given as $with_gnunet])], + [AC_MSG_RESULT(not given) + with_gnunet=yes]) +AS_CASE([$with_gnunet], + [yes], [], + [no], [AC_MSG_ERROR([--with-gnunet is required])], + [LDFLAGS="-L$with_gnunet/lib $LDFLAGS" + CPPFLAGS="-I$with_gnunet/include $CPPFLAGS"]) +AC_CHECK_HEADERS([gnunet/platform.h gnunet/gnunet_curl_lib.h], + [AC_CHECK_LIB([gnunetcurl], [GNUNET_CURL_get_select_info], libgnunetcurl=1)], + [], [#ifdef HAVE_GNUNET_PLATFORM_H + #include + #endif]) +AS_IF([test $libgnunetcurl != 1], + [AC_MSG_ERROR([[ +*** +*** You need libgnunetcurl to build this program. +*** Make sure you have libcurl or libgnurl installed while +*** building GNUnet. +*** ]])]) + + # check for libmicrohttpd microhttpd=0 AC_MSG_CHECKING([for microhttpd]) diff --git a/src/exchangedb/Makefile.am b/src/exchangedb/Makefile.am index 0c6a73138..83be82a23 100644 --- a/src/exchangedb/Makefile.am +++ b/src/exchangedb/Makefile.am @@ -14,7 +14,9 @@ pkgcfg_DATA = \ EXTRA_DIST = \ exchangedb.conf \ - exchangedb-postgres.conf + exchangedb-postgres.conf \ + plugin_exchangedb_common.c \ + test-exchange-db-postgres.conf plugindir = $(libdir)/taler @@ -24,10 +26,6 @@ plugin_LTLIBRARIES = \ libtaler_plugin_exchangedb_postgres.la endif -EXTRA_DIST = \ - plugin_exchangedb_common.c \ - test-exchange-db-postgres.conf - libtaler_plugin_exchangedb_postgres_la_SOURCES = \ plugin_exchangedb_postgres.c libtaler_plugin_exchangedb_postgres_la_LIBADD = \ From 47c3a489e2dd89e0e9054f5e1735e549e7e2c83e Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 25 Apr 2016 00:31:23 +0200 Subject: [PATCH 2/2] presumably fixing #4455. A check did exist (see taler-exchange-httpd_deposit.c:225), but the two checks disagreed whether it was OK for the fee to be exactly equal to the amount. Now both checks allow the fee to be equal to the amount. --- src/exchange/taler-exchange-httpd_db.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c index 1e392c584..4b6b458ce 100644 --- a/src/exchange/taler-exchange-httpd_db.c +++ b/src/exchange/taler-exchange-httpd_db.c @@ -246,7 +246,7 @@ TMH_DB_execute_deposit (struct MHD_Connection *connection, } COMMIT_TRANSACTION(session, connection); - GNUNET_assert (GNUNET_OK == + GNUNET_assert (GNUNET_SYSERR != TALER_amount_subtract (&amount_without_fee, &deposit->amount_with_fee, &deposit->deposit_fee));