[Bug 3477] Support environment variable or %u token for User
    bugzilla-daemon at mindrot.org 
    bugzilla-daemon at mindrot.org
       
    Fri Feb 28 21:02:40 AEDT 2025
    
    
  
https://bugzilla.mindrot.org/show_bug.cgi?id=3477
--- Comment #5 from Darren Tucker <dtucker at dtucker.net> ---
(In reply to Darren Tucker from comment #4)
> This wouldn't be very hard to add, but one question I have is: are
> there any extant systems that use '%' or '${}' in their native
> usernames?
To partially answer my own question: at least {} is currently
disallowed:
static int
valid_ruser(const char *s)
{  [...]
        for (i = 0; s[i] != 0; i++) {
                if (strchr("'`\";&<>|(){}", s[i]) != NULL)
                        return 0;
and without the {}, a $ is just a literal:
$ ssh -o User='$FOO' localhost -G | grep user
user $FOO
and a '%' can escape itself, so it's still possible to send one if
necessary:
$ ssh -o User='%%' localhost -G | grep user
user %
-- 
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
    
    
More information about the openssh-bugs
mailing list