Projet

Général

Profil

0001-In-lasso_saml20_login_process_response_status_and_as.patch

Benjamin Dauvergne, 17 novembre 2022 21:20

Télécharger (1,76 ko)

Voir les différences:

Subject: [PATCH 1/2] In
 lasso_saml20_login_process_response_status_and_assertion remove dead switch
 (#54689)

In case VERIFY_HINT was set to IGNORE and the login signature was
incorrect, lasso_saml20_login_process_response_status_and_assertion
would have jumped straight to the cleanup label which just returns the
return code.

Related: https://dev.entrouvert.org/issues/54689
License: MIT
 lasso/saml-2.0/login.c | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)
lasso/saml-2.0/login.c
1373 1373
	char *status_value;
1374 1374
	lasso_error_t rc = 0;
1375 1375
	lasso_error_t assertion_signature_status = 0;
1376
	LassoProfileSignatureVerifyHint verify_hint;
1376
	LassoProfileSignatureVerifyHint verify_hint = LASSO_PROFILE_SIGNATURE_VERIFY_HINT_LAST;
1377 1377

  
1378 1378
	profile = &login->parent;
1379 1379
	lasso_extract_node_or_fail(response, profile->response, SAMLP2_STATUS_RESPONSE,
......
1494 1494
		lasso_assign_gobject (login->private_data->saml2_assertion, last_assertion);
1495 1495
	}
1496 1496

  
1497
	switch (verify_hint) {
1498
		case LASSO_PROFILE_SIGNATURE_VERIFY_HINT_FORCE:
1499
		case LASSO_PROFILE_SIGNATURE_VERIFY_HINT_MAYBE:
1500
			break;
1501
		case LASSO_PROFILE_SIGNATURE_VERIFY_HINT_IGNORE:
1502
			/* ignore signature errors */
1503
			if (rc == LASSO_PROFILE_ERROR_CANNOT_VERIFY_SIGNATURE) {
1504
				rc = 0;
1505
			}
1506
			break;
1507
		default:
1508
			g_assert(0);
1509
	}
1510 1497
cleanup:
1511 1498
	return rc;
1512 1499
}
1513
-