Comparison

prosodyctl @ 8107:83d776b344ad

prosodyctl: Verify permissions on directory that certificates are written to
author Kim Alvefur <zash@zash.se>
date Fri, 21 Apr 2017 14:24:59 +0200
parent 8106:86ec9045d095
child 8108:939ccedb509d
comparison
equal deleted inserted replaced
8106:86ec9045d095 8107:83d776b344ad
828 828
829 function commands.cert(arg) 829 function commands.cert(arg)
830 if #arg >= 1 and arg[1] ~= "--help" then 830 if #arg >= 1 and arg[1] ~= "--help" then
831 openssl = require "util.openssl"; 831 openssl = require "util.openssl";
832 lfs = require "lfs"; 832 lfs = require "lfs";
833 local cert_dir_attrs = lfs.attributes(cert_basedir);
834 if pposix.getuid() ~= cert_dir_attrs.uid then
835 show_warning("The directory "..cert_basedir.." is not owned by the current user, won't be able to write files to it");
836 return 1;
837 elseif cert_dir_attrs.permissions:match("^%.w..%-..%-.$") then
838 show_warning("The directory "..cert_basedir.." not only writable by its owner");
839 return 1;
840 end
833 local subcmd = table.remove(arg, 1); 841 local subcmd = table.remove(arg, 1);
834 if type(cert_commands[subcmd]) == "function" then 842 if type(cert_commands[subcmd]) == "function" then
835 if not arg[1] then 843 if not arg[1] then
836 show_message"You need to supply at least one hostname" 844 show_message"You need to supply at least one hostname"
837 arg = { "--help" }; 845 arg = { "--help" };