From: Andrew Tridgell Date: Wed, 21 Aug 1996 12:36:01 +0000 (+0000) Subject: handle sigpipe better for server security X-Git-Tag: samba-1.9.16alpha26~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d87fdb3ee95b6640d5deef823f22e8d98350ca33;p=thirdparty%2Fsamba.git handle sigpipe better for server security --- diff --git a/source/smbd/server.c b/source/smbd/server.c index 683d63e7aaa..0e0a524f166 100644 --- a/source/smbd/server.c +++ b/source/smbd/server.c @@ -1618,6 +1618,20 @@ static int sig_cld() **************************************************************************/ static int sig_pipe() { + extern int password_client; + BlockSignals(True,SIGPIPE); + + if (password_client != -1) { + DEBUG(3,("lost connection to password server\n")); + close(password_client); + password_client = -1; +#ifndef DONT_REINSTALL_SIG + signal(SIGPIPE, SIGNAL_CAST sig_pipe); +#endif + BlockSignals(False,SIGPIPE); + return 0; + } + exit_server("Got sigpipe\n"); return(0); }