login.conf(5) states that "Capabilities that set environment variables are scanned for both `~' and `$' characters, which are substituted for a user's home directory and name respectively. To pass these characters literally into the environment variable, escape the character by preceding it with a backslash '\'.
Either remove the support for escaping the characters or document its deficiencies.
How-To-Repeat: Try escaping a ~ or $ in a setenv or path capability in login.conf or ~/.login_conf.
Toss it here.
One way to make the behavior match the documentation is to use
cgetustr(3) when interpreting a "path" or "setenv" capability. That
way the normal backslash escape stuff is not done. This is what I
just did in OpenBSD (I also implemented the normal cgetstr(3)
escaping for consistency).
For bugs matching the following criteria:
Status: In Progress Changed: (is less than) 2014-06-01
Reset to default assignee and clear in-progress tags.
Mail being skipped