Closed
Bug 68950
Opened 24 years ago
Closed 24 years ago
resource://MagicVar/ broken
Categories
(Core :: Networking, defect)
Tracking
()
VERIFIED
FIXED
mozilla1.0
People
(Reporter: akkzilla, Assigned: darin.moz)
References
()
Details
(Keywords: testcase)
There used to be some special codes, enumerated in
http://lxr.mozilla.org/seamonkey/source/netwerk/protocol/res/src/nsResProtocolHandler.cpp#94
such that resource://MagicVar/blah mapped to special things, e.g.
resource://TempDir/foo.html would have looked in the system's temp dir. This no
longer works.
(This is being split off from bug 12911, where there's lots of discussion about
this.)
Initially giving to Conrad because he owns bug 12911, but it's really a netlib
issue.
Reporter | ||
Comment 1•24 years ago
|
||
Here's why it doesn't work (copied from bug 12911):
First, the MagicVar is being treated as a hostname and case folded, so it no
longer matches the key in the hash table.
If you add tempdir as well as TempDir in nsResProtocolHandler.cpp, what happens
is that nsResChannel::AsyncRead calls EnsureNextResolvedChannel, which correctly
maps the url to file:///tmp/..., then AsyncRead does
mResolvedChannel->AsyncRead, then while we're waiting for the read,
EnsureNextResolvedChannel gets called again many more times from
nsResChannel::GetLocalFile (and perhaps from other routines), and this time it
doesn't find the right match, probably because mCurrentIndex is now wrong inside
Next. This I think causes mResolvedChannel, which was set correctly before, to
get reset to null, so the actual load of the url fails (but there's no error
message because netlib now thinks it never had a url to load at all).
Comment 2•24 years ago
|
||
Setting milestone. If somebody wants this sooner let me know.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.0
Comment 4•24 years ago
|
||
Darin made things better in netwerk/protocol/res, as far as the mResolvedChannel
sticky-bad state commented on by akkana here. However, the case-folding may
still be a problem.
/be
Assignee | ||
Comment 5•24 years ago
|
||
i assume that "case folding" means making things lowercase... if so, then that
should be the only remaining bug here.
ccarlen: i can take this bug if you like.
Assignee | ||
Comment 7•24 years ago
|
||
FIXED by my checkin for bug 99410
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Can someone give me a test case, perhaps tell me where TempDir is for the main
three platforms?
Keywords: verifyme
Assignee | ||
Comment 9•23 years ago
|
||
benc: depends greatly on your personal settings, but...
XP_UNIX - $TMPDIR or /tmp
XP_WIN - whatever the WIN32 GetTempPath() call returns (probably
c:\windows\temp or c:\temp ??). may depend on your environment vars.
XP_MAC - usually a hidden directory called "Temporary Folder" in your first
volume.
Comment 10•23 years ago
|
||
I'm going to verify against resource://TempDir/foo.html, but someone is going to
have to translate if they want me to do anything else.
VERIFIED: mozilla 1.1
Mac OS X - UNIX path is /private/tmp/<UID>/Temporary Items
Keywords: testcase
Whiteboard: checkwin checklinux
Comment 11•23 years ago
|
||
VERIFIED:
mozilla 1.2, Win98
looks like it is the target of "TEMP="
Comment 12•23 years ago
|
||
VERIFIED: linux.
directory maps to -> file:///tmp/
Status: RESOLVED → VERIFIED
Whiteboard: checklinux
You need to log in
before you can comment on or make changes to this bug.
Description
•