[erlang-questions] Working around the Windows firewall
Patrik Nyblom
pan@REDACTED
Wed Jan 9 19:18:58 CET 2013
Hi!
On 01/07/2013 09:33 PM, Antoine Koener wrote:
> Just to share my small experience with uds_dist: last time I've
> checked, everything was fine but the distribution was not working at all.
> Pipes were OK, but the distribution wasn't.
> The problem seems to be related to some obscure flag in the structure.
> I think this code may have worked with old version of erlang < R13...
>
>
You're absolutely right, it's broken... I'll fix it for the R16 release.
Cheers,
/Patrik
>
> On Mon, Jan 7, 2013 at 6:31 PM, Patrik Nyblom <pan@REDACTED
> <mailto:pan@REDACTED>> wrote:
>
> On 12/24/2012 01:07 AM, Jeffrey Rennie wrote:
>>
>> Before I draft a formal EEP,
>>
>> Windows firewall is enabled by default, and blocks sockets used
>> by erlang. Yes, exceptions can be added to the firewall,
>> however, this is not possible in some situations. For example:
>>
>> 1. A corporate network with strict policies that prohibit
>> opening ports used by erlang.
>>
>> 2. An application written in erlang that installs without
>> administrator privileges.
>>
>> 3. (A generalization of the above) Whenever the user who wants
>> to run erlang is not an administrator.
>>
>> In these environments, an alternative to sockets which get
>> entangled in the firewall, is Win32 named pipes which do not get
>> entangled in the firewall.
>>
>> Therefore, I propose a change that will allow erlang nodes to
>> communicate over named pipes in addition to sockets. Of course,
>> it would be controlled by command-line parameters.
>>
>> I've spent a day browsing the erlang source code and it looks
>> pretty doable.
>>
>> Comments and questions please.
>>
>
> Good idea! There is actually no need to change anything in the
> Erlang VM to do that. The distribution mechanism is pluggable, so
> you can write a driver that uses any protocol where you can setup
> a stream of bytes between nodes (ok, that sounds easier than it
> really is, but it's absolutely doable). There is an example in the
> kernel source code ($ERL_TOP/lib/kernel/examples/uds_dist) where
> distribution is set up using Unix named pipes, which is of course
> more limited, but shows the general idea of how to implement a
> distribution driver.
>
>> P.S. It took me about 5 hours to successfully build on Windows; I
>> had most of the tools like Visual Studio and cygwin installed. I
>> got tripped up by git switching LFs to CRLFs, which chokes bash.
>> Also, it's much faster to just run vcvars32.bat and then run bash
>> than to write your own script that sets the vc environment variables.
>>
> Yes, it's a pain. The CRLF defaults of msysgit is also a pain.
> Using vcvars32 directly may definitely be a shortcut, maybe you
> could add some section to the windows readme about your approach?
>>
>>
> Cheers,
> /Patrik
>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
>> http://erlang.org/mailman/listinfo/erlang-questions
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130109/9f11e3a9/attachment.htm>
More information about the erlang-questions
mailing list