(import_hostbased_name): set minor_status
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6614 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -80,8 +80,10 @@ import_hostbased_name (OM_uint32 *minor_status,
|
|||||||
char local_hostname[MAXHOSTNAMELEN];
|
char local_hostname[MAXHOSTNAMELEN];
|
||||||
|
|
||||||
tmp = malloc (input_name_buffer->length + 1);
|
tmp = malloc (input_name_buffer->length + 1);
|
||||||
if (tmp == NULL)
|
if (tmp == NULL) {
|
||||||
|
*minor_status = ENOMEM;
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
|
}
|
||||||
memcpy (tmp,
|
memcpy (tmp,
|
||||||
input_name_buffer->value,
|
input_name_buffer->value,
|
||||||
input_name_buffer->length);
|
input_name_buffer->length);
|
||||||
@@ -93,6 +95,7 @@ import_hostbased_name (OM_uint32 *minor_status,
|
|||||||
host = p + 1;
|
host = p + 1;
|
||||||
} else {
|
} else {
|
||||||
if (gethostname(local_hostname, sizeof(local_hostname)) < 0) {
|
if (gethostname(local_hostname, sizeof(local_hostname)) < 0) {
|
||||||
|
*minor_status = errno;
|
||||||
free (tmp);
|
free (tmp);
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
}
|
}
|
||||||
@@ -105,9 +108,10 @@ import_hostbased_name (OM_uint32 *minor_status,
|
|||||||
KRB5_NT_SRV_HST,
|
KRB5_NT_SRV_HST,
|
||||||
output_name);
|
output_name);
|
||||||
free (tmp);
|
free (tmp);
|
||||||
|
*minor_status = kerr;
|
||||||
if (kerr == 0)
|
if (kerr == 0)
|
||||||
return GSS_S_COMPLETE;
|
return GSS_S_COMPLETE;
|
||||||
else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED)
|
else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED)
|
||||||
return GSS_S_BAD_NAME;
|
return GSS_S_BAD_NAME;
|
||||||
else
|
else
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
|
@@ -80,8 +80,10 @@ import_hostbased_name (OM_uint32 *minor_status,
|
|||||||
char local_hostname[MAXHOSTNAMELEN];
|
char local_hostname[MAXHOSTNAMELEN];
|
||||||
|
|
||||||
tmp = malloc (input_name_buffer->length + 1);
|
tmp = malloc (input_name_buffer->length + 1);
|
||||||
if (tmp == NULL)
|
if (tmp == NULL) {
|
||||||
|
*minor_status = ENOMEM;
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
|
}
|
||||||
memcpy (tmp,
|
memcpy (tmp,
|
||||||
input_name_buffer->value,
|
input_name_buffer->value,
|
||||||
input_name_buffer->length);
|
input_name_buffer->length);
|
||||||
@@ -93,6 +95,7 @@ import_hostbased_name (OM_uint32 *minor_status,
|
|||||||
host = p + 1;
|
host = p + 1;
|
||||||
} else {
|
} else {
|
||||||
if (gethostname(local_hostname, sizeof(local_hostname)) < 0) {
|
if (gethostname(local_hostname, sizeof(local_hostname)) < 0) {
|
||||||
|
*minor_status = errno;
|
||||||
free (tmp);
|
free (tmp);
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
}
|
}
|
||||||
@@ -105,9 +108,10 @@ import_hostbased_name (OM_uint32 *minor_status,
|
|||||||
KRB5_NT_SRV_HST,
|
KRB5_NT_SRV_HST,
|
||||||
output_name);
|
output_name);
|
||||||
free (tmp);
|
free (tmp);
|
||||||
|
*minor_status = kerr;
|
||||||
if (kerr == 0)
|
if (kerr == 0)
|
||||||
return GSS_S_COMPLETE;
|
return GSS_S_COMPLETE;
|
||||||
else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED)
|
else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED)
|
||||||
return GSS_S_BAD_NAME;
|
return GSS_S_BAD_NAME;
|
||||||
else
|
else
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
|
Reference in New Issue
Block a user