Closed Bug 176312 Opened 22 years ago Closed 19 years ago

Windows backslash file separator not recognized

Categories

(Core :: Networking, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 64488

People

(Reporter: robert.todd, Assigned: andreas.otte)

References

Details

when a script file or a cascading style sheet src referenece  is made in the src
attribut os the <Style> or <script> tag using windows "\" The browser fails to
find these files.  I am using the Java File.seperator to populate these
directory seperation correctly on both a Unix Box and a Win2000 box.  This works
fine in Netscape 4.79 and IE 6.0.026000 but not in Mozilla 1.0
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530.
Shouldn't you be using "/" instead of "\"  ?
http? ftp? file?
Assignee: law → new-network-bugs
Component: File Handling → Networking
QA Contact: petersen → benc
"\" is only valid in the URL Bar (because the URL bar corrects this to a "/".
a "\" is INVALID and you can't use it to link to a CSS ,image or general link


You can always link with "/"

-> invalid
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago
Resolution: --- → INVALID
Catching up.  Reopen if you disagree.  Marking Verified!
Status: RESOLVED → VERIFIED
QA Contact: benc → jimmylee
All competing browsers (netscape 4.79 and IE 5 and greater recognize both Unix 
and windows slashes when performing a server side inclue of an image, a 
cascading style sheet or a script file.

Our company, the insurance subsidiary of Citigroup a fotrune 5 corporation, has 
a fairly larege installed base of applications that use Java to generate html 
that runs on both Windows and Unix variant servers.  

If your browser does not recognize either "\" or "/" then none of our legacy 
applications will run in your browser.  As the champion of Mozilla in our IT 
department, I would be disappointed if your failure to handle this as the 
competitors do, makes your browser non certified, hence non used by our company.

Thanks for your cosideration of this issue and its baring on the commercial 
success of your product.

Best regards,

Robert P. Todd
Sr. Software Engineer 
Primerica, Inc.
770-564-5906
Status: VERIFIED → UNCONFIRMED
Resolution: INVALID → ---
-> parser 
Assignee: new-network-bugs → harishd
Status: UNCONFIRMED → NEW
Component: Networking → Parser
Ever confirmed: true
QA Contact: jimmylee → moied
How is this a bug in the HTML (rather than URL) Parser? And reporter, 
could you attach a simple testcase?
Here is a dynamically generated page that works in IE and Naviagator 4.79
the two script files and the CSS included do not work on an NT server because a 
Java FileSeperator was used to create the last slash in the chain.  When this 
application is run and a Unix server it works fine, unfortuneately many 
Citigroup apps are run on both types of servers.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	<title>Renewals Start</title>
	<script language="javascript1.2"  src="\pfslic\renewals\redirect.js">
  	</script>
	<script language="javascript1.2"  
src="\pfslic\renewals\errorWarning.js">
	</script>
	<script language="javascript1.2">
		function submitForm()
		{
			var aForm = document.forms[0];
			aForm.submit();
		}
  	</script>
	<link REL=StyleSheet HREF="\pfslic\renewals\indRen.css" TYPE="text/css">

</head>
<body onLoad="javascript:errorWarning(''); return true">
<!-- Start of FORM -->
<!--<form method=post> -->
<form method=post action="/pfslic/IndRenDriverServlet">  
<input type=hidden name=pageName value=RenewalsStart>
<table width=100% cellpadding=0 cellspacing=0>
<tr><td width=100% height=1 bgcolor=336699><img src="/pfslic/spacer.gif" 
height=1></td></tr>
<tr><td class="font"></td></tr>
<tr><td width=100% height=1 bgcolor=336699><img src="/pfslic/spacer.gif" 
height=1></td></tr>
<tr><td class=b>You are on page: <font color=red>Start</font></td></tr>
</table>
<p class="head">Renewals Start</p>
<br>

<br>
<table>
	<tr>
		<td class="b">Select a Country:</td>
		
			<td class="font"><input type="radio" name="radCountry" 
onclick="submitForm();"
			             value="CAN" >Canada</td>
		
			<td class="font"><input type="radio" name="radCountry" 
onclick="submitForm();"
			             value="USA" checked>United States</td>
		
	</tr>
	<tr><td class="font">&nbsp;</td></tr>

	<tr><td class="font">&nbsp;</td></tr>
	<tr>
		<td class="b">Select a Desk Code:</td>
		<td class="font">
			<select name="selDeskCode">
				
					<option value="RPT" >RPT</option>
								
			</select></td>
	</tr>

</table>
<table width=100%>
	<tr><td class="fixed"><input type="submit" name="submitButton" 
width="150" style="width:150px" value="Submit"></td></tr>
</table>
</form>
</body>
</html>
Andreas, can you possibly take a look at this?  Thanks.
Assignee: harishd → andreas.otte
Component: Parser → Networking
QA Contact: moied → tever
I'm sorry Robert, but currently there will be no help for your legacy
applications with mozilla. Using \ in urls as dir separator is simply wrong and
violates some RFCs (2396 for example). If we would support \ as dir separator it
would cause pages not being loaded that (rightfully) use \ as part of the filename. 

We usually try to support html/url-quirks as long as they do not violate rfcs,
but in this case there is no way unless we do a total redesign of the urifixup code.

For now this belongs to tech evangelism in my opinion.
resolving INVALID again then.  Not enough support for this. 
Status: NEW → RESOLVED
Closed: 22 years ago22 years ago
Resolution: --- → INVALID
bug# 178241 is a newer RFE asking for support for this.  It probably could be
marked a dupe but I'll leave it open since its asking for an interface change.
VERIFIED:
this issue comes up occassionally, but the objections still seem to outweight
the pros.
Status: RESOLVED → VERIFIED
QA Contact: tever → benc
*** Bug 192363 has been marked as a duplicate of this bug. ***
broken site:

http://wwwesterni.unibg.it/siti_esterni/rls/e-texts.htm#essays -- links have "\"
http://wwwesterni.unibg.it/siti_esterni/rls/essays\plains\ap-7.htm -- doesn't work
http://wwwesterni.unibg.it/siti_esterni/rls/essays/plains/ap-7.htm -- works

People who claim there are sites out there with "\" in their filenames, please
provide evidence.

In any case, what the heck does IE do? Does it change all "\" to "/" ??? If so,
then all of those sites with "\" in the filename will be broken in IE on
windows. Or, does IE instead try it both ways?

I think Moz should, at least, attempt to translate the "\" to "/" if it gets a
404, then everyone will be happy. This is a pretty major bug, actually, that
makes some site /completely/ broken because most users aren't smart enough to
notice the backslashes and fix them.
Status: VERIFIED → REOPENED
Resolution: INVALID → ---
*** Bug 164944 has been marked as a duplicate of this bug. ***
There was an earlier complication because on Win32, Moz converted but on other
OSes it didn't. The solution at the time was to stop converting on all
platforms. That's good, inconsistency is bad, but I think the solution should be
to convert or attempt on 404 to convert, on all platforms. Note that /none/ of
the related bugs list any /real/ URLs that use backslashes.

Related bugs: 
Bug 32895   Converting \ to / in urls on windows only (was: RFC 2396 $2.4.3
non-compliance?)
Bug 34239   cleanup - stop converting \ to / for win32 url parsing *comment #16*
Bug 73701   Enhancement: It would be nice and very handy, if Mozilla could
handle "/" as a "\" and in other direction too.
Bug 93197   [RFE] URL: automatic"\" to "/" conversion (w/prefBug 190821  URL:
paths with backslash (\) incorrectly
Bug 122270  URL: Remove all conversion from \ to / on windows in
nsDefaultURIFixup except when a real filepath is identified

I just looked at all the bugs with "\" in the summary and there was not a single
one claiming that something was busted because moz converted the / to a \ ...
despite that moz on windows was running with that conversion in place for quite
a long time. If the Mozilla goal is to be able to work properly with any pages
that IE can handle, this needs to be fixed.
Summary: Windows backslash file seperator not recognized → Windows backslash file separator not recognized
If you want to file a separate bug about 404 handling w/ these URLs, you should.
I'll make my objections in that bug.
Bug 32895 included a link to a testcase which fails when \ is converted to / if
I remember correctly. In my opinion we don't want to be able to handle those
pages on first call because doing so would break an RFC. Maybe with a totally
rewritten uri-fixup code which trys different approaches we can do that but only
after we tried with \ as normal character.
Re: comment #18: Bug 192816 Retry on 404 if the URL contains "\"

Re: comment #19: Testcases are not the real world. According to my sifting
through many bugs, there has never once been a URL reported in the wild with a \
that was deliberated intended to be %5C. Obviously the lack of evidence does not
prove the reverse, /but/ there is a substantial number of pages out there /right
now/ that don't work in Mozilla but work in IE (no workaround). That is a Bad
Thing. In page rendering, Mozilla is humble, it should be humble in URL handling
as well.
You won't get me to implement anything that violates an RFC and could stop pages
coded in conformance with RFCs from being loaded, even if that is only
theoretical, which I don't believe. In bug 32895 there is a link to a webpage
which you will not see if you simply convert all \ to /. One page is enough,
even the theoretical possibility is enough. 

I have however nothing against trying to convert \ to / *after* the first or a
consecutive attempt to load a page or an image failed. That rewrite of the uri
fixup code is most certainly futured, if it is filed at all.
Making this bug dependend on bug 192816 which describes in my opinion the only
way to support \ as directory-segment seperator. 
Depends on: 192816
I stumbled on this behavior this morning while trying to access a web page at
work.  In my case, the bug showed up as a result of relative links.  The
following bit of html illustrates the problem:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<a href="..\~renglish\index3.html">Broken relative self-link</a>
<a href="../~renglish/index3.html">Working relative self-link</a>
</html>

After reading this and related bug reports, I suspect that the protocol police
aren't going to be sympathetic to those of us who would simply like to use the
browser, can't always get the web pages in question changed in a timely manner,
lack the patience to create our own copies of the web pages and edit them into
compliance, and are thus forced to keep a second browser handy to handle the
cases where you're right, but we still can't get our jobs done.

I would, however, note that relative links like those above aren't uncommon when
a file-oriented page is published, and that the absence of /'s in the path
suggests strongly that \ is being used as a path separator.
*** Bug 207187 has been marked as a duplicate of this bug. ***
*** Bug 214894 has been marked as a duplicate of this bug. ***
*** Bug 214635 has been marked as a duplicate of this bug. ***
*** Bug 229360 has been marked as a duplicate of this bug. ***
*** Bug 87828 has been marked as a duplicate of this bug. ***
*** Bug 178241 has been marked as a duplicate of this bug. ***
*** Bug 229742 has been marked as a duplicate of this bug. ***
FWIW, I use CSS files containing backslashes as a way to serve different
stylesheets to IE/Opera and Mozilla/Safari without using Javascript.

My HTML refers to test\style.css, and my web server has both a file
named "test\style.css" AND a file named "style.css" inside a dir named
"test".  Different browsers will therefore get different stylesheets.

Interpreting "\" as "/" across the board will certainly break this.
However, link-mangling-after-404 would not.  I personally prefer the
current behavior.
*** Bug 262809 has been marked as a duplicate of this bug. ***
Isn't this a dupe of Bug 122270?
*** Bug 276687 has been marked as a duplicate of this bug. ***
*** Bug 288746 has been marked as a duplicate of this bug. ***
Bug is marked as Windows 2000, but I have also experienced it on Gentoo Linux. I
also see dupes from Sun OS, Win 98 and Win XP, I think it's safe to say that
this bug affects all platforms.

*** This bug has been marked as a duplicate of 64488 ***
Status: REOPENED → RESOLVED
Closed: 22 years ago19 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.