summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/os/ChangeLog4
-rw-r--r--src/lib/krb5/os/sendto_kdc.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog
index 68026ccb9..9149d05b2 100644
--- a/src/lib/krb5/os/ChangeLog
+++ b/src/lib/krb5/os/ChangeLog
@@ -1,3 +1,7 @@
+2003-03-04 Sam Hartman <hartmans@mit.edu>
+
+ * sendto_kdc.c (service_tcp_fd): Don't call shutdown on end of write because some implementations cannot deal with half-closed TCP sockets.
+
2003-02-08 Tom Yu <tlyu@mit.edu>
* prompter.c (krb5_prompter_posix): Kill echo before printing
diff --git a/src/lib/krb5/os/sendto_kdc.c b/src/lib/krb5/os/sendto_kdc.c
index eac4b3a2b..0f5b9f275 100644
--- a/src/lib/krb5/os/sendto_kdc.c
+++ b/src/lib/krb5/os/sendto_kdc.c
@@ -777,7 +777,8 @@ service_tcp_fd (struct conn_state *conn, struct select_state *selstate,
}
if (conn->x.out.sg_count == 0) {
/* Done writing, switch to reading. */
- shutdown(conn->fd, SHUTDOWN_WRITE);
+ /* Don't call shutdown at this point because
+ * some implementations cannot deal with half-closed connections.*/
FD_CLR(conn->fd, &selstate->wfds);
/* Q: How do we detect failures to send the remaining data
to the remote side, since we're in non-blocking mode?