Closed
Bug 68950
Opened 24 years ago
Closed 23 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•23 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•23 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•23 years ago
|
||
FIXED by my checkin for bug 99410
Status: NEW → RESOLVED
Closed: 23 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•22 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•22 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•22 years ago
|
||
VERIFIED: mozilla 1.2, Win98 looks like it is the target of "TEMP="
Comment 12•22 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
•