int main(int argc, char* argv[]) { int i; /* forces link against libhydra/libcharon, imports symbols needed to * dlopen plugins */ hydra = NULL; charon = NULL; /* avoid confusing leak reports in build process */ setenv("LEAK_DETECTIVE_DISABLE", "1", 0); /* don't use a strongswan.conf, forces integrity check to disabled */ library_init(""); atexit(library_deinit); integrity = integrity_checker_create(NULL); printf("/**\n"); printf(" * checksums of files and loaded code segments.\n"); printf(" * created by %s\n", argv[0]); printf(" */\n"); printf("\n"); printf("#include <library.h>\n"); printf("\n"); printf("integrity_checksum_t checksums[] = {\n"); fprintf(stderr, "integrity test data:\n"); fprintf(stderr, "module name, file size / checksum " "segment size / checksum\n"); for (i = 1; i < argc; i++) { build_binary_checksum(argv[i]); } #ifdef S_PLUGINS build_plugin_checksums(S_PLUGINS); #endif #ifdef H_PLUGINS build_plugin_checksums(H_PLUGINS); #endif #ifdef P_PLUGINS build_plugin_checksums(P_PLUGINS); #endif #ifdef C_PLUGINS build_plugin_checksums(C_PLUGINS); #endif printf("};\n"); printf("\n"); printf("int checksum_count = countof(checksums);\n"); printf("\n"); integrity->destroy(integrity); exit(0); }
int main(int argc, char* argv[]) { int i; /* avoid confusing leak reports in build process */ setenv("LEAK_DETECTIVE_DISABLE", "1", 0); library_init(NULL); atexit(library_deinit); integrity = integrity_checker_create(NULL); printf("/**\n"); printf(" * checksums of files and loaded code segments.\n"); printf(" * created by %s\n", argv[0]); printf(" */\n"); printf("\n"); printf("#include <library.h>\n"); printf("\n"); printf("integrity_checksum_t checksums[] = {\n"); fprintf(stderr, "integrity test data:\n"); fprintf(stderr, "module name, file size / checksum segment size / checksum\n"); for (i = 1; i < argc; i++) { build_binary_checksum(argv[i]); } build_plugin_checksums(S_PLUGINS, S_PATH); build_plugin_checksums(H_PLUGINS, H_PATH); build_plugin_checksums(P_PLUGINS, P_PATH); build_plugin_checksums(C_PLUGINS, C_PATH); printf("};\n"); printf("\n"); printf("int checksum_count = countof(checksums);\n"); printf("\n"); integrity->destroy(integrity); exit(0); }