mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
authenticate: Encode strings as ISO-8859-1.
Fixes <https://bugs.gnu.org/43421>. * guix/scripts/authenticate.scm (read-command): Decode strings as ISO-8859-1, not UTF-8. (guix-authenticate)[send-reply]: Encode strings as ISO-8859-1, not UTF-8. * tests/guix-authenticate.sh: Add test.
This commit is contained in:
parent
1b157bbef0
commit
b911d65474
2 changed files with 14 additions and 3 deletions
|
@ -31,6 +31,7 @@
|
|||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (ice-9 iconv)
|
||||
#:export (guix-authenticate))
|
||||
|
||||
;;; Commentary:
|
||||
|
@ -122,8 +123,9 @@ by colon, followed by the given number of characters."
|
|||
(reverse result))
|
||||
(else
|
||||
(let* ((len (string->number (read-delimited ":" port)))
|
||||
(str (utf8->string
|
||||
(get-bytevector-n port len))))
|
||||
(str (bytevector->string
|
||||
(get-bytevector-n port len)
|
||||
"ISO-8859-1" 'error)))
|
||||
(loop (cons str result))))))))))
|
||||
|
||||
(define-syntax define-enumerate-type ;TODO: factorize
|
||||
|
@ -150,7 +152,7 @@ by colon, followed by the given number of characters."
|
|||
|
||||
(define (send-reply code str)
|
||||
;; Send CODE and STR as a reply to our client.
|
||||
(let ((bv (string->utf8 str)))
|
||||
(let ((bv (string->bytevector str "ISO-8859-1" 'error)))
|
||||
(format #t "~a ~a:" code (bytevector-length bv))
|
||||
(put-bytevector (current-output-port) bv)
|
||||
(force-output (current-output-port))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue