…nsmitted over SSL but is from a malicious server. Now the download has to be transmitted over SSL *and* the download's host has to be the same as the appcast's.
Made Sparkle.h no longer a massive multi-headed abomination: now only SUAppcastItem, SUAppcast and SUUpdater (and SUVersionComparisonProtocol because it's part of the delegate protocol) are public. COMPATIBILITY ISSUE: This means there's no longer a public SUProbingUpdateDriver or a checkForUpdatesWithDriver: method. Now use checkForUpdateInformation. I may change that API before release, though. I'm thinking it might be better to give the delegate the opportunity to reject a potential update instead: then you'd just call checkForUpdatesInBackground and override that delegate method to always return NO. We'll see.
Fixes from Matt Stevens: "For background applications (menu bar, completely UI-less, etc) there are a couple of issues with Sparkle notifications: - When prompts such as the initial prompt to enable update checking are displayed they can be hidden behind other windows since the background app is not in focus. This can cause problems, as these prompts run modally and can stop the application from functioning without the user knowing why. - If the update notification window is displayed and the user clicks away to another application, the window disappears and there is no way to get it back since there is no other UI to cause the app to activate. In this case the update should probably operate as a standard window since it is effectively operating as the application's UI."
Removed NSWorkspace+RBAdditions: we're now checking if the volume is read-only instead of specifically whether it's a disk image. This also means the warning string changed. Sorry, localizers!
…d in all cases.
…Sparkle. More super-unstable refactorings to come...
…sion that claimed it was. There was a tricksy subclassing nuance that eluded me.
Fixed a bug where the user-initiated updater could abort through abnormal means, making the "checking for updates..." window never able to go away.
Added a cancel button to the "checking for updates..." dialog.
…ge the strings file.
Sparkle now gies visual indication that it's checking for updates when hte update's user initiated. ie: it pops up a status controller saying "checking for updates..." What was SUUserInitiatedUpdateDriver is now SUUIBasedUpdateDriver; SUUserInitiatedUpdateDriver now is a subclass of that, along with SUScheduledUpdateDriver. This is a happy little refactoring that let me remove some redundant code.
…SUBasicUpdateDriver so that all drivers could take advantage of this check.
… displaying the update alert. This fixes bug 228471.
…is potentially a problem when something's saved as an NSString when we expect an NSNumber. This'll handle both cases.