diff options
author | Kim Alvefur <zash@zash.se> | 2018-10-24 17:18:34 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-10-24 17:18:34 +0200 |
commit | 801e965b8d34d493eb73b72722ee5a867e54f116 (patch) | |
tree | e7bf7b44c00c856ddb4430a41fae7d5cfdd45ec1 | |
parent | 0746dc3de28ecd5d0ad5c17eec462bc5b4b31afb (diff) | |
parent | 8eb2a6f4c1d6c0c30688625ed351676ae6538dd2 (diff) | |
download | prosody-801e965b8d34d493eb73b72722ee5a867e54f116.tar.gz prosody-801e965b8d34d493eb73b72722ee5a867e54f116.zip |
Merge 0.10->trunk
-rwxr-xr-x | prosodyctl | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -657,7 +657,10 @@ local function copy(from, to, umask, owner, group) end assert(input:close()); assert(output:close()); - if owner and group then + if not prosody.installed then + -- FIXME this is possibly specific to GNU chown + os.execute(("chown -c --reference=%s %s"):format(sh_esc(cert_basedir), sh_esc(to))); + elseif owner and group then local ok = os.execute(("chown %s:%s %s"):format(sh_esc(owner), sh_esc(group), sh_esc(to))); assert(ok == true or ok == 0, "Failed to change ownership of "..to); end @@ -734,7 +737,8 @@ function commands.cert(arg) show_warning("The directory "..cert_basedir.." does not exist"); return 1; -- TODO Should we create it? end - if pposix.getuid() ~= cert_dir_attrs.uid then + local uid = pposix.getuid(); + if uid ~= 0 and uid ~= cert_dir_attrs.uid then show_warning("The directory "..cert_basedir.." is not owned by the current user, won't be able to write files to it"); return 1; elseif not cert_dir_attrs.permissions then -- COMPAT with LuaFilesystem < 1.6.2 (hey CentOS!) |