(handle_v5): read sendauth version correctly.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6257 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-05-21 09:16:28 +00:00
parent dbaadb6d3c
commit c8895d60f5

View File

@@ -367,9 +367,9 @@ v5_loop (krb5_context context,
_krb5_put_int(tmp, reply.length, 4);
iov[0].iov_base = tmp;
iov[0].iov_len = 4;
iov[0].iov_len = 4;
iov[1].iov_base = reply.data;
iov[1].iov_len = reply.length;
iov[1].iov_len = reply.length;
n = writev(fd, iov, 2);
krb5_data_free(&reply);
if(n < 0)
@@ -387,18 +387,22 @@ handle_v5(krb5_context context,
int fd)
{
krb5_error_code ret;
u_char tmp[4];
u_char version[sizeof(KRB5_SENDAUTH_VERSION)];
krb5_ticket *ticket;
krb5_principal server;
char *client;
void *kadm_handle;
krb5_net_read(context, &fd, tmp, len);
if(len != sizeof(KRB5_SENDAUTH_VERSION) ||
memcmp(tmp, KRB5_SENDAUTH_VERSION, len) != 0)
krb5_errx(context, 1, "bad sendauth version %.8s", tmp);
if (len != sizeof(KRB5_SENDAUTH_VERSION))
krb5_errx(context, 1, "bad sendauth len %d", len);
if(krb5_net_read(context, &fd, version, len) != len)
krb5_err (context, 1, errno, "reading sendauth version");
if(memcmp(version, KRB5_SENDAUTH_VERSION, len) != 0)
krb5_errx(context, 1, "bad sendauth version %.8s", version);
krb5_parse_name(context, KADM5_ADMIN_SERVICE, &server);
ret = krb5_parse_name(context, KADM5_ADMIN_SERVICE, &server);
if (ret)
krb5_err (context, 1, ret, "krb5_parse_name %s", KADM5_ADMIN_SERVICE);
ret = krb5_recvauth(context, &ac, &fd, KADMIN_APPL_VERSION,
server, KRB5_RECVAUTH_IGNORE_VERSION,
keytab, &ticket);
@@ -406,7 +410,9 @@ handle_v5(krb5_context context,
if(ret)
krb5_err(context, 1, ret, "krb5_recvauth");
krb5_unparse_name(context, ticket->client, &client);
ret = krb5_unparse_name(context, ticket->client, &client);
if (ret)
krb5_err (context, 1, ret, "krb5_unparse_name");
ret = kadm5_init_with_password_ctx(context,
client,
NULL,