63 lines
1.5 KiB
Lua
63 lines
1.5 KiB
Lua
local pl_utils = require "pl.utils"
|
|
local pl_path = require "pl.path"
|
|
|
|
|
|
local _M = {}
|
|
|
|
|
|
do
|
|
local _system_infos
|
|
|
|
|
|
function _M.get_system_infos()
|
|
if _system_infos then
|
|
return _system_infos
|
|
end
|
|
|
|
_system_infos = {}
|
|
|
|
local ok, _, stdout = pl_utils.executeex("getconf _NPROCESSORS_ONLN")
|
|
if ok then
|
|
_system_infos.cores = tonumber(stdout:sub(1, -2))
|
|
end
|
|
|
|
ok, _, stdout = pl_utils.executeex("uname -ms")
|
|
if ok then
|
|
_system_infos.uname = stdout:gsub(";", ","):sub(1, -2)
|
|
end
|
|
|
|
return _system_infos
|
|
end
|
|
end
|
|
|
|
|
|
do
|
|
local trusted_certs_paths = {
|
|
"/etc/ssl/certs/ca-certificates.crt", -- Debian/Ubuntu/Gentoo
|
|
"/etc/pki/tls/certs/ca-bundle.crt", -- Fedora/RHEL 6
|
|
"/etc/ssl/ca-bundle.pem", -- OpenSUSE
|
|
"/etc/pki/tls/cacert.pem", -- OpenELEC
|
|
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", -- CentOS/RHEL 7
|
|
"/etc/ssl/cert.pem", -- OpenBSD, Alpine
|
|
}
|
|
|
|
|
|
function _M.get_system_trusted_certs_filepath()
|
|
for _, path in ipairs(trusted_certs_paths) do
|
|
if pl_path.exists(path) then
|
|
return path
|
|
end
|
|
end
|
|
|
|
return nil,
|
|
"Could not find trusted certs file in " ..
|
|
"any of the `system`-predefined locations. " ..
|
|
"Please install a certs file there or set " ..
|
|
"`lua_ssl_trusted_certificate` to a " ..
|
|
"specific file path instead of `system`"
|
|
end
|
|
end
|
|
|
|
|
|
return _M
|