diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/Makefile.am | 14 | ||||
-rw-r--r-- | src/util/amount.c | 2 | ||||
-rw-r--r-- | src/util/crypto.c | 2 | ||||
-rw-r--r-- | src/util/json.c | 2 | ||||
-rw-r--r-- | src/util/os_installation.c | 2 | ||||
-rw-r--r-- | src/util/plugin.c | 88 | ||||
-rw-r--r-- | src/util/test_amount.c | 2 | ||||
-rw-r--r-- | src/util/test_crypto.c | 2 | ||||
-rw-r--r-- | src/util/test_json.c | 2 | ||||
-rw-r--r-- | src/util/test_wireformats.c | 97 | ||||
-rw-r--r-- | src/util/util.c | 2 | ||||
-rw-r--r-- | src/util/wireformats.c | 2 |
12 files changed, 100 insertions, 117 deletions
diff --git a/src/util/Makefile.am b/src/util/Makefile.am index eaf3a4827..8efc3987a 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -33,6 +33,7 @@ libtalerutil_la_SOURCES = \ util.c \ json.c \ os_installation.c \ + plugin.c \ wireformats.c libtalerutil_la_LIBADD = \ @@ -48,14 +49,12 @@ libtalerutil_la_LDFLAGS = \ TESTS = \ test_amount \ test_crypto \ - test_json \ - test_wireformats + test_json check_PROGRAMS= \ test_amount \ test_crypto \ - test_json \ - test_wireformats + test_json test_amount_SOURCES = \ @@ -76,10 +75,3 @@ test_json_LDADD = \ -lgnunetutil \ -ljansson \ libtalerutil.la - -test_wireformats_SOURCES = \ - test_wireformats.c -test_wireformats_LDADD = \ - -lgnunetutil \ - -ljansson \ - libtalerutil.la diff --git a/src/util/amount.c b/src/util/amount.c index 7260b150f..dc2d2e400 100644 --- a/src/util/amount.c +++ b/src/util/amount.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2014 Christian Grothoff (and other contributing authors) + Copyright (C) 2014 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/util/crypto.c b/src/util/crypto.c index ebf6413db..9e6890569 100644 --- a/src/util/crypto.c +++ b/src/util/crypto.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2014, 2015 Christian Grothoff (and other contributing authors) + Copyright (C) 2014, 2015 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/util/json.c b/src/util/json.c index cea0118e1..6aca7548c 100644 --- a/src/util/json.c +++ b/src/util/json.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2014, 2015 Christian Grothoff (and other contributing authors) + Copyright (C) 2014, 2015 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/util/os_installation.c b/src/util/os_installation.c index ec1868a84..0eab118fe 100644 --- a/src/util/os_installation.c +++ b/src/util/os_installation.c @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - Copyright (C) 2006-2014 Christian Grothoff (and other contributing authors) + Copyright (C) 2006-2014 GNUnet e.V. GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/src/util/plugin.c b/src/util/plugin.c new file mode 100644 index 000000000..6f8e03df6 --- /dev/null +++ b/src/util/plugin.c @@ -0,0 +1,88 @@ +/* + This file is part of TALER + Copyright (C) 2015 GNUnet e.V. + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> +*/ +/** + * @file util/plugin.c + * @brief Setup paths so that we can load Taler plugins + * @author Christian Grothoff + * @author Sree Harsha Totakura <sreeharsha@totakura.in> + */ +#include "platform.h" +#include "taler_util.h" +#include <ltdl.h> + +/** + * Libtool search path before we started. + */ +static char *old_dlsearchpath; + + +/** + * Setup libtool paths. + */ +void __attribute__ ((constructor)) +plugin_init () +{ + int err; + const char *opath; + char *path; + char *cpath; + + err = lt_dlinit (); + if (err > 0) + { + FPRINTF (stderr, + _("Initialization of plugin mechanism failed: %s!\n"), + lt_dlerror ()); + return; + } + opath = lt_dlgetsearchpath (); + if (NULL != opath) + old_dlsearchpath = GNUNET_strdup (opath); + path = TALER_OS_installation_get_path (GNUNET_OS_IPK_LIBDIR); + if (NULL != path) + { + if (NULL != opath) + { + GNUNET_asprintf (&cpath, "%s:%s", opath, path); + lt_dlsetsearchpath (cpath); + GNUNET_free (path); + GNUNET_free (cpath); + } + else + { + lt_dlsetsearchpath (path); + GNUNET_free (path); + } + } +} + + +/** + * Shutdown libtool. + */ +void __attribute__ ((destructor)) +plugin_fini () +{ + lt_dlsetsearchpath (old_dlsearchpath); + if (NULL != old_dlsearchpath) + { + GNUNET_free (old_dlsearchpath); + old_dlsearchpath = NULL; + } + lt_dlexit (); +} + +/* end of plugin.c */ diff --git a/src/util/test_amount.c b/src/util/test_amount.c index 4741bcf36..3f33334bc 100644 --- a/src/util/test_amount.c +++ b/src/util/test_amount.c @@ -1,6 +1,6 @@ /* This file is part of TALER - (C) 2015 Christian Grothoff (and other contributing authors) + (C) 2015 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/util/test_crypto.c b/src/util/test_crypto.c index a5313195a..59acd7814 100644 --- a/src/util/test_crypto.c +++ b/src/util/test_crypto.c @@ -1,6 +1,6 @@ /* This file is part of TALER - (C) 2015 Christian Grothoff (and other contributing authors) + (C) 2015 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/util/test_json.c b/src/util/test_json.c index c48fe68bd..5e2f50fe8 100644 --- a/src/util/test_json.c +++ b/src/util/test_json.c @@ -1,6 +1,6 @@ /* This file is part of TALER - (C) 2015 Christian Grothoff (and other contributing authors) + (C) 2015 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/util/test_wireformats.c b/src/util/test_wireformats.c deleted file mode 100644 index 7e0e5bbc4..000000000 --- a/src/util/test_wireformats.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - This file is part of TALER - (C) 2014 Christian Grothoff (and other contributing authors) - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> -*/ - -/** - * @file util/test_wireformats.c - * @brief Tests for JSON validations - * @author Sree Harsha Totakura <sreeharsha@totakura.in> - */ - -#include "platform.h" -#include "taler_util.h" -#include "taler_json_lib.h" - -/* Valid SEPA data */ -static const char * const valid_wire_str = - "{ \"type\":\"SEPA\", \ -\"IBAN\":\"DE67830654080004822650\", \ -\"name\":\"GNUnet e.V.\", \ -\"bic\":\"GENODEF1SLR\", \ -\"r\":123456789, \ -\"address\": \"foobar\"}"; - -/* IBAN has wrong country code */ -static const char * const invalid_wire_str = - "{ \"type\":\"SEPA\", \ -\"IBAN\":\"XX67830654080004822650\", \ -\"name\":\"GNUnet e.V.\", \ -\"bic\":\"GENODEF1SLR\", \ -\"r\":123456789, \ -\"address\": \"foobar\"}"; - -/* IBAN has wrong checksum */ -static const char * const invalid_wire_str2 = - "{ \"type\":\"SEPA\", \ -\"IBAN\":\"DE67830654080004822651\", \ -\"name\":\"GNUnet e.V.\", \ -\"bic\":\"GENODEF1SLR\", \ -\"r\":123456789, \ -\"address\": \"foobar\"}"; - -/* Unsupported wireformat type */ -static const char * const unsupported_wire_str = - "{ \"type\":\"unsupported\", \ -\"IBAN\":\"DE67830654080004822650\", \ -\"name\":\"GNUnet e.V.\", \ -\"bic\":\"GENODEF1SLR\", \ -\"r\":123456789, \ -\"address\": \"foobar\"}"; - - -int -main(int argc, - const char *const argv[]) -{ - const char *unsupported[] = { - "unsupported", - NULL - }; - const char *sepa[] = { - "SEPA", - NULL - }; - json_t *wire; - json_error_t error; - int ret; - - GNUNET_log_setup ("test-json-validations", "WARNING", NULL); - (void) memset(&error, 0, sizeof(error)); - GNUNET_assert (NULL != (wire = json_loads (unsupported_wire_str, 0, NULL))); - GNUNET_assert (1 != TALER_json_validate_wireformat (unsupported, wire)); - json_decref (wire); - GNUNET_assert (NULL != (wire = json_loads (invalid_wire_str, 0, NULL))); - GNUNET_assert (1 != TALER_json_validate_wireformat (sepa, wire)); - json_decref (wire); - GNUNET_assert (NULL != (wire = json_loads (invalid_wire_str2, 0, NULL))); - GNUNET_assert (1 != TALER_json_validate_wireformat (sepa, wire)); - json_decref (wire); - GNUNET_assert (NULL != (wire = json_loads (valid_wire_str, 0, &error))); - ret = TALER_json_validate_wireformat (sepa, wire); - json_decref (wire); - if (1 == ret) - return 0; - return 1; -} diff --git a/src/util/util.c b/src/util/util.c index 08438cfab..addafacf7 100644 --- a/src/util/util.c +++ b/src/util/util.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2014 Christian Grothoff (and other contributing authors) + Copyright (C) 2014 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/util/wireformats.c b/src/util/wireformats.c index dab7fb926..cd5a9c3d4 100644 --- a/src/util/wireformats.c +++ b/src/util/wireformats.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2014, 2015 Christian Grothoff (and other contributing authors) + Copyright (C) 2014, 2015 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software |