diff options
author | Damien Miller <djm@mindrot.org> | 2003-02-24 12:03:03 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2003-02-24 12:03:03 +1100 |
commit | 8e7fb335235bd6a7f8387a40bf71eaf9798f6f7e (patch) | |
tree | 46ba3e898aebfc99e531d793bccac6c0eba5e87d /kex.c | |
parent | 1587fb8a174f57a064d603bbd595c3369aa697aa (diff) | |
download | openssh-git-8e7fb335235bd6a7f8387a40bf71eaf9798f6f7e.tar.gz |
- markus@cvs.openbsd.org 2003/02/16 17:09:57
[kex.c kexdh.c kexgex.c kex.h sshconnect2.c sshd.c ssh-keyscan.c]
split kex into client and server code, no need to link
server code into the client; ok provos@
Diffstat (limited to 'kex.c')
-rw-r--r-- | kex.c | 23 |
1 files changed, 7 insertions, 16 deletions
@@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: kex.c,v 1.53 2003/02/02 10:56:08 markus Exp $"); +RCSID("$OpenBSD: kex.c,v 1.54 2003/02/16 17:09:57 markus Exp $"); #include <openssl/crypto.h> @@ -44,11 +44,6 @@ RCSID("$OpenBSD: kex.c,v 1.53 2003/02/02 10:56:08 markus Exp $"); #define KEX_COOKIE_LEN 16 -/* Use privilege separation for sshd */ -int use_privsep; -struct monitor *pmonitor; - - /* prototype */ static void kex_kexinit_finish(Kex *); static void kex_choose_conf(Kex *); @@ -237,14 +232,10 @@ kex_kexinit_finish(Kex *kex) kex_choose_conf(kex); - switch (kex->kex_type) { - case DH_GRP1_SHA1: - kexdh(kex); - break; - case DH_GEX_SHA1: - kexgex(kex); - break; - default: + if (kex->kex_type >= 0 && kex->kex_type < KEX_MAX && + kex->kex[kex->kex_type] != NULL) { + (kex->kex[kex->kex_type])(kex); + } else { fatal("Unsupported key exchange %d", kex->kex_type); } } @@ -301,9 +292,9 @@ choose_kex(Kex *k, char *client, char *server) if (k->name == NULL) fatal("no kex alg"); if (strcmp(k->name, KEX_DH1) == 0) { - k->kex_type = DH_GRP1_SHA1; + k->kex_type = KEX_DH_GRP1_SHA1; } else if (strcmp(k->name, KEX_DHGEX) == 0) { - k->kex_type = DH_GEX_SHA1; + k->kex_type = KEX_DH_GEX_SHA1; } else fatal("bad kex alg %s", k->name); } |