diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2017-03-14 17:28:37 +0100 | 
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2017-03-14 17:28:37 +0100 | 
| commit | e100119827474928636c2ed9a9772f3c5107663b (patch) | |
| tree | 80833a41f9f067125fea734b134b0a9424fd7159 /custom/uucp.nix | |
| parent | 000d46fbd462dc59aa143261b894f9c470e54040 (diff) | |
| parent | f655f88cbbc334ad56a79c2287f18defa5aa98ba (diff) | |
| download | nixos-e100119827474928636c2ed9a9772f3c5107663b.tar nixos-e100119827474928636c2ed9a9772f3c5107663b.tar.gz nixos-e100119827474928636c2ed9a9772f3c5107663b.tar.bz2 nixos-e100119827474928636c2ed9a9772f3c5107663b.tar.xz nixos-e100119827474928636c2ed9a9772f3c5107663b.zip  | |
Merge branch 'master' of git:nixos
Diffstat (limited to 'custom/uucp.nix')
| -rw-r--r-- | custom/uucp.nix | 18 | 
1 files changed, 14 insertions, 4 deletions
diff --git a/custom/uucp.nix b/custom/uucp.nix index d7c2aae2..0b4b1306 100644 --- a/custom/uucp.nix +++ b/custom/uucp.nix  | |||
| @@ -208,7 +208,17 @@ in { | |||
| 208 | text = config.services.uucp.extraSys + "\n" + concatStringsSep "\n" (map sysSpec config.services.uucp.remoteNodes); | 208 | text = config.services.uucp.extraSys + "\n" + concatStringsSep "\n" (map sysSpec config.services.uucp.remoteNodes); | 
| 209 | }; | 209 | }; | 
| 210 | 210 | ||
| 211 | security.setuidOwners = map (p: {program = p; owner = "root"; group = "root"; setuid = true; setgid = false;}) ["uucico" "uuxqt" "cu" "uucp" "uuname" "uustat" "uux"]; | 211 | security.wrappers = let | 
| 212 | wrapper = p: { name = p; | ||
| 213 | value = { | ||
| 214 | source = "${pkgs.uucp}/bin/${p}"; | ||
| 215 | owner = "root"; | ||
| 216 | group = "root"; | ||
| 217 | setuid = true; | ||
| 218 | setgid = false; | ||
| 219 | }; | ||
| 220 | }; | ||
| 221 | in listToAttrs (map wrapper ["uucico" "uuxqt" "cu" "uucp" "uuname" "uustat" "uux"]); | ||
| 212 | 222 | ||
| 213 | nixpkgs.config.packageOverrides = pkgs: with pkgs; { | 223 | nixpkgs.config.packageOverrides = pkgs: with pkgs; { | 
| 214 | uucp = stdenv.lib.overrideDerivation uucp (oldAttrs: { | 224 | uucp = stdenv.lib.overrideDerivation uucp (oldAttrs: { | 
| @@ -227,7 +237,7 @@ in { | |||
| 227 | choices as appropriate. */ | 237 | choices as appropriate. */ | 
| 228 | #if 1 | 238 | #if 1 | 
| 229 | -#define MAIL_PROGRAM "/usr/lib/sendmail -t" | 239 | -#define MAIL_PROGRAM "/usr/lib/sendmail -t" | 
| 230 | +#define MAIL_PROGRAM "/var/setuid-wrappers/sendmail -t" | 240 | +#define MAIL_PROGRAM "${config.security.wrapperDir}/sendmail -t" | 
| 231 | /* #define MAIL_PROGRAM "/usr/sbin/sendmail -t" */ | 241 | /* #define MAIL_PROGRAM "/usr/sbin/sendmail -t" */ | 
| 232 | #define MAIL_PROGRAM_TO_BODY 1 | 242 | #define MAIL_PROGRAM_TO_BODY 1 | 
| 233 | #define MAIL_PROGRAM_SUBJECT_BODY 1 | 243 | #define MAIL_PROGRAM_SUBJECT_BODY 1 | 
| @@ -246,7 +256,7 @@ in { | |||
| 246 | *) from="$from@$relay";; | 256 | *) from="$from@$relay";; | 
| 247 | esac | 257 | esac | 
| 248 | 258 | ||
| 249 | exec /var/setuid-wrappers/sendmail -i -f "$from" -- "$@" | 259 | exec ${config.security.wrapperDir}/sendmail -G -i -f "$from" -- "$@" | 
| 250 | ''; | 260 | ''; | 
| 251 | }; | 261 | }; | 
| 252 | 262 | ||
| @@ -254,6 +264,6 @@ in { | |||
| 254 | uucp | 264 | uucp | 
| 255 | ]; | 265 | ]; | 
| 256 | 266 | ||
| 257 | services.cron.systemCronJobs = (map (name: "${config.services.uucp.interval} /var/setuid-wrappers/uucico -D -S ${name}") (if (config.services.uucp.interval != null) then config.services.uucp.remoteNodes else [])); | 267 | services.cron.systemCronJobs = (map (name: "${config.services.uucp.interval} ${config.security.wrapperDir}/uucico -D -S ${name}") (if (config.services.uucp.interval != null) then config.services.uucp.remoteNodes else [])); | 
| 258 | }; | 268 | }; | 
| 259 | } | 269 | } | 
