* lasso/id-ff/profile.{c,h}:
add lasso_profile_add_soap_fault_response(char* code, char *string,
GList *details).
* lasso/id-wsf-2.0/profile.{c,h}:
change signature of lasso_idwsf2_profile_init_soap_fault_response.
* lasso/id-wsf-2.0/data_service.c:
use new function instead of manually intializing soap faults
* lasso/id-wsf-2.0/discovery.c:
init a soap fault when parsed request is of an unknown type, return
proper error.
* lasso/id-wsf-2.0/discovery.c:
- in lasso_idwsf2_discovery_validate_request, use svcmdids to
intialize response to MSAssociationQuery requests.
- in lasso_idwsf2_discovery_process_response_msg, extract received
svcmdids; use lasso_check_good_rc when needed.
* lasso/id-wsf-2.0/discovery.c:
- in lasso_idwsf2_discovery_add_identity_to_epr, receive an Epr
instead of an EprMetadata node, and use
lasso_wsa_endpoint_reference_add_security_token to add the
assertion token instead of duplicating this logic.
- in lasso_idwsf2_discovery_build_epr change the call site.
* data_service.c:
remove dependency on discovery.h
* discovery.{c,h}:
- add a lasso_idwsf2_discovery_process_request_msg to extract request
data before validate request (SvcMDID, SvcMD or RequestService).
- store SvcMDID in a private field, add a setter for it.
- SvcMDID is now used for building response to MDAssociationQuery and
parsing request for MDQuery, MDDelete, MDAssociationAdd and
MDAssociationDelete.
* idwsf2_helper.{c,h}:
- change security mechanism argument of
lasso_wsa_endpoint_reference_add_security_token from a NULL
terminated string array to a GList.
* saml2_login.{c,h}:
- add a lasso_server_create_assertion_as_idwsf2_security_token for
minting assertion for ID-WSF 2.0 security, to be used in Discovery
bootstap EPR creation and EPR minting for Discovery service Query
responses.
- add a lasso_saml2_assertion_get_discovery_bootstrap_epr, and
rewirte lasso_login_idwsf2_get_discovery_bootstrap_epr to use it.
- make lasso_login_idwsf2_add_discovery_bootstrap_epr accept a list
of security mechanisms, not just one.
* tests/idwsf2_tests.c:
- adapt to new argument type of
lasso_login_idwsf2_add_discovery_bootstrap_epr.
* lasso/id-ff/provider.c:
fix lasso_provider_get_base64_succinct_id, it returned a libxml
string, copy it with g_strdup before releasing it to stay with GLib
allocated string in return values.
* lasso/id-wsf-2.0/discovery.c:
fix check in
lasso_idwsf2_discovery_process_metadata_register_response_msg
fix duplication of service metadatas inside private list of service
metadatas.
* lasso/id-wsf-2.0/profile.c lasso/id-wsf-2.0/profile.h:
- lasso_idwsf2_profile_get_name_identifier returns the NameID found
in an assertion used as a WS-Security token when security mechanism
Bearer or SAML are used.
- complete the function lasso_id_wsf2_profile_build_soap_envelope
with construction of the Sender element which is used to transmit
the providerID of the message sender by the SOAP binding ID-WSF 2.0
specification.
- remove useless instance_init function in profile object
- reset some profile fields in process_soap_request_msg (response,
body, nameIdentifier). use
lasso_saml20_profile_name_identifier_decryption for handling NameID
from WS-Security mechanism assertion.
- add private_data
- change signature of lasso_idwsf2_profile_init_soap_request to use
and EPR and a security mechanism specifier when building the SOAP
request.
- change signature of lasso_idwsf2_profile_process_soap_request to
verify security_mech_id of received messages.
* docs/reference/lasso/lasso-sections.txt:
add the function to the documentation.
* lasso/id-wsf-2.0/discovery.{c,h}:
- use utils.h macros instead of g_return_val_if_fail because it
removes useless warning, since it returns an error code. release
acquired resources.
- in lasso_idwsf2_discovery_metadata_register_self, return error code
instead of identifier string for the new service, use an out
parmeter to return the identifier, use utils.h macros.
- in lasso_idwsf2_discovery_init_metadata_register, use utils.h
macros, check return code of lasso_idwsf2_profile_init_soap_request.
- change signature of lasso_idwsf2_discovery_init_metadata_register
to support security_mech_id, try to get URL from an existing
Discovery service EPR (from Session object).
- change signature of
lasso_idwsf2_discovery_process_metadata_register_msg,
lasso_idwsf2_discovery_init_metadata_association_add,
lasso_idwsf2_discovery_process_metadata_association_add_msg,
lasso_idwsf2_discovery_init_query,
lasso_idwsf2_discovery_process_query_msg, to support security
mechanism.
- improve lasso_idwsf2_discovery_build_query_response_eprs.
- add lasso_idwsf2_discovery_get_nth_data_service to acces returned
services.
* lasso/id-wsf-2.0/data_service.{c,h}:
- redo all the API
* nearly all C files: change includes for relative paths.
* lasso/id-wsf/id_wsf.h, lasso/id-wsf-2.0/id_wsf_2.h: add top level
public include files for ID-WSF 1.0 and ID-WSF 2.0.
* lasso/id-ff/server.*, lasso/id-ff/session.*, lasso/id-ff/identity.*:
remove most of the code related to ID-WSF and push into
lasso/id-wsf/id_ff_extensions.* and lasso/id-wsf-2.0/identity.c,
lasso/id-wsf-2.0/server.c, lasso/id-wsf-2.0/session.c.
* lasso/id-wsf-2.0/saml2_login.c,
lasso/id-wsf-2.0/saml2_login_private.h: same change but for ID-WSF
2.0 support in SAML2 SSO profile.
* lasso/id-wsf-2.0/discovery.c
(lasso_idwsf2_discovery_process_metadata_register_response_msg):
change return code variable to rc, move argument casting after argument
type check, copy all the service metadata ids,
* lasso/id-wsf-2.0/discovery.c
(lasso_idwsf2_discovery_init_metadata_register):
add documentation comment, move argument casting after type checking,
change return code name to rc to comply with standardisation,
use lasso_build_unique_id instead of duplicating the code,
add iteration over all the registered service, add iteration
to return all the generated service metadata ids, use new assignment
macros.
* lasso/id-wsf-2.0/discovery.h (struct _LassoIdWsf2Discovery):
change field LassoIdWsf2DiscoSvcMetadata metadata to GList* metadatas
and gchar *svcMDID to GList *svcMDIDs in order to support multiple
services in requests.
* lasso/id-wsf-2.0/discovery.c (lasso_idwsf2_discovery_register_self)
move casting after argument type check, simplify code by using
lasso_build_unique_id, remove useless comments
* lasso/id-wsf-2.0/data_service.c:
* lasso/id-wsf-2.0/discovery.c:
* lasso/id-wsf-2.0/profile.c:
* lasso/id-wsf/data_service.c:
* lasso/id-wsf/discovery.c:
* lasso/id-wsf/wsf_profile.c:
when --enable-debugging is activated much more type checking is done
by internal macros, and code do not pass compile anymore.
* bindings/python/tests/idwsf2_tests.py: nameIdentifier packing in SOAP
ID-WSF calls headers is no longer supported, do not test it.
* lots of files: Explicitely set all field of initialized structures,
in order to remove -Wno-missing-field-initilizers from needed
compiler options when using -Wall -Wextra.
* lasso/id-wsf-2.0/data_service.c, lasso/id-wsf-2.0/discovery.c,
lasso/id-wsf-2.0/profile.c: use assignment macros to maintain proper
reference counting and ownership of object field values.
- remove unused parameter from private function signatures
- remove unused variable
- initialize variable potentially accessed uninitialized
- add G_GNUC_UNUSED if function is public or adhering to an interface, and a
parameter is unused.
- if ID-WSF is not compiled in, define stubs with G_GNUC_UNUSED on parameters.
The goal is to compile with -Werror.