Prevent multiple OneTimeUse elements (#52961)

"A SAML authority MUST NOT include more than one <OneTimeUse> element within a
<Conditions>element of an assertion"
This commit is contained in:
Benjamin Dauvergne 2021-06-24 02:21:14 +02:00
parent 149de8cd0b
commit 663c094ec7
1 changed files with 7 additions and 4 deletions

View File

@ -333,12 +333,15 @@ lasso_saml2_assertion_set_one_time_use(LassoSaml2Assertion *saml2_assertion,
g_return_if_fail (LASSO_IS_SAML2_ASSERTION (saml2_assertion));
saml2_conditions = lasso_saml2_assertion_get_conditions(saml2_assertion, TRUE);
lasso_list_add_new_gobject (saml2_conditions->OneTimeUse, lasso_saml2_one_time_use_new());
if (one_time_use) {
lasso_list_add_new_gobject(saml2_conditions->OneTimeUse,
lasso_saml2_one_time_use_new());
if (! saml2_conditions->OneTimeUse) {
lasso_list_add_new_gobject(saml2_conditions->OneTimeUse,
lasso_saml2_one_time_use_new());
}
} else {
lasso_release_list_of_gobjects(saml2_conditions->OneTimeUse);
if (saml2_conditions->OneTimeUse) {
lasso_release_list_of_gobjects(saml2_conditions->OneTimeUse);
}
}
}