Closed Bug 7132 Opened 21 years ago Closed 20 years ago

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


(Core :: XPCOM, defect, P3)

Windows NT





(Reporter: racham, Assigned: dveditz)



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.
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
Closed: 20 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.