summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@viric.name>2013-06-18 23:35:34 +0200
committerLluís Batlle i Rossell <viric@viric.name>2013-06-18 23:35:53 +0200
commit83dee22f4a69c81a827c23cade14f7e02df3ec79 (patch)
treed779202ebfdd719922eeaa3e3e7e91a90e721ca2 /pkgs/tools
parentae98b6185051ed0a5b7636dc85b696112910e1e8 (diff)
downloadnixlib-83dee22f4a69c81a827c23cade14f7e02df3ec79.tar
nixlib-83dee22f4a69c81a827c23cade14f7e02df3ec79.tar.gz
nixlib-83dee22f4a69c81a827c23cade14f7e02df3ec79.tar.bz2
nixlib-83dee22f4a69c81a827c23cade14f7e02df3ec79.tar.lz
nixlib-83dee22f4a69c81a827c23cade14f7e02df3ec79.tar.xz
nixlib-83dee22f4a69c81a827c23cade14f7e02df3ec79.tar.zst
nixlib-83dee22f4a69c81a827c23cade14f7e02df3ec79.zip
Fixing a crash bug in dropbear.
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/networking/dropbear/default.nix4
-rw-r--r--pkgs/tools/networking/dropbear/proxycrash.patch17
2 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/tools/networking/dropbear/default.nix b/pkgs/tools/networking/dropbear/default.nix
index 362e21a3fcff..1d51c4864a18 100644
--- a/pkgs/tools/networking/dropbear/default.nix
+++ b/pkgs/tools/networking/dropbear/default.nix
@@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
     # Allow sessions to inherit the PATH from the parent dropbear.
     # Otherwise they only get the usual /bin:/usr/bin kind of PATH
     ./pass-path.patch
+
+    # Bugfix
+    # http://article.gmane.org/gmane.network.ssh.dropbear/1361
+    ./proxycrash.patch
   ];
 
   buildInputs = [ zlib ];
diff --git a/pkgs/tools/networking/dropbear/proxycrash.patch b/pkgs/tools/networking/dropbear/proxycrash.patch
new file mode 100644
index 000000000000..1a17e7e3c624
--- /dev/null
+++ b/pkgs/tools/networking/dropbear/proxycrash.patch
@@ -0,0 +1,17 @@
+diff -r 5ba19d00da08 cli-runopts.c
+--- a/cli-runopts.c	Sun May 26 18:43:00 2013 +0800
++++ b/cli-runopts.c	Mon Jun 17 19:51:08 2013 +0000
+@@ -383,6 +383,13 @@
+ 		exit(EXIT_FAILURE);
+ 	}
+
++#ifdef ENABLE_CLI_PROXYCMD
++	if (cli_opts.proxycmd) {
++		/* To match the common path of m_freeing it */
++		cli_opts.proxycmd = m_strdup(cli_opts.proxycmd);
++	}
++#endif
++
+ 	if (cli_opts.remoteport == NULL) {
+ 		cli_opts.remoteport = "22";
+ 	}