X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosodyctl;h=ef436106948a2ae316172a3b610cce2db8e7c0e8;hb=d49bc5128167483f716c611abb8cdf70e731491e;hp=60bc0c08629b8b1ea2e8d3cd48564ca6e5e87f56;hpb=8c128c1df2ad220f1a2a2cbd6b0c0e5149f3bde5;p=prosody.git diff --git a/prosodyctl b/prosodyctl index 60bc0c08..ef436106 100755 --- a/prosodyctl +++ b/prosodyctl @@ -251,6 +251,7 @@ require "socket" function read_version() -- Try to determine version local version_file = io.open((CFG_SOURCEDIR or ".").."/prosody.version"); + prosody.version = "unknown"; if version_file then prosody.version = version_file:read("*a"):gsub("%s*$", ""); version_file:close(); @@ -258,7 +259,9 @@ function read_version() prosody.version = "hg:"..prosody.version; end else - prosody.version = "unknown"; + local hg = require"util.mercurial"; + local hgid = hg.check_id(CFG_SOURCEDIR or "."); + if hgid then prosody.version = "hg:" .. hgid; end end end @@ -529,17 +532,31 @@ function commands.about(arg) end local pwd = "."; + local lfs = require "lfs"; local array = require "util.array"; local keys = require "util.iterators".keys; + local hg = require"util.mercurial"; local relpath = config.resolve_relative_path; print("Prosody "..(prosody.version or "(unknown version)")); print(""); print("# Prosody directories"); print("Data directory: "..relpath(pwd, data_path)); - print("Plugin directory: "..relpath(pwd, CFG_PLUGINDIR or ".")); print("Config directory: "..relpath(pwd, CFG_CONFIGDIR or ".")); print("Source directory: "..relpath(pwd, CFG_SOURCEDIR or ".")); + print("Plugin directories:") + print(" "..(prosody.paths.plugins:gsub("([^;]+);?", function(path) + local opath = path; + path = config.resolve_relative_path(pwd, path); + local hgid, hgrepo = hg.check_id(path); + if not hgid and hgrepo then + return path.." - "..hgrepo .."!\n "; + end + -- 010452cfaf53 is the first commit in the prosody-modules repository + hgrepo = hgrepo == "010452cfaf53" and "prosody-modules"; + return path..(hgid and " - "..(hgrepo or "HG").." rev: "..hgid or "") + .."\n "; + end))); print(""); print("# Lua environment"); print("Lua version: ", _G._VERSION); @@ -1077,7 +1094,7 @@ function commands.check(arg) local x509_verify_identity = require"util.x509".verify_identity; local ssl = dependencies.softreq"ssl"; -- local datetime_parse = require"util.datetime".parse_x509; - local load_cert = ssl and ssl.x509 and ssl.x509.load; + local load_cert = ssl and ssl.loadcertificate; -- or ssl.cert_from_pem if not ssl then print("LuaSec not available, can't perform certificate checks") @@ -1129,7 +1146,7 @@ function commands.check(arg) end if (not (config.get(host, "anonymous_login") or config.get(host, "authentication") == "anonymous")) - and not x509_verify_identity(host, "_xmpp-client", cert) then + and not x509_verify_identity(host, "_xmpp-server", cert) then print(" Not vaild for server-to-server connections to "..host..".") cert_ok = false end