set minor_status

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6992 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1999-09-20 14:08:22 +00:00
parent 72fc8150f1
commit bd5dc24fc6
2 changed files with 26 additions and 12 deletions

View File

@@ -83,9 +83,11 @@ OM_uint32 gss_accept_sec_context
gssapi_krb5_init (); gssapi_krb5_init ();
if (*context_handle == GSS_C_NO_CONTEXT) { if (*context_handle == GSS_C_NO_CONTEXT) {
*context_handle = malloc(sizeof(**context_handle)); *context_handle = malloc(sizeof(**context_handle));
if (*context_handle == GSS_C_NO_CONTEXT) if (*context_handle == GSS_C_NO_CONTEXT) {
return GSS_S_FAILURE; *minor_status = ENOMEM;
return GSS_S_FAILURE;
}
} }
(*context_handle)->auth_context = NULL; (*context_handle)->auth_context = NULL;
@@ -116,8 +118,10 @@ OM_uint32 gss_accept_sec_context
ret = gssapi_krb5_decapsulate (input_token_buffer, ret = gssapi_krb5_decapsulate (input_token_buffer,
&indata, &indata,
"\x01\x00"); "\x01\x00");
if (ret) if (ret) {
goto failure; kret = 0;
goto failure;
}
if (acceptor_cred_handle == GSS_C_NO_CREDENTIAL) { if (acceptor_cred_handle == GSS_C_NO_CREDENTIAL) {
if (gss_keytab != NULL) { if (gss_keytab != NULL) {
@@ -204,8 +208,10 @@ OM_uint32 gss_accept_sec_context
ret = gssapi_krb5_encapsulate (&outbuf, ret = gssapi_krb5_encapsulate (&outbuf,
output_token, output_token,
"\x02\x00"); "\x02\x00");
if (ret) if (ret) {
kret = 0;
goto failure; goto failure;
}
} else { } else {
output_token->length = 0; output_token->length = 0;
} }
@@ -223,5 +229,6 @@ failure:
(*context_handle)->target); (*context_handle)->target);
free (*context_handle); free (*context_handle);
*context_handle = GSS_C_NO_CONTEXT; *context_handle = GSS_C_NO_CONTEXT;
*minor_status = kret;
return GSS_S_FAILURE; return GSS_S_FAILURE;
} }

View File

@@ -83,9 +83,11 @@ OM_uint32 gss_accept_sec_context
gssapi_krb5_init (); gssapi_krb5_init ();
if (*context_handle == GSS_C_NO_CONTEXT) { if (*context_handle == GSS_C_NO_CONTEXT) {
*context_handle = malloc(sizeof(**context_handle)); *context_handle = malloc(sizeof(**context_handle));
if (*context_handle == GSS_C_NO_CONTEXT) if (*context_handle == GSS_C_NO_CONTEXT) {
return GSS_S_FAILURE; *minor_status = ENOMEM;
return GSS_S_FAILURE;
}
} }
(*context_handle)->auth_context = NULL; (*context_handle)->auth_context = NULL;
@@ -116,8 +118,10 @@ OM_uint32 gss_accept_sec_context
ret = gssapi_krb5_decapsulate (input_token_buffer, ret = gssapi_krb5_decapsulate (input_token_buffer,
&indata, &indata,
"\x01\x00"); "\x01\x00");
if (ret) if (ret) {
goto failure; kret = 0;
goto failure;
}
if (acceptor_cred_handle == GSS_C_NO_CREDENTIAL) { if (acceptor_cred_handle == GSS_C_NO_CREDENTIAL) {
if (gss_keytab != NULL) { if (gss_keytab != NULL) {
@@ -204,8 +208,10 @@ OM_uint32 gss_accept_sec_context
ret = gssapi_krb5_encapsulate (&outbuf, ret = gssapi_krb5_encapsulate (&outbuf,
output_token, output_token,
"\x02\x00"); "\x02\x00");
if (ret) if (ret) {
kret = 0;
goto failure; goto failure;
}
} else { } else {
output_token->length = 0; output_token->length = 0;
} }
@@ -223,5 +229,6 @@ failure:
(*context_handle)->target); (*context_handle)->target);
free (*context_handle); free (*context_handle);
*context_handle = GSS_C_NO_CONTEXT; *context_handle = GSS_C_NO_CONTEXT;
*minor_status = kret;
return GSS_S_FAILURE; return GSS_S_FAILURE;
} }