build-sys: fix build with libgrcypt disabled
- Move gcrypt.h include inside grcrypt-util.h. - Allow gcrypt-util.[ch] to be compiled even without gcrypt. This allows the logic in files using gcrypt to be simplified. - Fix compilation of systemd-resolve without gcrypt. systemd-resolved already supported that. Fixes #2711.
This commit is contained in:
parent
09541e49eb
commit
b68f10bf1f
|
@ -4262,7 +4262,9 @@ libsystemd_journal_internal_la_SOURCES = \
|
|||
src/journal/mmap-cache.h \
|
||||
src/journal/compress.c \
|
||||
src/journal/audit-type.h \
|
||||
src/journal/audit-type.c
|
||||
src/journal/audit-type.c \
|
||||
src/shared/gcrypt-util.h \
|
||||
src/shared/gcrypt-util.c
|
||||
|
||||
nodist_libsystemd_journal_internal_la_SOURCES = \
|
||||
src/journal/audit_type-to-name.h
|
||||
|
@ -4294,9 +4296,7 @@ libsystemd_journal_internal_la_SOURCES += \
|
|||
src/journal/journal-authenticate.c \
|
||||
src/journal/journal-authenticate.h \
|
||||
src/journal/fsprg.c \
|
||||
src/journal/fsprg.h \
|
||||
src/shared/gcrypt-util.c \
|
||||
src/shared/gcrypt-util.h
|
||||
src/journal/fsprg.h
|
||||
|
||||
libsystemd_journal_internal_la_LIBADD += \
|
||||
$(GCRYPT_LIBS)
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
***/
|
||||
|
||||
#include <gcrypt.h>
|
||||
#include <getopt.h>
|
||||
#include <net/if.h>
|
||||
|
||||
|
@ -863,7 +862,7 @@ static int resolve_openpgp(sd_bus *bus, const char *address) {
|
|||
}
|
||||
domain++;
|
||||
|
||||
r = string_hashsum(address, domain - 1 - address, GCRY_MD_SHA224, &hashed);
|
||||
r = string_hashsum_sha224(address, domain - 1 - address, &hashed);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Hashing failed: %m");
|
||||
|
||||
|
|
|
@ -19,10 +19,11 @@
|
|||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
***/
|
||||
|
||||
#ifdef HAVE_GCRYPT
|
||||
#include <gcrypt.h>
|
||||
|
||||
#include "hexdecoct.h"
|
||||
#include "gcrypt-util.h"
|
||||
#include "hexdecoct.h"
|
||||
|
||||
void initialize_libgcrypt(bool secmem) {
|
||||
const char *p;
|
||||
|
@ -67,3 +68,4 @@ int string_hashsum(const char *s, size_t len, int md_algorithm, char **out) {
|
|||
*out = enc;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -19,7 +19,21 @@
|
|||
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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue