Merge master into closure-size

The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
This commit is contained in:
Vladimír Čunát
2016-03-08 09:58:19 +01:00
1276 changed files with 78548 additions and 29166 deletions
@@ -0,0 +1,29 @@
diff --git a/src/copyin.c b/src/copyin.c
index cde911e..032d35f 100644
--- a/src/copyin.c
+++ b/src/copyin.c
@@ -1385,6 +1385,8 @@ process_copy_in ()
break;
}
+ if (file_hdr.c_namesize <= 1)
+ file_hdr.c_name = xrealloc(file_hdr.c_name, 2);
cpio_safer_name_suffix (file_hdr.c_name, false, !no_abs_paths_flag,
false);
diff --git a/src/util.c b/src/util.c
index 6ff6032..2763ac1 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1411,7 +1411,10 @@ set_file_times (int fd,
}
/* Do we have to ignore absolute paths, and if so, does the filename
- have an absolute path? */
+ have an absolute path?
+ Before calling this function make sure that the allocated NAME buffer has
+ capacity at least 2 bytes to allow us to store the "." string inside. */
+
void
cpio_safer_name_suffix (char *name, bool link_target, bool absolute_names,
bool strip_leading_dots)
+4
View File
@@ -19,6 +19,10 @@ in stdenv.mkDerivation {
+ "CVE-2015-1197-cpio-2.12.patch";
sha256 = "0ph43m4lavwkc4gnl5h9p3da4kb1pnhwk5l2qsky70dqri8pcr8v";
})
# Report: http://www.openwall.com/lists/oss-security/2016/01/19/4
# Patch from https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00005.html
./CVE-2016-2037-out-of-bounds-write.patch
];
preConfigure = if stdenv.isCygwin then ''
+27
View File
@@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub, zlib, bzip2 }:
stdenv.mkDerivation rec {
version = "1.0.2";
name = "undmg-${version}";
src = fetchFromGitHub {
owner = "matthewbauer";
repo = "undmg";
rev = "refs/tags/v${version}";
sha256 = "0w9vwvj9zbpsjkg251bwv9y10wjyjmh54q2piklz74w64rlbqblr";
name = "undmg-${version}";
};
buildInputs = [ zlib bzip2 ];
setupHook = ./setup-hook.sh;
installFlags = "PREFIX=\${out}";
meta = {
homepage = https://github.com/matthewbauer/undmg;
description = "Extract a DMG file";
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all;
};
}
+5
View File
@@ -0,0 +1,5 @@
unpackCmdHooks+=(_tryUnpackDmg)
_tryUnpackDmg() {
if ! [[ "$curSrc" =~ \.dmg$ ]]; then return 1; fi
undmg < "$curSrc"
}
+10 -7
View File
@@ -1,18 +1,18 @@
{stdenv, fetchurl}:
let
version = "5.3.9";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "unrar-${version}";
version = "5.3.11";
src = fetchurl {
url = "http://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
sha256 = "0nsxwg1zp3s34wyjznwmy2cc5929yk7m5smq11cqdb6hmql3fngz";
sha256 = "0qw77gvr57azjbn76cjlm4sv1hf2hh90g7n7n33gfvlpnbs7mf3p";
};
preBuild = ''
export buildFlags="CXX=$CXX"
buildPhase = ''
make unrar
make clean
make lib
'';
installPhase = ''
@@ -21,6 +21,9 @@ stdenv.mkDerivation {
mkdir -p $out/share/doc/unrar
cp acknow.txt license.txt \
$out/share/doc/unrar
install -Dm755 libunrar.so $out/lib/libunrar.so
install -D dll.hpp $out/include/unrar/dll.hpp
'';
setupHook = ./setup-hook.sh;