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

Fix 10.9 compatibility. #9

Closed
mralexgray opened this issue Oct 3, 2013 · 65 comments
Closed

Fix 10.9 compatibility. #9

mralexgray opened this issue Oct 3, 2013 · 65 comments

Comments

@mralexgray
Copy link
Contributor

How can I help? Whats the problem?

@D-an-W
Copy link

D-an-W commented Oct 5, 2013

I too would really appreciate 10.9 compatibility, what are the chances?

@darwin
Copy link
Member

darwin commented Oct 10, 2013

Current implementation is not possible under Mavs. They check all dynamically loaded libraries for apple code signature. We would have to "jailbreak" dynamic library loader, which would be a bad thing.

I'm thinking about implementing Asepsis in TotalFinder again. As I originally did under Snow Leopard. This wouldn't be perfect solution because it would redirect only .DS_Store files manipulated by Finder, but would work reasonably well, because Finder is the root cause of evil.

The problem is that I spent way too much time dealing with this Asepsis toy...

@mralexgray
Copy link
Contributor Author

is TF making enough money to justify adding a (desirable) feature?

@darwin
Copy link
Member

darwin commented Oct 10, 2013

The question should be: "could Asepsis potentially increase TotalFinder sales to justify working on it?" :) I have long list of requested features from paying TotalFinder users.

I've removed Asepsis from TotalFinder and lived happily since then. Asepsis feature in TotalFinder was not only earning any money, worse: it was causing a lot of support requests because people didn't know what it does and what it is good for (only minority of users read docs). I got nightmare emails that someone broke computer and claiming that last thing he did was enabling Asepsis - and the real cause could have been any other random thing.

This time I would keep Asepsis as a separate product, which would install a TotalFinder plugin. This way I would not trigger support hell.

@Flygsand
Copy link

Hey @darwin. I really appreciate the work you've put into Asepsis and the fact that you made it open source. I originally made a comment about kext signing, but soon realized that you were talking about user space code. Apologies for that. Just a thought for anyone interested - would a 100% kernel space solution of intercepting FS operations be viable at all?

@darwin
Copy link
Member

darwin commented Oct 11, 2013

@protomouse I don't think kext solution is viable. You have easy KAUTH but that is usable only for observing file operations, not to rewrite paths. Other solutions could probably integrate deeper in kernel disk subsystem, but that would be too complex/dangerous IMO.

@mralexgray
Copy link
Contributor Author

What about an FSEventStreamRef that just looks for changes on the "directory level", with a good built-in list of black and white-listed folders with which it should or should not touch - and then checks whether that folder has a Ds-Dumdum - and simply trashes it... I think that's what BlueHarvest does...

@darwin
Copy link
Member

darwin commented Oct 11, 2013

@mralexgray well, this would work for cleanup, but I'm afraid Finder would be loosing state which is stored in .DS_Store files (labels, icon positions, expanded folders in list view, etc.)

@mralexgray
Copy link
Contributor Author

thats why the proxied cache/redirect/whatever it was that you did was so great/mysterious/iffy. what is it about mavericks that breaks that implementation?

@darwin
Copy link
Member

darwin commented Oct 11, 2013

As I wrote, they hardened security measures when loading dynamic libraries, I cannot replace theirs without breaking signature chain anymore:
"Current implementation is not possible under Mavs. They check all dynamically loaded libraries for apple code signature. We would have to "jailbreak" dynamic library loader, which would be a bad thing."

@mralexgray
Copy link
Contributor Author

oh, duh, right. what about fsevents? it could even be manual / periodic with that feature that you can replay events since your last check... https://github.com/pebrc/Sorter

@derekleverenz
Copy link

for what it's worth (and this is on me, but its bound to come up) activating and/or installing the updater on a recently upgraded 10.9 system breaks it completely, not even safe mode can restore it. Reinstalling 10.9 is a working fix. I removed all traces of it via single user mode but that still didn't help, only a reinstall did

@mralexgray
Copy link
Contributor Author

i feel as if it (asepsis).. maybe needs to be deprecated / hidden from passerby, etc. it's like poisonous candy dangling within babies' reach. or an old hag, that used to be a sexy mermaid... calling from the shores of yonder.. where DS_Store has never plagued the masses, with her incessant reminder that... Apple doesn't care. waaaaaah.
131023-0001

@darwin
Copy link
Member

darwin commented Oct 23, 2013

@Coaxmetal I wonder how did you get updater to offer you a new version. Did you upgrade from OS 10.7 ? Yes 1.3 is dangerous, but everyone should already have it and it disables when upgrading to Mavericks.

1.3.1 is the latest on the website and it refuses to install on Mavericks.

@derekleverenz
Copy link

@darwin I upgraded from 10.8, but after I did I used asepsisctl to manually reinstall it (which of course wasn't very smart) and that broke it. I ended up reinstalling 10.9 which fixed it.

@dominik-hadl
Copy link

I unfortunately did the same thing and now OSX won't even boot. Is there a way how to fix this? I would prefer not have to reinstall.

@darwin
Copy link
Member

darwin commented Oct 24, 2013

@NickSkull have you tried to follow this article: http://asepsis.binaryage.com/#panic-mode- ?

@dominik-hadl
Copy link

Oh, I need to learn how to read. It worked, thanks :)

@Nicolas22930
Copy link

"They check all dynamically loaded libraries for apple code signature. We would have to "jailbreak" dynamic library loader, which would be a bad thing."

There is our solution. How about a nice tutorial on how to do this? Then i'll be happy to run your asepsis again.

@darwin
Copy link
Member

darwin commented Nov 5, 2013

@NicolasFritz I don't have a tutorial for you. I don't fully understand code signing changes implemented in Mavericks. I would need to do some studying and reverse-engineering again :(

@danielcampo
Copy link

"This time I would keep Asepsis as a separate product, which would install a TotalFinder plugin. This way I would not trigger support hell."

Could you potentially do the opposite of this and offer Asepsis as a paid plugin to TotalFinder? (Unless I misunderstood your previous statement)

Another alternative would be to calculate the time you think it would take to achieve Asepsis' functionality in 10.9, add a buffer for the expected "unexpected" hiccups, and then launch a small crowd funding campaign to gauge interest and potentially flip the bill altogether.

@darwin
Copy link
Member

darwin commented Nov 6, 2013

I'm happy to announce that I just found a way how to make existing implementation work under Mavericks.

I plan to finish the plumbing and testing today and release Mavericks-compatible Asepsis 2.0 this week.

@danielcampo
Copy link

@darwin Great news! I look forward to it.

@Flygsand
Copy link

Flygsand commented Nov 6, 2013

@darwin You, sir, are a gentleman and a scholar!

@ghost
Copy link

ghost commented Nov 6, 2013

Best news evah.

@darwin darwin closed this as completed in 6d7849c Nov 6, 2013
@GabLeRoux
Copy link

Woohoo! :D

@D-an-W
Copy link

D-an-W commented Nov 6, 2013

Excellent news, did I peak too soon in trying to install it via the terminal as I couldn't boot and had to uninstall it from single user mode?

Does "asepsisctl uninstall" completely remove everything?

@darwin
Copy link
Member

darwin commented Nov 6, 2013

I'm still testing it. Please do not install it from sources today. Recent HEAD has still some flaws :(

Please email me at antonin@hildebrand.cz and I will help you to get it boot again. You have to do it manually by copying A_Backup over A (in single user mode):

cp -r "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_Backup"/* "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A"

@darwin
Copy link
Member

darwin commented Nov 6, 2013

Newly sudo is also dependent on DesktopServicesPriv.framework and this makes whole "revert" process somewhat tricky.

@D-an-W
Copy link

D-an-W commented Nov 7, 2013

Booted ok this time ;)

@danielcampo
Copy link

Freshly installed on 10.9 with no issues.

Thanks for your hard work!

@mintystark
Copy link

Installed it and Reboot. No Change.
Ran the Uninstaller, Rebooted.
Installed Again, Rebooted, No Change.
Installed Again, Rebooted, WORKING!

Thanks

@mralexgray
Copy link
Contributor Author

Im skeered.

@darwin
Copy link
Member

darwin commented Nov 7, 2013

Do you want your system to live forever? ;)

@jeremyworboys
Copy link

Worked first time for me (10.9) 👍

@mralexgray
Copy link
Contributor Author

This Mac Pro 3,1 is like 6 years old, has a really loud Graphics card, and 17 hard drives.. It wants its DS_Store's like crack. Dare I tempt fate?

sad_mac_1280x800

@Nicolas22930
Copy link

Thanks a lot man ! This is amazing 👍 :)

@acjay
Copy link

acjay commented Nov 8, 2013

@darwin Awesome work! How'd you do it?

@cidzoo
Copy link

cidzoo commented Nov 9, 2013

Installed the new 1.4 version on Mavericks. It's working like a charm, one shot! Many thanks!

@BartoszKaszewczuk
Copy link

Doesn't seem to be working for me (fresh 10.9) despite installing, reinstalling and overwriting installation few times. Always throws:

DesktopServicesPriv (/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv) is not properly installed.
  => Have you installed system update recently? It might revert it back to the original version.

[Update]
Got this fixed. Apparently GUI installer doesn't prompt you that you need to accept Xcode ToS for it to run. Ran reinstall script and got prompted to do so in terminal when it was replacing signature:

/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_/DesktopServicesPriv: replacing existing signature

You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.

@darwin
Copy link
Member

darwin commented Nov 10, 2013

@BartoszKaszewczuk Aha, this is quite serious problem. Thanks for reporting.

@hiramhibbard
Copy link

Got it working no problem. I'm stoked! Can't live without it :)

@leiweke
Copy link

leiweke commented Nov 15, 2013

@BartoszKaszewczuk what should i do exactly to fix it? Xcode is starting normally.

@BartoszKaszewczuk
Copy link

@leiweke Reinstall Asepsis wrapper by running uninstall and install script in terminal (reboot after uninstall is complete):

asepsisctl uninstall_wrapper
asepsisctl install_wrapper

If you haven't accepted Xcode's ToS then install script should prompt you to do so in terminal.

@leiweke
Copy link

leiweke commented Nov 15, 2013

Thanks a lot looks good now

@cgtm
Copy link

cgtm commented Nov 19, 2013

[Mavericks / Asepsis 1.4]
Hmm … I uninstalled via the command line as Asepsis kept telling me there was a problem. Rebooted. Then tried command line install. Here's what I got:

$ asepsisctl install_wrapper

sudo cp -r "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A" "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_Backup"
Password:
sudo touch "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/asepsis-1.4"
sudo cp -r "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A" "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_"
sudo "/Library/Application Support/Asepsis/install_name_tool" -id "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_/DesktopServicesPriv" "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_/DesktopServicesPriv"
sudo "/Library/Application Support/Asepsis/codesign" --force --sign - "/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_/DesktopServicesPriv"
/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_/DesktopServicesPriv: replacing existing signature
xcrun: error: invalid active developer path (/usr/bin), missing xcrun at: /usr/bin/usr/bin/xcrun
/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_/DesktopServicesPriv: the codesign_allocate helper tool cannot be found or used
failed with code pid 835 exit 1

Any ideas? I only have the Xcode command line tools installed. I guess I'll see if there is an update …

@cgtm
Copy link

cgtm commented Nov 19, 2013

OK, updated to latest command line tools and, after a couple of uninstall/reboot/install cycles, it's all working again.

Thanks for such a useful tool!

@peterjwest
Copy link

Thanks so much for getting this working! Time to purge those bastards.

@JawsomeJason
Copy link

Updating to 10.9.2 has broken asepsis again. I tried uninstall_wrapper and install_wrapper to no avail.

@darwin
Copy link
Member

darwin commented Feb 27, 2014

Have you restarted? People have been reporting that restart resolved the
issue.

On Wed, Feb 26, 2014 at 7:23 PM, Jason Featheringham <
notifications@github.com> wrote:

Updating to 10.9.2 has broken asepsis again. I tried uninstall_wrapper and
install_wrapper to no avail.


Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-36195822
.

@adrianopaladini
Copy link

EDITED: I rebooted with asepsis installed and went back to work properly.

After update to 10.9.2, asepsis broke. In terminal i do:
1- asepsisctl uninstall_wrapper
2- asepsisctl install_wrapper
3- asepsisctl diagnose
"Your Asepsis setup seems to be OK"

But i need to uninstall again to mac work. When asepsis is installed, any file clicked, hangs or show me a crash window like this:
screen shot 2014-02-27 at 13 15 02

@pencilcheck
Copy link

After upgrading to 10.9.2 and reinstalled asepsis, I can't launch calender app because of the change in DesktopServicePriv

@shaders
Copy link

shaders commented Mar 3, 2014

Having exactly the same issue as adrianopaladini

@D-an-W
Copy link

D-an-W commented Mar 3, 2014

After a reinstall and reboot everything was ok here.

On Mon, Mar 3, 2014 at 1:29 PM, shaders notifications@github.com wrote:

Having exactly the same issue as adrianopaladini

Reply to this email directly or view it on GitHub:
#9 (comment)

@shaders
Copy link

shaders commented Mar 3, 2014

I confirm after reinstall and reboot it works smoothly so far. Yay!

@hugoram
Copy link

hugoram commented Apr 9, 2014

Is it normal that asepsis doesn't work since I updated to 10.9.2?

@darwin
Copy link
Member

darwin commented Apr 9, 2014

@hugoram Yes, Asepsis could break after system updates.

Please follow this page and restart after reinstalling the wrapper:
http://asepsis.binaryage.com/#diagnose

@mintystark
Copy link

Hugoram,
Did you read the other comments?
Reinstall Asepsis and Reboot and you should be good.

@hugoram
Copy link

hugoram commented Apr 9, 2014

Sorry for missing that, should have read. I reinstalled and it works! Thanks for the fast response.

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