-
-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Idea: Patch /usr/System/idd.c to disallow creation of folders or names that match case. #66
Comments
That's not a bad idea. Allowing it already-created is hard because we do cold-boot. But maybe it would allow it during boot (on the assumption that it already exists) but not after? |
Well during cold boot it would help to flush out duplicates anyway. An additional enhancement may be to toggle enforcement at runtime. |
Once we get the current mess sorted, it could definitely be a good idea. That would let us keep it from happening again... |
I have to admit I'm a bit uneasy about hard-forbidding case insensitive collisions, but mac portability is kinda forcing our hand. On the other hand anything that relies on the status quo is probably a bad idea anyway. |
And while I don't know the source of the current problems, it's pretty darn clear that something is causing them above and beyond Mac (though maybe Mac too.) So outright forbidding them just seems like a better idea. It means if we somehow get more case problems in the future they should be straightforward to fix (alter the MERRY references to match the case in the filesystem.) |
This should nip a large part of the "case insensitive name collision" issue that showed up on the mac.
Stopping those names from being created in the first place will nip the situation in the bud.
Caveats:
Patching idd.c should NOT cause errors with any noncompliant data already loaded, only prevent new folders or object names from being created that would clash with ones that already exist.
There are probably some other caveats that I haven't thought of yet.
The text was updated successfully, but these errors were encountered: