package installation fail when home dir contains a @

  • Open
  • quality assurance status badge
Details
2 participants
  • Julien Lepiller
  • pofman
Owner
unassigned
Submitted by
pofman
Severity
normal

Debbugs page

pofman wrote 2 years ago
(address . bug-guix@gnu.org)
384620554.2032398863.1669207590413.JavaMail.root@zimbra76-e14.priv.proxad.net
Hello!

I use the guix package manager on ubuntu 22.04.

I have successfully installed fdm and mu packages but I got an error when installing emacs package.

My user is a domain user, the domain name is 'foo.bar' and then sssd use a home directory like '/home/user@foo.bar' which seems to cause that error.

Installation log:
$ LANG=C guix install emacs
The following package will be installed:
emacs 28.2

hint: Backtrace:
17 (primitive-load "/home/user@foo.bar/.config/guix?")
In guix/ui.scm:
2275:7 16 (run-guix . _)
2238: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 #<procedure 7f83d177e480 at g?> ?)
In guix/build/syscalls.scm:
1435:3 9 (_)
1402: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 _ _)
1448:24 5 (texi->plain-text _)
In texinfo.scm:
1132:22 4 (parse _)
980:31 3 (loop #<input: string 7f83bec67a10> (*fragment*) _ _ _)
967:36 2 (loop #<input: string 7f83bec67a10> #f #<procedure ide?> ?)
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 `parser-error' with args `(#f "Unknown command" foo)'.
Julien Lepiller wrote 2 years ago
(address . bug-guix@gnu.org)(address . pofman@free.fr)(address . 59521@debbugs.gnu.org)
ED47AE45-5CCD-4483-9DD1-C6E7990DD3A0@lepiller.eu
Oh no, do we have a Texi injection vulnerability in Guix? :)

What I understand is that an error occurs when trying to show a hint to the user (display-hint in the backtrace). This calls texi->plain-text which transforms texinfo markup to text for displaying on a terminal. With your user name, it tries to read something like:

/home/~a/.guix-profile/etc/profile

Which is expanded into:

/home/user@foo.bar/.guix-profile/etc/profile

And the @ is understood as texinfo markup but there is no @foo command in texinfo. How do we fix that though?

Le 23 novembre 2022 13:46:30 GMT+01:00, pofman@free.fr a écrit :
Toggle quote (47 lines)
>Hello!
>
>I use the guix package manager on ubuntu 22.04.
>
>I have successfully installed fdm and mu packages but I got an error when installing emacs package.
>
>My user is a domain user, the domain name is 'foo.bar' and then sssd use a home directory like '/home/user@foo.bar' which seems to cause that error.
>
>Installation log:
>$ LANG=C guix install emacs
>The following package will be installed:
> emacs 28.2
>
>hint: Backtrace:
> 17 (primitive-load "/home/user@foo.bar/.config/guix?")
>In guix/ui.scm:
> 2275:7 16 (run-guix . _)
> 2238: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 #<procedure 7f83d177e480 at g?> ?)
>In guix/build/syscalls.scm:
> 1435:3 9 (_)
> 1402: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 _ _)
> 1448:24 5 (texi->plain-text _)
>In texinfo.scm:
> 1132:22 4 (parse _)
> 980:31 3 (loop #<input: string 7f83bec67a10> (*fragment*) _ _ _)
> 967:36 2 (loop #<input: string 7f83bec67a10> #f #<procedure ide?> ?)
> 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 `parser-error' with args `(#f "Unknown command" foo)'.
>
>
>
Attachment: file
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 59521@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 59521
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help