From 235f7ca7fb7abd91209969ced75408ec51423914 Mon Sep 17 00:00:00 2001
From: Maxime Bizon <mbizon@freebox.fr>
Date: Tue, 22 Oct 2019 19:07:26 +0200
Subject: [PATCH 1/4] libcharon: export all headers

---
 src/libcharon/Makefile.am | 401 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 401 insertions(+)

diff --git a/src/libcharon/Makefile.am b/src/libcharon/Makefile.am
index 15ac7a6d1..cd67a65f4 100644
--- a/src/libcharon/Makefile.am
+++ b/src/libcharon/Makefile.am
@@ -141,6 +141,407 @@ processing/jobs/dpd_timeout_job.c processing/jobs/dpd_timeout_job.h \
 processing/jobs/adopt_children_job.c processing/jobs/adopt_children_job.h
 endif
 
+if USE_DEV_HEADERS
+charon_includedir = ${dev_headers}/charon
+nobase_charon_include_HEADERS = daemon.h				\
+config/ike_cfg.h	       \
+config/child_cfg.h	       \
+config/backend.h	       \
+config/backend_manager.h      \
+config/peer_cfg.h	       \
+network/sender.h	       \
+network/receiver.h	       \
+network/socket_manager.h      \
+network/socket.h	       \
+control/controller.h	       \
+plugins/updown/updown_plugin.h	\
+plugins/updown/updown_handler.h	\
+plugins/updown/updown_listener.h	\
+plugins/eap_aka_3gpp/eap_aka_3gpp_card.h	\
+plugins/eap_aka_3gpp/tests/tests.h		\
+plugins/eap_aka_3gpp/eap_aka_3gpp_provider.h	\
+plugins/eap_aka_3gpp/eap_aka_3gpp_functions.h	\
+plugins/eap_aka_3gpp/eap_aka_3gpp_plugin.h	\
+plugins/eap_ttls/eap_ttls_server.h		\
+plugins/eap_ttls/eap_ttls_avp.h		\
+plugins/eap_ttls/eap_ttls_plugin.h		\
+plugins/eap_ttls/eap_ttls.h			\
+plugins/eap_ttls/eap_ttls_peer.h		\
+plugins/farp/farp_spoofer.h			\
+plugins/farp/farp_plugin.h			\
+plugins/farp/farp_listener.h			\
+plugins/eap_radius/eap_radius_forward.h	\
+plugins/eap_radius/eap_radius_dae.h		\
+plugins/eap_radius/eap_radius_xauth.h		\
+plugins/eap_radius/eap_radius_provider.h	\
+plugins/eap_radius/eap_radius.h		\
+plugins/eap_radius/eap_radius_accounting.h	\
+plugins/eap_radius/eap_radius_plugin.h		\
+plugins/kernel_libipsec/kernel_libipsec_ipsec.h	\
+plugins/kernel_libipsec/kernel_libipsec_router.h	\
+plugins/kernel_libipsec/kernel_libipsec_plugin.h	\
+plugins/eap_sim/eap_sim_server.h			\
+plugins/eap_sim/eap_sim_plugin.h			\
+plugins/eap_sim/eap_sim_peer.h				\
+plugins/eap_aka_3gpp2/eap_aka_3gpp2_provider.h		\
+plugins/eap_aka_3gpp2/eap_aka_3gpp2_plugin.h		\
+plugins/eap_aka_3gpp2/eap_aka_3gpp2_card.h		\
+plugins/eap_aka_3gpp2/eap_aka_3gpp2_functions.h	\
+plugins/coupling/coupling_plugin.h			\
+plugins/coupling/coupling_validator.h			\
+plugins/eap_sim_pcsc/eap_sim_pcsc_card.h		\
+plugins/eap_sim_pcsc/eap_sim_pcsc_plugin.h		\
+plugins/ha/ha_ctl.h					\
+plugins/ha/ha_ike.h					\
+plugins/ha/ha_plugin.h					\
+plugins/ha/ha_segments.h				\
+plugins/ha/ha_child.h					\
+plugins/ha/ha_socket.h					\
+plugins/ha/ha_dispatcher.h				\
+plugins/ha/ha_attribute.h				\
+plugins/ha/ha_cache.h					\
+plugins/ha/ha_message.h				\
+plugins/ha/ha_tunnel.h					\
+plugins/ha/ha_kernel.h					\
+plugins/lookip/lookip_msg.h				\
+plugins/lookip/lookip_listener.h			\
+plugins/lookip/lookip_socket.h				\
+plugins/lookip/lookip_plugin.h				\
+plugins/eap_simaka_sql/eap_simaka_sql_plugin.h		\
+plugins/eap_simaka_sql/eap_simaka_sql_card.h		\
+plugins/eap_simaka_sql/eap_simaka_sql_provider.h	\
+plugins/kernel_iph/kernel_iph_plugin.h			\
+plugins/kernel_iph/kernel_iph_net.h			\
+plugins/bypass_lan/bypass_lan_listener.h		\
+plugins/bypass_lan/bypass_lan_plugin.h			\
+plugins/kernel_pfroute/kernel_pfroute_plugin.h		\
+plugins/kernel_pfroute/kernel_pfroute_net.h		\
+plugins/uci/uci_creds.h				\
+plugins/uci/uci_parser.h				\
+plugins/uci/uci_plugin.h				\
+plugins/uci/uci_config.h				\
+plugins/uci/uci_control.h				\
+plugins/sql/sql_config.h				\
+plugins/sql/sql_cred.h					\
+plugins/sql/sql_plugin.h				\
+plugins/sql/sql_logger.h				\
+plugins/led/led_listener.h				\
+plugins/led/led_plugin.h				\
+plugins/eap_peap/eap_peap_server.h			\
+plugins/eap_peap/eap_peap_plugin.h			\
+plugins/eap_peap/eap_peap.h				\
+plugins/eap_peap/eap_peap_peer.h			\
+plugins/eap_peap/eap_peap_avp.h			\
+plugins/android_log/android_log_plugin.h		\
+plugins/android_log/android_log_logger.h		\
+plugins/dnscert/dnscert_cred.h				\
+plugins/dnscert/dnscert_plugin.h			\
+plugins/dnscert/dnscert.h				\
+plugins/eap_tls/eap_tls.h				\
+plugins/eap_tls/eap_tls_plugin.h			\
+plugins/eap_md5/eap_md5_plugin.h			\
+plugins/eap_md5/eap_md5.h				\
+plugins/addrblock/addrblock_narrow.h			\
+plugins/addrblock/addrblock_validator.h		\
+plugins/addrblock/addrblock_plugin.h			\
+plugins/load_tester/load_tester_creds.h		\
+plugins/load_tester/load_tester_plugin.h		\
+plugins/load_tester/load_tester_listener.h		\
+plugins/load_tester/load_tester_control.h		\
+plugins/load_tester/load_tester_ipsec.h		\
+plugins/load_tester/load_tester_config.h		\
+plugins/load_tester/load_tester_diffie_hellman.h	\
+plugins/certexpire/certexpire_export.h			\
+plugins/certexpire/certexpire_cron.h			\
+plugins/certexpire/certexpire_listener.h		\
+plugins/certexpire/certexpire_plugin.h			\
+plugins/resolve/resolve_plugin.h			\
+plugins/resolve/resolve_handler.h			\
+plugins/osx_attr/osx_attr_handler.h			\
+plugins/osx_attr/osx_attr_plugin.h			\
+plugins/android_dns/android_dns_plugin.h		\
+plugins/android_dns/android_dns_handler.h		\
+plugins/eap_simaka_reauth/eap_simaka_reauth_card.h	\
+plugins/eap_simaka_reauth/eap_simaka_reauth_plugin.h	\
+plugins/eap_simaka_reauth/eap_simaka_reauth_provider.h	\
+plugins/socket_win/socket_win_socket.h			\
+plugins/socket_win/socket_win_plugin.h			\
+plugins/eap_gtc/eap_gtc.h				\
+plugins/eap_gtc/eap_gtc_plugin.h			\
+plugins/kernel_wfp/kernel_wfp_compat.h			\
+plugins/kernel_wfp/kernel_wfp_ipsec.h			\
+plugins/kernel_wfp/kernel_wfp_plugin.h			\
+plugins/eap_identity/eap_identity_plugin.h		\
+plugins/eap_identity/eap_identity.h			\
+plugins/attr/attr_plugin.h				\
+plugins/attr/attr_provider.h				\
+plugins/smp/smp.h					\
+plugins/eap_simaka_pseudonym/eap_simaka_pseudonym_plugin.h	\
+plugins/eap_simaka_pseudonym/eap_simaka_pseudonym_card.h	\
+plugins/eap_simaka_pseudonym/eap_simaka_pseudonym_provider.h	\
+plugins/forecast/forecast_plugin.h				\
+plugins/forecast/forecast_forwarder.h				\
+plugins/forecast/forecast_listener.h				\
+plugins/unity/unity_handler.h					\
+plugins/unity/unity_plugin.h					\
+plugins/unity/unity_narrow.h					\
+plugins/unity/unity_provider.h					\
+plugins/error_notify/error_notify_socket.h			\
+plugins/error_notify/error_notify_listener.h			\
+plugins/error_notify/error_notify_msg.h			\
+plugins/error_notify/error_notify_plugin.h			\
+plugins/kernel_netlink/kernel_netlink_net.h			\
+plugins/kernel_netlink/kernel_netlink_plugin.h			\
+plugins/kernel_netlink/kernel_netlink_shared.h			\
+plugins/kernel_netlink/tests.h					\
+plugins/kernel_netlink/kernel_netlink_ipsec.h			\
+plugins/connmark/connmark_plugin.h				\
+plugins/connmark/connmark_listener.h				\
+plugins/tnc_ifmap/tnc_ifmap_http.h				\
+plugins/tnc_ifmap/tnc_ifmap_listener.h				\
+plugins/tnc_ifmap/tnc_ifmap_renew_session_job.h		\
+plugins/tnc_ifmap/tnc_ifmap_soap.h				\
+plugins/tnc_ifmap/tnc_ifmap_soap_msg.h				\
+plugins/tnc_ifmap/tnc_ifmap_plugin.h				\
+plugins/xauth_pam/xauth_pam.h					\
+plugins/xauth_pam/xauth_pam_plugin.h				\
+plugins/xauth_pam/xauth_pam_listener.h				\
+plugins/dhcp/dhcp_provider.h					\
+plugins/dhcp/dhcp_socket.h					\
+plugins/dhcp/dhcp_transaction.h				\
+plugins/dhcp/dhcp_plugin.h					\
+plugins/xauth_noauth/xauth_noauth_plugin.h			\
+plugins/xauth_noauth/xauth_noauth.h				\
+plugins/counters/counters_listener.h				\
+plugins/counters/counters_plugin.h				\
+plugins/counters/counters_query.h				\
+plugins/medsrv/medsrv_plugin.h					\
+plugins/medsrv/medsrv_creds.h					\
+plugins/medsrv/medsrv_config.h					\
+plugins/stroke/stroke_list.h					\
+plugins/stroke/stroke_plugin.h					\
+plugins/stroke/stroke_attribute.h				\
+plugins/stroke/stroke_ca.h					\
+plugins/stroke/stroke_config.h					\
+plugins/stroke/stroke_cred.h					\
+plugins/stroke/stroke_control.h				\
+plugins/stroke/stroke_counter.h				\
+plugins/stroke/stroke_socket.h					\
+plugins/stroke/stroke_handler.h				\
+plugins/kernel_pfkey/kernel_pfkey_ipsec.h			\
+plugins/kernel_pfkey/kernel_pfkey_plugin.h			\
+plugins/eap_aka/eap_aka_server.h				\
+plugins/eap_aka/eap_aka_peer.h					\
+plugins/eap_aka/eap_aka_plugin.h				\
+plugins/socket_default/socket_default_plugin.h			\
+plugins/socket_default/socket_default_socket.h			\
+plugins/eap_mschapv2/eap_mschapv2_plugin.h			\
+plugins/eap_mschapv2/eap_mschapv2.h				\
+plugins/attr_sql/attr_sql_plugin.h				\
+plugins/attr_sql/attr_sql_provider.h				\
+plugins/vici/vici_dispatcher.h					\
+plugins/vici/vici_attribute.h					\
+plugins/vici/vici_message.h					\
+plugins/vici/vici_plugin.h					\
+plugins/vici/libvici.h						\
+plugins/vici/vici_config.h					\
+plugins/vici/vici_socket.h					\
+plugins/vici/vici_query.h					\
+plugins/vici/vici_cert_info.h					\
+plugins/vici/vici_control.h					\
+plugins/vici/vici_tests.h					\
+plugins/vici/vici_authority.h					\
+plugins/vici/vici_builder.h					\
+plugins/vici/vici_logger.h					\
+plugins/vici/vici_cred.h					\
+plugins/eap_dynamic/eap_dynamic.h				\
+plugins/eap_dynamic/eap_dynamic_plugin.h			\
+plugins/ext_auth/ext_auth_plugin.h				\
+plugins/ext_auth/ext_auth_listener.h				\
+plugins/duplicheck/duplicheck_msg.h				\
+plugins/duplicheck/duplicheck_notify.h				\
+plugins/duplicheck/duplicheck_plugin.h				\
+plugins/duplicheck/duplicheck_listener.h			\
+plugins/xauth_eap/xauth_eap.h					\
+plugins/xauth_eap/xauth_eap_plugin.h				\
+plugins/tnc_pdp/tnc_pdp.h					\
+plugins/tnc_pdp/tnc_pdp_connections.h				\
+plugins/tnc_pdp/tnc_pdp_plugin.h				\
+plugins/whitelist/whitelist_plugin.h				\
+plugins/whitelist/whitelist_control.h				\
+plugins/whitelist/whitelist_listener.h				\
+plugins/whitelist/whitelist_msg.h				\
+plugins/radattr/radattr_plugin.h				\
+plugins/radattr/radattr_listener.h				\
+plugins/xauth_generic/xauth_generic.h				\
+plugins/xauth_generic/xauth_generic_plugin.h			\
+plugins/systime_fix/systime_fix_plugin.h			\
+plugins/systime_fix/systime_fix_validator.h			\
+plugins/socket_dynamic/socket_dynamic_plugin.h			\
+plugins/socket_dynamic/socket_dynamic_socket.h			\
+plugins/eap_sim_file/eap_sim_file_plugin.h			\
+plugins/eap_sim_file/eap_sim_file_triplets.h			\
+plugins/eap_sim_file/eap_sim_file_provider.h			\
+plugins/eap_sim_file/eap_sim_file_card.h			\
+plugins/save_keys/save_keys_listener.h				\
+plugins/save_keys/save_keys_plugin.h				\
+plugins/ipseckey/ipseckey_plugin.h				\
+plugins/ipseckey/ipseckey_cred.h				\
+plugins/ipseckey/ipseckey.h					\
+plugins/eap_tnc/eap_tnc.h					\
+plugins/eap_tnc/eap_tnc_plugin.h				\
+plugins/medcli/medcli_plugin.h					\
+plugins/medcli/medcli_listener.h				\
+plugins/medcli/medcli_config.h					\
+plugins/medcli/medcli_creds.h					\
+plugins/p_cscf/p_cscf_handler.h				\
+plugins/p_cscf/p_cscf_plugin.h					\
+tests/exchange_tests.h						\
+tests/utils/mock_sender.h					\
+tests/utils/mock_net.h						\
+tests/utils/sa_asserts.h					\
+tests/utils/mock_dh.h						\
+tests/utils/mock_nonce_gen.h					\
+tests/utils/exchange_test_helper.h				\
+tests/utils/exchange_test_asserts.h				\
+tests/utils/job_asserts.h					\
+tests/utils/mock_ipsec.h					\
+tests/libcharon_tests.h					\
+encoding/message.h						\
+encoding/payloads/eap_payload.h				\
+encoding/payloads/cert_payload.h				\
+encoding/payloads/ts_payload.h					\
+encoding/payloads/transform_attribute.h			\
+encoding/payloads/ike_header.h					\
+encoding/payloads/unknown_payload.h				\
+encoding/payloads/hash_payload.h				\
+encoding/payloads/ke_payload.h					\
+encoding/payloads/payload.h					\
+encoding/payloads/endpoint_notify.h				\
+encoding/payloads/vendor_id_payload.h				\
+encoding/payloads/nonce_payload.h				\
+encoding/payloads/configuration_attribute.h			\
+encoding/payloads/encrypted_payload.h				\
+encoding/payloads/auth_payload.h				\
+encoding/payloads/notify_payload.h				\
+encoding/payloads/sa_payload.h					\
+encoding/payloads/certreq_payload.h				\
+encoding/payloads/encodings.h					\
+encoding/payloads/fragment_payload.h				\
+encoding/payloads/encrypted_fragment_payload.h			\
+encoding/payloads/cp_payload.h					\
+encoding/payloads/delete_payload.h				\
+encoding/payloads/id_payload.h					\
+encoding/payloads/transform_substructure.h			\
+encoding/payloads/proposal_substructure.h			\
+encoding/payloads/traffic_selector_substructure.h		\
+encoding/generator.h						\
+encoding/parser.h						\
+attributes/attributes.h					\
+attributes/mem_pool.h						\
+attributes/attribute_manager.h					\
+attributes/attribute_handler.h					\
+attributes/attribute_provider.h				\
+processing/jobs/roam_job.h					\
+processing/jobs/process_message_job.h				\
+processing/jobs/mediation_job.h				\
+processing/jobs/rekey_ike_sa_job.h				\
+processing/jobs/update_sa_job.h				\
+processing/jobs/initiate_tasks_job.h				\
+processing/jobs/redirect_job.h					\
+processing/jobs/delete_child_sa_job.h				\
+processing/jobs/retry_initiate_job.h				\
+processing/jobs/delete_ike_sa_job.h				\
+processing/jobs/retransmit_job.h				\
+processing/jobs/dpd_timeout_job.h				\
+processing/jobs/start_action_job.h				\
+processing/jobs/migrate_job.h					\
+processing/jobs/adopt_children_job.h				\
+processing/jobs/send_keepalive_job.h				\
+processing/jobs/send_dpd_job.h					\
+processing/jobs/inactivity_job.h				\
+processing/jobs/initiate_mediation_job.h			\
+processing/jobs/acquire_job.h					\
+processing/jobs/rekey_child_sa_job.h				\
+sa/redirect_provider.h						\
+sa/child_sa_manager.h						\
+sa/child_sa.h							\
+sa/ikev2/tasks/ike_verify_peer_cert.h				\
+sa/ikev2/tasks/ike_me.h					\
+sa/ikev2/tasks/ike_cert_pre.h					\
+sa/ikev2/tasks/ike_vendor.h					\
+sa/ikev2/tasks/ike_mid_sync.h					\
+sa/ikev2/tasks/ike_reauth_complete.h				\
+sa/ikev2/tasks/ike_natd.h					\
+sa/ikev2/tasks/ike_init.h					\
+sa/ikev2/tasks/ike_config.h					\
+sa/ikev2/tasks/ike_dpd.h					\
+sa/ikev2/tasks/child_delete.h					\
+sa/ikev2/tasks/ike_cert_post.h					\
+sa/ikev2/tasks/ike_mobike.h					\
+sa/ikev2/tasks/ike_auth_lifetime.h				\
+sa/ikev2/tasks/ike_delete.h					\
+sa/ikev2/tasks/ike_auth.h					\
+sa/ikev2/tasks/child_rekey.h					\
+sa/ikev2/tasks/ike_reauth.h					\
+sa/ikev2/tasks/child_create.h					\
+sa/ikev2/tasks/ike_rekey.h					\
+sa/ikev2/tasks/ike_redirect.h					\
+sa/ikev2/mediation_manager.h					\
+sa/ikev2/task_manager_v2.h					\
+sa/ikev2/authenticators/eap_authenticator.h			\
+sa/ikev2/authenticators/pubkey_authenticator.h			\
+sa/ikev2/authenticators/psk_authenticator.h			\
+sa/ikev2/keymat_v2.h						\
+sa/ikev2/connect_manager.h					\
+sa/keymat.h							\
+sa/xauth/xauth_method.h					\
+sa/xauth/xauth_manager.h					\
+sa/shunt_manager.h						\
+sa/trap_manager.h						\
+sa/ike_sa_id.h							\
+sa/redirect_manager.h						\
+sa/task_manager.h						\
+sa/ike_sa_manager.h						\
+sa/ike_sa.h							\
+sa/authenticator.h						\
+sa/eap/eap_inner_method.h					\
+sa/eap/eap_method.h						\
+sa/eap/eap_manager.h						\
+sa/task.h							\
+sa/ikev1/tasks/aggressive_mode.h				\
+sa/ikev1/tasks/isakmp_vendor.h					\
+sa/ikev1/tasks/isakmp_cert_post.h				\
+sa/ikev1/tasks/isakmp_delete.h					\
+sa/ikev1/tasks/main_mode.h					\
+sa/ikev1/tasks/isakmp_natd.h					\
+sa/ikev1/tasks/isakmp_cert_pre.h				\
+sa/ikev1/tasks/xauth.h						\
+sa/ikev1/tasks/quick_mode.h					\
+sa/ikev1/tasks/informational.h					\
+sa/ikev1/tasks/mode_config.h					\
+sa/ikev1/tasks/quick_delete.h					\
+sa/ikev1/tasks/isakmp_dpd.h					\
+sa/ikev1/keymat_v1.h						\
+sa/ikev1/authenticators/pubkey_v1_authenticator.h		\
+sa/ikev1/authenticators/psk_v1_authenticator.h			\
+sa/ikev1/authenticators/hybrid_authenticator.h			\
+sa/ikev1/iv_manager.h						\
+sa/ikev1/task_manager_v1.h					\
+sa/ikev1/phase1.h						\
+bus/bus.h							\
+bus/listeners/logger.h						\
+bus/listeners/custom_logger.h					\
+bus/listeners/file_logger.h					\
+bus/listeners/listener.h					\
+bus/listeners/sys_logger.h					\
+kernel/kernel_ipsec.h						\
+kernel/kernel_interface.h					\
+kernel/kernel_handler.h					\
+kernel/kernel_listener.h					\
+kernel/kernel_net.h
+endif
+
 if USE_SYSLOG
   libcharon_la_SOURCES += \
     bus/listeners/sys_logger.c bus/listeners/sys_logger.h
-- 
2.17.1

