You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2000/12/13 16:11:28 UTC

RE: os-windows/6296: Long directory names prevent CGI from running properly

Please try replicating this problem by building apache from the current
source tree.  We are T+0700 hours from a new release, which should fix
this bug.

Two problems occured ... redirected std pipes are not closed properly
unless a program is launched in a command window.  Apache 1.3.14 had
no child command window, the tree and soon-to-come 1.3.15 release will
have a hidden child command window.

The second aspect was in long pathnames.  The CGI process is now created
with long paths in the command line -if- the arg is quoted, so a script
#!perl        uses the short path
#!perl "%1"   uses the long path
The same is now true for ScriptInterpreterSource Registry ... if the
command is "someapp.exe "%1"" then it is invoked with the long path, if
the registry command is "someapp.exe %1" it is invoked with a short path.

Batch files under NT's CMD.EXE is always give long paths, COMMAND.COM is
always given short paths.

Hope this resolves your issues.

Bill

> -----Original Message-----
> From: TOKILEY@aol.com [mailto:TOKILEY@aol.com]
> Sent: Tuesday, July 11, 2000 11:53 AM
> To: dan@thelewishouse.com
> Cc: new-httpd@apache.org
> Subject: Re: os-windows/6296: Long directory names prevent CGI from
> running properly
> 
> 
> 
> In a message dated 00-07-11 12:27:32 EDT, Dan Lewis writes...
> 
> > Subj:  Re: os-windows/6296: Long directory names prevent 
> CGI from running   
> > properly
> >  Date:    00-07-11 12:27:32 EDT
> >  From:    dan@thelewishouse.com (Dan Lewis)
> >  Reply-to:    dan@thelewishouse.com
> >  To:  TOKILEY@aol.com
> >  
> >  Kevin,
> >  
> >  Thanks for the tip.  What I think I understand about this 
> is that DJGPP-
> > compiled
> >  programs load as 16-bit applications, then switch to 
> protected mode rather 
> > than
> >  being loaded that way to start with.  But what's still odd 
> to me is that I 
> > don't
> >  have this problem with Xitami.  Apparently they've found 
> some sort of 
> > workaround
> >  to put inside their webserver.
> >
> >  Dan
> 
> I believe the Xitami stuff uses Win32S which is the transitional
> kludge between old Win 3.1 16 bit stuff and the newer 32-bit.
> Win32S allows access to SOME ( not all ) 32-bit OS features
> from 16 bit DPMI protected mode applications... but it is still
> not full blown 32-bit flat model API access.
> 
> Win32S does have support for 'long' filenames but it has to
> be linked into the MZ 16-bit output binary.
> 
> If DJGPP would do that then long filenames would be OK
> with their gcc.exe as well.
> 
> Question for you... ( I'm a little confused )....
> 
> Even if you have a 16 bit APP that doesn't support long 
> filenames being used a CGI script it should STILL get the
> filenames right. The Win32 NTVDM virtual machine, which
> is what all 16-bit programs run under, is the guy who is
> translating all the 'long' filenames into the 'short' name
> and it generally gets it right every time as long as the
> STDLIB parameters was simply a 'pointer' to a NULL
> terminated filename.
> 
> This all falls down if your are using something like
> findfirst/next, however, since the 16 bit FFBLK structure itself
> only has room for 8.3 filenames and the rest is lost
> but other IO calls ( fopen, etc ) should be OK.
> 
> Is it that the filenames mentioned in the CGI script have
> SPACES in them? That might be the killer but if there
> are no spaces I'm curious as to why NTVDM might be
> falling down on the long/short filename translate.
> 
> Any chance you could post a copy of this funky CGI script?
> 
> Yours...
> Kevin Kiley
> CTO, Remote Communications, Inc.
> http://www.RemoteCommunications.com
> http://www.rctp.com - Online Internet Content Compression Server
>