- (djm) Disable sigdie() for platforms that cannot safely syslog inside

a signal handler (basically all of them, excepting OpenBSD);
   ok dtucker@
This commit is contained in:
Damien Miller 2006-08-19 08:38:23 +10:00
parent 3d2d6e90e4
commit bb59814cd6
4 changed files with 16 additions and 4 deletions

View File

@ -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 $

View File

@ -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

View File

@ -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) */

2
log.c
View File

@ -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);
}