--------------------- PatchSet 3746 Date: 2002/03/18 22:33:47 Author: serassio Branch: nt-2_5 Tag: (none) Log: Added external helpers support Members: port/win32/modules.dsp:1.1.2.1->1.1.2.2 port/win32/squid.dsw:1.1.2.1->1.1.2.2 port/win32/squid_conf_default.dsp:1.1.2.1->1.1.2.2 port/win32/squid_mswin.mak:1.1.2.1->1.1.2.2 port/win32/include/autoconf.h:1.1.2.1->1.1.2.2 port/win32/include/squid-mswin.h:1.1.2.2->1.1.2.3 port/win32/squid/squid.dsp:1.1.2.2->1.1.2.3 src/client.c:1.8.14.1->1.8.14.2 src/unlinkd.c:1.6->1.6.10.1 src/auth/basic/helpers/Makefile.am:1.2->1.2.40.1 Index: squid/port/win32/modules.dsp =================================================================== RCS file: /cvsroot/squid-sf//squid/port/win32/Attic/modules.dsp,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- squid/port/win32/modules.dsp 16 Mar 2002 17:54:33 -0000 1.1.2.1 +++ squid/port/win32/modules.dsp 18 Mar 2002 22:33:47 -0000 1.1.2.2 @@ -36,7 +36,7 @@ # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 -# PROP Output_Dir "." +# PROP Output_Dir "..\..\src" # PROP Intermediate_Dir "." # PROP Target_Dir "" @@ -49,7 +49,7 @@ # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 -# PROP Output_Dir "." +# PROP Output_Dir "..\..\src" # PROP Intermediate_Dir "." # PROP Target_Dir "" @@ -69,11 +69,11 @@ # PROP Ignore_Default_Tool 1 USERDEP__AUTH_="squid_mswin.mak" # Begin Custom Build -InputDir=. +OutDir=.\..\..\src ProjDir=. InputPath=.\auth_modules.cmd -"$(InputDir)\auth_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\auth_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" nmake /f $(ProjDir)\squid_mswin.mak auth_modules.c # End Custom Build @@ -84,11 +84,11 @@ # PROP Ignore_Default_Tool 1 USERDEP__AUTH_="squid_mswin.mak" # Begin Custom Build -InputDir=. +OutDir=.\..\..\src ProjDir=. InputPath=.\auth_modules.cmd -"$(InputDir)\auth_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\auth_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" nmake /f $(ProjDir)\squid_mswin.mak auth_modules.c # End Custom Build @@ -106,11 +106,11 @@ # PROP Ignore_Default_Tool 1 USERDEP__REPL_="squid_mswin.mak" # Begin Custom Build -InputDir=. +OutDir=.\..\..\src ProjDir=. InputPath=.\repl_modules.cmd -"$(InputDir)\repl_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\repl_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" nmake /f $(ProjDir)\squid_mswin.mak repl_modules.c # End Custom Build @@ -121,11 +121,11 @@ # PROP Ignore_Default_Tool 1 USERDEP__REPL_="squid_mswin.mak" # Begin Custom Build -InputDir=. +OutDir=.\..\..\src ProjDir=. InputPath=.\repl_modules.cmd -"$(InputDir)\repl_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\repl_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" nmake /f $(ProjDir)\squid_mswin.mak repl_modules.c # End Custom Build @@ -143,11 +143,11 @@ # PROP Ignore_Default_Tool 1 USERDEP__STORE="squid_mswin.mak" # Begin Custom Build -InputDir=. +OutDir=.\..\..\src ProjDir=. InputPath=.\store_modules.cmd -"$(InputDir)\store_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\store_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" nmake /f $(ProjDir)\squid_mswin.mak store_modules.c # End Custom Build @@ -158,11 +158,11 @@ # PROP Ignore_Default_Tool 1 USERDEP__STORE="squid_mswin.mak" # Begin Custom Build -InputDir=. +OutDir=.\..\..\src ProjDir=. InputPath=.\store_modules.cmd -"$(InputDir)\store_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\store_modules.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" nmake /f $(ProjDir)\squid_mswin.mak store_modules.c # End Custom Build Index: squid/port/win32/squid.dsw =================================================================== RCS file: /cvsroot/squid-sf//squid/port/win32/Attic/squid.dsw,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- squid/port/win32/squid.dsw 16 Mar 2002 17:54:33 -0000 1.1.2.1 +++ squid/port/win32/squid.dsw 18 Mar 2002 22:33:47 -0000 1.1.2.2 @@ -177,6 +177,18 @@ ############################################################################### +Project: "nt_auth"=".\nt_auth\nt_auth.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + Project: "squid"=".\squid\squid.dsp" - Package Owner=<4> Package=<5> @@ -221,6 +233,18 @@ Begin Project Dependency Project_Dep_Name libufs End Project Dependency + Begin Project Dependency + Project_Dep_Name nt_auth + End Project Dependency + Begin Project Dependency + Project_Dep_Name unlinkd + End Project Dependency + Begin Project Dependency + Project_Dep_Name squidclient + End Project Dependency + Begin Project Dependency + Project_Dep_Name libawin32 + End Project Dependency }}} ############################################################################### @@ -243,6 +267,33 @@ ############################################################################### +Project: "squidclient"=".\squidclient\squidclient.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libmiscutil + End Project Dependency +}}} + +############################################################################### + +Project: "unlinkd"=".\unlinkd\unlinkd.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + Global: Package=<5> Index: squid/port/win32/squid_conf_default.dsp =================================================================== RCS file: /cvsroot/squid-sf//squid/port/win32/Attic/squid_conf_default.dsp,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- squid/port/win32/squid_conf_default.dsp 16 Mar 2002 17:54:33 -0000 1.1.2.1 +++ squid/port/win32/squid_conf_default.dsp 18 Mar 2002 22:33:47 -0000 1.1.2.2 @@ -36,7 +36,7 @@ # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 -# PROP Output_Dir "." +# PROP Output_Dir "..\..\src" # PROP Intermediate_Dir "." # PROP Target_Dir "" # Begin Special Build Tool @@ -53,7 +53,7 @@ # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 -# PROP Output_Dir "." +# PROP Output_Dir "..\..\src" # PROP Intermediate_Dir "." # PROP Target_Dir "" # Begin Special Build Tool @@ -75,17 +75,17 @@ # PROP Ignore_Default_Tool 1 # Begin Custom Build -InputDir=\WORK\CYGWIN-SVC-2_5\src +OutDir=.\..\..\src ProjDir=. InputPath=..\..\src\cf.data BuildCmds= \ $(ProjDir)\cf_gen\Release\cf_gen $(InputPath) -"$(InputDir)\squid.conf" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\squid.conf.default" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" $(BuildCmds) -"$(InputDir)\cf_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\cf_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" $(BuildCmds) # End Custom Build @@ -93,17 +93,17 @@ # PROP Ignore_Default_Tool 1 # Begin Custom Build -InputDir=\WORK\CYGWIN-SVC-2_5\src +OutDir=.\..\..\src ProjDir=. InputPath=..\..\src\cf.data BuildCmds= \ $(ProjDir)\cf_gen\debug\cf_gen $(InputPath) -"$(InputDir)\squid.conf" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\squid.conf.default" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" $(BuildCmds) -"$(InputDir)\cf_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +"$(OutDir)\cf_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" $(BuildCmds) # End Custom Build Index: squid/port/win32/squid_mswin.mak =================================================================== RCS file: /cvsroot/squid-sf//squid/port/win32/Attic/squid_mswin.mak,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- squid/port/win32/squid_mswin.mak 16 Mar 2002 17:54:33 -0000 1.1.2.1 +++ squid/port/win32/squid_mswin.mak 18 Mar 2002 22:33:47 -0000 1.1.2.2 @@ -6,7 +6,7 @@ cgi_suffix = .cgi top_srcdir = .. bindir = $(exec_prefix) -libexecdir = $(bindir) +libexecdir = $(bindir)/libexec sysconfdir = $(prefix)/etc localstatedir = $(prefix)/var srcdir = ..\..\src @@ -40,7 +40,7 @@ AUTH_MODULES = basic ntlm REPL_POLICIES = lru -STORE_MODULES = ufs +STORE_MODULES = ufs awin32 cf_gen_defines.h: $(srcdir)\cf_gen_defines $(srcdir)\cf.data.pre gawk -f $(srcdir)\cf_gen_defines <$(srcdir)\cf.data.pre >$(srcdir)\cf_gen_defines.h Index: squid/port/win32/include/autoconf.h =================================================================== RCS file: /cvsroot/squid-sf//squid/port/win32/include/Attic/autoconf.h,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- squid/port/win32/include/autoconf.h 17 Mar 2002 18:18:04 -0000 1.1.2.1 +++ squid/port/win32/include/autoconf.h 18 Mar 2002 22:33:48 -0000 1.1.2.2 @@ -22,7 +22,7 @@ * */ -/* $Id: autoconf.h,v 1.1.2.1 2002/03/17 18:18:04 serassio Exp $ */ +/* $Id: autoconf.h,v 1.1.2.2 2002/03/18 22:33:48 serassio Exp $ */ /* * configure command line used to configure Squid @@ -141,6 +141,7 @@ * Define this to include code for the Hypertext Cache Protocol (HTCP) */ #undef USE_HTCP +#define USE_HTCP 1 /* * Use Cache Digests for locating objects in neighbor caches. This @@ -158,7 +159,8 @@ /* * Define Windows NT & Windows 2000 run service mode - */ + */ +#undef USE_WIN32_SERVICE #define USE_WIN32_SERVICE 1 /******************************** @@ -347,6 +349,7 @@ * (strongly recommended for ufs storage type) */ #undef USE_UNLINKD +#define USE_UNLINKD 1 /* * Enable support for Transparent Proxy on Linux 2.4 systems Index: squid/port/win32/include/squid-mswin.h =================================================================== RCS file: /cvsroot/squid-sf//squid/port/win32/include/Attic/squid-mswin.h,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- squid/port/win32/include/squid-mswin.h 17 Mar 2002 21:44:21 -0000 1.1.2.2 +++ squid/port/win32/include/squid-mswin.h 18 Mar 2002 22:33:48 -0000 1.1.2.3 @@ -1,5 +1,5 @@ /* - * $Id: squid-mswin.h,v 1.1.2.2 2002/03/17 21:44:21 serassio Exp $ + * $Id: squid-mswin.h,v 1.1.2.3 2002/03/18 22:33:48 serassio Exp $ * * AUTHOR: Guido Serassio & Andrey Shorin * @@ -290,7 +290,7 @@ (NULL == ((HOSTENT FAR*)ws32_result = gethostbyaddr(a,l,t)) ? \ (errno = WSAGetLastError()), NULL : (HOSTENT FAR*)ws32_result) -#if defined(STORE_IO_C) || defined(STORE_DIR_C) || defined(UTIL_C) +#if defined(UTIL_C) || defined (STORE_DIR_C) || defined (STORE_IO_C) #define read _read #define write _write #else Index: squid/port/win32/squid/squid.dsp =================================================================== RCS file: /cvsroot/squid-sf//squid/port/win32/squid/Attic/squid.dsp,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- squid/port/win32/squid/squid.dsp 17 Mar 2002 18:16:05 -0000 1.1.2.2 +++ squid/port/win32/squid/squid.dsp 18 Mar 2002 22:33:48 -0000 1.1.2.3 @@ -51,6 +51,10 @@ LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 ws2_32.lib advapi32.lib psapi.lib iphlpapi.lib /nologo /subsystem:console /machine:I386 +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Cmds=..\update.cmd release c:\squid +# End Special Build Tool !ELSEIF "$(CFG)" == "squid - Win32 Debug" @@ -75,6 +79,10 @@ LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 ws2_32.lib advapi32.lib psapi.lib iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Cmds=..\update.cmd debug c:\squid +# End Special Build Tool !ENDIF @@ -203,6 +211,10 @@ # End Source File # Begin Source File +SOURCE=..\..\..\src\htcp.c +# End Source File +# Begin Source File + SOURCE=..\..\..\src\http.c # End Source File # Begin Source File @@ -435,6 +447,10 @@ # End Source File # Begin Source File +SOURCE=..\..\..\src\unlinkd.c +# End Source File +# Begin Source File + SOURCE=..\..\..\src\url.c # End Source File # Begin Source File Index: squid/src/client.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/Attic/client.c,v retrieving revision 1.8.14.1 retrieving revision 1.8.14.2 diff -u -r1.8.14.1 -r1.8.14.2 --- squid/src/client.c 16 Mar 2002 10:31:31 -0000 1.8.14.1 +++ squid/src/client.c 18 Mar 2002 22:33:48 -0000 1.8.14.2 @@ -1,6 +1,6 @@ /* - * $Id: client.c,v 1.8.14.1 2002/03/16 10:31:31 serassio Exp $ + * $Id: client.c,v 1.8.14.2 2002/03/18 22:33:48 serassio Exp $ * * DEBUG: section 0 WWW Client * AUTHOR: Harvest Derived @@ -186,6 +186,12 @@ break; } } +#ifdef _SQUID_MSWIN_ + { + WSADATA wsaData; + WSAStartup(2, &wsaData); + } +#endif /* Build the HTTP request */ if (strncmp(url, "mgr:", 4) == 0) { char *t = xstrdup(url + 4); @@ -279,7 +285,11 @@ exit(1); } /* Send the HTTP request */ +#ifdef _SQUID_MSWIN_ + bytesWritten = send(conn, msg, strlen(msg), 0); +#else bytesWritten = mywrite(conn, msg, strlen(msg)); +#endif if (bytesWritten < 0) { perror("client: ERROR: write"); exit(1); @@ -290,8 +300,13 @@ if (put_file) { int x; lseek(put_fd, 0, SEEK_SET); - while ((x = myread(put_fd, buf, sizeof(buf))) > 0) { - x = mywrite(conn, buf, x); +#ifdef _SQUID_MSWIN_ + while ((x = read(put_fd, buf, sizeof(buf))) > 0) { + x = write(conn, buf, x); +#else + while ((x = myread(put_fd, buf, sizeof(buf))) > 0) { + x = mywrite(conn, buf, x); +#endif total_bytes += x; if (x <= 0) break; @@ -301,11 +316,19 @@ } /* Read the data */ +#ifdef _SQUID_MSWIN_ + setmode(1, O_BINARY); + while ((len = recv(conn, buf, sizeof(buf), 0)) > 0) { +#else while ((len = myread(conn, buf, sizeof(buf))) > 0) { +#endif fsize += len; if (to_stdout) fwrite(buf, len, 1, stdout); } +#ifdef _SQUID_MSWIN_ + setmode(1, O_TEXT); +#endif (void) close(conn); /* done with socket */ if (interrupted) @@ -433,8 +456,9 @@ signal(SIGPIPE, pipe_handler); #endif -} +} +#ifndef _SQUID_MSWIN_ static ssize_t myread(int fd, void *buf, size_t len) { @@ -448,3 +472,4 @@ alarm(io_timeout); return write(fd, buf, len); } +#endif \ No newline at end of file Index: squid/src/unlinkd.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/unlinkd.c,v retrieving revision 1.6 retrieving revision 1.6.10.1 diff -u -r1.6 -r1.6.10.1 --- squid/src/unlinkd.c 18 Oct 2001 20:52:11 -0000 1.6 +++ squid/src/unlinkd.c 18 Mar 2002 22:33:49 -0000 1.6.10.1 @@ -1,6 +1,6 @@ /* - * $Id: unlinkd.c,v 1.6 2001/10/18 20:52:11 squidadm Exp $ + * $Id: unlinkd.c,v 1.6.10.1 2002/03/18 22:33:49 serassio Exp $ * * DEBUG: section 12 Unlink Daemon * AUTHOR: Duane Wessels @@ -74,6 +74,11 @@ static int unlinkd_wfd = -1; static int unlinkd_rfd = -1; +#ifdef _SQUID_MSWIN_ +static HANDLE hIpc; +static pid_t pid; +#endif + #define UNLINKD_QUEUE_LIMIT 20 void @@ -113,7 +118,11 @@ int x; int i; char rbuf[512]; - x = read(unlinkd_rfd, rbuf, 511); +#ifdef _SQUID_MSWIN_ + x = recv(unlinkd_rfd, rbuf, 511, 0); +#else + x = read(unlinkd_rfd, rbuf, 511); +#endif if (x > 0) { rbuf[x] = '\0'; for (i = 0; i < x; i++) @@ -126,7 +135,11 @@ assert(l < MAXPATHLEN); xstrncpy(buf, path, MAXPATHLEN); buf[l++] = '\n'; +#ifdef _SQUID_MSWIN_ + x = send(unlinkd_wfd, buf, l, 0); +#else x = write(unlinkd_wfd, buf, l); +#endif if (x < 0) { debug(50, 1) ("unlinkdUnlink: write FD %d failed: %s\n", unlinkd_wfd, xstrerror()); @@ -145,14 +158,37 @@ void unlinkdClose(void) { - if (unlinkd_wfd < 0) - return; +#ifdef _SQUID_MSWIN_ + if (unlinkd_wfd > -1) { + debug(12, 1) ("Closing unlinkd pipe on FD %d\n", unlinkd_wfd); + shutdown(unlinkd_wfd, SD_BOTH); + comm_close(unlinkd_wfd); + if (unlinkd_wfd != unlinkd_rfd) + comm_close(unlinkd_rfd); + unlinkd_wfd = -1; + unlinkd_rfd = -1; + } else + debug(12, 0) ("unlinkdClose: WARNING: unlinkd_wfd is %d\n", + unlinkd_wfd); + if (hIpc) { + if (WaitForSingleObject(hIpc, 5000) != WAIT_OBJECT_0) { + getCurrentTime(); + debug(12, 1) + ("unlinkdClose: WARNING: (unlinkd,%ld) didn't exit in 5 seconds\n", + pid); + } + CloseHandle(hIpc); + } +#else + if (unlinkd_wfd < 0) + return; debug(12, 1) ("Closing unlinkd pipe on FD %d\n", unlinkd_wfd); file_close(unlinkd_wfd); if (unlinkd_wfd != unlinkd_rfd) file_close(unlinkd_rfd); unlinkd_wfd = -1; unlinkd_rfd = -1; +#endif } void @@ -166,6 +202,9 @@ #if HAVE_POLL && defined(_SQUID_OSF_) /* pipes and poll() don't get along on DUNIX -DW */ x = ipcCreate(IPC_TCP_SOCKET, +#elif defined(_SQUID_MSWIN_) + /* select() will fail on a pipe */ + x = ipcCreate(IPC_TCP_SOCKET, #else x = ipcCreate(IPC_FIFO, #endif @@ -173,7 +212,11 @@ args, "unlinkd", &unlinkd_rfd, - &unlinkd_wfd); + &unlinkd_wfd +#ifdef _SQUID_MSWIN_ + , &hIpc, &pid +#endif + ); if (x < 0) fatal("Failed to create unlinkd subprocess"); slp.tv_sec = 0; Index: squid/src/auth/basic/helpers/Makefile.am =================================================================== RCS file: /cvsroot/squid-sf//squid/src/auth/basic/helpers/Attic/Makefile.am,v retrieving revision 1.2 retrieving revision 1.2.40.1 diff -u -r1.2 -r1.2.40.1 --- squid/src/auth/basic/helpers/Makefile.am 1 Sep 2001 11:46:49 -0000 1.2 +++ squid/src/auth/basic/helpers/Makefile.am 18 Mar 2002 22:33:49 -0000 1.2.40.1 @@ -3,5 +3,5 @@ # $Id$ # -DIST_SUBDIRS = getpwnam LDAP MSNT multi-domain-NTLM NCSA PAM SMB YP +DIST_SUBDIRS = getpwnam LDAP MSNT multi-domain-NTLM NCSA PAM SMB win32_locallogon YP SUBDIRS = @BASIC_AUTH_HELPERS@