cvs commit: apachen/src/os/win32 util_win32.c
ben 97/12/26 07:29:40 Modified:src/os/win32 util_win32.c Log: Make drive letter lowercase. Revision ChangesPath 1.7 +1 -0 apachen/src/os/win32/util_win32.c Index: util_win32.c === RCS file: /export/home/cvs/apachen/src/os/win32/util_win32.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- util_win32.c 1997/12/14 14:53:47 1.6 +++ util_win32.c 1997/12/26 15:29:40 1.7 @@ -59,6 +59,7 @@ char buf[HUGE_STRING_LEN]; sub_canonical_filename(buf, szFile); +buf[0]=tolower(buf[0]); return pstrdup(pPool, buf); }
cvs commit: apachen/src/os/win32 util_win32.c
ben 97/12/14 06:53:48 Modified:src CHANGES src/os/win32 util_win32.c Log: Fix buffer overflow problem. PR: 1378 Submitted by: [EMAIL PROTECTED] Reviewed by: Ben Laurie Revision ChangesPath 1.528 +5 -1 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.527 retrieving revision 1.528 diff -u -r1.527 -r1.528 --- CHANGES 1997/12/14 14:39:35 1.527 +++ CHANGES 1997/12/14 14:53:45 1.528 @@ -1,7 +1,10 @@ Changes with Apache 1.3b4 + *) WIN32: avoid overflows during file canonicalisations. + [EMAIL PROTECTED] #PR1378 + *) WIN32: set_file_slot() didn't detect absolute paths. [Ben Laurie] - PR#1511 + PR#1511, 1508 *) WIN32: mod_status display header didn't match fields. [Ben Laurie] @@ -23,6 +26,7 @@ [Ben Hyde] PR#1387 *) WIN32: Only lowercase the part of the path that is real. [Ben Laurie] + PR#1505 *) Fix problems with timeouts in inetd mode and -X mode. [Dean Gaudet] 1.6 +2 -2 apachen/src/os/win32/util_win32.c Index: util_win32.c === RCS file: /export/home/cvs/apachen/src/os/win32/util_win32.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- util_win32.c 1997/11/27 14:32:40 1.5 +++ util_win32.c 1997/12/14 14:53:47 1.6 @@ -7,7 +7,7 @@ static void sub_canonical_filename(char *szCanon, const char *szFile) { -char buf[_MAX_PATH]; +char buf[HUGE_STRING_LEN]; int n; char *szFilePart; WIN32_FIND_DATA d; @@ -56,7 +56,7 @@ API_EXPORT(char *) os_canonical_filename(pool *pPool, const char *szFile) { -char buf[_MAX_PATH]; +char buf[HUGE_STRING_LEN]; sub_canonical_filename(buf, szFile); return pstrdup(pPool, buf);
cvs commit: apachen/src/os/win32 util_win32.c
pcs 97/11/27 06:32:40 Modified:src/os/win32 util_win32.c Log: Indent the recent changes to the Apache code style. No code changes. Revision ChangesPath 1.5 +132 -139 apachen/src/os/win32/util_win32.c Index: util_win32.c === RCS file: /export/home/cvs/apachen/src/os/win32/util_win32.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- util_win32.c 1997/11/23 18:10:04 1.4 +++ util_win32.c 1997/11/27 14:32:40 1.5 @@ -5,7 +5,7 @@ #include httpd.h -static void sub_canonical_filename(char *szCanon,const char *szFile) +static void sub_canonical_filename(char *szCanon, const char *szFile) { char buf[_MAX_PATH]; int n; @@ -13,92 +13,85 @@ WIN32_FIND_DATA d; HANDLE h; -n=GetFullPathName(szFile,sizeof buf,buf,szFilePart); +n = GetFullPathName(szFile, sizeof buf, buf, szFilePart); assert(n); assert(n sizeof buf); -if(!strchr(buf,'*') !strchr(buf,'?')) -{ - h=FindFirstFile(buf,d); +if (!strchr(buf, '*') !strchr(buf, '?')) { +h = FindFirstFile(buf, d); if(h != INVALID_HANDLE_VALUE) - FindClose(h); +FindClose(h); +} +else { +h=INVALID_HANDLE_VALUE; } -else - h=INVALID_HANDLE_VALUE; -if(szFilePart buf+3) -{ - strcpy(szCanon,buf); - szCanon[2]='/'; - return; +if (szFilePart buf+3) { +strcpy(szCanon, buf); +szCanon[2] = '/'; +return; } -if(szFilePart != buf+3) -{ - char b2[_MAX_PATH]; - assert(szFilePart buf+3); +if (szFilePart != buf+3) { +char b2[_MAX_PATH]; +assert(szFilePart buf+3); - szFilePart[-1]='\0'; - sub_canonical_filename(b2,buf); +szFilePart[-1]='\0'; +sub_canonical_filename(b2, buf); - strcpy(szCanon,b2); - strcat(szCanon,/); +strcpy(szCanon, b2); +strcat(szCanon, /); } -else -{ - strcpy(szCanon,buf); - szCanon[2]='/'; - szCanon[3]='\0'; +else { +strcpy(szCanon, buf); +szCanon[2] = '/'; +szCanon[3] = '\0'; } -if(h == INVALID_HANDLE_VALUE) - strcat(szCanon,szFilePart); -else -{ - strlwr(d.cFileName); - strcat(szCanon,d.cFileName); +if (h == INVALID_HANDLE_VALUE) +strcat(szCanon, szFilePart); +else { +strlwr(d.cFileName); +strcat(szCanon, d.cFileName); } } -API_EXPORT(char *) os_canonical_filename(pool *pPool,const char *szFile) +API_EXPORT(char *) os_canonical_filename(pool *pPool, const char *szFile) { char buf[_MAX_PATH]; -sub_canonical_filename(buf,szFile); -return pstrdup(pPool,buf); +sub_canonical_filename(buf, szFile); +return pstrdup(pPool, buf); } -/* -Win95 doesn't like trailing /s. NT and Unix don't mind. This works around -the problem -*/ +/* Win95 doesn't like trailing /s. NT and Unix don't mind. This works + * around the problem + */ #undef stat -API_EXPORT(int) os_stat(const char *szPath,struct stat *pStat) +API_EXPORT(int) os_stat(const char *szPath, struct stat *pStat) { int n; -n=strlen(szPath); -if(szPath[n-1] == '\\' || szPath[n-1] == '/') - { +n = strlen(szPath); +if(szPath[n-1] == '\\' || szPath[n-1] == '/') { char buf[_MAX_PATH]; - + ap_assert(n _MAX_PATH); - strcpy(buf,szPath); - buf[n-1]='\0'; - -return stat(buf,pStat); - } -return stat(szPath,pStat); +strcpy(buf, szPath); +buf[n-1] = '\0'; + +return stat(buf, pStat); +} +return stat(szPath, pStat); } -/* -Fix two really crap problems with Win32 spawn[lv]e*: - - 1. Win32 doesn't deal with spaces in argv. - 2. Win95 doesn't like / in cmdname. -*/ +/* Fix two really crap problems with Win32 spawn[lv]e*: + * + * 1. Win32 doesn't deal with spaces in argv. + * 2. Win95 doesn't like / in cmdname. + */ #undef _spawnv -API_EXPORT(int) os_spawnv(int mode,const char *cmdname,const char *const *argv) +API_EXPORT(int) os_spawnv(int mode, const char *cmdname, const char *const *argv) { int n; char **aszArgs; @@ -106,38 +99,38 @@ char *szCmd; char *s; -szCmd=_alloca(strlen(cmdname)+1); -strcpy(szCmd,cmdname); -for(s=szCmd ; *s ; ++s) - if(*s == '/') - *s='\\'; - -for(n=0 ; argv[n] ; ++n) - ; - -aszArgs=_alloca((n+1)*sizeof(const char *)); - -for(n=0 ; szArg=argv[n] ; ++n) - if(strchr(szArg,' ')) - { - int
cvs commit: apachen/src/os/win32 util_win32.c
ben 97/11/23 10:10:05 Modified:src ApacheCore.dsp CHANGES src/os/win32 util_win32.c Log: Only lowercase real path. Revision ChangesPath 1.14 +4 -0 apachen/src/ApacheCore.dsp Index: ApacheCore.dsp === RCS file: /export/home/cvs/apachen/src/ApacheCore.dsp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ApacheCore.dsp1997/10/20 20:19:09 1.13 +++ ApacheCore.dsp1997/11/23 18:10:01 1.14 @@ -105,6 +105,10 @@ # End Source File # Begin Source File +SOURCE=.\buildmark.c +# End Source File +# Begin Source File + SOURCE=.\main\explain.c # End Source File # Begin Source File 1.519 +2 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.518 retrieving revision 1.519 diff -u -r1.518 -r1.519 --- CHANGES 1997/11/22 02:04:41 1.518 +++ CHANGES 1997/11/23 18:10:02 1.519 @@ -1,5 +1,7 @@ Changes with Apache 1.3b4 + *) WIN32: Only lowercase the part of the path that is real. [Ben Laurie] + *) Fix problems with timeouts in inetd mode and -X mode. [Dean Gaudet] *) Fix the spurious (0)unknown error: mmap_handler: mmap failed 1.4 +3 -1 apachen/src/os/win32/util_win32.c Index: util_win32.c === RCS file: /export/home/cvs/apachen/src/os/win32/util_win32.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- util_win32.c 1997/11/16 15:43:19 1.3 +++ util_win32.c 1997/11/23 18:10:04 1.4 @@ -52,7 +52,10 @@ if(h == INVALID_HANDLE_VALUE) strcat(szCanon,szFilePart); else +{ + strlwr(d.cFileName); strcat(szCanon,d.cFileName); +} } API_EXPORT(char *) os_canonical_filename(pool *pPool,const char *szFile) @@ -60,7 +63,6 @@ char buf[_MAX_PATH]; sub_canonical_filename(buf,szFile); -strlwr(buf); return pstrdup(pPool,buf); }
cvs commit: apachen/src/os/win32 util_win32.c
ben 97/08/18 03:59:06 Modified:src ApacheCore.dsp ApacheCore.mak src/core conf.h http_request.c httpd.h Added: src/os/win32 util_win32.c Log: First crack at Win32 filename canonicalisation. Needs work! Revision ChangesPath 1.6 +4 -0 apachen/src/ApacheCore.dsp Index: ApacheCore.dsp === RCS file: /export/home/cvs/apachen/src/ApacheCore.dsp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ApacheCore.dsp1997/08/13 08:37:13 1.5 +++ ApacheCore.dsp1997/08/18 10:59:01 1.6 @@ -253,6 +253,10 @@ # End Source File # Begin Source File +SOURCE=.\os\win32\util_nt.c +# End Source File +# Begin Source File + SOURCE=.\core\util_script.c # End Source File # Begin Source File 1.12 +61 -164 apachen/src/ApacheCore.mak Index: ApacheCore.mak === RCS file: /export/home/cvs/apachen/src/ApacheCore.mak,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ApacheCore.mak1997/08/13 08:37:14 1.11 +++ ApacheCore.mak1997/08/18 10:59:02 1.12 @@ -92,6 +92,7 @@ [EMAIL PROTECTED] $(INTDIR)\util_md5.obj [EMAIL PROTECTED] $(INTDIR)\util_script.obj [EMAIL PROTECTED] $(INTDIR)\util_snprintf.obj + [EMAIL PROTECTED] $(INTDIR)\util_win32.obj [EMAIL PROTECTED] $(INTDIR)\vc50.idb [EMAIL PROTECTED] $(OUTDIR)\ApacheCore.dll [EMAIL PROTECTED] $(OUTDIR)\ApacheCore.exp @@ -160,7 +161,8 @@ $(INTDIR)\util_date.obj \ $(INTDIR)\util_md5.obj \ $(INTDIR)\util_script.obj \ - $(INTDIR)\util_snprintf.obj + $(INTDIR)\util_snprintf.obj \ + $(INTDIR)\util_win32.obj $(OUTDIR)\ApacheCore.dll : $(OUTDIR) $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @ @@ -268,6 +270,8 @@ [EMAIL PROTECTED] $(INTDIR)\util_script.sbr [EMAIL PROTECTED] $(INTDIR)\util_snprintf.obj [EMAIL PROTECTED] $(INTDIR)\util_snprintf.sbr + [EMAIL PROTECTED] $(INTDIR)\util_win32.obj + [EMAIL PROTECTED] $(INTDIR)\util_win32.sbr [EMAIL PROTECTED] $(INTDIR)\vc50.idb [EMAIL PROTECTED] $(INTDIR)\vc50.pdb [EMAIL PROTECTED] $(OUTDIR)\ApacheCore.bsc @@ -329,7 +333,8 @@ $(INTDIR)\util_date.sbr \ $(INTDIR)\util_md5.sbr \ $(INTDIR)\util_script.sbr \ - $(INTDIR)\util_snprintf.sbr + $(INTDIR)\util_snprintf.sbr \ + $(INTDIR)\util_win32.sbr $(OUTDIR)\ApacheCore.bsc : $(OUTDIR) $(BSC32_SBRS) $(BSC32) @ @@ -386,7 +391,8 @@ $(INTDIR)\util_date.obj \ $(INTDIR)\util_md5.obj \ $(INTDIR)\util_script.obj \ - $(INTDIR)\util_snprintf.obj + $(INTDIR)\util_snprintf.obj \ + $(INTDIR)\util_win32.obj $(OUTDIR)\ApacheCore.dll : $(OUTDIR) $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @ @@ -961,11 +967,6 @@ .\core\httpd.h\ .\os\win32\readdir.h\ .\regex\regex.h\ - {$(INCLUDE)}sys\stat.h\ - {$(INCLUDE)}sys\types.h\ - -NODEP_CPP_MOD_A=\ - .\core\sfio.h\ $(INTDIR)\mod_access.obj $(INTDIR)\mod_access.sbr : $(SOURCE)\ @@ -1015,11 +1016,6 @@ .\core\util_script.h\ .\os\win32\readdir.h\ .\regex\regex.h\ - {$(INCLUDE)}sys\stat.h\ - {$(INCLUDE)}sys\types.h\ - -NODEP_CPP_MOD_AC=\ - .\core\sfio.h\ $(INTDIR)\mod_actions.obj $(INTDIR)\mod_actions.sbr : $(SOURCE)\ @@ -1057,11 +1053,6 @@ .\core\httpd.h\ .\os\win32\readdir.h\ .\regex\regex.h\ - {$(INCLUDE)}sys\stat.h\ - {$(INCLUDE)}sys\types.h\ - -NODEP_CPP_MOD_AL=\ - .\core\sfio.h\ $(INTDIR)\mod_alias.obj$(INTDIR)\mod_alias.sbr : $(SOURCE)\ @@ -1109,11 +1100,6 @@ .\core\util_script.h\ .\os\win32\readdir.h\ .\regex\regex.h\ - {$(INCLUDE)}sys\stat.h\ - {$(INCLUDE)}sys\types.h\ - -NODEP_CPP_MOD_AS=\ - .\core\sfio.h\ $(INTDIR)\mod_asis.obj $(INTDIR)\mod_asis.sbr : $(SOURCE) $(DEP_CPP_MOD_AS)\ @@ -1157,11 +1143,6 @@ .\core\httpd.h\ .\os\win32\readdir.h\ .\regex\regex.h\ - {$(INCLUDE)}sys\stat.h\ - {$(INCLUDE)}sys\types.h\ - -NODEP_CPP_MOD_AU=\ - .\core\sfio.h\ $(INTDIR)\mod_auth.obj $(INTDIR)\mod_auth.sbr : $(SOURCE) $(DEP_CPP_MOD_AU)\ @@ -1211,11 +1192,6 @@ .\core\util_script.h\ .\os\win32\readdir.h\ .\regex\regex.h\ - {$(INCLUDE)}sys\stat.h\ - {$(INCLUDE)}sys\types.h\ - -NODEP_CPP_MOD_AUT=\ - .\core\sfio.h\ $(INTDIR)\mod_autoindex.obj$(INTDIR)\mod_autoindex.sbr : $(SOURCE)\ @@ -1267,11 +1243,6 @@ .\core\util_script.h\