prosodyctl: Warn if encryption is required but mod_tls is not enabled (see #617)
authorKim Alvefur <zash@zash.se>
Sun, 12 Jun 2016 17:55:46 +0000 (19:55 +0200)
committerKim Alvefur <zash@zash.se>
Sun, 12 Jun 2016 17:55:46 +0000 (19:55 +0200)
prosodyctl

index 8ada3b9b6d8b6f59080cb40c390c25e3be93d66e..226ff2cf48b370ea991b3a63228191074243c5bf 100755 (executable)
@@ -974,9 +974,10 @@ function commands.check(arg)
                                print("    For more information see https://prosody.im/doc/storage");
                        end
                end
+               local require_encryption = set.intersection(all_options, set.new({"require_encryption", "c2s_require_encryption", "s2s_require_encryption"})):empty();
                local ssl = dependencies.softreq"ssl";
                if not ssl then
-                       if not set.intersection(all_options, set.new({"require_encryption", "c2s_require_encryption", "s2s_require_encryption"})):empty() then
+                       if not require_encryption then
                                print("");
                                print("    You require encryption but LuaSec is not available.");
                                print("    Connections will fail.");
@@ -1006,6 +1007,11 @@ function commands.check(arg)
                                        ok = false;
                                end
                        end
+               elseif require_encryption and not all_modules:contains("tls") then
+                       print("");
+                       print("    You require encryption but mod_tls is not enabled.");
+                       print("    Connections will fail.");
+                       ok = false;
                end
                
                print("Done.\n");