summary refs log tree commit diff
path: root/pkgs/tools/networking/openssh
diff options
context:
space:
mode:
authorGraham Christensen <graham@grahamc.com>2016-10-06 08:54:02 -0400
committerGraham Christensen <graham@grahamc.com>2016-10-06 08:54:10 -0400
commit83a8cb1dc2343c00ddc26caea51cf7fa30ca1fd1 (patch)
tree85c81f1e62619d0aeae6dc5e3e887a35ba45f0fc /pkgs/tools/networking/openssh
parente3deccc0d7a42b0ae1d5e337cd6b0b9488c2295a (diff)
downloadnixlib-83a8cb1dc2343c00ddc26caea51cf7fa30ca1fd1.tar
nixlib-83a8cb1dc2343c00ddc26caea51cf7fa30ca1fd1.tar.gz
nixlib-83a8cb1dc2343c00ddc26caea51cf7fa30ca1fd1.tar.bz2
nixlib-83a8cb1dc2343c00ddc26caea51cf7fa30ca1fd1.tar.lz
nixlib-83a8cb1dc2343c00ddc26caea51cf7fa30ca1fd1.tar.xz
nixlib-83a8cb1dc2343c00ddc26caea51cf7fa30ca1fd1.tar.zst
nixlib-83a8cb1dc2343c00ddc26caea51cf7fa30ca1fd1.zip
openssh: apply patch to fix https://bugzilla.redhat.com/show_bug.cgi?id=1380296
Diffstat (limited to 'pkgs/tools/networking/openssh')
-rw-r--r--pkgs/tools/networking/openssh/RH-1380296-NEWKEYS-null-pointer-deref.patch37
-rw-r--r--pkgs/tools/networking/openssh/default.nix1
2 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/tools/networking/openssh/RH-1380296-NEWKEYS-null-pointer-deref.patch b/pkgs/tools/networking/openssh/RH-1380296-NEWKEYS-null-pointer-deref.patch
new file mode 100644
index 000000000000..665eff864530
--- /dev/null
+++ b/pkgs/tools/networking/openssh/RH-1380296-NEWKEYS-null-pointer-deref.patch
@@ -0,0 +1,37 @@
+diff --git a/kex.c b/kex.c
+index 50c7a0f..823668b 100644
+--- a/kex.c
++++ b/kex.c
+@@ -419,6 +419,8 @@ kex_input_newkeys(int type, u_int32_t seq, void *ctxt)
+ 	ssh_dispatch_set(ssh, SSH2_MSG_NEWKEYS, &kex_protocol_error);
+ 	if ((r = sshpkt_get_end(ssh)) != 0)
+ 		return r;
++        if ((r = ssh_set_newkeys(ssh, MODE_IN)) != 0)
++          return r;
+ 	kex->done = 1;
+ 	sshbuf_reset(kex->peer);
+ 	/* sshbuf_reset(kex->my); */
+diff --git a/packet.c b/packet.c
+index d6dad2d..f96566b 100644
+--- a/packet.c
++++ b/packet.c
+@@ -38,7 +38,7 @@
+  */
+ 
+ #include "includes.h"
+- 
++
+ #include <sys/param.h>	/* MIN roundup */
+ #include <sys/types.h>
+ #include "openbsd-compat/sys-queue.h"
+@@ -1907,9 +1907,7 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p)
+ 			return r;
+ 		return SSH_ERR_PROTOCOL_ERROR;
+ 	}
+-	if (*typep == SSH2_MSG_NEWKEYS)
+-		r = ssh_set_newkeys(ssh, MODE_IN);
+-	else if (*typep == SSH2_MSG_USERAUTH_SUCCESS && !state->server_side)
++	if (*typep == SSH2_MSG_USERAUTH_SUCCESS && !state->server_side)
+ 		r = ssh_packet_enable_delayed_compress(ssh);
+ 	else
+ 		r = 0;
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 0c19822d37c9..fabcda902be3 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
 
   patches =
     [
+      ./RH-1380296-NEWKEYS-null-pointer-deref.patch
       ./locale_archive.patch
       ./fix-host-key-algorithms-plus.patch