summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2006-08-19 08:38:23 +1000
committerDamien Miller <djm@mindrot.org>2006-08-19 08:38:23 +1000
commitbb59814cd644f78e82df07d820ed00fa7a25e68a (patch)
tree5b67f5a6e3d4a54116f77cdaf972f4288e74c83f
parent3d2d6e90e4c6f46347b7212401198babe49f2c50 (diff)
- (djm) Disable sigdie() for platforms that cannot safely syslog inside
a signal handler (basically all of them, excepting OpenBSD); ok dtucker@
-rw-r--r--ChangeLog5
-rw-r--r--configure.ac6
-rw-r--r--defines.h7
-rw-r--r--log.c2
4 files changed, 16 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 4f31df3ba..d813c1fc1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -42,6 +42,9 @@
42 [gss-genr.c ssh-gss.h] 42 [gss-genr.c ssh-gss.h]
43 constify host argument to match the rest of the GSSAPI functions and 43 constify host argument to match the rest of the GSSAPI functions and
44 unbreak compilation with -Werror 44 unbreak compilation with -Werror
45 - (djm) Disable sigdie() for platforms that cannot safely syslog inside
46 a signal handler (basically all of them, excepting OpenBSD);
47 ok dtucker@
45 48
4620060817 4920060817
47 - (dtucker) [openbsd-compat/fake-rfc2553.c openbsd-compat/setproctitle.c] 50 - (dtucker) [openbsd-compat/fake-rfc2553.c openbsd-compat/setproctitle.c]
@@ -5263,4 +5266,4 @@
5263 - (djm) Trim deprecated options from INSTALL. Mention UsePAM 5266 - (djm) Trim deprecated options from INSTALL. Mention UsePAM
5264 - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu 5267 - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
5265 5268
5266$Id: ChangeLog,v 1.4495 2006/08/18 14:46:43 djm Exp $ 5269$Id: ChangeLog,v 1.4496 2006/08/18 22:38:23 djm Exp $
diff --git a/configure.ac b/configure.ac
index f8e6cd4ce..9d30bff61 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.350 2006/08/18 08:51:20 dtucker Exp $ 1# $Id: configure.ac,v 1.351 2006/08/18 22:38:23 djm Exp $
2# 2#
3# Copyright (c) 1999-2004 Damien Miller 3# Copyright (c) 1999-2004 Damien Miller
4# 4#
@@ -15,7 +15,7 @@
15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 16
17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) 17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
18AC_REVISION($Revision: 1.350 $) 18AC_REVISION($Revision: 1.351 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20 20
21AC_CONFIG_HEADER(config.h) 21AC_CONFIG_HEADER(config.h)
@@ -402,6 +402,8 @@ mips-sony-bsd|mips-sony-newsos4)
402 AC_DEFINE(HAVE_ATTRIBUTE__SENTINEL__, 1, [OpenBSD's gcc has sentinel]) 402 AC_DEFINE(HAVE_ATTRIBUTE__SENTINEL__, 1, [OpenBSD's gcc has sentinel])
403 AC_DEFINE(HAVE_ATTRIBUTE__BOUNDED__, 1, [OpenBSD's gcc has bounded]) 403 AC_DEFINE(HAVE_ATTRIBUTE__BOUNDED__, 1, [OpenBSD's gcc has bounded])
404 AC_DEFINE(SSH_TUN_OPENBSD, 1, [Open tunnel devices the OpenBSD way]) 404 AC_DEFINE(SSH_TUN_OPENBSD, 1, [Open tunnel devices the OpenBSD way])
405 AC_DEFINE(SYSLOG_R_SAFE_IN_SIGHAND, 1,
406 [syslog_r function is safe to use in in a signal handler])
405 ;; 407 ;;
406*-*-solaris*) 408*-*-solaris*)
407 if test "x$withval" != "xno" ; then 409 if test "x$withval" != "xno" ; then
diff --git a/defines.h b/defines.h
index fdc43cd92..6b395f806 100644
--- a/defines.h
+++ b/defines.h
@@ -25,7 +25,7 @@
25#ifndef _DEFINES_H 25#ifndef _DEFINES_H
26#define _DEFINES_H 26#define _DEFINES_H
27 27
28/* $Id: defines.h,v 1.136 2006/08/06 11:23:28 dtucker Exp $ */ 28/* $Id: defines.h,v 1.137 2006/08/18 22:38:24 djm Exp $ */
29 29
30 30
31/* Constants */ 31/* Constants */
@@ -542,6 +542,11 @@ struct winsize {
542# undef HAVE_UPDWTMPX 542# undef HAVE_UPDWTMPX
543#endif 543#endif
544 544
545#if defined(HAVE_OPENLOG_R) && defined(SYSLOG_DATA_INIT) && \
546 defined(SYSLOG_R_SAFE_IN_SIGHAND)
547# define DO_LOG_SAFE_IN_SIGHAND
548#endif
549
545#if !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY) 550#if !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY)
546# define memmove(s1, s2, n) bcopy((s2), (s1), (n)) 551# define memmove(s1, s2, n) bcopy((s2), (s1), (n))
547#endif /* !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY) */ 552#endif /* !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY) */
diff --git a/log.c b/log.c
index 32db0cb5f..0ce4d85f7 100644
--- a/log.c
+++ b/log.c
@@ -142,9 +142,11 @@ sigdie(const char *fmt,...)
142{ 142{
143 va_list args; 143 va_list args;
144 144
145#ifdef DO_LOG_SAFE_IN_SIGHAND
145 va_start(args, fmt); 146 va_start(args, fmt);
146 do_log(SYSLOG_LEVEL_FATAL, fmt, args); 147 do_log(SYSLOG_LEVEL_FATAL, fmt, args);
147 va_end(args); 148 va_end(args);
149#endif
148 _exit(1); 150 _exit(1);
149} 151}
150 152