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:
@@ -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;
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user