diff options
Diffstat (limited to 'src/libshared')
-rw-r--r-- | src/libshared/include/shared/gcrypt-util.h | 39 | ||||
-rw-r--r-- | src/libshared/include/shared/test-tables.h | 2 | ||||
-rw-r--r-- | src/libshared/src/Makefile | 18 | ||||
-rw-r--r-- | src/libshared/src/gcrypt-util.c | 71 |
4 files changed, 20 insertions, 110 deletions
diff --git a/src/libshared/include/shared/gcrypt-util.h b/src/libshared/include/shared/gcrypt-util.h deleted file mode 100644 index cf33b3c59c..0000000000 --- a/src/libshared/include/shared/gcrypt-util.h +++ /dev/null @@ -1,39 +0,0 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - -/*** - This file is part of systemd. - - Copyright 2016 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. -***/ - -#include <errno.h> -#include <stdbool.h> -#include <stddef.h> - -#ifdef HAVE_GCRYPT -#include <gcrypt.h> - -void initialize_libgcrypt(bool secmem); -int string_hashsum(const char *s, size_t len, int md_algorithm, char **out); -#endif - -static inline int string_hashsum_sha224(const char *s, size_t len, char **out) { -#ifdef HAVE_GCRYPT - return string_hashsum(s, len, GCRY_MD_SHA224, out); -#else - return -EOPNOTSUPP; -#endif -} diff --git a/src/libshared/include/shared/test-tables.h b/src/libshared/include/shared/test-tables.h index 228e510104..bf286bede5 100644 --- a/src/libshared/include/shared/test-tables.h +++ b/src/libshared/include/shared/test-tables.h @@ -20,6 +20,8 @@ #include <stdio.h> #include <stdlib.h> +#include "basic/macro.h" + typedef const char* (*lookup_t)(int); typedef int (*reverse_t)(const char*); diff --git a/src/libshared/src/Makefile b/src/libshared/src/Makefile index 053e56feaa..1fee7da878 100644 --- a/src/libshared/src/Makefile +++ b/src/libshared/src/Makefile @@ -179,4 +179,22 @@ libsystemd_shared_la_LIBADD = \ libsystemd_shared_la_LDFLAGS = \ -release $(PACKAGE_VERSION) +sd.CPPFLAGS += $(addprefix -I,$(call at.path,$(srcdir)/../include $(srcdir)/../include/shared)) +sd.CPPFLAGS += -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" +sd.CPPFLAGS += -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" +sd.CPPFLAGS += -DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" +sd.CPPFLAGS += -DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" +sd.CPPFLAGS += -DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" +sd.CPPFLAGS += -DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" +sd.CPPFLAGS += -DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" + +sd.CPPFLAGS += -DSYSTEMD_FSCK_PATH=\"$(libexecdir)/systemd-fsck\" + +sd.CPPFLAGS += -DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH=\"$(bindir)/systemd-tty-ask-password-agent\" + +sd.CPPFLAGS += -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" +sd.CPPFLAGS += -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" + +sd.CPPFLAGS += -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" + include $(topsrcdir)/build-aux/Makefile.tail.mk diff --git a/src/libshared/src/gcrypt-util.c b/src/libshared/src/gcrypt-util.c deleted file mode 100644 index 069134a4be..0000000000 --- a/src/libshared/src/gcrypt-util.c +++ /dev/null @@ -1,71 +0,0 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - -/*** - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. -***/ - -#ifdef HAVE_GCRYPT -#include <gcrypt.h> - -#include "basic/hexdecoct.h" -#include "shared/gcrypt-util.h" - -void initialize_libgcrypt(bool secmem) { - const char *p; - if (gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) - return; - - p = gcry_check_version("1.4.5"); - assert(p); - - /* Turn off "secmem". Clients which wish to make use of this - * feature should initialize the library manually */ - if (!secmem) - gcry_control(GCRYCTL_DISABLE_SECMEM); - gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); -} - -int string_hashsum(const char *s, size_t len, int md_algorithm, char **out) { - gcry_md_hd_t md = NULL; - size_t hash_size; - void *hash; - char *enc; - - initialize_libgcrypt(false); - - hash_size = gcry_md_get_algo_dlen(md_algorithm); - assert(hash_size > 0); - - gcry_md_open(&md, md_algorithm, 0); - if (!md) - return -EIO; - - gcry_md_write(md, s, len); - - hash = gcry_md_read(md, 0); - if (!hash) - return -EIO; - - enc = hexmem(hash, hash_size); - if (!enc) - return -ENOMEM; - - *out = enc; - return 0; -} -#endif |