cyrus-sasl/cyrus-sasl-2.1.26-release-s...

17 lines
683 B
Diff

diff -up cyrus-sasl-2.1.26/plugins/gssapi.c.release-server_creds cyrus-sasl-2.1.26/plugins/gssapi.c
--- cyrus-sasl-2.1.26/plugins/gssapi.c.release-server_creds 2012-12-20 17:17:37.000000000 +0100
+++ cyrus-sasl-2.1.26/plugins/gssapi.c 2012-12-20 17:42:11.498138999 +0100
@@ -945,6 +945,12 @@ gssapi_server_mech_authneg(context_t *te
ret = SASL_CONTINUE;
}
+ /* Release server creds which are no longer needed */
+ if ( text->server_creds != GSS_C_NO_CREDENTIAL) {
+ maj_stat = gss_release_cred(&min_stat, &text->server_creds);
+ text->server_creds = GSS_C_NO_CREDENTIAL;
+ }
+
cleanup:
if (client_name_MN) {
GSS_LOCK_MUTEX(params->utils);