summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2003-03-04 20:55:19 +0000
committerSam Hartman <hartmans@mit.edu>2003-03-04 20:55:19 +0000
commit8d1eb5512b1e4c8f2d57629d4d0819462380c522 (patch)
tree4f0bdc27a095a5913b1390c45ca0ba28f63cb289 /src
parent36b61caba812c2522d9aea9eb72d3e38170cf51a (diff)
downloadkrb5-8d1eb5512b1e4c8f2d57629d4d0819462380c522.tar.gz
krb5-8d1eb5512b1e4c8f2d57629d4d0819462380c522.tar.xz
krb5-8d1eb5512b1e4c8f2d57629d4d0819462380c522.zip
Don't call shutdown after finishing writing
to TCP socket as doing so causes interop problems. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15220 dc483132-0cff-0310-8789-dd5450dbe970
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?