nixos/zookeeper: escape cfg.extraCmdLineOptions

This commit is contained in:
Volth 2017-07-24 22:27:38 +00:00
parent 07e7527fdb
commit f2bfb459c4

@ -4,7 +4,7 @@ with lib;
let let
cfg = config.services.zookeeper; cfg = config.services.zookeeper;
zookeeperConfig = '' zookeeperConfig = ''
dataDir=${cfg.dataDir} dataDir=${cfg.dataDir}
clientPort=${toString cfg.port} clientPort=${toString cfg.port}
@ -49,7 +49,7 @@ in {
default = 1; default = 1;
type = types.int; type = types.int;
}; };
extraConf = mkOption { extraConf = mkOption {
description = "Extra configuration for Zookeeper."; description = "Extra configuration for Zookeeper.";
type = types.lines; type = types.lines;
@ -119,7 +119,7 @@ in {
ExecStart = '' ExecStart = ''
${pkgs.jre}/bin/java \ ${pkgs.jre}/bin/java \
-cp "${pkgs.zookeeper}/lib/*:${pkgs.zookeeper}/${pkgs.zookeeper.name}.jar:${configDir}" \ -cp "${pkgs.zookeeper}/lib/*:${pkgs.zookeeper}/${pkgs.zookeeper.name}.jar:${configDir}" \
${toString cfg.extraCmdLineOptions} \ ${escapeShellArgs cfg.extraCmdLineOptions} \
-Dzookeeper.datadir.autocreate=false \ -Dzookeeper.datadir.autocreate=false \
${optionalString cfg.preferIPv4 "-Djava.net.preferIPv4Stack=true"} \ ${optionalString cfg.preferIPv4 "-Djava.net.preferIPv4Stack=true"} \
org.apache.zookeeper.server.quorum.QuorumPeerMain \ org.apache.zookeeper.server.quorum.QuorumPeerMain \