termio: revise macOS-specific .hushlogin note (#5212)

login(1)'s .hushlogin logic was "fixed" in macOS Sonoma 14.4, so this
comment (and our workaround) is only relevant for versions earlier than
that.

The relevant change to login/login.c is part of system_cmds-979.100.8.

> login.c: look for .hushlogin in home directory (112854361)

-
1bca46ecc5
-
https://github.com/apple-oss-distributions/distribution-macOS/tree/macos-144
This commit is contained in:
Mitchell Hashimoto
2025-01-20 10:10:34 -08:00
committed by GitHub

View File

@ -971,12 +971,12 @@ const Subprocess = struct {
// which we may not want. If we specify "-l" then we can avoid // which we may not want. If we specify "-l" then we can avoid
// this behavior but now the shell isn't a login shell. // this behavior but now the shell isn't a login shell.
// //
// There is another issue: `login(1)` only checks for ".hushlogin" // There is another issue: `login(1)` on macOS 14.3 and earlier
// in the working directory. This means that if we specify "-l" // checked for ".hushlogin" in the working directory. This means
// then we won't get hushlogin honored if its in the home // that if we specify "-l" then we won't get hushlogin honored
// directory (which is standard). To get around this, we // if its in the home directory (which is standard). To get
// check for hushlogin ourselves and if present specify the // around this, we check for hushlogin ourselves and if present
// "-q" flag to login(1). // specify the "-q" flag to login(1).
// //
// So to get all the behaviors we want, we specify "-l" but // So to get all the behaviors we want, we specify "-l" but
// execute "bash" (which is built-in to macOS). We then use // execute "bash" (which is built-in to macOS). We then use