]> andersk Git - openssh.git/commitdiff
- dtucker@cvs.openbsd.org 2007/12/31 15:27:04
authordtucker <dtucker>
Tue, 1 Jan 2008 09:33:09 +0000 (09:33 +0000)
committerdtucker <dtucker>
Tue, 1 Jan 2008 09:33:09 +0000 (09:33 +0000)
     [sshd.c]
     When in inetd mode, have sshd generate a Protocol 1 ephemeral server
     key only for connections where the client chooses Protocol 1 as opposed
     to when it's enabled in the server's config.  Speeds up Protocol 2
     connections to inetd-mode servers that also allow Protocol 1.  bz #440,
     based on a patch from bruno at wolff.to, ok markus@

ChangeLog
sshd.c

index eec8673bf69d28ff353610cfa153c8907da8b656..91f81976f781c4356207d93a6047a1b1dfb46bbc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,13 @@
      [readconf.c servconf.c]
      Prevent strict-aliasing warnings on newer gcc versions.  bz #1355, patch
      from Dmitry V. Levin, ok djm@
+   - dtucker@cvs.openbsd.org 2007/12/31 15:27:04
+     [sshd.c]
+     When in inetd mode, have sshd generate a Protocol 1 ephemeral server
+     key only for connections where the client chooses Protocol 1 as opposed
+     to when it's enabled in the server's config.  Speeds up Protocol 2
+     connections to inetd-mode servers that also allow Protocol 1.  bz #440,
+     based on a patch from bruno at wolff.to, ok markus@
 
 20071231
  - (dtucker) [configure.ac openbsd-compat/glob.{c,h}] Bug #1407: force use of
diff --git a/sshd.c b/sshd.c
index 399237889b8d2f85dbe68f08eba2467b2d8db706..9019411acca83bd1dc15fa21737f2e1b87fc5326 100644 (file)
--- a/sshd.c
+++ b/sshd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshd.c,v 1.352 2007/12/27 14:22:08 dtucker Exp $ */
+/* $OpenBSD: sshd.c,v 1.353 2007/12/31 15:27:04 dtucker Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1599,10 +1599,6 @@ main(int ac, char **av)
        /* Get a connection, either from inetd or a listening TCP socket */
        if (inetd_flag) {
                server_accept_inetd(&sock_in, &sock_out);
-
-               if ((options.protocol & SSH_PROTO_1) &&
-                   sensitive_data.server_key == NULL)
-                       generate_ephemeral_server_key();
        } else {
                server_listen();
 
@@ -1772,6 +1768,10 @@ main(int ac, char **av)
 
        sshd_exchange_identification(sock_in, sock_out);
 
+       /* In inetd mode, generate ephemeral key only for proto 1 connections */
+       if (!compat20 && inetd_flag && sensitive_data.server_key == NULL)
+               generate_ephemeral_server_key();
+
        packet_set_nonblocking();
 
        /* allocate authentication context */
This page took 0.51081 seconds and 5 git commands to generate.