df590070b0
Add a new type, inheriting 'types.str' but checking whether the value doesn't contain any newline characters. The motivation comes from a problem with the 'users.users.${u}.openssh.authorizedKeys' option. It is easy to unintentionally insert a newline character at the end of a string, or even in the middle, for example: restricted_ssh_keys = command: keys: let prefix = '' command="${command}",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding ''; in map (key: "${prefix} ${key}") keys; The 'prefix' string ends with a newline, which ends up in the middle of a key entry after a few manipulations. This is problematic because the key file is built by concatenating all the keys with 'concatStringsSep "\n"', with result in two entries for the faulty key: '' command="...",options... MY_KEY '' This is hard to debug and might be dangerous. This is now caught at build time. |
||
---|---|---|
.. | ||
admin | ||
amqp | ||
audio | ||
backup | ||
blockchain/ethereum | ||
cluster | ||
computing | ||
continuous-integration | ||
databases | ||
desktops | ||
development | ||
display-managers | ||
editors | ||
finance | ||
games | ||
hardware | ||
logging | ||
matrix | ||
misc | ||
monitoring | ||
network-filesystems | ||
networking | ||
printing | ||
scheduling | ||
search | ||
security | ||
system | ||
torrent | ||
ttys | ||
video | ||
wayland | ||
web-apps | ||
web-servers | ||
x11 |