pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/security/lasso



Module Name:    pkgsrc
Committed By:   manu
Date:           Wed Apr  1 14:05:02 UTC 2015

Modified Files:
        pkgsrc/security/lasso: Makefile Makefile.common PLIST buildlink3.mk
            distinfo
        pkgsrc/security/lasso/patches: patch-configure patch-configure.ac
            patch-lasso-id-ff-provider.c
Removed Files:
        pkgsrc/security/lasso/patches: patch-bindings-java-wrapper_top.c
            patch-bindings-php5-wrapper_source_top.c
            patch-bindings-python-wrapper_top.c
            patch-docs-reference-lasso-lasso-sections.txt patch-lasso-errors_c
            patch-lasso-errors_c_in patch-lasso-xml-tools.c
            patch-lasso_id-ff_lecp.c patch-lasso_id-ff_session.c
            patch-lasso_saml-2.0_ecp.c

Log Message:
Upgrade lasso to 2.4.1 to fix CVE-2015-1783, approved by wiz@

NEWS from last pkgsrc version:

2.4.1 - Septembre 28th 2014
---------------------------
56 commits, 35 files changed, 12590 insertions(+), 31117 deletions(-)

 - fix bug #4455 runtime bug in perl binding on debian wheezy 32bits #
 - fix warning on g_type_init() on GLib > 2.36
 - lot of null pointer, boundary checks, and dead code removal after validation
         using Coverity and Clang static analyzer (Simo Sorce)
 - always set NotOnOrAfter on the Condition element
 - fix pkg-config typo (Simon Josefsson)
 - Python binding now conserve the order of session indexes values
 - fix memory leaks
 - Python bindings now automatically convert unicode values to UTF-8

2.4.0 - January 7th 2014
------------------------
281 commits, 933 files changed, 45384 insertions, 6313 deletions

Minor version number increase since ABI was extended (new methods).

 - Key rollover support:
   Lasso is now able to accept messages signed by any key declared as a signing
   key in a metadata and not just the last one. You can also decrypt encrypted
   nodes using any of a list of private keys, allowing roll-over of encryption
   certificates. Signing key roll-over is automatic, your provider just have to
   provide the new signing key in their metadata. For multiple-encryption key
   you can load another private key than the one loaded in the LassoServer
   constuctor with code like that:

      >>> import lasso
      >>> server = lasso.Server(our_metadata, first_private_key_path)
      >>> server.setEncryptionPrivateKey(second_private_key_path)

   See the FAQ file for the workflow of a proper key roll-over.

 - Partial logout response now produces a specific error code when parsed by
   lasso_logout_process_response_msg()
 - Bugs in lasso_assertion_query_build_request_msg() were fixed
 - Processing of assertions is not stopped when checking that first level
   status code is not success, so that later code can check the second level
   status code.
 - A new generic error for denied request was added,
   LASSO_PROFILE_ERROR_REQUEST_DENIED
 - A new API lasso_server_load_metadata() was added to load federation files
   (XML files containing metadata from multiple providers) and to check
   signatures on them.
 - Better warning and errors are reported in logs when failing to load a
   metadata file.
 - Bugs around missing namespace declaration for dump file were fixed, it
   prevented reloading dumped object (like LassoLogin).
 - lasso_node_get_xml_node_for_any_type() must be able to copy the content of
   an XML node to another (namespace, attribute and children). It did not, now
   it is fixed. It can be used for example to add specific attribute like
   xsi:type="string" to a Saml2AttributeValue. Here is a python snippet to do that:

      >>> import lasso
      >>> a = lasso.Saml2AttributeValue()
      >>> a.setOriginalXmlnode('<Dummy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:type="string">Value</Dummy>')
      >>> print a.debug(0)
      <saml:AttributeValue xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:type="string">Value</saml:AttributeValue>
 - support for symetric keys signatures: for a long time XMLDsig standard has
   supported HMAC signature, or signature based on a shared secret key an hash
   algorithm. Lasso now supports to share a key with another Lasso using
   service or identity provider and to verify and sign SAML exchange using this
   key. Performance can be 100 times more than with assymetric cryptography,
   i.e. RSA.
 - nodes able to hold any XML attribyte (like saml:AttributeValue) contains a
   hashtable to for holding those attributes, those hashtable have a new syntax
   for attributes of another namespace than the current node namespace,
   inspired by the Python ElementTree library:

    {the_namespace}the_attribute_name

   ex:

    {http://www.w3.org/2001/XMLSchema-instance}type

   for the classic xsi:type attribute.
 - xmldsig:X509Data node now possess a binding as a Lasso object. You can use
   it combined with the new class LassoSaml2KeyInformationDataType to use the
   holder-of-key subject confirmation method.
 - The perfs benchmarking tools now allows to select a different metadata set
   (for example to test with different public key sizes).
 - Perl minimal version for the binding was downgraded to 5
 - pseudo-XSchema validation: the new XML deserializer does more to enforce
   constraints of the schema defining SAML messages. It means Lasso is less
   forgiving with non-conform implementation of SAML.
 - thin-sessions mode: A new flag was added named thin-session, you can set it
   using lasso_set_flag("thin-sessions") or by setting the LASSO_FLAG
   environement variable to the string "thin-sessions". The effect of this flag
   is to remove complete storage of assertions in the LassoSession object,
   which was made mainly to support logout and the artifact binding for ID-FF
   1.2. A new thinner structure is used for supporting logout, and ID-FF 1.2
   can now use the same storage mechanism as the SAML 2 implementation for the
   artifact binding (i.e. using lasso_profile_get_artifact_message after
   artifact generation and lasso_profile_set_artifact_message before artifact
   retrieval).
 - better initialization and access to SessionIndex in logout requests:
   LassoSession now store all generated SessionIndex for a session using a
   small structure, using it the LassoLogout profile can now initialize
   LassoLogout message with all of them. It's not necessary to implement this
   functionnalit� in your service or identity provider anymore.
 - new LassoKey object: this new class was introduced to simplify management of
   keys when using shared key signature. But you can also use it to load
   assymetric keys. In the future it should gain API to do XML signature and
   encryptiong independently of any SAML 2.0 or ID-FF 1.2 exchange. Providing
   the first simple binding of libxmlsec to Python.
 - Improvements to autoconf and automake files to compile under Darwin (Mac Os
   X) and Fedora.
 - a FAQ file was started.
 - added API:
        LASSO_LOGOUT_ERROR_PARTIAL_LOGOUT
        LASSO_PROFILE_ERROR_ENDPOINT_INDEX_NOT_FOUND
        LASSO_PROFILE_ERROR_REQUEST_DENIED
        LASSO_PROVIDER_ROLE_ALL
        LASSO_SERVER_ERROR_NO_PROVIDER_LOADED
        LASSO_SERVER_LOAD_METADATA_FLAG_CHECK_ENTITIES_DESCRIPTOR_SIGNATURE
        LASSO_SERVER_LOAD_METADATA_FLAG_CHECK_ENTITY_DESCRIPTOR_SIGNATURE
        LASSO_SERVER_LOAD_METADATA_FLAG_DEFAULT
        LASSO_SERVER_LOAD_METADATA_FLAG_INHERIT_SIGNATURE
        LASSO_SIGNATURE_METHOD_HMAC_SHA1
        LASSO_SIGNATURE_METHOD_NONE
        LASSO_XMLENC_ERROR_INVALID_ENCRYPTED_DATA
        LASSO_XMLENC_HREF
        LASSO_XMLENC_PREFIX
        struct LassoDsX509Data {  LassoDsX509DataPrivate* private_data  }
        struct LassoKey {  LassoKeyPrivate* private_data  }
        struct LassoSaml2KeyInfoConfirmationDataType {  LassoSaml2KeyInfoConfirmationDataTypePrivate* private_data  }
        LassoServerLoadMetadataFlag
        LassoDsX509Data*   lasso_ds_key_value_get_x509_data ( LassoDsKeyValue* key_value )
        None   lasso_ds_key_value_set_x509_data ( LassoDsKeyValue* key_value, LassoDsX509Data* x509_data )
        const char*   lasso_ds_x509_data_get_certificate ( LassoDsX509Data* x509_data )
        const char*   lasso_ds_x509_data_get_crl ( LassoDsX509Data* x509_data )
        const char*   lasso_ds_x509_data_get_subject_name ( LassoDsX509Data* x509_data )
        GType   lasso_ds_x509_data_get_type (  )
        LassoDsX509Data*   lasso_ds_x509_data_new (  )
        None   lasso_ds_x509_data_set_certificate ( LassoDsX509Data* x509_data, const char* certificate )
        None   lasso_ds_x509_data_set_crl ( LassoDsX509Data* x509_data, const char* crl )
        None   lasso_ds_x509_data_set_subject_name ( LassoDsX509Data* x509_data, const char* subject_name )
        GType   lasso_key_get_type (  )
        LassoKey*   lasso_key_new_for_signature_from_base64_string ( char* base64_string, char* password, LassoSignatureMethod signature_method, char* certificate )
        LassoKey*   lasso_key_new_for_signature_from_file ( char* filename_or_buffer, char* password, LassoSignatureMethod signature_method, char* certificate )
        char*   lasso_key_query_sign ( LassoKey* key, const char* query )
        lasso_error_t   lasso_key_query_verify ( LassoKey* key, const char* query )
        xmlNode*   lasso_key_saml2_xml_sign ( LassoKey* key, const char* id, xmlNode* document )
        lasso_error_t   lasso_key_saml2_xml_verify ( LassoKey* key, char* id, xmlNode* document )
        GList*   lasso_lib_logout_request_get_session_indexes ( LassoLibLogoutRequest* lib_logout_request )
        None   lasso_lib_logout_request_set_session_indexes ( LassoLibLogoutRequest* lib_logout_request, GList* session_indexes )
        lasso_error_t   lasso_provider_add_key ( LassoProvider* provider, LassoKey* key, gboolean after )
        lasso_error_t   lasso_provider_set_server_signing_key ( LassoProvider* provider, LassoKey* key )
        int   lasso_provider_verify_signature ( LassoProvider* provider, const char* message, const char* id_attr_name, LassoMessageFormat format )
        GList*   lasso_saml2_key_info_confirmation_data_type_get_key_info ( LassoSaml2KeyInfoConfirmationDataType* kicdt )
        GType   lasso_saml2_key_info_confirmation_data_type_get_type (  )
        LassoNode*   lasso_saml2_key_info_confirmation_data_type_new (  )
        None   lasso_saml2_key_info_confirmation_data_type_set_key_info ( LassoSaml2KeyInfoConfirmationDataType* kicdt, GList* key_infos )
        gboolean   lasso_saml_name_identifier_equals ( LassoSamlNameIdentifier* a, LassoSamlNameIdentifier* b )
        lasso_error_t   lasso_server_add_provider2 ( LassoServer* server, LassoProvider* provider )
        lasso_error_t   lasso_server_load_metadata ( LassoServer* server, LassoProviderRole role, const gchar* federation_file, const gchar* trusted_roots, GList* blacklisted_entity_ids, GList** 
loaded_entity_ids, LassoServerLoadMetadataFlag flags )
        GList*   lasso_session_get_assertion_ids ( LassoSession* session, const gchar* providerID )
        GList*   lasso_session_get_name_ids ( LassoSession* session, const gchar* providerID )
        GList*   lasso_session_get_session_indexes ( LassoSession* session, const gchar* providerID, LassoNode* name_id )


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 pkgsrc/security/lasso/Makefile
cvs rdiff -u -r1.9 -r1.10 pkgsrc/security/lasso/Makefile.common
cvs rdiff -u -r1.8 -r1.9 pkgsrc/security/lasso/PLIST
cvs rdiff -u -r1.12 -r1.13 pkgsrc/security/lasso/buildlink3.mk
cvs rdiff -u -r1.15 -r1.16 pkgsrc/security/lasso/distinfo
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/security/lasso/patches/patch-bindings-java-wrapper_top.c \
    pkgsrc/security/lasso/patches/patch-bindings-php5-wrapper_source_top.c \
    pkgsrc/security/lasso/patches/patch-bindings-python-wrapper_top.c \
    pkgsrc/security/lasso/patches/patch-docs-reference-lasso-lasso-sections.txt \
    pkgsrc/security/lasso/patches/patch-lasso-errors_c \
    pkgsrc/security/lasso/patches/patch-lasso-errors_c_in
cvs rdiff -u -r1.1 -r1.2 pkgsrc/security/lasso/patches/patch-configure \
    pkgsrc/security/lasso/patches/patch-configure.ac \
    pkgsrc/security/lasso/patches/patch-lasso-id-ff-provider.c
cvs rdiff -u -r1.5 -r0 pkgsrc/security/lasso/patches/patch-lasso-xml-tools.c
cvs rdiff -u -r1.2 -r0 pkgsrc/security/lasso/patches/patch-lasso_id-ff_lecp.c \
    pkgsrc/security/lasso/patches/patch-lasso_id-ff_session.c \
    pkgsrc/security/lasso/patches/patch-lasso_saml-2.0_ecp.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index