[Bug 4005] New: `ssh -G` emits one keyword with mixed case while lowercasing all others

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Sat Sep 12 08:33:36 AEST 2026


https://bugzilla.mindrot.org/show_bug.cgi?id=4005

            Bug ID: 4005
           Summary: `ssh -G` emits one keyword with mixed case while
                    lowercasing all others
           Product: Portable OpenSSH
           Version: 10.5p1
          Hardware: Other
                OS: Other
            Status: NEW
          Severity: minor
          Priority: P5
         Component: ssh
          Assignee: unassigned-bugs at mindrot.org
          Reporter: khush2792001 at gmail.com

Expected behavior

`ssh -G` prints the effective client configuration one `keyword value`
pair per
line. Every keyword is emitted fully lowercased (`port`,
`addressfamily`,
`forwardx11trusted`, `gssapiauthentication`, …), so consumers can match
keywords
case-sensitively against a lowercase name.

## Actual behavior

Exactly one keyword retains an internal capital letter:

```
canonicalizePermittedcnames none
```

All other keywords in the same output are fully lowercase — of the ~60
keywords
emitted, this is the only one containing an uppercase character. The
config
keyword itself is `CanonicalizePermittedCNAMEs`, so the emitted form
matches
neither the canonical spelling nor the lowercase convention of its
peers.

This does **not** affect parsing of `ssh_config` — it is an
output-formatting
inconsistency only.

Root cause

`readconf.c :: dump_client_config()` emits most keywords by lowercasing
a table
entry, but this option's name is produced from a hardcoded string that
retains
the capital `P`.

## Suggested fix

Make the casing self-consistent within a release — either lowercase
this keyword like its
peers, or (matching the OpenSSH 10.4 direction for `sshd -G`) emit all
keywords in their
canonical mixed case. The defect is that one keyword differs from every
other, not the
particular convention chosen.

Note this is a user-visible output change: any script currently
grepping for the
mixed-case spelling would need updating, which may argue for leaving it
alone.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.


More information about the openssh-bugs mailing list