This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: wget blocked by Microsoft Proxy Server firewall



>function incorrect. Actually not only the proxy server is installed at
>the server computer, my PC also installed the WSP (WinSock Proxy)
>client. The WSPWSP.dll is added to \windows\system directory. Anyone


It's a bug of winsock proxy client dll - an application cannot connect
duplicated socket. Cygwin1.dll contains the following routine:

/* Cygwin internal */
static SOCKET
duplicate_socket (SOCKET sock)
{
  /* Do not duplicate socket on Windows NT because of problems with
     MS winsock proxy server.
  */
  if (os_being_run == winNT)
    return sock;

  SOCKET newsock;
  if (DuplicateHandle (GetCurrentProcess(), (HANDLE) sock,
                         GetCurrentProcess(), (HANDLE *) &newsock,
                         0, TRUE, DUPLICATE_SAME_ACCESS))
    {
      (*i_closesocket) (sock);
      sock = newsock;
    }
  else
    small_printf ("DuplicateHandle failed %E");
  return sock;
}

This routine is neccessary to run socket applications on Win95 (I don't know
if it neccessary for Win98). The problem is in socket() call on W95 - the
socket returned is non-inherittable handle (unlike NT and Unixes, where
sockets are inherittable). To fix the problem DuplicateHandle call is used
to create inherittable handle, and original handle is closed. But,
unfortunately, that raises a problem with winsock proxy dll.

Sergey Okhapkin, http://www.lexa.ru/sos
Piscataway, NJ



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]