]> andersk Git - openssh.git/blobdiff - sshd.c
- Merged OpenBSD CVS changes
[openssh.git] / sshd.c
diff --git a/sshd.c b/sshd.c
index 91d594c73c6b3d1fc7862c9a6b36d3271114ed9f..d358ade3ce4ad49c836e1cf3b7b0fcf7fd5b0ed5 100644 (file)
--- a/sshd.c
+++ b/sshd.c
@@ -486,35 +486,29 @@ main(int ac, char **av)
       exit(1);
     }
 
-  /* Initialize the log (it is reinitialized below in case we forked). */
-
-  if (debug_flag && !inetd_flag)
-    log_stderr = 1;
-
-  log_init(av0, options.log_level, options.log_facility, log_stderr);
+  /* Force logging to stderr while loading the private host key
+     unless started from inetd */
+  log_init(av0, options.log_level, options.log_facility, !inetd_flag);
 
   debug("sshd version %.100s", SSH_VERSION);
 
   sensitive_data.host_key = RSA_new();
+  errno = 0;
   /* Load the host key.  It must have empty passphrase. */
   if (!load_private_key(options.host_key_file, "", 
                        sensitive_data.host_key, &comment))
     {
-      if (debug_flag)
-       fprintf(stderr, "Could not load host key: %s: %s\n",
-               options.host_key_file, strerror(errno));
-      else
-       {
-         int err = errno;
-         /* force logging */
-          log_init(av0, SYSLOG_LEVEL_DEBUG, options.log_facility, log_stderr);
-         error("Could not load host key: %.200s: %.100s", 
-               options.host_key_file, strerror(err));
-       }
+      error("Could not load host key: %.200s: %.100s", 
+           options.host_key_file, strerror(errno));
       exit(1);
     }
   xfree(comment);
 
+  /* Initialize the log (it is reinitialized below in case we forked). */
+  if (debug_flag && !inetd_flag)
+    log_stderr = 1;
+  log_init(av0, options.log_level, options.log_facility, log_stderr);
+
   /* If not in debugging mode, and not started from inetd, disconnect from
      the controlling terminal, and fork.  The original process exits. */
   if (!debug_flag && !inetd_flag)
This page took 0.03132 seconds and 4 git commands to generate.