From 1ee73b81c7cc4ffc5e2210a7fb73553c9ddb1fe2 Mon Sep 17 00:00:00 2001 From: Romain Chantereay Date: Fri, 16 Jul 2004 12:54:43 +0000 Subject: [PATCH] Added Cygwin/Windows compilation support. Now: just: ./autogen --hots=i686-pc-mingw32 make make dll make install dll Of course you will need to install the dependencies libraries in /usr/local in order to compile. And next the DLL in Windows %SYSTEM% directory. --- Makefile.am | 21 +++ configure.ac | 211 +++++++++++++++---------- lasso/lasso.c | 29 ++++ lasso/lasso.def | 411 ++++++++++++++++++++++++++++++++++++++++++++++++ lasso/lasso.rc | 102 ++++++++++++ 5 files changed, 690 insertions(+), 84 deletions(-) create mode 100644 lasso/lasso.def create mode 100644 lasso/lasso.rc diff --git a/Makefile.am b/Makefile.am index 8188f9ac..18461238 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,8 +1,29 @@ +dll: + -/usr/bin/windres -i lasso/lasso.rc -o lasso/lasso.rc.o +# -/usr/bin/dllwrap.exe -o .libs/liblasso.dll --def lasso.def -mno-cygwin --add-stdcall-alias -mwindows -s lasso.o lasso.rc.o ../lasso/xml/*.o ../lasso/protocols/*.o ../lasso/protocols/elements/*.o ../lasso/environs/*.o -L/usr/local/lib /usr/local/lib/libglib-2.0-0.dll /usr/local/lib/libxmlsec-openssl.dll /usr/local/lib/libxmlsec.dll -lssl -lcrypto /usr/local/lib/libxslt.dll /usr/local/lib/libxml2.dll -lpthread -lz -lm /usr/local/lib/libgobject-2.0-0.dll + -/usr/bin/dllwrap.exe --def lasso/lasso.def -o lasso/.libs/liblasso.dll -mno-cygwin --add-stdcall-alias -mwindows -s lasso/lasso.o lasso/lasso.rc.o lasso/xml/.libs/liblasso-xml.al lasso/protocols/.libs/liblasso-protocols.al lasso/environs/.libs/liblasso-environs.al -L/usr/local/lib /usr/local/lib/libglib-2.0-0.dll /usr/local/lib/libxmlsec-openssl.dll /usr/local/lib/libxmlsec.dll -lssl -lcrypto /usr/local/lib/libxslt.dll /usr/local/lib/libxml2.dll -lpthread -lz -lm /usr/local/lib/libgobject-2.0-0.dll +install-dll: + -cp -f lasso/.libs/liblasso.dll /usr/local/lib + -cp -f lasso/.libs/liblasso.a /usr/local/lib/liblasso.dll.a + -mkdir -p /usr/local/include/lasso + -cp -f lasso/*.h /usr/local/include/lasso + -mkdir -p /usr/local/include/lasso/environs + -cp -f lasso/environs/*.h /usr/local/include/lasso/environs + -mkdir -p /usr/local/include/lasso/protocols + -cp -f lasso/protocols/*.h /usr/local/include/lasso/protocols + -mkdir -p /usr/local/include/lasso/protocols/elements + -cp -f lasso/protocols/elements/*.h /usr/local/include/lasso/protocols/elements + -mkdir -p /usr/local/include/lasso/xml + -cp -f lasso/xml/*.h /usr/local/include/lasso/xml + + + SUBDIRS = lasso docs ABS_BUILDDIR = $(shell pwd) EXTRA_DIST = TODO COPYING + pkgconfig_DATA = lasso.pc pkgconfigdir = $(libdir)/pkgconfig diff --git a/configure.ac b/configure.ac index 71f68b77..23e9b5dd 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,43 @@ AC_SUBST(LASSO_VERSION_INFO) AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) AM_MAINTAINER_MODE +GLIB_FOUND="no" +XMLSEC1_FOUND="no" +LIBXML_FOUND="no" +LIBXML262_FOUND="no" +LIBXSLT_FOUND="no" +CWINDOWS="no" + +dnl ========================================================================== +dnl Perform host specific configuration +dnl ========================================================================== +case "${host}" in + *aix* ) + CFLAGS="${CFLAGS} -D_ALL_SOURCE" + ;; + *-pc-*) + CC="gcc -mno-cygwin" + CFLAGS="-I/usr/local/include -D_MSC_VER=1 -DIN_LASSO=1" +# CFLAGS="-I/usr/local/include" + LDFLAGS="-L/usr/local/lib" +dnl CFLAGS="${CFLAGS} -mno-cygwin" +dnl LDFLAGS="${LDFLAGS} -mno-cygwin" + GLIB_CFLAGS="-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include" + GLIB_LIBS="-lgobject-2.0 -lglib-2.0" + GLIB_FOUND="yes" + XMLSEC1_CFLAGS="-DXMLSEC_CRYPTO=\"openssl\" -DXMLSEC_LIBXML_260=1 -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_XKMS=1 -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO_OPENSSL=1" + XMLSEC1_LIBS="-lxmlsec-openssl -lxmlsec" + XMLSEC1_FOUND="yes" + LIBXML_CFLAGS="-I/usr/local/include/libxml2" + LIBXML_LIBS="-lxml2" + LIBXML_FOUND="yes" + LIBXML262_FOUND="yes" + LIBXSLT_CFLAGS="" + LIBXSLT_LIBS="-lxslt" + LIBXSLT_FOUND="yes" + CWINDOWS="yes" + ;; +esac dnl dnl Check the environment @@ -67,36 +104,29 @@ dnl AC_LIB_LTDL LASSO_DEFINES="-DLASSO_DEBUG" dnl LASSO_DEFINES="" -dnl ========================================================================== -dnl Perform host specific configuration -dnl ========================================================================== -case "${host}" in - *aix* ) - CFLAGS="${CFLAGS} -D_ALL_SOURCE" - ;; -esac + dnl ========================================================================== dnl Check for __FUNCTION__ or __func__ dnl ========================================================================== -AC_MSG_CHECKING(for __FUNCTION__ or __func__) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], - [[char *foo = __FUNCTION__;]])], - [ac_function_exists=yes], - [ac_function_exists=no]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], - [[char *foo = __func__;]])], - [ac_func_exists=yes], - [ac_func_exists=no]) -if test "z$ac_function_exists" = "zyes" ; then - AC_MSG_RESULT(__FUNCTION__) - LASSO_DEFINES="$LASSO_DEFINES -D__LASSO_FUNCTION__=__FUNCTION__" -elif test "z$ac_func_exists" = "zyes" ; then - AC_MSG_RESULT(__func__) - LASSO_DEFINES="$LASSO_DEFINES -D__LASSO_FUNCTION__=__func__" -else - AC_MSG_RESULT("no") -fi +dnl AC_MSG_CHECKING(for __FUNCTION__ or __func__) +dnl AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +dnl [[char *foo = __FUNCTION__;]])], +dnl [ac_function_exists=yes], +dnl [ac_function_exists=no]) +dnl AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +dnl [[char *foo = __func__;]])], +dnl [ac_func_exists=yes], +dnl [ac_func_exists=no]) +dnl if test "z$ac_function_exists" = "zyes" ; then +dnl AC_MSG_RESULT(__FUNCTION__) +dnl LASSO_DEFINES="$LASSO_DEFINES -D__LASSO_FUNCTION__=__FUNCTION__" +dnl elif test "z$ac_func_exists" = "zyes" ; then +dnl AC_MSG_RESULT(__func__) +dnl LASSO_DEFINES="$LASSO_DEFINES -D__LASSO_FUNCTION__=__func__" +dnl else +dnl AC_MSG_RESULT("no") +dnl fi dnl ========================================================================== dnl check do we have size_t and its size, @@ -127,19 +157,20 @@ fi dnl ========================================================================== dnl find glib dnl ========================================================================== -GLIB_MIN_VERSION="2.2.3" -GLIB_CONFIG="glib-config" -GLIB_CFLAGS="" -GLIB_LIBS="" -GLIB_FOUND="no" -AC_ARG_WITH(glib, [ --with-glib=[PFX] glib location]) -if test "z$with_glib" = "zno" ; then - AC_MSG_CHECKING(for glib libraries >= $GLIB_MIN_VERSION) - AC_MSG_ERROR(glib >= $GLIB_MIN_VERSION is required for $PACKAGE) -elif test "z$with_glib" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then - PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_MIN_VERSION, - [GLIB_FOUND=yes], - [GLIB_FOUND=no]) +if test "$GLIB_FOUND" = "no"; then + GLIB_MIN_VERSION="2.2.3" + GLIB_CONFIG="glib-config --prefix=/usr/local" + GLIB_CFLAGS="" + GLIB_LIBS="" + AC_ARG_WITH(glib, [ --with-glib=[PFX] glib location]) + if test "z$with_glib" = "zno" ; then + AC_MSG_CHECKING(for glib libraries >= $GLIB_MIN_VERSION) + AC_MSG_ERROR(glib >= $GLIB_MIN_VERSION is required for $PACKAGE) + elif test "z$with_glib" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then + PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_MIN_VERSION, + [GLIB_FOUND=yes], + [GLIB_FOUND=no]) + fi fi if test "z$GLIB_FOUND" = "zno" ; then @@ -170,23 +201,23 @@ AC_SUBST(GLIB_MIN_VERSION) dnl ========================================================================== dnl find libxml dnl ========================================================================== -LIBXML_MIN_VERSION="2.4.2" -LIBXML_CONFIG="xml2-config" -LIBXML_CFLAGS="" -LIBXML_LIBS="" -LIBXML_FOUND="no" -LIBXML262_FOUND="no" -AC_ARG_WITH(libxml, [ --with-libxml=[PFX] libxml2 location]) -if test "z$with_libxml" = "zno" ; then - AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_MIN_VERSION) - AC_MSG_ERROR(libxml2 >= $LIBXML_MIN_VERSION is required for $PACKAGE) -elif test "z$with_libxml" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then - PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_MIN_VERSION, - [LIBXML_FOUND=yes], - [LIBXML_FOUND=no]) - PKG_CHECK_MODULES(LIBXML262, libxml-2.0 >= 2.6.2, - [LIBXML262_FOUND=yes], - [LIBXML262_FOUND=no]) +if test "z$LIBXML_FOUND" = "zno" ; then + LIBXML_MIN_VERSION="2.4.2" + LIBXML_CONFIG="xml2-config --prefix=/usr/local" + LIBXML_CFLAGS="" + LIBXML_LIBS="" + AC_ARG_WITH(libxml, [ --with-libxml=[PFX] libxml2 location]) + if test "z$with_libxml" = "zno" ; then + AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_MIN_VERSION) + AC_MSG_ERROR(libxml2 >= $LIBXML_MIN_VERSION is required for $PACKAGE) + elif test "z$with_libxml" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then + PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_MIN_VERSION, + [LIBXML_FOUND=yes], + [LIBXML_FOUND=no]) + PKG_CHECK_MODULES(LIBXML262, libxml-2.0 >= 2.6.2, + [LIBXML262_FOUND=yes], + [LIBXML262_FOUND=no]) + fi fi if test "z$LIBXML_FOUND" = "zno" ; then @@ -221,20 +252,21 @@ dnl ========================================================================== dnl find libxslt dnl ========================================================================== LASSO_NO_LIBXSLT="1" -LIBXSLT_MIN_VERSION=1.0.20 -LIBXSLT_CONFIG="xslt-config" -LIBXSLT_CFLAGS="" -LIBXSLT_LIBS="" -LIBXSLT_FOUND="no" -AC_ARG_WITH(libxslt, [ --with-libxslt=[PFX] libxslt location]) -if test "z$with_libxslt" = "zno" ; then - AC_MSG_CHECKING(for libxslt libraries >= $LIBXSLT_MIN_VERSION) - AC_MSG_RESULT(no) - LIBXSLT_FOUND="without" -elif test "z$with_libxslt" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then - PKG_CHECK_MODULES(LIBXSLT, libxslt >= $LIBXSLT_MIN_VERSION, - [LIBXSLT_FOUND=yes], - [LIBXSLT_FOUND=no]) +if test "z$LIBXSLT_FOUND" = "zno" ; then + LIBXSLT_MIN_VERSION=1.0.20 + LIBXSLT_CONFIG="xslt-config --prefix=/usr/local" + LIBXSLT_CFLAGS="" + LIBXSLT_LIBS="" + AC_ARG_WITH(libxslt, [ --with-libxslt=[PFX] libxslt location]) + if test "z$with_libxslt" = "zno" ; then + AC_MSG_CHECKING(for libxslt libraries >= $LIBXSLT_MIN_VERSION) + AC_MSG_RESULT(no) + LIBXSLT_FOUND="without" + elif test "z$with_libxslt" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then + PKG_CHECK_MODULES(LIBXSLT, libxslt >= $LIBXSLT_MIN_VERSION, + [LIBXSLT_FOUND=yes], + [LIBXSLT_FOUND=no]) + fi fi if test "z$LIBXSLT_FOUND" = "zno" ; then @@ -276,19 +308,20 @@ AC_SUBST(LIBXSLT_MIN_VERSION) dnl ========================================================================== dnl find xmlsec1 dnl ========================================================================== -XMLSEC1_MIN_VERSION="1.2.4" -XMLSEC1_CONFIG="xmlsec1-config" -XMLSEC1_CFLAGS="" -XMLSEC1_LIBS="" -XMLSEC1_FOUND="no" -AC_ARG_WITH(xmlsec1, [ --with-xmlsec1=[PFX] xmlsec1 location]) -if test "z$with_xmlsec1" = "zno" ; then - AC_MSG_CHECKING(for xmlsec1 libraries >= $XMLSEC1_MIN_VERSION) - AC_MSG_ERROR(xmlsec1 >= $XMLSEC1_MIN_VERSION is required for $PACKAGE) -elif test "z$with_xmlsec1" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then - PKG_CHECK_MODULES(XMLSEC1, xmlsec1 >= $XMLSEC1_MIN_VERSION, - [XMLSEC1_FOUND=yes], - [XMLSEC1_FOUND=no]) +if test "z$XMLSEC1_FOUND" = "zno" ; then + XMLSEC1_MIN_VERSION="1.2.4" + XMLSEC1_CONFIG="xmlsec1-config --prefix=/usr/local" + XMLSEC1_CFLAGS="" + XMLSEC1_LIBS="" + AC_ARG_WITH(xmlsec1, [ --with-xmlsec1=[PFX] xmlsec1 location]) + if test "z$with_xmlsec1" = "zno" ; then + AC_MSG_CHECKING(for xmlsec1 libraries >= $XMLSEC1_MIN_VERSION) + AC_MSG_ERROR(xmlsec1 >= $XMLSEC1_MIN_VERSION is required for $PACKAGE) + elif test "z$with_xmlsec1" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then + PKG_CHECK_MODULES(XMLSEC1, xmlsec1 >= $XMLSEC1_MIN_VERSION, + [XMLSEC1_FOUND=yes], + [XMLSEC1_FOUND=no]) + fi fi if test "z$XMLSEC1_FOUND" = "zno" ; then @@ -427,7 +460,7 @@ AC_SUBST(LASSO_CORE_CFLAGS) AC_SUBST(LASSO_CORE_LIBS) LASSO_CFLAGS="$LASSO_CORE_CFLAGS $GLIB_CFLAGS $LIBXML_CFLAGS $LIBXSLT_CFLAGS $XMLSEC1_CFLAGS $LASSO_CRYPTO_CFLAGS" -LASSO_LIBS="-L${libdir} -l$LASSO_CRYPTO_LIB $LASSO_CORE_LIBS $GLIB_LIBS $LIBXML_LIBS $LIBXSLT_LIBS $XMLSEC1_LIBS $LASSO_CRYPTO_LIBS" +LASSO_LIBS="-L${libdir} $LASSO_CRYPTO_LIB $LASSO_CORE_LIBS $GLIB_LIBS $LIBXML_LIBS $LIBXSLT_LIBS $XMLSEC1_LIBS $LASSO_CRYPTO_LIBS" AC_SUBST(LASSO_CFLAGS) AC_SUBST(LASSO_LIBS) @@ -437,6 +470,16 @@ AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) +dnl ========================================================================== +dnl Producing DLL +dnl ========================================================================== +dnl if test "$CWINDOWS" = "yes" ; then +dnl LINK="/usr/bin/dllwrap.exe --add-stdcall-alias -mwindows -s --driver-name \$(CCLD) \$(AM_CFLAGS) \$(CFLAGS) \$(LDFLAGS) \$(LASSO_CORE_CFLAGS) \$(GLIB_CFLAGS) \$(LIBXML_CFLAGS) \$(LIBXSLT_CFLAGS) \$(XMLSEC1_CFLAGS) \$(LASSO_CRYPTO_CFLAGS) -L\${libdir} \$(GLIB_LIBS) \$(LIBXML_LIBS) \$(LIBXSLT_LIBS) \$(XMLSEC1_LIBS) \$(LASSO_CRYPTO_LIBS) -o \$@" +dnl else +dnl LINK="\$(LIBTOOL) --mode=link \$(CCLD) \$(AM_CFLAGS) \$(CFLAGS) \$(LDFLAGS) -o \$@" +dnl fi +dnl AC_SUBST(LINK) + dnl ========================================================================== dnl Writing result files dnl ========================================================================== diff --git a/lasso/lasso.c b/lasso/lasso.c index 686eb0d5..ba0e75ba 100644 --- a/lasso/lasso.c +++ b/lasso/lasso.c @@ -24,6 +24,35 @@ #include "lasso.h" +#if defined _MSC_VER +#include +HINSTANCE g_hModule = NULL; /**< DLL Instance. */ +/** \brief Microsoft® Windows® DLL main function. + * + * This function is called when the DLL is attached, detached from a program. + * + * \param hinstDLL Handle to the DLL module. + * \param fdwReason Reason value of the DLL call. + * \param lpvReserved RFU. + * + * \return TRUE is everything is ok. + * + */ +BOOL WINAPI +DllMain( + HINSTANCE hinstDLL, // handle to the DLL module + DWORD fdwReason, // reason for calling function + LPVOID lpvReserved) // reserved +{ + if (fdwReason == DLL_PROCESS_ATTACH) + { + DisableThreadLibraryCalls(hinstDLL); + g_hModule = hinstDLL; + } + return TRUE; +} +#endif + /** * lasso_init: * diff --git a/lasso/lasso.def b/lasso/lasso.def new file mode 100644 index 00000000..79cd55e3 --- /dev/null +++ b/lasso/lasso.def @@ -0,0 +1,411 @@ +LIBRARY lasso + +DESCRIPTION "Free implementation of the Liberty Alliance specifications." + +EXPORTS + + lasso_artifact_get_assertionHandle + lasso_artifact_get_byteCode + lasso_artifact_get_identityProviderSuccinctID + lasso_artifact_get_relayState + lasso_artifact_get_samlArt + lasso_artifact_get_type + lasso_artifact_new + lasso_artifact_new_from_lares + lasso_artifact_new_from_query + lasso_assertion_get_type + lasso_assertion_new + lasso_authentication_statement_get_type + lasso_authentication_statement_new + lasso_authn_request_get_protocolProfile + lasso_authn_request_get_type + lasso_authn_request_new + lasso_authn_request_new_from_export + lasso_authn_request_set_requestAuthnContext + lasso_authn_request_set_scoping + lasso_authn_response_get_status + lasso_authn_response_get_type + lasso_authn_response_new + lasso_authn_response_new_from_export + lasso_build_random_sequence + lasso_build_unique_id + lasso_check_version_ext + lasso_doc_get_node_content + lasso_ds_signature_get_type + lasso_ds_signature_new + lasso_ds_signature_sign + lasso_federation_termination_build_notification_msg + lasso_federation_termination_dump + lasso_federation_termination_get_type + lasso_federation_termination_init_notification + lasso_federation_termination_new + lasso_federation_termination_notification_get_type + lasso_federation_termination_notification_new + lasso_federation_termination_notification_new_from_query + lasso_federation_termination_notification_new_from_soap + lasso_federation_termination_process_notification_msg + lasso_get_current_time + lasso_g_ptr_array_index + lasso_identity_dump + lasso_identity_get_local_nameIdentifier + lasso_identity_get_remote_nameIdentifier + lasso_identity_get_type + lasso_identity_new + lasso_identity_new_from_dump + lasso_identity_set_local_nameIdentifier + lasso_identity_set_remote_nameIdentifier + lasso_identity_verify_nameIdentifier + lasso_init + lasso_lib_assertion_get_type + lasso_lib_assertion_new + lasso_lib_assertion_set_inResponseTo + lasso_lib_authentication_statement_get_type + lasso_lib_authentication_statement_new + lasso_lib_authentication_statement_set_authnContext + lasso_lib_authentication_statement_set_reauthenticateOnOrAfter + lasso_lib_authentication_statement_set_sessionIndex + lasso_lib_authn_context_get_type + lasso_lib_authn_context_new + lasso_lib_authn_context_set_authnContextClassRef + lasso_lib_authn_context_set_authnContextStatementRef + lasso_lib_authn_request_get_type + lasso_lib_authn_request_new + lasso_lib_authn_request_set_affiliationID + lasso_lib_authn_request_set_assertionConsumerServiceID + lasso_lib_authn_request_set_consent + lasso_lib_authn_request_set_forceAuthn + lasso_lib_authn_request_set_isPassive + lasso_lib_authn_request_set_nameIDPolicy + lasso_lib_authn_request_set_protocolProfile + lasso_lib_authn_request_set_providerID + lasso_lib_authn_request_set_relayState + lasso_lib_authn_request_set_requestAuthnContext + lasso_lib_authn_request_set_scoping + lasso_lib_authn_response_get_type + lasso_lib_authn_response_new + lasso_lib_authn_response_set_consent + lasso_lib_authn_response_set_providerID + lasso_lib_authn_response_set_relayState + lasso_lib_federation_termination_notification_get_type + lasso_lib_federation_termination_notification_new + lasso_lib_federation_termination_notification_set_consent + lasso_lib_federation_termination_notification_set_nameIdentifier + lasso_lib_federation_termination_notification_set_providerID + lasso_lib_idp_entries_add_idpEntry + lasso_lib_idp_entries_get_type + lasso_lib_idp_entries_new + lasso_lib_idp_entry_get_type + lasso_lib_idp_entry_new + lasso_lib_idp_entry_set_loc + lasso_lib_idp_entry_set_providerID + lasso_lib_idp_entry_set_providerName + lasso_lib_idp_list_get_type + lasso_lib_idp_list_new + lasso_lib_idp_list_set_getComplete + lasso_lib_idp_list_set_idpEntries + lasso_lib_idp_provided_name_identifier_get_type + lasso_lib_idp_provided_name_identifier_new + lasso_lib_logout_request_get_type + lasso_lib_logout_request_new + lasso_lib_logout_request_set_consent + lasso_lib_logout_request_set_nameIdentifier + lasso_lib_logout_request_set_providerID + lasso_lib_logout_request_set_relayState + lasso_lib_logout_request_set_sessionIndex + lasso_lib_logout_response_get_type + lasso_lib_logout_response_new + lasso_lib_name_identifier_mapping_request_get_type + lasso_lib_name_identifier_mapping_request_new + lasso_lib_name_identifier_mapping_request_set_consent + lasso_lib_name_identifier_mapping_request_set_nameIdentifier + lasso_lib_name_identifier_mapping_request_set_providerID + lasso_lib_name_identifier_mapping_response_get_type + lasso_lib_name_identifier_mapping_response_new + lasso_lib_name_identifier_mapping_response_set_nameIdentifier + lasso_lib_name_identifier_mapping_response_set_providerID + lasso_lib_name_identifier_mapping_response_set_status + lasso_lib_old_provided_name_identifier_get_type + lasso_lib_old_provided_name_identifier_new + lasso_lib_register_name_identifier_request_get_type + lasso_lib_register_name_identifier_request_new + lasso_lib_register_name_identifier_request_set_idpProvidedNameIdentifier + lasso_lib_register_name_identifier_request_set_oldProvidedNameIdentifier + lasso_lib_register_name_identifier_request_set_providerID + lasso_lib_register_name_identifier_request_set_relayState + lasso_lib_register_name_identifier_request_set_spProvidedNameIdentifier + lasso_lib_register_name_identifier_response_get_type + lasso_lib_register_name_identifier_response_new + lasso_lib_request_authn_context_add_authnContextClassRef + lasso_lib_request_authn_context_add_authnContextStatementRef + lasso_lib_request_authn_context_get_type + lasso_lib_request_authn_context_new + lasso_lib_request_authn_context_set_authnContextComparison + lasso_lib_scoping_get_type + lasso_lib_scoping_new + lasso_lib_scoping_set_idpList + lasso_lib_scoping_set_proxyCount + lasso_lib_sp_provided_name_identifier_get_type + lasso_lib_sp_provided_name_identifier_new + lasso_lib_status_response_get_type + lasso_lib_status_response_new + lasso_lib_status_response_set_providerID + lasso_lib_status_response_set_relayState + lasso_lib_status_response_set_status + lasso_lib_subject_get_type + lasso_lib_subject_new + lasso_lib_subject_set_idpProvidedNameIdentifier + lasso_login_build_artifact_msg + lasso_login_build_authn_request_msg + lasso_login_build_authn_response_msg + lasso_login_build_request_msg + lasso_login_create_user + lasso_login_destroy + lasso_login_dump + lasso_login_get_type + lasso_login_init_authn_request + lasso_login_init_from_authn_request_msg + lasso_login_init_request + lasso_login_must_authenticate + lasso_login_new + lasso_login_new_from_dump + lasso_login_process_authn_response_msg + lasso_login_process_request_msg + lasso_login_process_response_msg + lasso_logout_build_request_msg + lasso_logout_build_response_msg + lasso_logout_dump + lasso_logout_get_type + lasso_logout_init_request + lasso_logout_new + lasso_logout_process_request_msg + lasso_logout_process_response_msg + lasso_logout_request_get_type + lasso_logout_request_new + lasso_logout_request_new_from_query + lasso_logout_request_new_from_soap + lasso_logout_response_get_status_code_value + lasso_logout_response_get_type + lasso_logout_response_new + lasso_logout_response_new_from_dump + lasso_logout_response_new_from_query + lasso_logout_response_new_from_request_query + lasso_logout_response_new_from_request_soap + lasso_logout_response_new_from_soap + lasso_name_identifier_mapping_build_request_msg + lasso_name_identifier_mapping_build_response_msg + lasso_name_identifier_mapping_dump + lasso_name_identifier_mapping_get_type + lasso_name_identifier_mapping_init_request + lasso_name_identifier_mapping_new + lasso_name_identifier_mapping_process_request_msg + lasso_name_identifier_mapping_process_response_msg + lasso_name_identifier_mapping_request_get_type + lasso_name_identifier_mapping_request_new + lasso_name_identifier_mapping_request_new_from_query + lasso_name_identifier_mapping_request_new_from_soap + lasso_name_identifier_mapping_response_get_type + lasso_name_identifier_mapping_response_new + lasso_name_identifier_mapping_response_new_from_dump + lasso_name_identifier_mapping_response_new_from_query + lasso_name_identifier_mapping_response_new_from_request_query + lasso_name_identifier_mapping_response_new_from_request_soap + lasso_name_identifier_mapping_response_new_from_soap + lasso_node_copy + lasso_node_destroy + lasso_node_dump + lasso_node_export + lasso_node_export_to_base64 + lasso_node_export_to_query + lasso_node_export_to_soap + lasso_node_get_attr + lasso_node_get_attrs + lasso_node_get_attr_value + lasso_node_get_child + lasso_node_get_child_content + lasso_node_get_children + lasso_node_get_content + lasso_node_get_name + lasso_node_get_type + lasso_node_import + lasso_node_new + lasso_node_new_from_dump + lasso_node_new_from_xmlNode + lasso_node_rename_prop + lasso_node_verify_signature + lasso_profile_context_dump + lasso_profile_context_get_type + lasso_profile_context_new + lasso_profile_context_set_remote_providerID + lasso_profile_context_set_response_status + lasso_provider_dump + lasso_provider_get_assertionConsumerServiceURL + lasso_provider_get_federationTerminationNotificationProtocolProfile + lasso_provider_get_federationTerminationNotificationServiceURL + lasso_provider_get_nameIdentifierMappingProtocolProfile + lasso_provider_get_nameIdentifierMappingServiceReturnURL + lasso_provider_get_nameIdentifierMappingServiceURL + lasso_provider_get_providerID + lasso_provider_get_registerNameIdentifierProtocolProfile + lasso_provider_get_registerNameIdentifierServiceURL + lasso_provider_get_singleLogoutProtocolProfile + lasso_provider_get_singleLogoutServiceReturnURL + lasso_provider_get_singleLogoutServiceURL + lasso_provider_get_singleSignOnProtocolProfile + lasso_provider_get_singleSignOnServiceURL + lasso_provider_get_soapEndpoint + lasso_provider_get_type + lasso_provider_new + lasso_provider_new_from_metadata_node + lasso_provider_new_metadata_filename + lasso_provider_set_ca_certificate + lasso_provider_set_public_key + lasso_query_get_value + lasso_query_to_dict + lasso_query_verify_signature + lasso_register_name_identifier_build_request_msg + lasso_register_name_identifier_build_response_msg + lasso_register_name_identifier_dump + lasso_register_name_identifier_get_type + lasso_register_name_identifier_handle_request_msg + lasso_register_name_identifier_handle_response_msg + lasso_register_name_identifier_init_request + lasso_register_name_identifier_new + lasso_register_name_identifier_rename_attributes_for_query + lasso_register_name_identifier_request_get_type + lasso_register_name_identifier_request_new + lasso_register_name_identifier_request_new_from_query + lasso_register_name_identifier_request_new_from_soap + lasso_register_name_identifier_response_get_type + lasso_register_name_identifier_response_new + lasso_register_name_identifier_response_new_from_dump + lasso_register_name_identifier_response_new_from_query + lasso_register_name_identifier_response_new_from_request_query + lasso_register_name_identifier_response_new_from_request_soap + lasso_register_name_identifier_response_new_from_soap + lasso_request_get_type + lasso_request_new + lasso_response_get_type + lasso_response_new + lasso_response_new_from_export + lasso_saml_advice_add_assertion + lasso_saml_advice_add_assertionIDReference + lasso_saml_advice_get_type + lasso_saml_advice_new + lasso_saml_assertion_add_authenticationStatement + lasso_saml_assertion_add_statement + lasso_saml_assertion_add_subjectStatement + lasso_saml_assertion_get_type + lasso_saml_assertion_new + lasso_saml_assertion_set_advice + lasso_saml_assertion_set_assertionID + lasso_saml_assertion_set_conditions + lasso_saml_assertion_set_issueInstance + lasso_saml_assertion_set_issuer + lasso_saml_assertion_set_majorVersion + lasso_saml_assertion_set_minorVersion + lasso_saml_assertion_set_signature + lasso_saml_audience_restriction_condition_add_audience + lasso_saml_audience_restriction_condition_get_type + lasso_saml_audience_restriction_condition_new + lasso_saml_authentication_statement_add_authorityBinding + lasso_saml_authentication_statement_get_type + lasso_saml_authentication_statement_new + lasso_saml_authentication_statement_set_authenticationInstant + lasso_saml_authentication_statement_set_authenticationMethod + lasso_saml_authentication_statement_set_subjectLocality + lasso_saml_authority_binding_get_type + lasso_saml_authority_binding_new + lasso_saml_authority_binding_set_authorityKind + lasso_saml_authority_binding_set_binding + lasso_saml_authority_binding_set_location + lasso_saml_condition_abstract_get_type + lasso_saml_condition_abstract_new + lasso_saml_conditions_add_audienceRestrictionCondition + lasso_saml_conditions_add_condition + lasso_saml_conditions_get_type + lasso_saml_conditions_new + lasso_saml_conditions_set_notBefore + lasso_saml_conditions_set_notOnOrAfter + lasso_saml_name_identifier_get_type + lasso_saml_name_identifier_new + lasso_saml_name_identifier_set_format + lasso_saml_name_identifier_set_nameQualifier + lasso_samlp_request_abstract_add_respondWith + lasso_samlp_request_abstract_get_type + lasso_samlp_request_abstract_new + lasso_samlp_request_abstract_set_issueInstance + lasso_samlp_request_abstract_set_majorVersion + lasso_samlp_request_abstract_set_minorVersion + lasso_samlp_request_abstract_set_requestID + lasso_samlp_request_abstract_set_signature + lasso_samlp_request_get_type + lasso_samlp_request_new + lasso_samlp_request_set_assertionArtifact + lasso_samlp_response_abstract_get_type + lasso_samlp_response_abstract_new + lasso_samlp_response_abstract_set_inResponseTo + lasso_samlp_response_abstract_set_issueInstance + lasso_samlp_response_abstract_set_majorVersion + lasso_samlp_response_abstract_set_minorVersion + lasso_samlp_response_abstract_set_recipient + lasso_samlp_response_abstract_set_responseID + lasso_samlp_response_abstract_set_signature + lasso_samlp_response_add_assertion + lasso_samlp_response_get_type + lasso_samlp_response_new + lasso_samlp_response_set_status + lasso_samlp_status_code_get_type + lasso_samlp_status_code_new + lasso_samlp_status_code_set_value + lasso_samlp_status_get_type + lasso_samlp_status_new + lasso_samlp_status_set_statusCode + lasso_samlp_status_set_statusMessage + lasso_saml_statement_abstract_get_type + lasso_saml_statement_abstract_new + lasso_saml_subject_confirmation_add_confirmationMethod + lasso_saml_subject_confirmation_get_type + lasso_saml_subject_confirmation_new + lasso_saml_subject_confirmation_set_subjectConfirmationMethod + lasso_saml_subject_get_type + lasso_saml_subject_locality_get_type + lasso_saml_subject_locality_new + lasso_saml_subject_locality_set_dnsAddress + lasso_saml_subject_locality_set_ipAddress + lasso_saml_subject_new + lasso_saml_subject_set_nameIdentifier + lasso_saml_subject_set_subjectConfirmation + lasso_saml_subject_statement_abstract_get_type + lasso_saml_subject_statement_abstract_new + lasso_saml_subject_statement_abstract_set_subject + lasso_server_add_lasso_provider + lasso_server_add_provider + lasso_server_destroy + lasso_server_dump + lasso_server_get_provider + lasso_server_get_providerID_from_hash + lasso_server_get_type + lasso_server_new + lasso_server_new_from_dump + lasso_shutdown + lasso_soap_env_body_add_child + lasso_soap_env_body_get_type + lasso_soap_env_body_new + lasso_soap_env_envelope_get_type + lasso_soap_env_envelope_new + lasso_soap_env_envelope_set_body + lasso_str_escape + lasso_str_hash + lasso_str_sign + lasso_str_unescape + lasso_user_add_assertion + lasso_user_add_identity + lasso_user_dump + lasso_user_get_assertion + lasso_user_get_identity + lasso_user_get_next_providerID + lasso_user_get_type + lasso_user_new + lasso_user_new_from_dump + lasso_user_remove_assertion + set_debug_info diff --git a/lasso/lasso.rc b/lasso/lasso.rc new file mode 100644 index 00000000..39fbaf3d --- /dev/null +++ b/lasso/lasso.rc @@ -0,0 +1,102 @@ +/** \file lasso.rc + * $Id$ + * + * Lasso - A free implementation of the Liberty Alliance specifications. + * + * Copyright (C) 2004 Entr'ouvert + * http://lasso.entrouvert.org + * + * \author Romain Chantereau + * \date 2004 + * \version 0.1 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include + +1 VERSIONINFO +FILEVERSION 0,0,0,2 /* Version 0.0.0.2 */ +PRODUCTVERSION 1,0,0,0 /* First release of the "product".*/ +FILEFLAGSMASK 1 /* Compile, metadata flags information are + written. */ +FILEFLAGS VS_FF_PRERELEASE /* Pre-release of course. */ +FILEOS VOS__WINDOWS32 /* Designed for all 32 bits Windows.*/ +FILETYPE VFT_DLL /* Yes, lasso eleven is a DLL. */ +{ + /* String information, superseeds the var version info.*/ + BLOCK "StringFileInfo" + { +#ifdef _WIN32 + BLOCK "040904B0" /* Lang=US English, Charset=Unicode.*/ +#else + BLOCK "040904E4" /* Lang=US English, Charset=Windows Multilingual.*/ +#endif + { + VALUE "CompanyName", "Entr'ouvert\0" + VALUE "FileDescription", + "Free implementation of the Liberty Alliance specifications.\0" + + VALUE "FileVersion", "0.0.1\0" + VALUE "InternalName", "lasso\0" + VALUE "LegalCopyright", "Copyright \251 2004, Entr'ouvert\0" + VALUE "OriginalFilename","LIBLASSO.DLL\0" + VALUE "ProductName", "Liberty Alliance Single Sign On\0" + VALUE "ProductVersion", "1.0.000\0" + VALUE "Comments", + "Source code available at http://lasso.entrouvert.org" + VALUE "License", "General Public License v2.0 or above\0" + } + } + + BLOCK "VarFileInfo" + { +#ifdef _WIN32 + VALUE "Translation", 0x409, 1200 /* English language (0x409) and the + Unicode codepage (1200). */ + +#else + VALUE "Translation", 0x409, 1252 /* English language (0x409) and the + Windows ANSI codepage (1252). */ +#endif + } +} + +/* Signatures, will be replaced by actual one. + * Cannot specify file name, windres does not seem to like that. + */ + +/** \brief Signature ressource data. + * + * 144 bytes of null data. (WORD = 2 x 1 byte = 16 bits) + */ +0x29A RCDATA DISCARDABLE +{ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +} + +/** \brief Mac ressource data. + * + * 16 bytes of 0 data. (WORD = 2 x 1 byte = 16 bits) + */ +0x29B RCDATA DISCARDABLE +{ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +}