try to return the error string from krb5

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9902 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
2001-05-11 09:16:47 +00:00
parent 9d52b652c1
commit e55eee640b
30 changed files with 174 additions and 4 deletions

View File

@@ -106,6 +106,8 @@ gss_accept_sec_context
&(*context_handle)->auth_context);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -135,6 +137,7 @@ gss_accept_sec_context
&acceptor_addr);
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
ret = GSS_S_BAD_BINDINGS;
goto failure;
}
@@ -146,6 +149,7 @@ gss_accept_sec_context
if (kret) {
krb5_free_address (gssapi_krb5_context, &acceptor_addr);
*minor_status = kret;
gssapi_krb5_set_error_string ();
ret = GSS_S_BAD_BINDINGS;
goto failure;
}
@@ -166,6 +170,7 @@ gss_accept_sec_context
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
ret = GSS_S_BAD_BINDINGS;
goto failure;
}
@@ -211,6 +216,8 @@ gss_accept_sec_context
&ticket);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -219,6 +226,8 @@ gss_accept_sec_context
&(*context_handle)->source);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -227,6 +236,8 @@ gss_accept_sec_context
&(*context_handle)->target);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -236,6 +247,8 @@ gss_accept_sec_context
src_name);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
}
@@ -248,6 +261,8 @@ gss_accept_sec_context
&authenticator);
if(kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -258,6 +273,8 @@ gss_accept_sec_context
krb5_free_authenticator(gssapi_krb5_context, &authenticator);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
}
@@ -326,6 +343,8 @@ end_fwd:
&outbuf);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
ret = gssapi_krb5_encapsulate (&outbuf,

View File

@@ -145,6 +145,7 @@ OM_uint32 gss_acquire_cred
krb5_bad:
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
gssapi_bad:
krb5_free_principal(gssapi_krb5_context, handle->principal);

View File

@@ -57,6 +57,7 @@ OM_uint32 gss_context_time
kret = krb5_timeofday(gssapi_krb5_context, &timeret);
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
return GSS_S_FAILURE;
}

View File

@@ -50,6 +50,7 @@ gss_krb5_copy_ccache(OM_uint32 *minor,
kret = krb5_cc_copy_cache(gssapi_krb5_context, cred->ccache, out);
if (kret) {
*minor = kret;
gssapi_krb5_set_error_string ();
return GSS_S_FAILURE;
}
return GSS_S_COMPLETE;

View File

@@ -52,6 +52,7 @@ OM_uint32 gss_display_name
&buf);
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
return GSS_S_FAILURE;
}
len = strlen (buf);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 1999 Kungliga Tekniska H<>gskolan
* Copyright (c) 1998 - 2001 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
@@ -35,6 +35,8 @@
RCSID("$Id$");
static char *krb5_error_string;
static char *
calling_error(OM_uint32 v)
{
@@ -91,6 +93,20 @@ routine_error(OM_uint32 v)
return msgs[v];
}
void
gssapi_krb5_set_error_string (void)
{
krb5_error_string = krb5_get_error_string(gssapi_krb5_context);
}
char *
gssapi_krb5_get_error_string (void)
{
char *ret = krb5_error_string;
krb5_error_string = NULL;
return ret;
}
OM_uint32 gss_display_status
(OM_uint32 *minor_status,
OM_uint32 status_value,
@@ -118,7 +134,9 @@ OM_uint32 gss_display_status
return GSS_S_FAILURE;
}
} else if (status_type == GSS_C_MECH_CODE) {
buf = strdup(krb5_get_err_text (gssapi_krb5_context, status_value));
buf = gssapi_krb5_get_error_string ();
if (buf == NULL)
buf = strdup(krb5_get_err_text (gssapi_krb5_context, status_value));
if (buf == NULL) {
*minor_status = ENOMEM;
return GSS_S_FAILURE;

View File

@@ -50,6 +50,7 @@ OM_uint32 gss_duplicate_name (
dest_name);
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
return GSS_S_FAILURE;
} else {
return GSS_S_COMPLETE;

View File

@@ -174,6 +174,7 @@ mic_des3
if (kret) {
free (message_token->value);
free (tmp);
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}
@@ -189,6 +190,7 @@ mic_des3
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (kret) {
free (message_token->value);
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}
@@ -212,6 +214,7 @@ mic_des3
ETYPE_DES3_CBC_NONE, &crypto);
if (kret) {
free (message_token->value);
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}
@@ -223,6 +226,7 @@ mic_des3
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (kret) {
free (message_token->value);
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}
@@ -258,6 +262,7 @@ OM_uint32 gss_get_mic
ret = gss_krb5_getsomekey(context_handle, &key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}

View File

@@ -107,4 +107,10 @@ gss_address_to_krb5addr(OM_uint32 gss_addr_type,
#define SC_LOCAL_SUBKEY 0x08
#define SC_REMOTE_SUBKEY 0x10
void
gssapi_krb5_set_error_string (void);
char *
gssapi_krb5_get_error_string (void);
#endif

View File

@@ -60,9 +60,11 @@ import_krb5_name (OM_uint32 *minor_status,
if (kerr == 0)
return GSS_S_COMPLETE;
else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED) {
gssapi_krb5_set_error_string ();
*minor_status = kerr;
return GSS_S_BAD_NAME;
} else {
gssapi_krb5_set_error_string ();
*minor_status = kerr;
return GSS_S_FAILURE;
}
@@ -112,9 +114,11 @@ import_hostbased_name (OM_uint32 *minor_status,
if (kerr == 0)
return GSS_S_COMPLETE;
else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED) {
gssapi_krb5_set_error_string ();
*minor_status = kerr;
return GSS_S_BAD_NAME;
} else {
gssapi_krb5_set_error_string ();
*minor_status = kerr;
return GSS_S_FAILURE;
}

View File

@@ -75,6 +75,7 @@ gss_import_sec_context (
kret = krb5_auth_con_init (gssapi_krb5_context,
&(*context_handle)->auth_context);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;

View File

@@ -228,6 +228,7 @@ init_auth
kret = krb5_auth_con_init (gssapi_krb5_context,
&(*context_handle)->auth_context);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -259,6 +260,7 @@ init_auth
if (initiator_cred_handle == GSS_C_NO_CREDENTIAL) {
kret = krb5_cc_default (gssapi_krb5_context, &ccache);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -270,6 +272,7 @@ init_auth
ccache,
&(*context_handle)->source);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -279,6 +282,7 @@ init_auth
target_name,
&(*context_handle)->target);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -303,6 +307,7 @@ init_auth
&cred);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -345,6 +350,7 @@ init_auth
&cksum);
krb5_data_free (&fwd_data);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -374,6 +380,7 @@ init_auth
KRB5_KU_AP_REQ_AUTH);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -387,6 +394,7 @@ init_auth
&outbuf);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -456,6 +464,7 @@ repl_mutual
&indata,
&repl);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}

View File

@@ -106,6 +106,8 @@ gss_accept_sec_context
&(*context_handle)->auth_context);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -135,6 +137,7 @@ gss_accept_sec_context
&acceptor_addr);
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
ret = GSS_S_BAD_BINDINGS;
goto failure;
}
@@ -146,6 +149,7 @@ gss_accept_sec_context
if (kret) {
krb5_free_address (gssapi_krb5_context, &acceptor_addr);
*minor_status = kret;
gssapi_krb5_set_error_string ();
ret = GSS_S_BAD_BINDINGS;
goto failure;
}
@@ -166,6 +170,7 @@ gss_accept_sec_context
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
ret = GSS_S_BAD_BINDINGS;
goto failure;
}
@@ -211,6 +216,8 @@ gss_accept_sec_context
&ticket);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -219,6 +226,8 @@ gss_accept_sec_context
&(*context_handle)->source);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -227,6 +236,8 @@ gss_accept_sec_context
&(*context_handle)->target);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -236,6 +247,8 @@ gss_accept_sec_context
src_name);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
}
@@ -248,6 +261,8 @@ gss_accept_sec_context
&authenticator);
if(kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
@@ -258,6 +273,8 @@ gss_accept_sec_context
krb5_free_authenticator(gssapi_krb5_context, &authenticator);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
}
@@ -326,6 +343,8 @@ end_fwd:
&outbuf);
if (kret) {
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
goto failure;
}
ret = gssapi_krb5_encapsulate (&outbuf,

View File

@@ -145,6 +145,7 @@ OM_uint32 gss_acquire_cred
krb5_bad:
ret = GSS_S_FAILURE;
*minor_status = kret;
gssapi_krb5_set_error_string ();
gssapi_bad:
krb5_free_principal(gssapi_krb5_context, handle->principal);

View File

@@ -57,6 +57,7 @@ OM_uint32 gss_context_time
kret = krb5_timeofday(gssapi_krb5_context, &timeret);
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
return GSS_S_FAILURE;
}

View File

@@ -50,6 +50,7 @@ gss_krb5_copy_ccache(OM_uint32 *minor,
kret = krb5_cc_copy_cache(gssapi_krb5_context, cred->ccache, out);
if (kret) {
*minor = kret;
gssapi_krb5_set_error_string ();
return GSS_S_FAILURE;
}
return GSS_S_COMPLETE;

View File

@@ -52,6 +52,7 @@ OM_uint32 gss_display_name
&buf);
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
return GSS_S_FAILURE;
}
len = strlen (buf);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 1999 Kungliga Tekniska H<>gskolan
* Copyright (c) 1998 - 2001 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
@@ -35,6 +35,8 @@
RCSID("$Id$");
static char *krb5_error_string;
static char *
calling_error(OM_uint32 v)
{
@@ -91,6 +93,20 @@ routine_error(OM_uint32 v)
return msgs[v];
}
void
gssapi_krb5_set_error_string (void)
{
krb5_error_string = krb5_get_error_string(gssapi_krb5_context);
}
char *
gssapi_krb5_get_error_string (void)
{
char *ret = krb5_error_string;
krb5_error_string = NULL;
return ret;
}
OM_uint32 gss_display_status
(OM_uint32 *minor_status,
OM_uint32 status_value,
@@ -118,7 +134,9 @@ OM_uint32 gss_display_status
return GSS_S_FAILURE;
}
} else if (status_type == GSS_C_MECH_CODE) {
buf = strdup(krb5_get_err_text (gssapi_krb5_context, status_value));
buf = gssapi_krb5_get_error_string ();
if (buf == NULL)
buf = strdup(krb5_get_err_text (gssapi_krb5_context, status_value));
if (buf == NULL) {
*minor_status = ENOMEM;
return GSS_S_FAILURE;

View File

@@ -50,6 +50,7 @@ OM_uint32 gss_duplicate_name (
dest_name);
if (kret) {
*minor_status = kret;
gssapi_krb5_set_error_string ();
return GSS_S_FAILURE;
} else {
return GSS_S_COMPLETE;

View File

@@ -174,6 +174,7 @@ mic_des3
if (kret) {
free (message_token->value);
free (tmp);
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}
@@ -189,6 +190,7 @@ mic_des3
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (kret) {
free (message_token->value);
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}
@@ -212,6 +214,7 @@ mic_des3
ETYPE_DES3_CBC_NONE, &crypto);
if (kret) {
free (message_token->value);
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}
@@ -223,6 +226,7 @@ mic_des3
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (kret) {
free (message_token->value);
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}
@@ -258,6 +262,7 @@ OM_uint32 gss_get_mic
ret = gss_krb5_getsomekey(context_handle, &key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}

View File

@@ -107,4 +107,10 @@ gss_address_to_krb5addr(OM_uint32 gss_addr_type,
#define SC_LOCAL_SUBKEY 0x08
#define SC_REMOTE_SUBKEY 0x10
void
gssapi_krb5_set_error_string (void);
char *
gssapi_krb5_get_error_string (void);
#endif

View File

@@ -60,9 +60,11 @@ import_krb5_name (OM_uint32 *minor_status,
if (kerr == 0)
return GSS_S_COMPLETE;
else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED) {
gssapi_krb5_set_error_string ();
*minor_status = kerr;
return GSS_S_BAD_NAME;
} else {
gssapi_krb5_set_error_string ();
*minor_status = kerr;
return GSS_S_FAILURE;
}
@@ -112,9 +114,11 @@ import_hostbased_name (OM_uint32 *minor_status,
if (kerr == 0)
return GSS_S_COMPLETE;
else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED) {
gssapi_krb5_set_error_string ();
*minor_status = kerr;
return GSS_S_BAD_NAME;
} else {
gssapi_krb5_set_error_string ();
*minor_status = kerr;
return GSS_S_FAILURE;
}

View File

@@ -75,6 +75,7 @@ gss_import_sec_context (
kret = krb5_auth_con_init (gssapi_krb5_context,
&(*context_handle)->auth_context);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;

View File

@@ -228,6 +228,7 @@ init_auth
kret = krb5_auth_con_init (gssapi_krb5_context,
&(*context_handle)->auth_context);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -259,6 +260,7 @@ init_auth
if (initiator_cred_handle == GSS_C_NO_CREDENTIAL) {
kret = krb5_cc_default (gssapi_krb5_context, &ccache);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -270,6 +272,7 @@ init_auth
ccache,
&(*context_handle)->source);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -279,6 +282,7 @@ init_auth
target_name,
&(*context_handle)->target);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -303,6 +307,7 @@ init_auth
&cred);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -345,6 +350,7 @@ init_auth
&cksum);
krb5_data_free (&fwd_data);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -374,6 +380,7 @@ init_auth
KRB5_KU_AP_REQ_AUTH);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -387,6 +394,7 @@ init_auth
&outbuf);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
ret = GSS_S_FAILURE;
goto failure;
@@ -456,6 +464,7 @@ repl_mutual
&indata,
&repl);
if (kret) {
gssapi_krb5_set_error_string ();
*minor_status = kret;
return GSS_S_FAILURE;
}

View File

@@ -251,6 +251,7 @@ unwrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key,
ETYPE_DES3_CBC_NONE, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -258,6 +259,7 @@ unwrap_des3
p, input_message_buffer->length - len, &tmp);
krb5_crypto_destroy(gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -294,6 +296,7 @@ unwrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key,
ETYPE_DES3_CBC_NONE_IVEC, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -309,6 +312,7 @@ unwrap_des3
}
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -339,6 +343,7 @@ unwrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key, 0, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -350,6 +355,7 @@ unwrap_des3
&csum);
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -382,6 +388,7 @@ OM_uint32 gss_unwrap
ret = gss_krb5_getsomekey(context_handle, &key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}

View File

@@ -157,6 +157,7 @@ verify_mic_des3
ret = krb5_crypto_init(gssapi_krb5_context, key,
ETYPE_DES3_CBC_NONE, &crypto);
if (ret){
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -168,6 +169,7 @@ verify_mic_des3
KRB5_KU_USAGE_SEQ,
p, 8, &seq_data);
if (ret) {
gssapi_krb5_set_error_string ();
krb5_crypto_destroy (gssapi_krb5_context, crypto);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -218,6 +220,7 @@ verify_mic_des3
&csum);
free (tmp);
if (ret) {
gssapi_krb5_set_error_string ();
krb5_crypto_destroy (gssapi_krb5_context, crypto);
*minor_status = ret;
return GSS_S_BAD_MIC;
@@ -248,6 +251,7 @@ gss_verify_mic
context_handle->auth_context,
&key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}

View File

@@ -67,6 +67,7 @@ gss_wrap_size_limit (
ret = gss_krb5_getsomekey(context_handle, &key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -265,6 +266,7 @@ wrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key, 0, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -279,6 +281,7 @@ wrap_des3
&cksum);
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -324,6 +327,7 @@ wrap_des3
}
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -347,6 +351,7 @@ wrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key,
ETYPE_DES3_CBC_NONE, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -355,6 +360,7 @@ wrap_des3
p, datalen, &tmp);
krb5_crypto_destroy(gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -385,6 +391,7 @@ OM_uint32 gss_wrap
ret = gss_krb5_getsomekey(context_handle, &key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}

View File

@@ -251,6 +251,7 @@ unwrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key,
ETYPE_DES3_CBC_NONE, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -258,6 +259,7 @@ unwrap_des3
p, input_message_buffer->length - len, &tmp);
krb5_crypto_destroy(gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -294,6 +296,7 @@ unwrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key,
ETYPE_DES3_CBC_NONE_IVEC, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -309,6 +312,7 @@ unwrap_des3
}
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -339,6 +343,7 @@ unwrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key, 0, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -350,6 +355,7 @@ unwrap_des3
&csum);
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -382,6 +388,7 @@ OM_uint32 gss_unwrap
ret = gss_krb5_getsomekey(context_handle, &key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}

View File

@@ -157,6 +157,7 @@ verify_mic_des3
ret = krb5_crypto_init(gssapi_krb5_context, key,
ETYPE_DES3_CBC_NONE, &crypto);
if (ret){
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -168,6 +169,7 @@ verify_mic_des3
KRB5_KU_USAGE_SEQ,
p, 8, &seq_data);
if (ret) {
gssapi_krb5_set_error_string ();
krb5_crypto_destroy (gssapi_krb5_context, crypto);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -218,6 +220,7 @@ verify_mic_des3
&csum);
free (tmp);
if (ret) {
gssapi_krb5_set_error_string ();
krb5_crypto_destroy (gssapi_krb5_context, crypto);
*minor_status = ret;
return GSS_S_BAD_MIC;
@@ -248,6 +251,7 @@ gss_verify_mic
context_handle->auth_context,
&key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}

View File

@@ -67,6 +67,7 @@ gss_wrap_size_limit (
ret = gss_krb5_getsomekey(context_handle, &key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}
@@ -265,6 +266,7 @@ wrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key, 0, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -279,6 +281,7 @@ wrap_des3
&cksum);
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -324,6 +327,7 @@ wrap_des3
}
krb5_crypto_destroy (gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -347,6 +351,7 @@ wrap_des3
ret = krb5_crypto_init(gssapi_krb5_context, key,
ETYPE_DES3_CBC_NONE, &crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -355,6 +360,7 @@ wrap_des3
p, datalen, &tmp);
krb5_crypto_destroy(gssapi_krb5_context, crypto);
if (ret) {
gssapi_krb5_set_error_string ();
free (output_message_buffer->value);
*minor_status = ret;
return GSS_S_FAILURE;
@@ -385,6 +391,7 @@ OM_uint32 gss_wrap
ret = gss_krb5_getsomekey(context_handle, &key);
if (ret) {
gssapi_krb5_set_error_string ();
*minor_status = ret;
return GSS_S_FAILURE;
}