GNU bug report logs - #61201
Installation hint crashes when user names contain at sign

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Date: Tue, 31 Jan 2023 17:06:01 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#61201: closed (Installation hint crashes when user names
 contain at sign)
Date: Mon, 27 Feb 2023 22:56:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 27 Feb 2023 23:55:16 +0100
with message-id <877cw2g1m3.fsf_-_ <at> gnu.org>
and subject line Re: bug#61749: [PATCH] ui: 'display-hint' quotes extra arguments for Texinfo.
has caused the debbugs.gnu.org bug report #61201,
regarding Installation hint crashes when user names contain at sign
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
61201: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61201
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: bug-guix <at> gnu.org
Subject: Installation hint crashes when user names contain at sign
Date: Tue, 31 Jan 2023 18:05:40 +0100
A funny thing was reported earlier today on the Café Guix channel:

--8<---------------cut here---------------start------------->8---
$ guix install hello  [17:52]
building profile with 5 packages...
hint: Backtrace:
          17 (primitive-load "/usr/local/bin/guix")
In guix/ui.scm:
   2279:7 16 (run-guix . )
  2242:10 15 (run-guix-command _ . )
In ice-9/boot-9.scm:
  1752:10 14 (with-exception-handler _ _ #:unwind? _ # )
In guix/status.scm:
    835:3 13 ()
    815:4 12 (call-with-status-report _ )
In guix/store.scm:
   1300:8 11 (call-with-build-handler _ )
   1300:8 10 (call-with-build-handler # ?)
In guix/build/syscalls.scm:
   1440:3  9 ()
   1407:4  8 (call-with-file-lock/no-wait _ _ )
In guix/scripts/package.scm:
    325:7  7 (build-and-use-profile _ "/var/guix/profiles/per-user/?" ?)
In guix/ui.scm:
    312:5  6 (display-hint _ )
  1451:24  5 (texi->plain-text )
In texinfo.scm:
  1132:22  4 (parse )
   980:31  3 (loop #<input: string 2b6e5926be70> (fragment) _ _ )
   967:36  2 (loop #<input: string 2b6e5926be70> #f # ?)
     92:2  1 (command-spec )
In ice-9/boot-9.scm:
  1685:16  0 (raise-exception _ #:continuable? )
 
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key #E1E1E1">parser-error' with args(#f "Unknown command" univ)'.
--8<---------------cut here---------------end--------------->8---

This is because the user name ends in “@univ…”, which ‘display-hint’
interprets as Texinfo.

Ludo’.


[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: 61749-done <at> debbugs.gnu.org
Cc: 61201-done <at> debbugs.gnu.org
Subject: Re: bug#61749: [PATCH] ui: 'display-hint' quotes extra arguments
 for Texinfo.
Date: Mon, 27 Feb 2023 23:55:16 +0100
Ludovic Courtès <ludo <at> gnu.org> skribis:

> Fixes <https://issues.guix.gnu.org/61201>.
>
> Previously, common practice was to splice arbitrary strings (user names,
> file names, etc.) into Texinfo snippets passed to 'display-hint'.  This
> is unsafe in the general case because at signs and braces need to be
> escaped to produced valid Texinfo.  This commit addresses that.
>
> * guix/ui.scm (texinfo-quote): New procedure.
> (display-hint): When ARGUMENTS is non-empty, pass it to 'texinfo-quote'
> and call 'format'.
> (report-unbound-variable-error, check-module-matches-file)
> (display-collision-resolution-hint, run-guix-command): Remove explicit
> 'format' call; pass 'format' arguments as extra arguments to 'display-hint'.
> * gnu/services/monitoring.scm (zabbix-front-end-config): Likewise.
> * guix/scripts.scm (warn-about-disk-space): Likewise.
> * guix/scripts/build.scm (%standard-cross-build-options)
> (%standard-native-build-options): Likewise.
> * guix/scripts/describe.scm (display-checkout-info): Likewise.
> * guix/scripts/environment.scm (suggest-command-name): Likewise.
> * guix/scripts/home.scm (process-command): Likewise.
> * guix/scripts/home/edit.scm (service-type-not-found): Likewise.
> * guix/scripts/import.scm (guix-import): Likewise.
> * guix/scripts/package.scm (display-search-path-hint): Likewise.
> * guix/scripts/pull.scm (build-and-install): Likewise.
> * guix/scripts/shell.scm (auto-detect-manifest): Likewise.
> * guix/scripts/system.scm (check-file-system-availability): Likewise.
> (guix-system): Likewise.
> * guix/scripts/system/edit.scm (service-type-not-found): Likewise.
> * guix/status.scm (print-build-event): Likewise.

Pushed as 43c36c5c9f7a31649eb059fd16ed82bde20da3fc.

Ludo’.


This bug report was last modified 2 years and 87 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.