nar: Read archive signatures as Latin-1 strings.

Fixes <http://bugs.gnu.org/19610>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/nar.scm (restore-one-item): Use 'read-latin1-string' to read the
  signature.
master
Ludovic Courtès 2015-01-18 22:19:04 +01:00
parent aa27b56083
commit 71c1d5280c
1 changed files with 4 additions and 2 deletions

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@ -211,7 +211,9 @@ s-expression"))
(_ "importing file or directory '~a'...~%")
file)
(let ((sig (and has-sig? (read-string port))))
;; The signature may contain characters that are meant to be
;; interpreted as bytes in a 'char *', so read them as a ISO-8859-1.
(let ((sig (and has-sig? (read-latin1-string port))))
(when verify-signature?
(if sig
(begin