<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"MS Mincho";
panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@MS Mincho";
panose-1:2 2 6 9 4 2 5 8 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Before I draft a formal EEP,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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:<o:p></o:p></p><p class=MsoNormal>1. A corporate network with strict policies that prohibit opening ports used by erlang.<o:p></o:p></p><p class=MsoNormal>2. An application written in erlang that installs without administrator privileges.<o:p></o:p></p><p class=MsoNormal>3. (A generalization of the above) Whenever the user who wants to run erlang is not an administrator.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I've spent a day browsing the erlang source code and it looks pretty doable.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Comments and questions please.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>