From 0427e7fbf236ca20e9311399dd3e7d369e6a99c6 Mon Sep 17 00:00:00 2001 From: Alex Berg Date: Wed, 6 Nov 2013 09:32:22 +0800 Subject: [PATCH 1/3] Check for SSL Cert value before building with SSL support. --- nixos/modules/services/web-servers/apache-httpd/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index d21b6da0e77..e94af76661d 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -582,6 +582,12 @@ in ###### implementation config = mkIf config.services.httpd.enable { + + assertions = [ { assertion = mainCfg.enableSSL == true + -> mainCfg.sslServerCert != null && mainCfg.sslServerCert != "" + && mainCfg.sslServerKey != null && mainCfg.sslServerKey != ""; + message = "SSL is enabled for HTTPD, but sslServerCert and/or sslServerKey haven't been specified."; } + ]; users.extraUsers = optionalAttrs (mainCfg.user == "wwwrun") singleton { name = "wwwrun"; From df5f4918937d9285eabb862bd0276a87316d8917 Mon Sep 17 00:00:00 2001 From: Alex Berg Date: Mon, 11 Nov 2013 12:08:36 +0800 Subject: [PATCH 2/3] Add HTTPD SSH assertion to check null cert/key. --- nixos/modules/services/web-servers/apache-httpd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index e94af76661d..6836746f829 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -584,8 +584,8 @@ in config = mkIf config.services.httpd.enable { assertions = [ { assertion = mainCfg.enableSSL == true - -> mainCfg.sslServerCert != null && mainCfg.sslServerCert != "" - && mainCfg.sslServerKey != null && mainCfg.sslServerKey != ""; + -> mainCfg.sslServerCert != null + && mainCfg.sslServerKey != null; message = "SSL is enabled for HTTPD, but sslServerCert and/or sslServerKey haven't been specified."; } ]; From da654ed9a0eb03eb4b861130ca417de80c864792 Mon Sep 17 00:00:00 2001 From: Alex Berg Date: Mon, 11 Nov 2013 15:18:46 +0800 Subject: [PATCH 3/3] Check empty stringfor globalRedirect. It breaks RedirectPermanent. --- nixos/modules/services/web-servers/apache-httpd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index 6836746f829..82e8611e1d6 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -260,7 +260,7 @@ let '' else ""} - ${if cfg.globalRedirect != null then '' + ${if cfg.globalRedirect != null && cfg.globalRedirect != "" then '' RedirectPermanent / ${cfg.globalRedirect} '' else ""}