OPENBUS-3026 Novos parâmetros para o busservices

- Adição dos parâmetros nodnslookup, noipaddress e alternateaddr
parent 30b3e945
......@@ -371,11 +371,19 @@ Por padr
\item [-nolegacy] Desativa o suporte à versão antiga do barramento.
\item [-logaddress] Exibe o endereço IP do requisitante no log do barramento.
\item [-nodnslookup] Desativa a busca no DNS por apelidos da máquina para compor os endereços de rede contidos nas referências IOR.\\
Por padrão, todos os apelidos de DNS são adicionados.
\item [-noipaddress] Desativa o uso de endereços IP para compor os endereços de rede contidos nas referências IOR.\\
Por padrão, os endereços IP são adicionados.
\item [-alternateaddr] Endereço e porta alternativos que devem compor os endereços de rede contidos nas referências IOR.\\
Essa configuração é útil para a travessia de NAT e firewalls.\\
Não é definido um valor padrão. O valor deve ser um nome e porta separados pelo caractere \code{:} (dois pontos).
\item [-configs] Arquivo de configurações adicionais do barramento.\\
O valor padrão é \code{openbus.cfg}.
\end{description}
As opções \code{admin} e \code{validator} podem receber mais de um valor.
As opções \code{admin}, \code{validator} e \code{alternateaddr} podem receber mais de um valor.
Quando essas opções são configuradas por linha de comando, basta repetir a opção o número de vezes desejadas.
Quando são configuradas através do arquivo de configuração, é necessário informar a lista de valores desejados, no formato de uma tabela \lua{}~\cite{web:lua}.
O código~\ref{lst:openbus.cfg} apresenta um exemplo de arquivo do configuração.
......
validator = {"openbus.test.core.services.TesterUserValidator"}
loglevel = 5
admin = {"admin1", "admin2"}
leasetime = 30
\ No newline at end of file
leasetime = 30
alternateaddr = {"myserver.mydomain.com:2089", "192.168.0.1:4321"}
......@@ -79,6 +79,7 @@ return function(...)
InvalidSharedAuthTime = 15,
InvalidMaximumChannelLimit = 16,
UnableToConvertLegacyDatabase = 17,
WrongAlternateAddress = 18,
}
local reloadConfigs = {
......@@ -112,6 +113,10 @@ return function(...)
noauthorizations = false,
nolegacy = false,
logaddress = false,
nodnslookup = false,
noipaddress = false,
alternateaddr = {},
}
for k, v in pairs(reloadConfigs) do
defConfigs[k] = v
......@@ -284,6 +289,10 @@ Options:
-nolegacy desativa o suporte verso antiga do barramento
-logaddress exibe o endereo IP do requisitante no log do barramento
-nodnslookup desativa a busca no DNS por apelidos da mquina para compor as referncias IOR
-noipaddress desativa o uso de endereos IP para compor as referncias IOR
-alternateaddr <address> endereo de rede (host:port) alternativo para compor as referncias IOR
-configs <path> arquivo de configuraes adicionais do barramento
]])
......@@ -446,11 +455,39 @@ Options:
-- create a set of admin users
local adminUsers = { [BusEntity] = true }
resetAdminUsers(adminUsers)
-- setup bus access
local orbcfg = { host=Configs.host, port=Configs.port }
log:config(msg.ServicesListeningAddress:tag(orbcfg))
orbcfg.maxchannels = Configs.maxchannels
-- validate oil extra configurations
do
local objrefaddr = {
hostname = (not Configs.nodnslookup),
ipaddress = (not Configs.noipaddress),
}
local additional = {}
for _, address in ipairs(Configs.alternateaddr) do
local host, port = address:match("^([%w%-%_%.]+):(%d+)$")
port = tonumber(port)
if (host ~= nil) and (port ~= nil) then
additional[#additional+1] = { host = host, port = port }
else
log:misconfig(msg.WrongAlternateAddressSyntax:tag{
value = address,
expected = "host:port or ip:port",
})
return errcode.WrongAlternateAddress
end
end
if (#additional > 0) then
objrefaddr.additional = additional
end
orbcfg.objrefaddr = objrefaddr
log:config(msg.AdditionalInternetAddressConfiguration:tag(orbcfg.objrefaddr))
end
-- setup bus access
local orb = access.initORB(orbcfg)
local legacy
if not Configs.nolegacy then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment