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

quarantine xattr giving fits #29

Open
joconnor3 opened this issue Aug 3, 2012 · 5 comments
Open

quarantine xattr giving fits #29

joconnor3 opened this issue Aug 3, 2012 · 5 comments

Comments

@joconnor3
Copy link

I'm using Fuse4X 0.9.1 and the loopback file system.

I create a file in TextEdit on Lion, and save it twice to a HFS+ formatted USB stick so that there is a com.apple.quarantine extended attribute on it.

I boot to Mountain Lion, invoke the loop back fs on the USB, then try to open the TextEdit file by double-clicking it in the Finder.

TextEdit says the file is damaged, can't be opened, and should be moved to the trash.

I cancel, then remove the quarantine flag (xattr -d com.apple.quarantine /Fuse4XpathToFile).

Then I double-click -- no problem.

@joconnor3
Copy link
Author

The TextEdit file creation step is -- make text, save, make change, save, make change, quit. That may not be completely minimized, but it seems to work reliably.

@joconnor3
Copy link
Author

The problem has to do with SecAssessmentCreate failing with an error 100002 (according to the log in the console which is coincident with the attempt to open the file). Trying to spctl -t open -a pathToFile gives 'rejected' for 'source=insufficient context'.

So the presence of the quarantine xattr along with the security setting of Apple Store + signed apps is causing the system permissions to fail for some reason having to do with mounting through Fuse4x.

@joconnor3
Copy link
Author

Not sure that this matters, but if I stat a file on the loopback file system its block size is reported as 0x1000000 while if I stat the file itself at its real path the block size is 0x1000. The number of blocks remains unchanged.

@joconnor3
Copy link
Author

I had to hard wire in a 4k value into the kext to get the proper block size when stat-ing the file, but that didn't alleviate the problem.

@joconnor3
Copy link
Author

For google's sake, the problem is that the gatekeeper functionality runs under a different user id than the logged in user, so unless you mark your file system to allow others you're going to be hit with this problem.

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

1 participant