diff options
author | Martin Willi <martin@strongswan.org> | 2009-06-19 16:21:09 +0200 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2009-06-22 15:47:17 +0200 |
commit | f1f51395d59ee7ab2e1b79eb3b033fcc68253e40 (patch) | |
tree | b4f193f45cda24820e499a57189f97ec1052ef0b /src | |
parent | a0fc89798a77f6dd1f3af7306248e6b9d4bb3912 (diff) | |
download | strongswan-f1f51395d59ee7ab2e1b79eb3b033fcc68253e40.tar.bz2 strongswan-f1f51395d59ee7ab2e1b79eb3b033fcc68253e40.tar.xz |
build checksums for charon plugins
Diffstat (limited to 'src')
-rw-r--r-- | src/libstrongswan/checksum/Makefile.am | 3 | ||||
-rw-r--r-- | src/libstrongswan/checksum/checksum_builder.c | 17 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/libstrongswan/checksum/Makefile.am b/src/libstrongswan/checksum/Makefile.am index 6a109d27e..aaed128dc 100644 --- a/src/libstrongswan/checksum/Makefile.am +++ b/src/libstrongswan/checksum/Makefile.am @@ -9,8 +9,9 @@ checksum_builder_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la BUILT_SOURCES = checksum.c CLEANFILES = checksum.c checksum_builder INCLUDES = -I$(top_srcdir)/src/libstrongswan +AM_CFLAGS = -rdynamic -libs = $(shell find $(top_builddir)/src/libstrongswan -name 'libstrongswan*.so') +libs = $(shell find $(top_builddir)/src -name 'libstrongswan*.so') checksum.c : checksum_builder $(libs) ./checksum_builder $(libs) > checksum.c diff --git a/src/libstrongswan/checksum/checksum_builder.c b/src/libstrongswan/checksum/checksum_builder.c index 03b9d852e..b917e1128 100644 --- a/src/libstrongswan/checksum/checksum_builder.c +++ b/src/libstrongswan/checksum/checksum_builder.c @@ -19,9 +19,18 @@ #include <library.h> - -/* we need some faked symbols to load charon plugins */ -char *charon = "adsf"; +/* we need to fake some charon symbols to dlopen() its plugins */ +void *eap_type_names, *auth_class_names, *charon, *protocol_id_names, +*action_names, *ipsec_mode_names, *ike_sa_state_names, *child_sa_state_names, +*proposal_create_default, *peer_cfg_create, *ike_cfg_create, *child_cfg_create, +*traffic_selector_create_dynamic, *callback_job_create, *delete_ike_sa_job_create, +*eap_type_from_string, *auth_cfg_create, *proposal_create_from_string, +*traffic_selector_create_from_subnet, *traffic_selector_create_from_bytes, +*eap_payload_create_data, *ike_sa_create, *child_sa_create, *policy_dir_names, +*controller_cb_empty, *proposal_create, *ipcomp_transform_names, +*traffic_selector_create_from_string, *update_sa_job_create, *ike_sa_id_create, +*rekey_child_sa_job_create, *roam_job_create, *migrate_job_create, +*acquire_job_create, *delete_child_sa_job_create, *debug_names; int main(int argc, char* argv[]) { @@ -72,7 +81,7 @@ int main(int argc, char* argv[]) fsum = integrity->build_file(integrity, path); ssum = 0; - handle = dlopen(path, RTLD_GLOBAL|RTLD_NOW); + handle = dlopen(path, RTLD_LAZY); if (handle) { symbol = dlsym(handle, sname); |