Software /
code /
prosody
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" }; |