Use krb5_{read,write}_message

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2338 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-07-16 01:15:03 +00:00
parent 65d053861b
commit 64d780ce58
2 changed files with 19 additions and 31 deletions

View File

@@ -66,17 +66,10 @@ krb5_recvauth(krb5_context context,
if (krb5_net_write (context, fd, &repl, 1) != 1) if (krb5_net_write (context, fd, &repl, 1) != 1)
return errno; return errno;
if (krb5_net_read (context, fd, &len, 4) != 4) krb5_data_zero (&data);
return errno; ret = krb5_read_message (context, p_fd, &data);
if (ret)
len = ntohl(len); return ret;
data.length = len;
data.data = malloc (len);
if (data.data == NULL)
return ENOMEM;
if (krb5_net_read (context, fd, data.data, len) != len)
return errno;
ret = krb5_rd_req (context, ret = krb5_rd_req (context,
auth_context, auth_context,
@@ -98,10 +91,9 @@ krb5_recvauth(krb5_context context,
if (ret) if (ret)
return ret; return ret;
len = htonl(data.length); ret = krb5_write_message (context, p_fd, &data);
if (krb5_net_write (context, fd, &len, 4) != 4 if (ret)
|| krb5_net_write (context, fd, data.data, data.length) != data.length) return ret;
return errno;
krb5_data_free (&data); krb5_data_free (&data);
} }
return 0; return 0;

View File

@@ -97,11 +97,12 @@ krb5_sendauth(krb5_context context,
if (ret) if (ret)
return ret; return ret;
len = htonl(ap_req.length); ret = krb5_write_message (context,
if (krb5_net_write (context, fd, &len, 4) != 4 p_fd,
|| krb5_net_write (context, fd, &ap_req);
ap_req.data, ap_req.length) != ap_req.length) if (ret)
return errno; return ret;
krb5_data_free (&ap_req); krb5_data_free (&ap_req);
if (krb5_net_read (context, fd, &len, 4) != 4) if (krb5_net_read (context, fd, &len, 4) != 4)
@@ -114,17 +115,12 @@ krb5_sendauth(krb5_context context,
krb5_data ap_rep; krb5_data ap_rep;
krb5_ap_rep_enc_part *ignore; krb5_ap_rep_enc_part *ignore;
if (krb5_net_read (context, fd, &len, 4) != 4) krb5_data_zero (&ap_rep);
return errno; ret = krb5_read_message (context,
p_fd,
len = ntohl(len); &ap_rep);
ap_rep.length = len; if (ret)
ap_rep.data = malloc (len); return ret;
if (ap_rep.data == NULL)
return ENOMEM;
if (krb5_net_read (context, fd, ap_rep.data, len) != len)
return errno;
ret = krb5_rd_rep (context, *auth_context, &ap_rep, ret = krb5_rd_rep (context, *auth_context, &ap_rep,
rep_result ? rep_result : &ignore); rep_result ? rep_result : &ignore);