summaryrefslogtreecommitdiff
path: root/win32/win32sck.c
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2004-09-06 10:16:12 +0000
committerSteve Hay <SteveHay@planit.com>2004-09-06 10:16:12 +0000
commit1c97260979b979af03b946d71d50e8e4c075665c (patch)
tree606eddab62ca31f069dd7679bc4e78184553f7c1 /win32/win32sck.c
parent4adb88450c3225313624769fdb5ae7f59c89d326 (diff)
downloadperl-1c97260979b979af03b946d71d50e8e4c075665c.tar.gz
Implement new environment variable to allow the use of non-IFS
compatible LSP's on Windows to allow Perl to work in conjunction with a firewall such as McAfee Guardian. Bug report and possible solutions by Ken Fox <kfox@ford.com>; further assistance by Artiom Morozov <artiom@phreaker.net>. p4raw-id: //depot/perl@23275
Diffstat (limited to 'win32/win32sck.c')
-rw-r--r--win32/win32sck.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/win32/win32sck.c b/win32/win32sck.c
index 0e2be309bd..58b13e0580 100644
--- a/win32/win32sck.c
+++ b/win32/win32sck.c
@@ -398,10 +398,15 @@ convert_proto_info_w2a(WSAPROTOCOL_INFOW *in, WSAPROTOCOL_INFOA *out)
SOCKET
open_ifs_socket(int af, int type, int protocol)
{
+ dTHX;
+ char *s;
unsigned long proto_buffers_len = 0;
int error_code;
SOCKET out = INVALID_SOCKET;
+ if ((s = PerlEnv_getenv("PERL_ALLOW_NON_IFS_LSP")) && atoi(s))
+ return WSASocket(af, type, protocol, NULL, 0, 0);
+
if (WSCEnumProtocols(NULL, NULL, &proto_buffers_len, &error_code) == SOCKET_ERROR
&& error_code == WSAENOBUFS)
{