Merge pull request #303890 from oluceps/ss-module

nixos/shadowsocks: ensure password be set
This commit is contained in:
Pascal Wittmann 2024-04-17 11:17:23 +02:00 committed by GitHub
commit 6ae4216336
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -136,10 +136,16 @@ in
###### implementation
config = mkIf cfg.enable {
assertions = singleton
{ assertion = cfg.password == null || cfg.passwordFile == null;
message = "Cannot use both password and passwordFile for shadowsocks-libev";
};
assertions = [
{
# xor, make sure either password or passwordFile be set.
# shadowsocks-libev not support plain/none encryption method
# which indicated that password must set.
assertion = let noPasswd = cfg.password == null; noPasswdFile = cfg.passwordFile == null;
in (noPasswd && !noPasswdFile) || (!noPasswd && noPasswdFile);
message = "Option `password` or `passwordFile` must be set and cannot be set simultaneously";
}
];
systemd.services.shadowsocks-libev = {
description = "shadowsocks-libev Daemon";