From 64d780ce5857451ab523c46bf2b9f28943adc4db Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Wed, 16 Jul 1997 01:15:03 +0000 Subject: [PATCH] Use krb5_{read,write}_message git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2338 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/recvauth.c | 22 +++++++--------------- lib/krb5/sendauth.c | 28 ++++++++++++---------------- 2 files changed, 19 insertions(+), 31 deletions(-) diff --git a/lib/krb5/recvauth.c b/lib/krb5/recvauth.c index a0e92a1ba..8c82c26f1 100644 --- a/lib/krb5/recvauth.c +++ b/lib/krb5/recvauth.c @@ -66,17 +66,10 @@ krb5_recvauth(krb5_context context, if (krb5_net_write (context, fd, &repl, 1) != 1) return errno; - if (krb5_net_read (context, fd, &len, 4) != 4) - return errno; - - len = ntohl(len); - 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; + krb5_data_zero (&data); + ret = krb5_read_message (context, p_fd, &data); + if (ret) + return ret; ret = krb5_rd_req (context, auth_context, @@ -98,10 +91,9 @@ krb5_recvauth(krb5_context context, if (ret) return ret; - len = htonl(data.length); - if (krb5_net_write (context, fd, &len, 4) != 4 - || krb5_net_write (context, fd, data.data, data.length) != data.length) - return errno; + ret = krb5_write_message (context, p_fd, &data); + if (ret) + return ret; krb5_data_free (&data); } return 0; diff --git a/lib/krb5/sendauth.c b/lib/krb5/sendauth.c index f4365872f..46643ca6a 100644 --- a/lib/krb5/sendauth.c +++ b/lib/krb5/sendauth.c @@ -97,11 +97,12 @@ krb5_sendauth(krb5_context context, if (ret) return ret; - len = htonl(ap_req.length); - if (krb5_net_write (context, fd, &len, 4) != 4 - || krb5_net_write (context, fd, - ap_req.data, ap_req.length) != ap_req.length) - return errno; + ret = krb5_write_message (context, + p_fd, + &ap_req); + if (ret) + return ret; + krb5_data_free (&ap_req); if (krb5_net_read (context, fd, &len, 4) != 4) @@ -114,17 +115,12 @@ krb5_sendauth(krb5_context context, krb5_data ap_rep; krb5_ap_rep_enc_part *ignore; - if (krb5_net_read (context, fd, &len, 4) != 4) - return errno; - - len = ntohl(len); - ap_rep.length = len; - ap_rep.data = malloc (len); - if (ap_rep.data == NULL) - return ENOMEM; - - if (krb5_net_read (context, fd, ap_rep.data, len) != len) - return errno; + krb5_data_zero (&ap_rep); + ret = krb5_read_message (context, + p_fd, + &ap_rep); + if (ret) + return ret; ret = krb5_rd_rep (context, *auth_context, &ap_rep, rep_result ? rep_result : &ignore);