Closed Bug 7132 Opened 26 years ago Closed 25 years ago

[feature] libreg seems to be operating in a case insensitive mode.

Categories

(Core :: XPCOM, defect, P3)

All
Windows NT
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: racham, Assigned: dveditz)

References

Details

I didn't find a component named Registry directly. So, I'm entering the bug under XPCOM registry. The bug seems to be coming from underlying libreg routines. At present, Profile Manager is using mozregistry to store the information and uses Registry calls to maintain the profile information. I have noticed that the registry APIs are not case sensitive. A case to verify this will be Rename operation of Profile Manager. apprunner -ProfileManager brings up the profile Manager, then choose a profile click on rename. Check both cases, rename it to a diffrent name, every thing works fine and you will see the new name in the select box of profile manager. Rename it with same name but with some upper case/lower case letters. You won't find the profile name anymore in the select box. The reason being Rename operation calls for copy and delete operations. As it is case insensitive, I guess it does not create a new entry in the registry (i.e., copies on to the same profile node) and at the end when it deletes, it deletes the same profile.
Status: NEW → ASSIGNED
Libreg has always been case-insensitive. I am a little worried about changing it now due to existing SmartUpdate install and trigger scripts which may depend on this fact. On the other hand it was never documented that way, and it would be a minor speed-up in the often-called nr_FindAtLevel() routine. Let me think about it...
File names in unix are case insensitive. I store files as keys and search for them. XPCOM will be hampered unless this gets fixed.
It's not "broken", so I'd prefer words like "changed" rather than "fixed". We've already discussed that using filenames as keys is pure evil, so that argument doesn't exactly win me over. I'm still investigating the impact on real-world SmartUpdate if this is changed. Perhaps if worst came to worst I could add a flag to RegOpen() to indicate case-sensitivity and then mozregistry could be case sensitive while nsreg isn't.
I can accept changed. Ok. Talking in general, I think the registry in 5.0 should be case sensitive.
Summary: libreg seems to be operation in a case insensitive mode. → libreg seems to be operating in a case insensitive mode.
modified summary line a little bit.
Blocks: 6592
Blocks: 11020
Summary: libreg seems to be operating in a case insensitive mode. → [feature] libreg seems to be operating in a case insensitive mode.
Blocks: 12805
Target Milestone: M11 → M12
Moving non-dogfood bugs to M13
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Registry keys are now case sensitive
Component: XPCOM Registry → XPCOM
QA Contact: dp → xpcom
You need to log in before you can comment on or make changes to this bug.