[erlang-questions] Escript and hidden nodes

Lev Walkin <>
Fri Dec 7 09:23:55 CET 2007


Ulf, there's no net_kernel:hidden_connect() in the
net_kernel manual page. Moreover, the source code
lists hidden_connect() and hidden_connect_node()
as two possible variants, both exported. Which
one do you recommend?

Ulf Wiger wrote:
> Not having tried, I would guess you should use
> net_kernel:hidden_connect(Node) instead of using rpc:call()
> set up the connection automatically.
> 
> BR,
> Ulf W
> 
> 2007/12/7, Lev Walkin <>:
>> Hi,
>>
>> erl has an option flag -hidden:
>>
>>    Hidden nodes always establish hidden  con-
>>    nections  to  all other nodes except for nodes in the same global
>>    group. Hidden connections are not published  on  neither  of  the
>>    connected  nodes, i.e. neither of the connected nodes are part of
>>    the result from nodes/0 on the other node.
>>
>> I have a maintenance code which is getting run through escript:
>>
>>         #!/usr/local/bin/escript
>>         main(_) ->
>>                 net_kernel:start(['code-update', shortnames]),
>>                 Node = ...
>>                 rpc:call(Node, code, purge, [...]).
>>
>> Hovewer, this code causes the remote node to be aware of this
>> maintenance script since it is getting reflected in its nodes()
>> output. Moreover, the remote node receiving these maintenance
>> operations attempts to create a back-channel to this maintenance
>> script node, which is undesirable since maintenance script
>> might be running on a private NAT'd network and can't receive
>> backwards connection from a maintained system.
>>
>> My question is how to enable hidden operation of such maintenance
>> scripts, either through a command line option to escript or
>> some magic parameter to net_kernel:start()?
>>
>> --
>> Lev Walkin
>> 
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>




More information about the erlang-questions mailing list