build integrity_checker.c only if --enable-integrity-test set

This commit is contained in:
Martin Willi 2009-06-19 17:37:08 +02:00
parent 6a8c8815fe
commit bef508755b
2 changed files with 11 additions and 1 deletions

View File

@ -7,7 +7,6 @@ debug.c debug.h \
enum.c enum.h \
settings.h settings.c \
printf_hook.c printf_hook.h \
integrity_checker.c integrity_checker.h \
asn1/asn1.c asn1/asn1.h \
asn1/asn1_parser.c asn1/asn1_parser.h \
asn1/oid.c asn1/oid.h \
@ -68,6 +67,12 @@ if USE_LOCK_PROFILER
AM_CFLAGS += -DLOCK_PROFILER
endif
if USE_INTEGRITY_TEST
AM_CFLAGS += -DINTEGRITY_TEST
libstrongswan_la_SOURCES += \
integrity_checker.c integrity_checker.h
endif
if USE_VSTR
libstrongswan_la_LIBADD += -lvstr
endif

View File

@ -131,12 +131,17 @@ bool library_init(char *settings)
if (lib->settings->get_bool(lib->settings,
"libstrongswan.integrity_test", FALSE))
{
#ifdef INTEGRITY_TEST
this->public.integrity = integrity_checker_create(CHECKSUM_LIBRARY);
if (!lib->integrity->check(lib->integrity, "libstrongswan", library_init))
{
DBG1("integrity check of libstrongswan failed");
return FALSE;
}
#else /* !INTEGRITY_TEST */
DBG1("integrity test enabled, but not supported");
return FALSE;
#endif /* INTEGRITY_TEST */
}
return TRUE;
}