Software / code / prosody
Comparison
prosodyctl @ 9545:9dc7280dd8dc
Merge 0.10->trunk
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 24 Oct 2018 17:18:34 +0200 |
| parent | 9231:3d12b4f41b23 |
| parent | 9544:cbd3b9d4c60b |
| child | 9709:f31ed70c993a |
comparison
equal
deleted
inserted
replaced
| 9542:b8bfcfbe5126 | 9545:9dc7280dd8dc |
|---|---|
| 655 while data and output:write(data) do | 655 while data and output:write(data) do |
| 656 data = input:read(2^11); | 656 data = input:read(2^11); |
| 657 end | 657 end |
| 658 assert(input:close()); | 658 assert(input:close()); |
| 659 assert(output:close()); | 659 assert(output:close()); |
| 660 if owner and group then | 660 if not prosody.installed then |
| 661 -- FIXME this is possibly specific to GNU chown | |
| 662 os.execute(("chown -c --reference=%s %s"):format(sh_esc(cert_basedir), sh_esc(to))); | |
| 663 elseif owner and group then | |
| 661 local ok = os.execute(("chown %s:%s %s"):format(sh_esc(owner), sh_esc(group), sh_esc(to))); | 664 local ok = os.execute(("chown %s:%s %s"):format(sh_esc(owner), sh_esc(group), sh_esc(to))); |
| 662 assert(ok == true or ok == 0, "Failed to change ownership of "..to); | 665 assert(ok == true or ok == 0, "Failed to change ownership of "..to); |
| 663 end | 666 end |
| 664 if old_umask then pposix.umask(old_umask); end | 667 if old_umask then pposix.umask(old_umask); end |
| 665 return true; | 668 return true; |
| 732 local cert_dir_attrs = lfs.attributes(cert_basedir); | 735 local cert_dir_attrs = lfs.attributes(cert_basedir); |
| 733 if not cert_dir_attrs then | 736 if not cert_dir_attrs then |
| 734 show_warning("The directory "..cert_basedir.." does not exist"); | 737 show_warning("The directory "..cert_basedir.." does not exist"); |
| 735 return 1; -- TODO Should we create it? | 738 return 1; -- TODO Should we create it? |
| 736 end | 739 end |
| 737 if pposix.getuid() ~= cert_dir_attrs.uid then | 740 local uid = pposix.getuid(); |
| 741 if uid ~= 0 and uid ~= cert_dir_attrs.uid then | |
| 738 show_warning("The directory "..cert_basedir.." is not owned by the current user, won't be able to write files to it"); | 742 show_warning("The directory "..cert_basedir.." is not owned by the current user, won't be able to write files to it"); |
| 739 return 1; | 743 return 1; |
| 740 elseif not cert_dir_attrs.permissions then -- COMPAT with LuaFilesystem < 1.6.2 (hey CentOS!) | 744 elseif not cert_dir_attrs.permissions then -- COMPAT with LuaFilesystem < 1.6.2 (hey CentOS!) |
| 741 show_message("Unable to check permissions on "..cert_basedir.." (LuaFilesystem 1.6.2+ required)"); | 745 show_message("Unable to check permissions on "..cert_basedir.." (LuaFilesystem 1.6.2+ required)"); |
| 742 show_message("Please confirm that Prosody (and only Prosody) can write to this directory)"); | 746 show_message("Please confirm that Prosody (and only Prosody) can write to this directory)"); |