diff options
author | Damien Miller <djm@mindrot.org> | 2006-08-19 08:38:23 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2006-08-19 08:38:23 +1000 |
commit | bb59814cd644f78e82df07d820ed00fa7a25e68a (patch) | |
tree | 5b67f5a6e3d4a54116f77cdaf972f4288e74c83f | |
parent | 3d2d6e90e4c6f46347b7212401198babe49f2c50 (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-- | ChangeLog | 5 | ||||
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | defines.h | 7 | ||||
-rw-r--r-- | log.c | 2 |
4 files changed, 16 insertions, 4 deletions
@@ -42,6 +42,9 @@ [gss-genr.c ssh-gss.h] constify host argument to match the rest of the GSSAPI functions and unbreak compilation with -Werror + - (djm) Disable sigdie() for platforms that cannot safely syslog inside + a signal handler (basically all of them, excepting OpenBSD); + ok dtucker@ 20060817 - (dtucker) [openbsd-compat/fake-rfc2553.c openbsd-compat/setproctitle.c] @@ -5263,4 +5266,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.4495 2006/08/18 14:46:43 djm Exp $ +$Id: ChangeLog,v 1.4496 2006/08/18 22:38:23 djm Exp $ diff --git a/configure.ac b/configure.ac index f8e6cd4c..9d30bff6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.350 2006/08/18 08:51:20 dtucker Exp $ +# $Id: configure.ac,v 1.351 2006/08/18 22:38:23 djm Exp $ # # Copyright (c) 1999-2004 Damien Miller # @@ -15,7 +15,7 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) -AC_REVISION($Revision: 1.350 $) +AC_REVISION($Revision: 1.351 $) AC_CONFIG_SRCDIR([ssh.c]) AC_CONFIG_HEADER(config.h) @@ -402,6 +402,8 @@ mips-sony-bsd|mips-sony-newsos4) AC_DEFINE(HAVE_ATTRIBUTE__SENTINEL__, 1, [OpenBSD's gcc has sentinel]) AC_DEFINE(HAVE_ATTRIBUTE__BOUNDED__, 1, [OpenBSD's gcc has bounded]) AC_DEFINE(SSH_TUN_OPENBSD, 1, [Open tunnel devices the OpenBSD way]) + AC_DEFINE(SYSLOG_R_SAFE_IN_SIGHAND, 1, + [syslog_r function is safe to use in in a signal handler]) ;; *-*-solaris*) if test "x$withval" != "xno" ; then @@ -25,7 +25,7 @@ #ifndef _DEFINES_H #define _DEFINES_H -/* $Id: defines.h,v 1.136 2006/08/06 11:23:28 dtucker Exp $ */ +/* $Id: defines.h,v 1.137 2006/08/18 22:38:24 djm Exp $ */ /* Constants */ @@ -542,6 +542,11 @@ struct winsize { # undef HAVE_UPDWTMPX #endif +#if defined(HAVE_OPENLOG_R) && defined(SYSLOG_DATA_INIT) && \ + defined(SYSLOG_R_SAFE_IN_SIGHAND) +# define DO_LOG_SAFE_IN_SIGHAND +#endif + #if !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY) # define memmove(s1, s2, n) bcopy((s2), (s1), (n)) #endif /* !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY) */ @@ -142,9 +142,11 @@ sigdie(const char *fmt,...) { va_list args; +#ifdef DO_LOG_SAFE_IN_SIGHAND va_start(args, fmt); do_log(SYSLOG_LEVEL_FATAL, fmt, args); va_end(args); +#endif _exit(1); } |