;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022, 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . ;; GNU Guix development manifest. To create development environment, run ;; ;; guix shell ;; ;; or something like ;; ;; guix shell --pure -m manifest.scm hello ... (use-modules (guix packages)) (concatenate-manifests (list (package->development-manifest (let ((guix (specification->package "guix"))) (package/inherit guix ;; Replace with non-minimal Graphviz for PDF support. (native-inputs (modify-inputs (package-native-inputs guix) (replace "graphviz" (specification->package "graphviz"))))))) ;; Extra packages used by unit tests. (specifications->manifest (list "gnupg")) ;; Packages needed for 'make dist' and 'make distcheck'. (specifications->manifest (list "imagemagick" "perl")) ;; Useful extras for patches submission. (specifications->manifest (list "b4" "git" "git:send-email" "mumi" "nss-certs" "openssl" ;required if using 'smtpEncryption = tls' "patman")) ;; For installer (specifications->manifest (list "guile-newt" "guile-parted" "guile-webutils")))) 0a8c3b88035695a529584555380da1cc'>nix/libutil
(CVE-2024-27297) whereby a fixed-output derivation build process could open a writable file descriptor to its output, send it to some outside process for instance over an abstract AF_UNIX socket, which would then allow said process to modify the file in the store after it has been marked as “valid”. Vulnerability discovered by puck <https://github.com/puckipedia>. Nix security advisory: https://github.com/NixOS/nix/security/advisories/GHSA-2ffj-w4mj-pg37 Nix fix: https://github.com/NixOS/nix/commit/244f3eee0bbc7f11e9b383a15ed7368e2c4becc9 * nix/libutil/util.cc (readDirectory): Add variants that take a DIR* and a file descriptor. Rewrite the ‘Path’ variant accordingly. (copyFile, copyFileRecursively): New functions. * nix/libutil/util.hh (copyFileRecursively): New declaration. * nix/libstore/build.cc (DerivationGoal::buildDone): When ‘fixedOutput’ is true, call ‘copyFileRecursively’ followed by ‘rename’ on each output. Change-Id: I7952d41093eed26e123e38c14a4c1424be1ce1c4 Reported-by: Picnoir <picnoir@alternativebit.fr>, Théophane Hufschmitt <theophane.hufschmitt@tweag.io> Change-Id: Idb5f2757f35af86b032a9851cecb19b70227bd88
AgeCommit message (Expand)Author
2024-05-13daemon: Loop over ‘copy_fi
2020-11-18services: SDDM: Wait for elogind before starting....Fixes <https://bugs.gnu.org/44669>. * gnu/services/sddm.scm (sddm-shepherd-service)[requirement]: Add elogind. Marius Bakke
2020-04-19services: sddm: Have sddm provision xorg-server....* gnu/services/sddm.scm (sddm-shepherd-service)[shepherd-service]: Have sddm provision 'xorg-server like the other display managers. Efraim Flashner
2020-03-01services: set-xorg-configuration: handle slim and sddm...* gnu/services/xorg.scm (handle-xorg-configuration): New syntax. (gdm-service-type, slim-service-type): Use handle-xorg-configuration. * gnu/services/sddm.scm (sddm-service-type): Likewise. Jakub Kądziołka
2020-02-16doc: Fix typo....* doc/guix.texi (X Window)[sddm-service-type]: SSDM -> SDDM typo fix. [sddm-configuration]: Also list 'maya' theme. * gnu/services/sddm.scm (sddm-service): Fix typo in doc string. (sddm-configuration): Also list 'maya' theme. Efraim Flashner
Ludovic Courtès
2023-01-09daemon: Improve error message for wrong hash sizes....* nix/libutil/hash.cc (parseHash): Show the hash algorithm name and expected size in the error message. * tests/derivations.scm ("fixed-output derivation, invalid hash size"): New test. Ludovic Courtès
2022-12-18daemon: Make "opening file" error messages distinguishable....* nix/libstore/build.cc (DerivationGoal::openLogFile): Customize "opening file" error message. * nix/libutil/hash.cc (hashFile): Likewise. * nix/libutil/util.cc (readFile, writeFile): Likewise. Ludovic Courtès
2021-11-19daemon: Micro-optimize 'deletePath'....'remove' calls 'unlink' first and falls back to 'rmdir' upon EISDIR. This change gets rid of the 'unlink' call for every directory being removed. * nix/libutil/util.cc (_deletePath): Call 'unlink' or 'rmdir' depending on 'st.st_mode', rather than call 'remove'. Ludovic Courtès