| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/xml/xml.c lasso/xml/xml.h:
- fix signature of lasso_node_set_original_xmlnode, fix signature in
documentation of lasso_node_set_original_xmlnode;
- add a new API lasso_node_set_custom_nodename to specify the exact
element name to use when serializing a LassoNode to XML.
- rename internal structure _CustomNamespace to _CustomElement, add a
nodename field to it.
- rework internal functions around _CustomElement to be aware of an
existing attached _CustomElement and re-use if needed.
- move application of _CustomElement hints after the serialization of
the node, so that the normal behaviour of the serialization is kept
-- i.e. do not play with the list of parent classes.
- use the full xsi:type content to find a LassoNode subclass when
de-serializaing XML content, factorize QName->GObject class mapping
for the three executions paths inside
_type_name_from_href_and_nodename:
- element QName,
- xsi:type QName,
- element name with xsi:type namespace
- add a long comment expliciting the way the mapping is done.
- remove direct mapping of EncryptedAssertion element, the registry
declaration on the class LassoSaml2EncryptedElement shoud be
enough.
|
|
|
|
|
|
| |
* lasso/xml/xml.c:
- use snippet->ns_uri and snippet->ns_name to parse attributes
outside of the parent node namespace.
|
|
|
|
|
|
|
|
| |
when nodeset is empty
* lasso/xml/tools.c:
only check that the query returned a nodeset object, do not check its
content size.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/utils.h:
- add macro lasso_ref(object), if object is not null, call
g_object_ref on it, and return the value, otherwise do nothing and
return NULL.
- make a better reporting of bad object release
- change format type for __LINE__ and dest arguments in
lasso_release_gobject warning display.
- add a lasso_check_non_empty_string macro
- add new macro to extract a specific node type from a list of
GObject objects.
- use xmlStrdup not g_strdup for lasso_assign_xml_string
- add lasso_list_add_gstrv and lasso_check_good_rc
- add macro lasso_list_get_first_child
- add inline function to test empty string
- change macro lasso_check_non_empty_string to use the new inline
function and go to cleanup
- fix lasso_check_non_empty_string macro
* lasso/utils.c:
- add lasso_gobject_is_of_type returns 0 if first parameters is a
gobject whose GType is equal to the second parameter, and 1
otherwise.
|
|
|
|
| |
LASSO_PROFILE_ERROR_INVALID_REQUEST.
|
|
|
|
|
|
|
| |
* registry.c:
use ptrdiff_t to cast to integer big enough to receive a pointer,
then apply integer operations, then cast to the pointer type expected
by g_direct_hash.
|
|
|
|
|
|
| |
* lasso/utils.h:
__STRING(x) does not seem more portable than #x so change, problem
with AIX.
|
|
|
|
|
|
|
| |
* lasso/xml/id-wsf-2.0/Makefile.am:
make xml_idwsf2.h appear in the distribution file
* lasso/xml/ws/Makefile.am:
make xml_ws.h appear in the distribution file
|
|
|
|
|
|
| |
* lasso/saml-2.0/profile.c:
in lasso_saml20_profile_export_to_query, check return value of of
lasso_node_build_query and lasso_query_sign.
|
|
|
|
|
| |
* lasso/id-ff/profile.c:
lasso_is_session_dirty must return FALSE if session is NULL.
|
|
|
|
|
|
| |
* lasso/id-ff/login.c:
status is already freed by lasso_assign_gobject, do not free it first
with lasso_node_destroy.
|
|
|
|
|
| |
* lasso/saml-2.0/profile.c:
remove message level signatures before building query strings.
|
|
|
|
|
| |
* lasso/saml-2.0/profile.c:
check for NULL when accessing klass datas.
|
|
|
|
|
|
| |
* lasso/xml/tools.c:
some application transfer relaystate longer thant the specification
advised 80 bytes, try to cater for their needs.
|
|
|
|
|
|
| |
* lasso/xml/tools.c:
add documentation on the internal function
lasso_get_relaystate_from_query
|
|
|
|
|
|
| |
* lasso/xml/strings.h:
add C defines for AuhtnContextClassRef,
urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified.
|
|
|
|
|
|
|
| |
* saml-2.0/name_id_management.c:
use specialized lasso_saml20_profile_set_response_status
set 'MissingNameID' second level error with requester first level
error code when request is missing a name id.
|
|
|
|
|
|
|
|
| |
* lasso/xml/xml.c:
do not mix the return code from xmlSecBase64Decode and the return
code for lasso_node_init_from_message_with_format.
It fixes a segmentation fault in
lasso_login_process_authn_request_msg.
|
|
|
|
|
|
|
|
|
|
| |
* lasso/id-ff/provider.c lasso/id-ff/provider.h:
add a method giving the SPNameQualifier for a provider (its entity id
or its affiliation id).
* lasso/id-ff/profile.c:
* lasso/saml-2.0/login.c:
update use sites.
|
|
|
|
|
|
|
| |
* lasso/saml-2.0/logout.c:
when creating a logout request message initialize the SessionIndex
element with the correponding content in the stored assertion for
this session.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/saml-2.0/profile.c:
* lasso/saml-2.0/profileprivate.h:
make lasso_saml20_profile_set_response_status2 the new implementation
of lasso_saml20_profile_set_response_status.
add helper macros to set success, responder and requester first level
status code.
* saml-2.0/assertion_query.c:
* saml-2.0/login.c:
* saml-2.0/logout.c:
* saml-2.0/name_id_management.c:
adapt consumers to the new signature.
|
|
|
|
|
|
| |
* lasso/id-ff/logout.c:
* lasso/id-ff/logout.h:
add a flag to store the status of a partial logout
|
|
|
|
|
|
|
| |
* lasso/xml/saml-2.0/saml2_name_id.c:
* lasso/xml/saml-2.0/saml2_name_id.h:
add a lasso_saml2_name_id_equals method which return TRUE if two
NameId are equal.
|
|
|
|
|
|
| |
* lasso/saml-2.0/profile.c:
instead of accessing directly profile->server use the helper method
get_provider.
|
|
|
|
|
|
|
|
| |
* lasso/saml-2.0/logout.c:
remote_providerId is verified in build_redirect_simple and is not
necessary for SOAP response with a failure and profile->response
cannot be null (we just created a response if it was missing).
So this error case is now unnecessary.
|
|
|
|
|
|
| |
* client of LassoServer should use lasso_server_get_provider.
* LASSO_PROFILE_ERRROR_UNKNOWN_PROVIDER was a mistake, it is
superfluous, use LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND.
|
|
|
|
|
|
| |
- lasso/id-ff/profile.c:
replace direct access to server->provider by
lasso_server_get_provider.
|
|
|
|
|
|
|
|
|
| |
- lasso/id-ff/provider.c lasso/id-ff/provider.h:
change return type of lasso_provider_get_metadata_list from GList* to
const GList*.
- lasso/id-ff/logout.c lasso/saml-2.0/logout.c
lasso/saml-2.0/provider.c:
change consumers of the API
|
|
|
|
|
|
| |
* lasso/id-ff/provider.c lasso/id-ff/provider.h
lasso/saml-2.0/provider.c lasso/saml-2.0/provider.h:
add const modifier where they could be added.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/id-ff/federation.c:
* lasso/id-ff/logout.c:
* lasso/id-ff/profile.c:
* lasso/id-ff/provider.c:
* lasso/id-ff/server.c:
* lasso/id-ff/session.c:
* lasso/id-wsf/authentication.c:
* lasso/saml-2.0/ecp.c:
* lasso/xml/xml.c:
even for private datas, use g_new0, it is safer.
|
|
|
|
|
|
|
|
|
|
| |
* saml-2.0/login.c:
in lasso_saml20_login_init_authn_request,
lasso_saml20_login_init_idp_initiated_authn_request, if the service
provider provided a list of supported name id formats, use the first
one as default for new AuthnRequest.
* id-ff/login.c:
modify documentation to report the new way of choosing a default.
|
|
|
|
|
|
| |
* lasso/id-ff/provider.c lasso/id-ff/provider.h:
add lasso_provider_get_default_name_id_format, which returns the firs
listed NameIDFormat from the SAML 2.0 metadatas of the provider.
|
|
|
|
|
|
|
|
| |
NameIDFormat
* lasso/id-ff/login.c:
in lasso_login_init_authn_request, add docbook formatting, add
remarks about the different NameIDFormat for ID-FF 1.2 and SAML 2.0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/data_service.c: fix uninitialized res variable in
lasso_idwsf2_data_service_process_query_response_soap_fault_msg.
* lasso/xml/saml-2.0/saml2_assertion.c: fix uninitialized rc variable
in get_xmlNode.
* lasso/saml-2.0/login.c:
in lasso_saml20_login_accept_sso check for ni and ni->Format
null-ness before dereferencing, remove idp_ni which is not used
anymore.
remote all use of federation->remote_nameIdentifier, SAML 2.0 only
need one NameID, and it will be local_nameIdentifier.
* lasso/xml/xml.c:
in lasso_node_traversal, check null-ness of node before dereferencing
it, add check for class null-ness also.
* lasso/id-ff/provider.c:
in lasso_provider_get_first_http_method, remove useless check for t2
null-ness -- if found is TRUE, t1 and t2 cannot be null.
* lasso/xml/tools.c:
in lasso_sign_node, add documentation, check for private_key_file and
xmlnode null-ness.
in lasso_get_public_key_from_private_key_file, add a cleanup phase,
check for cert variabl null-ness befor appending, count the number of
certificates added.
in lasso_query_verify_signature, check that URL unescaping and base64
decoding are succesfull before using the decoded strings.
* lasso/saml-2.0/name_id_management.c:
in lasso_name_id_management_validate_request, fix mis-handling of
federation, if federation does not match request name_id, return
UNKNOWN_PRINCIPAL.
|
|
|
|
|
| |
* lasso/id-wsf-2.0/session.c:
remove direct acces to LassoSession private field.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/id-ff/session.c:
* lasso/id-ff/session.h:
* lasso/id-ff/sessionprivate.h:
unseal session->is_dirty and session->assertions, remove the mirror
version in the private data structure, and restore direct acces by
methods.
move the "private" comment before those two fields to hide them in
the gtk-doc reference manual, normal access should be done by
get_assertion and is_dirty methods.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/xml/disco_send_single_logout.c:
* lasso/xml/id-wsf-2.0/sb2_user_interaction_header.c:
* lasso/xml/id-wsf-2.0/subsref_app_data.c:
* lasso/xml/xml.c:
lots of ID-WSF 1.0/2.0 classes were not passing the new
non-regression test on serialization/deserialization.
The main reason was the absence of mapping for their namespace in the
prefix_from_href_and_nodename function. The other reason is that some
class name does not correspond 1-to-1 to the element name
(SendSingleLogOut vs. SendSingleLogout, notice the capitalised 'O').
The last problem was that mapping from nodes to GObject classes was
done after default mapping ("Lasso<prefix><node_name>"), now it's
done before, to reflect the fact that it is a more specialized
mapping.
|
|
|
|
|
|
| |
* lasso/registry.c (lasso_registry_get_direct_mapping):
g_return_val_if_fail output a warning when condition fails, use a
simple if instead.
|
|
|
|
|
|
|
|
|
| |
* lasso/xml/xml.c:
lasso_node_get_xmlnode_for_any_type is broken, if no original_xmlnode
is present, return just cur. Also add all missing cases for the state
of the pair (cur, orignal_xmlnode).
* tests/basic_tests.c:
add a non-regression test, testing all dump/restore functions.
|
|
|
|
|
|
|
| |
* lasso/utils.h:
lasso_foreach_full_begin(_type, _data, _iter, _list)
traverse GList* _list, using _iter as iteration variable
extract data field to variable _data of type _type.
|
|
|
|
|
|
| |
* lasso/extract_symbols.py:
the regular expression was not matching declaration over multiple lines,
and would catch argument starting with lasso_. Fixed.
|
|
|
|
|
|
|
| |
* lasso/xml/wsf/xml_ws.h:
* lasso/xml/id-wsf-2.0/xml_idwsf2.h:
* lasso/xml/xml_idwsf.h:
new files.
|
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/profile.c:
* lasso/id-wsf-2.0/profile.h:
add two methods that set the response object and replace the content
of the SOAP message with this object.
|
|
|
|
|
|
|
| |
* lasso/xml/soap_fault.c:
* lasso/xml/soap_fault.h:
add a full constructor allowing to set faultcode and faultstring in
one call.
|
|
|
|
|
|
| |
* lasso/xml/misc_text_node.c:
non simple constructor must return the real object type because Java
binding does not work without it.
|
| |
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/profile.c lasso/id-wsf-2.0/profile.c:
add two accessor to get to soap_response and soap_request object,
next step is to make those two fields really private.
|
|
|
|
|
|
|
|
| |
WS-Security
* lasso/xml/strings.h:
namespace of WS-Security 1.0 was duplicated,
add specified fault code linked to WS-Security.
|
|
|
|
|
|
|
|
|
|
| |
* xml/Makefile.am:
remove the file from the source list
* xml/wsse_security.c:
* xml/wsse_security.h:
remove the files
* xml/xml.c:
use LassoWsSec1SecurityHeader for LASSO_WSSE_HREF namespace also.
|
|
|
|
|
|
|
|
| |
* lasso/id-wsf/wsf_profile.c:
use the common LassoWsSec1SecurityHeader object instead of the
specific LassoWsseSecurity, and set the needed namespace using
lasso_node_set_custom_namespace.
add implementation comments.
|