From 8d1eb5512b1e4c8f2d57629d4d0819462380c522 Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Tue, 4 Mar 2003 20:55:19 +0000 Subject: [PATCH] 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 --- src/lib/krb5/os/ChangeLog | 4 ++++ src/lib/krb5/os/sendto_kdc.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) 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 + + * 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 * 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? -- 2.26.2