[Bug 977] duplicate log entries when using "sshd -D -e"

bugzilla-daemon at mindrot.org
Tue, 01 Feb 2005 10:16:10 -0000

Summary: duplicate log entries when using "sshd -D -e"
           Product: Portable OpenSSH
           Version: 3.8p1
          Platform: ix86
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: sshd
        AssignedTo: openssh-bugs at mindrot.org
        ReportedBy: daryl.tester at iocane.com.au


Hi,

When running (Open-)sshd under daemontools, it's recommended to run sshd
with
the options "-D -e" (no daemon, log to stderr).  Logging to stderr
however seems
to cause the "Accepted" log entry to be recorded twice e.g. -

Accepted publickey for root from ::ffff:202.6.156.98 port 48878 ssh2
Accepted publickey for root from ::ffff:202.6.156.98 port 48878 ssh2

(note same source port).  The same log entry to syslog is only printed once.
I can replicate this on a variety of OpenSSH versions - 3.6.1p2 and 3.8p1 under
Linux FC2 and 3.5p1 under FreeBSD 4.10.  3.1p1 on a Linux Redhat 7.2
doesn't,
however (woo? :-).  LogLevel in sshd_config is commented out, so should be
default (INFO?).

I poked around in log.c:do_log() (3.8p1), and discovered through judicious
printf'ing that the second entry occurs in the child process, not the
parent,
although I can't see why this would prevent syslog from printing the second
entry.