Skip to content
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

Open
shentino opened this issue May 5, 2021 · 5 comments

Comments

@shentino
Copy link
Collaborator

shentino commented May 5, 2021

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.

@noahgibbs
Copy link
Collaborator

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?

@shentino
Copy link
Collaborator Author

shentino commented May 5, 2021

Well during cold boot it would help to flush out duplicates anyway.

An additional enhancement may be to toggle enforcement at runtime.

@noahgibbs
Copy link
Collaborator

Once we get the current mess sorted, it could definitely be a good idea. That would let us keep it from happening again...

@shentino
Copy link
Collaborator Author

shentino commented May 5, 2021

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.

@noahgibbs
Copy link
Collaborator

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.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants