Received: (from majordom@localhost) by hyperreal.org (8.8.5/8.8.5) id KAA21149; Fri, 22 Aug 1997 10:39:16 -0700 (PDT) Received: from twinlark.arctic.org (twinlark.arctic.org [204.62.130.91]) by hyperreal.org (8.8.5/8.8.5) with SMTP id KAA21137 for ; Fri, 22 Aug 1997 10:39:12 -0700 (PDT) Received: (qmail 2717 invoked by uid 500); 22 Aug 1997 16:33:48 -0000 Date: Fri, 22 Aug 1997 09:33:48 -0700 (PDT) From: Dean Gaudet To: new-httpd@apache.org Subject: Re: Spaces in Win32 executable names In-Reply-To: <33FDB0F9.A3E168CC@algroup.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org Apply this to each component during directory_walk: if (name is not 8.3) { it's fine, continue on } else if (name does not contain ~) { it's fine, continue on } else { perform a short -> long mapping on this component if (they're different) { return BAD_REQUEST; } } Make that a function. Because you'll need it in sub_req_lookup_file()s simple case as well. This avoids extra system call overhead except when it's really required. It's possible to have shortnames without ~ but Windows never generates them, so the user gets what they're asking for if they do silly things like that. To solve the longname for CGI problem you'll need to rewrite spawn and call the windows primitives yourself. While it doesn't have an argument vector, it certainly has an executable name parameter ... and it sounds like the microsoft libc spawn sucks. Dean