From c264b952a5be4b303c5c276573c3dbe1530b9c8a Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Tue, 11 Nov 1997 01:37:57 +0000 Subject: [PATCH] fix calls to krb5_net_{read,write} git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3910 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/push/push.c | 31 +++++++++++++++++++------------ appl/rsh/common.c | 8 ++++---- appl/test/tcp_client.c | 8 ++++---- appl/test/tcp_server.c | 8 ++++---- kadmin/kadmind.c | 12 ++++++------ kdc/hprop-common.c | 9 +++++---- lib/kadm5/send_recv.c | 8 ++++---- lib/krb5/auth_context.c | 3 ++- lib/krb5/read_message.c | 5 ++--- lib/krb5/recvauth.c | 23 +++++++++++------------ lib/krb5/sendauth.c | 11 +++++------ lib/krb5/write_message.c | 5 ++--- 12 files changed, 68 insertions(+), 63 deletions(-) diff --git a/appl/push/push.c b/appl/push/push.c index 11046894d..83a07ccc0 100644 --- a/appl/push/push.c +++ b/appl/push/push.c @@ -239,7 +239,7 @@ doit(krb5_context context, out_len = snprintf (out_buf, sizeof(out_buf), "USER %s\r\nPASS hej\r\nSTAT\r\n", user); - if (krb5_net_write (context, s, out_buf, out_len) != out_len) + if (krb5_net_write (context, &s, out_buf, out_len) != out_len) err (1, "write"); if (verbose > 1) write (STDERR_FILENO, out_buf, out_len); @@ -295,10 +295,13 @@ doit(krb5_context context, close(out_fd); if (leavep) { state = QUIT; - krb5_net_write (context, s, "QUIT\r\n", 6); - if (verbose > 1) - krb5_net_write (context, STDERR_FILENO, + krb5_net_write (context, &s, "QUIT\r\n", 6); + if (verbose > 1) { + int foo = STDERR_FILENO; + krb5_net_write (context, &foo, + "QUIT\r\n", 6); + } } else { if (forkp) { pid_t pid; @@ -335,10 +338,12 @@ doit(krb5_context context, } else if (state == DELE) { if (++deleted == count) { state = QUIT; - krb5_net_write (context, s, "QUIT\r\n", 6); - if (verbose > 1) - krb5_net_write (context, STDERR_FILENO, + krb5_net_write (context, &s, "QUIT\r\n", 6); + if (verbose > 1) { + int foo = STDERR_FILENO; + krb5_net_write (context, &foo, "QUIT\r\n", 6); + } break; } } else if (++state == STAT) { @@ -350,10 +355,12 @@ doit(krb5_context context, count, bytes); if (count == 0) { state = QUIT; - krb5_net_write (context, s, "QUIT\r\n", 6); - if (verbose > 1) - krb5_net_write (context, STDERR_FILENO, - "QUIT\r\n", 6); + krb5_net_write (context, &s, "QUIT\r\n", 6); + if (verbose > 1) { + int foo = STDERR_FILENO; + krb5_net_write (context, &foo, + "QUIT\r\n", 6); + } break; } } @@ -376,7 +383,7 @@ doit(krb5_context context, else if(state == DELE) out_len = snprintf (out_buf, sizeof(out_buf), "DELE %u\r\n", ++asked_deleted); - if (krb5_net_write (context, s, out_buf, out_len) != out_len) + if (krb5_net_write (context, &s, out_buf, out_len) != out_len) err (1, "write"); if (verbose > 1) write (STDERR_FILENO, out_buf, out_len); diff --git a/appl/rsh/common.c b/appl/rsh/common.c index 1d60ed721..4b14a9f41 100644 --- a/appl/rsh/common.c +++ b/appl/rsh/common.c @@ -57,7 +57,7 @@ do_read (int fd, int status; krb5_data data; - ret = krb5_net_read (context, fd, &len, 4); + ret = krb5_net_read (context, &fd, &len, 4); if (ret != 4) return ret; len = ntohl(len); @@ -65,7 +65,7 @@ do_read (int fd, outer_len = (outer_len + 7) & ~7; if (outer_len > sz) abort (); - ret = krb5_net_read (context, fd, buf, outer_len); + ret = krb5_net_read (context, &fd, buf, outer_len); if (ret != outer_len) return ret; status = krb5_decrypt(context, buf, outer_len, @@ -109,10 +109,10 @@ do_write (int fd, void *buf, size_t sz) if (status) errx (1, "%s", krb5_get_err_text(context, status)); len = htonl(sz); - ret = krb5_net_write (context, fd, &len, 4); + ret = krb5_net_write (context, &fd, &len, 4); if (ret != 4) return ret; - ret = krb5_net_write (context, fd, data.data, data.length); + ret = krb5_net_write (context, &fd, data.data, data.length); if (ret != data.length) return ret; free (data.data); diff --git a/appl/test/tcp_client.c b/appl/test/tcp_client.c index ddad43260..c07de144d 100644 --- a/appl/test/tcp_client.c +++ b/appl/test/tcp_client.c @@ -140,9 +140,9 @@ proto (int sock, const char *hostname, const char *service) len = packet.length; net_len = htonl(len); - if (krb5_net_write (context, sock, &net_len, 4) != 4) + if (krb5_net_write (context, &sock, &net_len, 4) != 4) err (1, "krb5_net_write"); - if (krb5_net_write (context, sock, packet.data, len) != len) + if (krb5_net_write (context, &sock, packet.data, len) != len) err (1, "krb5_net_write"); data.data = "hemligt"; @@ -162,9 +162,9 @@ proto (int sock, const char *hostname, const char *service) len = packet.length; net_len = htonl(len); - if (krb5_net_write (context, sock, &net_len, 4) != 4) + if (krb5_net_write (context, &sock, &net_len, 4) != 4) err (1, "krb5_net_write"); - if (krb5_net_write (context, sock, packet.data, len) != len) + if (krb5_net_write (context, &sock, packet.data, len) != len) err (1, "krb5_net_write"); return 0; } diff --git a/appl/test/tcp_server.c b/appl/test/tcp_server.c index d61a18ff1..1cc7fd904 100644 --- a/appl/test/tcp_server.c +++ b/appl/test/tcp_server.c @@ -126,14 +126,14 @@ proto (int sock, const char *service) krb5_data_zero (&data); krb5_data_zero (&packet); - if (krb5_net_read (context, sock, &net_len, 4) != 4) + if (krb5_net_read (context, &sock, &net_len, 4) != 4) err (1, "krb5_net_read"); len = ntohl(net_len); krb5_data_alloc (&packet, len); - if (krb5_net_read (context, sock, packet.data, len) != len) + if (krb5_net_read (context, &sock, packet.data, len) != len) err (1, "krb5_net_read"); status = krb5_rd_safe (context, @@ -148,14 +148,14 @@ proto (int sock, const char *service) printf ("safe packet: %.*s\n", (int)data.length, (char *)data.data); - if (krb5_net_read (context, sock, &net_len, 4) != 4) + if (krb5_net_read (context, &sock, &net_len, 4) != 4) err (1, "krb5_net_read"); len = ntohl(net_len); krb5_data_alloc (&packet, len); - if (krb5_net_read (context, sock, packet.data, len) != len) + if (krb5_net_read (context, &sock, packet.data, len) != len) err (1, "krb5_net_read"); status = krb5_rd_priv (context, diff --git a/kadmin/kadmind.c b/kadmin/kadmind.c index 5b5f54a7f..122ef44ab 100644 --- a/kadmin/kadmind.c +++ b/kadmin/kadmind.c @@ -81,7 +81,7 @@ usage(int ret) exit (ret); } -kadm5_ret_t +static kadm5_ret_t kadm5_server_send(krb5_context context, krb5_auth_context ac, krb5_storage *sp, int fd) { @@ -103,13 +103,13 @@ kadm5_server_send(krb5_context context, krb5_auth_context ac, buf[1] = (out.length >> 16) & 0xff; buf[2] = (out.length >> 8) & 0xff; buf[3] = out.length & 0xff; - krb5_net_write(context, fd, buf, 4); - krb5_net_write(context, fd, out.data, out.length); + krb5_net_write(context, &fd, buf, 4); + krb5_net_write(context, &fd, out.data, out.length); krb5_data_free(&out); return 0; } -kadm5_ret_t +static kadm5_ret_t kadm5_server_recv(krb5_context context, krb5_auth_context ac, krb5_storage *sp, int fd) { @@ -118,7 +118,7 @@ kadm5_server_recv(krb5_context context, krb5_auth_context ac, krb5_data in, out; kadm5_ret_t ret; - ret = krb5_net_read(context, fd, buf, 4); + ret = krb5_net_read(context, &fd, buf, 4); if(ret == 0) exit(1); if(ret < 0) @@ -128,7 +128,7 @@ kadm5_server_recv(krb5_context context, krb5_auth_context ac, len = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; if(len > sizeof(buf)) return ENOMEM; - ret = krb5_net_read(context, fd, buf, len); + ret = krb5_net_read(context, &fd, buf, len); if(ret < 0) krb5_err(context, 1, errno, "krb5_net_read"); if(ret != len) diff --git a/kdc/hprop-common.c b/kdc/hprop-common.c index 728dea6b4..6cdd16355 100644 --- a/kdc/hprop-common.c +++ b/kdc/hprop-common.c @@ -61,9 +61,10 @@ send_priv(krb5_context context, krb5_auth_context ac, net_len[2] = (packet.length >> 8) & 0xff; net_len[3] = packet.length & 0xff; - if (krb5_net_write (context, fd, net_len, 4) != 4) + if (krb5_net_write (context, &fd, net_len, 4) != 4) ret = errno; - else if (krb5_net_write (context, fd, packet.data, packet.length) != packet.length) + else if (krb5_net_write (context, &fd, + packet.data, packet.length) != packet.length) ret = errno; krb5_data_free(&packet); return ret; @@ -78,11 +79,11 @@ recv_priv(krb5_context context, krb5_auth_context ac, int fd, krb5_data *out) size_t len; krb5_data data; hdb_entry entry; - if(krb5_net_read(context, fd, tmp, 4) != 4) + if(krb5_net_read(context, &fd, tmp, 4) != 4) return errno; len = (tmp[0] << 24) | (tmp[1] << 16) | (tmp[2] << 8) | tmp[3]; buf = malloc(len); - if(krb5_net_read(context, fd, buf, len) != len) + if(krb5_net_read(context, &fd, buf, len) != len) return errno; data.data = buf; data.length = len; diff --git a/lib/kadm5/send_recv.c b/lib/kadm5/send_recv.c index a20b67569..55fc42351 100644 --- a/lib/kadm5/send_recv.c +++ b/lib/kadm5/send_recv.c @@ -61,8 +61,8 @@ _kadm5_client_send(kadm5_client_context *context, krb5_storage *sp) buf[1] = (out.length >> 16) & 0xff; buf[2] = (out.length >> 8) & 0xff; buf[3] = out.length & 0xff; - krb5_net_write(context->context, context->sock, buf, 4); - krb5_net_write(context->context, context->sock, out.data, out.length); + krb5_net_write(context->context, &context->sock, buf, 4); + krb5_net_write(context->context, &context->sock, out.data, out.length); krb5_data_free(&out); return 0; } @@ -74,11 +74,11 @@ _kadm5_client_recv(kadm5_client_context *context, krb5_storage *sp) size_t len; krb5_error_code ret; krb5_data data, reply; - krb5_net_read(context->context, context->sock, buf, 4); + krb5_net_read(context->context, &context->sock, buf, 4); len = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; if(len > sizeof(buf)) return ENOMEM; /* XXX */ - krb5_net_read(context->context, context->sock, buf, len); + krb5_net_read(context->context, &context->sock, buf, len); data.length = len; data.data = buf; ret = krb5_rd_priv(context->context, context->ac, &data, &reply, NULL); diff --git a/lib/krb5/auth_context.c b/lib/krb5/auth_context.c index 622f13701..66b55a715 100644 --- a/lib/krb5/auth_context.c +++ b/lib/krb5/auth_context.c @@ -130,8 +130,9 @@ krb5_auth_con_setaddrs(krb5_context context, krb5_error_code krb5_auth_con_setaddrs_from_fd (krb5_context context, krb5_auth_context auth_context, - int fd) + void *p_fd) { + int fd = *((int *)p_fd); krb5_error_code ret; krb5_address local_k_address, remote_k_address; krb5_address *lptr = NULL, *rptr = NULL; diff --git a/lib/krb5/read_message.c b/lib/krb5/read_message.c index 700a4a3e3..1c9820268 100644 --- a/lib/krb5/read_message.c +++ b/lib/krb5/read_message.c @@ -48,15 +48,14 @@ krb5_read_message (krb5_context context, krb5_error_code ret; u_int32_t len; u_int8_t buf[4]; - int fd = *((int *)p_fd); - if (krb5_net_read (context, fd, buf, 4) != 4) + if (krb5_net_read (context, p_fd, buf, 4) != 4) return errno; len = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; ret = krb5_data_alloc (data, len); if (ret) return ret; - if (krb5_net_read (context, fd, data->data, len) != len) { + if (krb5_net_read (context, p_fd, data->data, len) != len) { krb5_data_free (data); return errno; } diff --git a/lib/krb5/recvauth.c b/lib/krb5/recvauth.c index e6f954909..141494052 100644 --- a/lib/krb5/recvauth.c +++ b/lib/krb5/recvauth.c @@ -58,7 +58,6 @@ krb5_recvauth(krb5_context context, const char *version = KRB5_SENDAUTH_VERSION; char her_version[sizeof(KRB5_SENDAUTH_VERSION)]; char *her_appl_version; - int fd = *((int *)p_fd); u_int32_t len; u_char repl; krb5_data data; @@ -76,48 +75,48 @@ krb5_recvauth(krb5_context context, ret = krb5_auth_con_setaddrs_from_fd (context, *auth_context, - fd); + p_fd); if (ret) return ret; if(!(flags & KRB5_RECVAUTH_IGNORE_VERSION)) { - if (krb5_net_read (context, fd, &len, 4) != 4) + if (krb5_net_read (context, p_fd, &len, 4) != 4) return errno; len = ntohl(len); if (len != sizeof(her_version) - || krb5_net_read (context, fd, her_version, len) != len + || krb5_net_read (context, p_fd, her_version, len) != len || strncmp (version, her_version, len)) { repl = 1; - krb5_net_write (context, fd, &repl, 1); + krb5_net_write (context, p_fd, &repl, 1); return KRB5_SENDAUTH_BADAUTHVERS; } } - if (krb5_net_read (context, fd, &len, 4) != 4) + if (krb5_net_read (context, p_fd, &len, 4) != 4) return errno; len = ntohl(len); if (len != strlen(appl_version) + 1) { repl = 2; - krb5_net_write (context, fd, &repl, 1); + krb5_net_write (context, p_fd, &repl, 1); return KRB5_SENDAUTH_BADAPPLVERS; } her_appl_version = malloc (len); if (her_appl_version == NULL) { repl = 2; - krb5_net_write (context, fd, &repl, 1); + krb5_net_write (context, p_fd, &repl, 1); return ENOMEM; } - if (krb5_net_read (context, fd, her_appl_version, len) != len + if (krb5_net_read (context, p_fd, her_appl_version, len) != len || strcmp (appl_version, her_appl_version)) { repl = 2; - krb5_net_write (context, fd, &repl, 1); + krb5_net_write (context, p_fd, &repl, 1); free (her_appl_version); return KRB5_SENDAUTH_BADAPPLVERS; } free (her_appl_version); repl = 0; - if (krb5_net_write (context, fd, &repl, 1) != 1) + if (krb5_net_write (context, p_fd, &repl, 1) != 1) return errno; krb5_data_zero (&data); @@ -153,7 +152,7 @@ krb5_recvauth(krb5_context context, } len = 0; - if (krb5_net_write (context, fd, &len, 4) != 4) + if (krb5_net_write (context, p_fd, &len, 4) != 4) return errno; if (ap_options & AP_OPTS_MUTUAL_REQUIRED) { diff --git a/lib/krb5/sendauth.c b/lib/krb5/sendauth.c index 93b1279d7..d217d85e0 100644 --- a/lib/krb5/sendauth.c +++ b/lib/krb5/sendauth.c @@ -83,7 +83,6 @@ krb5_sendauth(krb5_context context, krb5_creds **out_creds) { krb5_error_code ret; - int fd = *((int *)p_fd); u_int32_t len, net_len; const char *version = KRB5_SENDAUTH_VERSION; u_char repl; @@ -94,17 +93,17 @@ krb5_sendauth(krb5_context context, len = strlen(version) + 1; net_len = htonl(len); - if (krb5_net_write (context, fd, &net_len, 4) != 4 - || krb5_net_write (context, fd, version, len) != len) + if (krb5_net_write (context, p_fd, &net_len, 4) != 4 + || krb5_net_write (context, p_fd, version, len) != len) return errno; len = strlen(appl_version) + 1; net_len = htonl(len); - if (krb5_net_write (context, fd, &net_len, 4) != 4 - || krb5_net_write (context, fd, appl_version, len) != len) + if (krb5_net_write (context, p_fd, &net_len, 4) != 4 + || krb5_net_write (context, p_fd, appl_version, len) != len) return errno; - if (krb5_net_read (context, fd, &repl, sizeof(repl)) != sizeof(repl)) + if (krb5_net_read (context, p_fd, &repl, sizeof(repl)) != sizeof(repl)) return errno; if (repl != 0) diff --git a/lib/krb5/write_message.c b/lib/krb5/write_message.c index db0fef34f..1920172ce 100644 --- a/lib/krb5/write_message.c +++ b/lib/krb5/write_message.c @@ -47,15 +47,14 @@ krb5_write_message (krb5_context context, { u_int32_t len; u_int8_t buf[4]; - int fd = *((int *)p_fd); len = data->length; buf[0] = (len >> 24) & 0xFF; buf[1] = (len >> 16) & 0xFF; buf[2] = (len >> 8) & 0xFF; buf[3] = (len >> 0) & 0xFF; - if (krb5_net_write (context, fd, buf, 4) != 4 - || krb5_net_write (context, fd, data->data, len) != len) + if (krb5_net_write (context, p_fd, buf, 4) != 4 + || krb5_net_write (context, p_fd, data->data, len) != len) return errno; return 0; }