summaryrefslogtreecommitdiff
path: root/security/lasso
AgeCommit message (Collapse)AuthorFilesLines
2015-04-03- Require glibs>=2.35 because lasso breaks with 2.34manu3-17/+4
"gtype.c:2720: You forgot to call g_type_init()" warnings - Remove now useless build fix patch Approved by wiz@
2015-04-02Mark as not ready for python-3.x. Some cleanup.wiz1-6/+2
2015-04-01Upgrade lasso to 2.4.1 to fix CVE-2015-1783, approved by wiz@manu18-1071/+65
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 )
2014-05-29Bump for perl-5.20.0.wiz1-2/+2
Do it for all packages that * mention perl, or * have a directory name starting with p5-*, or * depend on a package starting with p5- like last time, for 5.18, where this didn't lead to complaints. Let me know if you have any this time.
2014-05-09Mark packages that are not ready for python-3.3 also not ready for 3.4,wiz1-2/+2
until proven otherwise.
2014-02-12Recursive PKGREVISION bump for OpenSSL API version bump.tron2-4/+4
2014-02-05Enforce -D_POSIX_C_SOURCE=199506 so that strtok_r() is defined bymanu4-3/+40
<string.h>, otherwise the compiler assumes it returns an int, and it breaks on LP64 machines.
2014-01-20Fix typo in COMMENT. Mark as not for python-3.x.wiz1-2/+4
2014-01-01Recursive PKGREVISION bump for libgcrypt-1.6.0 shlib major bump.wiz2-4/+4
2013-05-31Bump all packages for perl-5.18, thatwiz1-2/+2
a) refer 'perl' in their Makefile, or b) have a directory name of p5-*, or c) have any dependency on any p5-* package Like last time, where this caused no complaints.
2013-02-06PKGREVISION bumps for the security/openssl 1.0.1d update.jperkin2-4/+4
2012-12-16recursive bump from cyrus-sasl libsasl2 shlib major bump.obache1-2/+2
2012-12-15Fix double free in patch for libxml 2.9.0 supportmanu3-6/+6
2012-11-07Don't use nested functions. Bump revision.joerg3-15/+63
2012-10-23Upgrade to lasso 2.3.6 in order to completely fix the libxml 2.9 dependencymanu11-218/+680
ChangeLog Since 2.3.5: * fix a bug when receiving a signature using the InclusiveNamespaces PrefixList by copying namespace declaration from upper level at the level of the signed node. * fix compilation warning on recent version of GCC
2012-10-03Bump all packages that use perl, or depend on a p5-* package, orwiz1-2/+2
are called p5-*. I hope that's all of them.
2012-09-28add patches for libxml2>=2.9.0, new buffer structure.obache5-4/+91
2012-09-28LICENSE=gnu-gpl-v2obache1-1/+2
2012-09-15recursive bump from libffi shlib major bumpobache2-4/+4
(additionaly, reset PKGREVISION of qt4-* sub packages from base qt4 update)
2012-06-14Recursive PKGREVISION bump for libxml2 buildlink addition.sbd2-4/+4
2012-05-07Set BUILDLINK_ABI_DEPENDS correctly (with +=, not ?=)dholland1-2/+2
It turns out there were a lot of these.
2012-05-06Patches for building with the latest glib2.dholland3-1/+33
2012-03-03Recursive bump for pcre-8.30* (shlib major change)wiz2-4/+4
2012-02-06Revbump forwiz2-4/+4
a) tiff update to 4.0 (shlib major change) b) glib2 update 2.30.2 (adds libffi dependency to buildlink3.mk) Enjoy.
2011-09-08Missing commit for new patchesjoerg1-1/+3
2011-09-08Do not use nested functions. Add missing prototypes. Bump revision.joerg3-2/+57
2011-04-22recursive bump from gettext-lib shlib bump.obache2-3/+5
2011-04-04Major update, with many changes that ould be difficult to sum up. Pleasemanu4-21/+23
see the NEWS file.
2011-03-24Use bsdtar for extract, or result in corrupted file name with certain tar.obache2-4/+6
Bump PKGREVISION.
2010-06-06remove obsoleted @dirrm.obache1-9/+1
2010-05-31Update to lasso 2.2.91. From the NEWS file:manu12-627/+407
2.2.91 - January 26th 2010 -------------------------- A new Perl binding, fix for backward compatibility with old versions of glib, LassoLogout API is more robust since it does not need anymore for all SP logout to finish to work, new macro lasso_list_add_new_xml_node, add support for WS-Security UsernameToken (equivalent of poor man HTTP Digest Authentication), make public internal APIs: lasso_session_add_assertion, lasso_session_get_assertion and lasso_session_remove_assertion. 2.2.90 - January 18th 2010 -------------------------- Lots of internal changes and some external one too. There is a new api to force, forbid or let Lasso sign messages, it is called lasso_profile_set_signature_hint. Big overhaul of the ID-WSF 1 and 2 codes, and of the SAML 2.0 profiles. Now all SAML 2.0 profile use common internal functions from the lasso_saml20_profile_ namespace to handle bindings (SOAP,Redirect,POST,Artifact,PAOS). New internal API to load SSL keys from many more formats from the public API. In ID-WSF 2.0, Data Service Template has been simplified, we no more try to apply queries, it is the responsability of the using code to handle them. In bindings land, the file bindings/utils.py has been stuffed with utility function to manipulate 'type' tuple, with are now used to transfer argument and type description, their schema is (name, C-type, { dictionary of options } ), they are now used everywhere in the different bindings. We support output argument in PHP5, Python and Java, i.e. pointer of pointer arguments with are written to in order to return multiple values. For language where the binding convert error codes to exceptions (all of them now), the ouput value is returned as the normal return value of the method, so only one output argument is handled for now. We now use GObject-introspection annotations in the documentation to transfer to the binding generator the necessary metadata about the API (content of lists, hashtables, wheter pointer are caller/callee owned, can be NULL or if argument have a default value). The file bindings/override.xml is now deprecated. In documentation land, the main reference documentation was reorganizaed and more symbols have been added to it. Many more functions are documented. There is now tools to control the evolution of the ABI/API of Lasso.
2010-01-17Recursive PKGREVISION bump for jpeg update to 8.wiz2-3/+4
2009-12-01Pullup single logout related bugfixes from lasso -current.manu6-11/+293
On SP initiated logout, the SP x509 certificate was included in the HTTP redirect URL. First this was an SAML standard violation, and second it inflated the URL beyond 2038 bytes, which is the maximum length for IE7 and prior. As a result, SP initated single logout was broken with IE7 and prior versions.
2009-09-23Remove "PYTHON_VERSIONS_ACCEPTED= 26 25 24" which is unnecessarytron1-2/+1
after Python 2.3 has been removed from "pkgsrc". Approved by Thomas Klausner.
2009-07-06Fix patch-bd's sum.joerg1-2/+2
2009-07-06Add some necessary casts for LP64 platforms in the hash functions.joerg5-34/+50
Merge patch-cb into patch-bd. Fix ctype casts.
2009-06-14Remove @dirrm entries from PLISTsjoerg1-11/+1
2009-05-26Two bugfixes pulled from upstream:manu7-2/+39
- make sure assertions are signed - don't crash when parsing saml:AttributeValue with xsi:type set
2009-04-09Upgrade to lasso-2.2.2:manu9-122/+67
From distribution NEWS file: Many fixes and improvements to the ID-WSF 1 support, new API to load SSL keys off memory, documentation for ID-WSF methods, general robustness and memory leak fixes.
2009-03-20Simply and speed up buildlink3.mk files and processing.joerg1-13/+6
This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
2009-03-02Lasso is a free software C library aiming to implement the Libertymanu10-0/+560
Alliance standards: ID-FF, ID-WSF and SAML. It defines processes for federated identities, single sign-on and related protocols. Lasso is built on top of libxml2, XMLSec and OpenSSL and is GPL licensed.