mod_s2s: Remove redundant setting of session.direction
[prosody.git] / prosodyctl
index 79d714ebc21ad664996c7f8212f3aa536ea09061..d9ae9b736ce0cbb1f8724845a536fb7112188e3f 100755 (executable)
@@ -816,6 +816,9 @@ function commands.check(arg)
        end
        if not what or what == "config" then
                print("Checking config...");
+               local deprecated = set.new({
+                       "bosh_ports", "disallow_s2s", "no_daemonize", "anonymous_login",
+               });
                local known_global_options = set.new({
                        "pidfile", "log", "plugin_paths", "prosody_user", "prosody_group", "daemonize",
                        "umask", "prosodyctl_timeout", "use_ipv6", "use_libevent", "network_settings"
@@ -828,8 +831,26 @@ function commands.check(arg)
                        print("    No global options defined. Perhaps you have put a host definition at the top")
                        print("    of the config file? They should be at the bottom, see http://prosody.im/doc/configure#overview");
                end
+               if it.count(enabled_hosts()) == 0 then
+                       ok = false;
+                       print("");
+                       if it.count(it.filter("*", pairs(config))) == 0 then
+                               print("    No hosts are defined, please add at least one VirtualHost section")
+                       elseif config["*"]["enabled"] == false then
+                               print("    No hosts are enabled. Remove enabled = false from the global section or put enabled = true under at least one VirtualHost section")
+                       else
+                               print("    All hosts are disabled. Remove enabled = false from at least one VirtualHost section")
+                       end
+               end
                -- Check for global options under hosts
                local global_options = set.new(it.to_array(it.keys(config["*"])));
+               local deprecated_global_options = set.intersection(global_options, deprecated);
+               if not deprecated_global_options:empty() then
+                       print("");
+                       print("    You have some deprecated options in the global section:");
+                       print("    "..tostring(deprecated_global_options))
+                       ok = false;
+               end
                for host, options in enabled_hosts() do
                        local host_options = set.new(it.to_array(it.keys(options)));
                        local misplaced_options = set.intersection(host_options, known_global_options);
@@ -1105,8 +1126,8 @@ function commands.check(arg)
                                                        print("    Not vaild for client connections to "..host..".")
                                                        cert_ok = false
                                                end
-                                               if (not (config.get(name, "anonymous_login")
-                                                       or config.get(name, "authentication") == "anonymous"))
+                                               if (not (config.get(host, "anonymous_login")
+                                                       or config.get(host, "authentication") == "anonymous"))
                                                        and not x509_verify_identity(host, "_xmpp-client", cert) then
                                                        print("    Not vaild for server-to-server connections to "..host..".")
                                                        cert_ok = false