Skip to content

Commit

Permalink
Merge branch release-19.03 into staging-19.03
Browse files Browse the repository at this point in the history
  • Loading branch information
andir committed May 21, 2019
2 parents 6250246 + 9e20998 commit 7636c3c
Show file tree
Hide file tree
Showing 45 changed files with 404 additions and 168 deletions.
5 changes: 5 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1766,6 +1766,11 @@
github = "Gerschtli";
name = "Tobias Happ";
};
ggpeti = {
email = "ggpeti@gmail.com";
github = "ggpeti";
name = "Peter Ferenczy";
};
gilligan = {
email = "tobias.pflug@gmail.com";
github = "gilligan";
Expand Down
7 changes: 6 additions & 1 deletion nixos/doc/manual/release-notes/rl-1903.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-release-19.03">
<title>Release 19.03 (“Koi”, 2019/03/??)</title>
<title>Release 19.03 (“Koi”, 2019/04/11)</title>

<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
Expand All @@ -18,6 +18,11 @@
</para>

<itemizedlist>
<listitem>
<para>
End of support is planned for end of October 2019, handing over to 19.09.
</para>
</listitem>
<listitem>
<para>
The default Python 3 interpreter is now CPython 3.7 instead of CPython
Expand Down
9 changes: 8 additions & 1 deletion nixos/modules/security/apparmor.nix
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,18 @@ in
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.apparmor-utils ];

boot.kernelParams = [ "apparmor=1" "security=apparmor" ];

systemd.services.apparmor = let
paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
([ pkgs.apparmor-profiles ] ++ cfg.packages);
in {
wantedBy = [ "local-fs.target" ];
after = [ "local-fs.target" ];
before = [ "sysinit.target" ];
wantedBy = [ "multi-user.target" ];
unitConfig = {
DefaultDependencies = "no";
};
serviceConfig = {
Type = "oneshot";
RemainAfterExit = "yes";
Expand Down
10 changes: 10 additions & 0 deletions nixos/tests/hardened.nix
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,16 @@ import ./make-test.nix ({ pkgs, ...} : {
''
$machine->waitForUnit("multi-user.target");
subtest "apparmor-loaded", sub {
$machine->succeed("systemctl status apparmor.service");
};
# AppArmor securityfs
subtest "apparmor-securityfs", sub {
$machine->succeed("mountpoint -q /sys/kernel/security");
$machine->succeed("cat /sys/kernel/security/apparmor/profiles");
};
# Test loading out-of-tree modules
subtest "extra-module-packages", sub {
$machine->succeed("grep -Fq wireguard /proc/modules");
Expand Down
6 changes: 3 additions & 3 deletions pkgs/applications/misc/electrum/default.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 }:

let
version = "3.3.5";
version = "3.3.6";

qdarkstyle = python3Packages.buildPythonPackage rec {
pname = "QDarkStyle";
Expand All @@ -18,7 +18,7 @@ let
owner = "spesmilo";
repo = "electrum";
rev = version;
sha256 = "11rzzrv5xxqazcb7q1ig93d6cisqmd1x0jrgvfgzysbzvi51gg11";
sha256 = "0s8i6fn1jwk80d036n4c7csv4qnx2k15f6347kr4mllglcpa9hb3";

extraPostFetch = ''
mv $out ./all
Expand All @@ -33,7 +33,7 @@ python3Packages.buildPythonApplication rec {

src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "1csj0n96zlajnrs39wsazfj5lmy7v7n77cdz56lr8nkmchh6k9z1";
sha256 = "0am5ki3z0yvhrz16vp2jjy5fkxxqph0mj9qqpbw3kpql65shykwz";
};

postUnpack = ''
Expand Down
23 changes: 22 additions & 1 deletion pkgs/applications/misc/k2pdfopt/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,28 @@ stdenv.mkDerivation rec {
prePatch = ''
cp ${src}/leptonica_mod/{allheaders.h,dewarp2.c,leptwin.c} src/
'';
patches = [];
patches = [
# stripped down copy of upstream commit b88c821f8d347bce0aea86d606c710303919f3d2
./leptonica-CVE-2018-3836.patch
(fetchpatch {
# CVE-2018-7186
url = "https://github.com/DanBloomberg/leptonica/commit/"
+ "ee301cb2029db8a6289c5295daa42bba7715e99a.patch";
sha256 = "0cgb7mvz2px1rg5i80wk1wxxjvzjga617d8q6j7qygkp7jm6495d";
})
(fetchpatch {
# CVE-2018-7247
url = "https://github.com/DanBloomberg/leptonica/commit/"
+ "c1079bb8e77cdd426759e466729917ca37a3ed9f.patch";
sha256 = "1z4iac5gwqggh7aa8cvyp6nl9fwd1v7wif26caxc9y5qr3jj34qf";
})
(fetchpatch {
# CVE-2018-7440
url = "https://github.com/DanBloomberg/leptonica/commit/"
+ "49ecb6c2dfd6ed5078c62f4a8eeff03e3beced3b.patch";
sha256 = "1hjmva98iaw9xj7prg7aimykyayikcwnk4hk0380007hqb35lqmy";
})
];
});
tesseract_modded = tesseract4.override {
tesseractBase = tesseract4.tesseractBase.overrideAttrs (_: {
Expand Down
95 changes: 95 additions & 0 deletions pkgs/applications/misc/k2pdfopt/leptonica-CVE-2018-3836.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
--- a/src/allheaders.h
+++ b/src/allheaders.h
@@ -2600,6 +2600,7 @@
LEPT_DLL extern char * stringReverse ( const char *src );
LEPT_DLL extern char * strtokSafe ( char *cstr, const char *seps, char **psaveptr );
LEPT_DLL extern l_int32 stringSplitOnToken ( char *cstr, const char *seps, char **phead, char **ptail );
+LEPT_DLL extern l_int32 stringCheckForChars ( const char *src, const char *chars, l_int32 *pfound );
LEPT_DLL extern char * stringRemoveChars ( const char *src, const char *remchars );
LEPT_DLL extern l_int32 stringFindSubstr ( const char *src, const char *sub, l_int32 *ploc );
LEPT_DLL extern char * stringReplaceSubstr ( const char *src, const char *sub1, const char *sub2, l_int32 *pfound, l_int32 *ploc );
--- a/src/gplot.c
+++ b/src/gplot.c
@@ -141,9 +141,10 @@
const char *xlabel,
const char *ylabel)
{
-char *newroot;
-char buf[L_BUF_SIZE];
-GPLOT *gplot;
+char *newroot;
+char buf[L_BUF_SIZE];
+l_int32 badchar;
+GPLOT *gplot;

PROCNAME("gplotCreate");

@@ -152,6 +153,9 @@
if (outformat != GPLOT_PNG && outformat != GPLOT_PS &&
outformat != GPLOT_EPS && outformat != GPLOT_LATEX)
return (GPLOT *)ERROR_PTR("outformat invalid", procName, NULL);
+ stringCheckForChars(rootname, "`;&|><\"?*", &badchar);
+ if (badchar) /* danger of command injection */
+ return (GPLOT *)ERROR_PTR("invalid rootname", procName, NULL);

if ((gplot = (GPLOT *)LEPT_CALLOC(1, sizeof(GPLOT))) == NULL)
return (GPLOT *)ERROR_PTR("gplot not made", procName, NULL);
--- a/src/utils2.c
+++ b/src/utils2.c
@@ -42,6 +42,7 @@
* l_int32 stringSplitOnToken()
*
* Find and replace string and array procs
+ * l_int32 stringCheckForChars()
* char *stringRemoveChars()
* l_int32 stringFindSubstr()
* char *stringReplaceSubstr()
@@ -701,6 +702,48 @@
/*--------------------------------------------------------------------*
* Find and replace procs *
*--------------------------------------------------------------------*/
+/*!
+ * \brief stringCheckForChars()
+ *
+ * \param[in] src input string; can be of zero length
+ * \param[in] chars string of chars to be searched for in %src
+ * \param[out] pfound 1 if any characters are found; 0 otherwise
+ * \return 0 if OK, 1 on error
+ *
+ * <pre>
+ * Notes:
+ * (1) This can be used to sanitize an operation by checking for
+ * special characters that don't belong in a string.
+ * </pre>
+ */
+l_int32
+stringCheckForChars(const char *src,
+ const char *chars,
+ l_int32 *pfound)
+{
+char ch;
+l_int32 i, n;
+
+ PROCNAME("stringCheckForChars");
+
+ if (!pfound)
+ return ERROR_INT("&found not defined", procName, 1);
+ *pfound = FALSE;
+ if (!src || !chars)
+ return ERROR_INT("src and chars not both defined", procName, 1);
+
+ n = strlen(src);
+ for (i = 0; i < n; i++) {
+ ch = src[i];
+ if (strchr(chars, ch)) {
+ *pfound = TRUE;
+ break;
+ }
+ }
+ return 0;
+}
+
+
/*!
* \brief stringRemoveChars()
*
4 changes: 2 additions & 2 deletions pkgs/applications/networking/browsers/chromium/plugins.nix
Original file line number Diff line number Diff line change
Expand Up @@ -100,11 +100,11 @@ let

flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}";
version = "32.0.0.171";
version = "32.0.0.192";

src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "1rqf1kidpf2jqf20dw3hscrapdpm2j751742i6xnvj9mp66nczyg";
sha256 = "14nydiqjvr7hc4dmn900p7j7rp6prwyaf6xnki2ssbq6h1ni2lg1";
stripRoot = false;
};

Expand Down
18 changes: 9 additions & 9 deletions pkgs/applications/networking/browsers/chromium/upstream-info.nix
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "0vsvjhmrc2p8mf4rfp9bf9y4nqkbbi5v8008cdvr6c14zq35w7hy";
sha256bin64 = "1zzmk08y2rhirm297a91bvq5q30vvxll8fzfp7z5cpqb6az80y2h";
version = "74.0.3729.108";
sha256 = "01sw6ql4fr1zwbw4l4c3xgmd3jqil9lgmpmlhfyj9ga4kp2qlnim";
sha256bin64 = "0xwxb54l1ylrckxd36pkzcla34d5hbnhxz3gkrv4id530l6ms6jh";
version = "75.0.3770.27";
};
dev = {
sha256 = "1wrg4r2q043i8i4vq9zn69yvnzjxzmxyn21k367909kci83hhi44";
sha256bin64 = "1jv9wi4nddijjp9y0r77rxciqsd1rkd87ipvagyq5nzpxr6wdzsa";
version = "75.0.3766.2";
sha256 = "0fq8sjyscz998ha4wnn4npr3bb4jslcjc1i7xgwz6bh4yhi1az4f";
sha256bin64 = "1yb6ff6bg662klki7dcrdaysmsnqrnlp8syxcvwl2rysswll3wyl";
version = "76.0.3788.1";
};
stable = {
sha256 = "0vsvjhmrc2p8mf4rfp9bf9y4nqkbbi5v8008cdvr6c14zq35w7hy";
sha256bin64 = "0zs3khzszppmjf5s4rs6fbmhgc9y0abj4q4q8j3hn6nisddi9q9c";
version = "74.0.3729.108";
sha256 = "01ifjsss3nqr15xx2iqsiqgjq1xc07j7ljnapsb484m7dcfk3gnw";
sha256bin64 = "0zkv4x4vbra476c6wy4igp6k80r9ssb9632wsyrzjni9w3zk9qvy";
version = "74.0.3729.157";
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-${version}";
version = "32.0.0.171";
version = "32.0.0.192";

src = fetchurl {
url =
Expand All @@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
sha256 =
if debug then
if arch == "x86_64" then
"0dl2kxsn4wh3243qkwyq13ikbmz6ljg95a1v02cylz36kpfl51iv"
"0n5m70mz1fa5pgpz1ldqgn6bkr4in5qjn79kb85127wmg8fddbz7"
else
"1v9imcyml55qlvp0cibi5r5kl0rcivzvmnqgw8ph3xjm1yrxw3fr"
"1q6pjmnw2h8k09va5x64ijmq0kmfb569rwcibwl0d8kylxi97b6v"
else
if arch == "x86_64" then
"1f3nl4qkws16q2yw940vvb0zmmwxks1blm4ida65hlda6f9zfq3h"
"1h2ya3szq24dczv2izxy47kr2raiahxx7zvm49jlvlcp5cygxvjk"
else
"0df9nbxyn4wl4ap333mgnnmy994xj7i5hz07sw83pszlz3pjkc0m";
"084bv0m9w1v2s4bf5rgan40l1fajwfam3njvgm47ffyg6s0kg1kh";
};

nativeBuildInputs = [ unzip ];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@

stdenv.mkDerivation rec {
name = "flashplayer-standalone-${version}";
version = "32.0.0.171";
version = "32.0.0.192";

src = fetchurl {
url =
Expand All @@ -60,9 +60,9 @@ stdenv.mkDerivation rec {
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
sha256 =
if debug then
"0z4fkqbq1s63lpzfkyxllwx2wpizbabr4zim1dn7n59ld75vjxq8"
"0j5rzamyajkiblalqkimx29bwm7yg9m4nj9z7z8hahcywpf81yqg"
else
"0nvgcdmgvgbj6axrh0yzkk437bxwsaxl0mvfkcyyz1hxnq51dvvg";
"0qnz383aggm07hbvyrnqphwhd5wp9xbairf908nk4i6ad8wg1x3r";
};

nativeBuildInputs = [ unzip ];
Expand Down
32 changes: 15 additions & 17 deletions pkgs/applications/science/math/nasc/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,47 +2,45 @@
, fetchFromGitHub
, pkgconfig
, gtk3
, glib
, pantheon
, gnome3
, libsoup
, gtksourceview
, libgee
, cmake
, libqalculate
, gobject-introspection
, wrapGAppsHook }:
, cln
, wrapGAppsHook
}:

stdenv.mkDerivation rec {
name = "nasc-${version}";
version = "0.5.1";
pname = "nasc";
version = "0.5.4";

src = fetchFromGitHub {
owner = "parnold-x";
repo = "nasc";
repo = pname;
rev = version;
sha256 = "13y5fnm7g3xgdxmdydlgly73nigh8maqbf9d6c9bpyzxkxq1csy5";
sha256 = "036v3dx8yasp19j88lflibqnpfi5d0nk7qkcnr80zn1lvawf4wgn";
};

postPatch = ''
# libqalculatenasc.so is not installed, and nasc fails to start
substituteInPlace libqalculatenasc/CMakeLists.txt --replace SHARED STATIC
'';

nativeBuildInputs = [
cmake
pantheon.vala
gobject-introspection # for setup-hook
pkgconfig
wrapGAppsHook
];

buildInputs = [
pantheon.elementary-icon-theme
cln
libsoup
gtk3
glib
gtksourceview
libgee
gnome3.libsoup
pantheon.granite
gtk3
libqalculate
pantheon.elementary-icon-theme
pantheon.granite
];

meta = with stdenv.lib; {
Expand Down

0 comments on commit 7636c3c

Please sign in to comment.