pass kex->hostkey_alg and kex->hostkey_nid from pre-auth to post-auth
authordjm <djm@openbsd.org>
Mon, 18 Dec 2017 23:13:42 +0000 (23:13 +0000)
committerdjm <djm@openbsd.org>
Mon, 18 Dec 2017 23:13:42 +0000 (23:13 +0000)
unpriviledged child processes; ok markus@

usr.bin/ssh/packet.c

index 039359e..2c0c019 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.268 2017/12/10 05:55:29 dtucker Exp $ */
+/* $OpenBSD: packet.c,v 1.269 2017/12/18 23:13:42 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -2153,7 +2153,9 @@ kex_to_blob(struct sshbuf *m, struct kex *kex)
        if ((r = sshbuf_put_string(m, kex->session_id,
            kex->session_id_len)) != 0 ||
            (r = sshbuf_put_u32(m, kex->we_need)) != 0 ||
+           (r = sshbuf_put_cstring(m, kex->hostkey_alg)) != 0 ||
            (r = sshbuf_put_u32(m, kex->hostkey_type)) != 0 ||
+           (r = sshbuf_put_u32(m, kex->hostkey_nid)) != 0 ||
            (r = sshbuf_put_u32(m, kex->kex_type)) != 0 ||
            (r = sshbuf_put_stringb(m, kex->my)) != 0 ||
            (r = sshbuf_put_stringb(m, kex->peer)) != 0 ||
@@ -2317,7 +2319,9 @@ kex_from_blob(struct sshbuf *m, struct kex **kexp)
        }
        if ((r = sshbuf_get_string(m, &kex->session_id, &kex->session_id_len)) != 0 ||
            (r = sshbuf_get_u32(m, &kex->we_need)) != 0 ||
+           (r = sshbuf_get_cstring(m, &kex->hostkey_alg, NULL)) != 0 ||
            (r = sshbuf_get_u32(m, (u_int *)&kex->hostkey_type)) != 0 ||
+           (r = sshbuf_get_u32(m, (u_int *)&kex->hostkey_nid)) != 0 ||
            (r = sshbuf_get_u32(m, &kex->kex_type)) != 0 ||
            (r = sshbuf_get_stringb(m, kex->my)) != 0 ||
            (r = sshbuf_get_stringb(m, kex->peer)) != 0 ||