Commit Graph
51 Commits
Author SHA1 Message Date
Zorg c648665724 Remove SUFileManager from BinaryDelta and Sparkle Test App (#2570) 2024-05-27 13:31:39 -07:00
Zorg be7f6952c2 Reduce code size and make codebase more consistent (#2305) 2022-12-27 12:03:03 -08:00
Zorg 1c560652e7 Remove ed25519 git submodule (#2244)
Also allow release scripts to work without git repository and bump the Sparkle versions.
2022-08-27 10:46:29 -07:00
Eitot 180f8975cf Replace deprecated code with newer APIs (#2112)
* Use UniformTypeIdentifiers framework to replace deprecated types

kUTType* constants are deprecated since macOS 12. The UniformTypeIdentifiers framework is available since the macOS 11 SDK.

* Replace renamed constants

* Use API_AVAILABLE macro instead of __OSX_AVAILABLE
2022-04-24 16:51:48 -07:00
Zorg b05c058219 Silence deprecations and use modern NSSecureCoding APIs (#2058) 2022-01-09 19:25:28 -08:00
Zorg 51ee14c3d3 Add UI tests for delta updates and automatic updates (#2054) 2022-01-08 18:05:07 -08:00
Zorg 89ecb88f2b Define DEBUG=0 for release builds 2021-06-06 19:35:15 -07:00
Zorg cbd1503c06 Add configuration option to not build UI bits 2021-06-06 19:09:19 -07:00
Zorg 411360deb2 Allow check for updates menu item to be invoked outside of settings
Previously check for updates was only in responder chain of the settings window controller. Now it's in responder chain of the entire application.
2021-04-25 15:48:20 -07:00
Zorg 07e96961bf Sign altered app in release too for the test app 2021-04-11 20:04:53 -07:00
Gwynne Raskind a95f1592cd Fix several dozen warnings. Fix several things to actually respect the 10.9 minimum of the beta. 2020-07-25 02:19:50 -05:00
Jordan Rose 19ef31b681 Use EdDSA keys in test app (like 9c4729ed on 1.x) 2020-06-10 12:14:30 +01:00
Kent Sutherland d574574345 Explicitly specify types to silence "Messaging unqualified id" warning that's new in Xcode 10.
Removed __has_feature(objc_generics) check and use generisc to help silence the warnings.
2018-06-14 21:22:38 +02:00
Zorg bbfcd564d2 Detect if shift key is held down ASAP when launching test app 2016-08-14 13:44:10 -04:00
Zorg a523621b71 Remove support for remotely using user driver from updater
Although it is interesting to separate the user driver and update scheduler in different processes, this has yet to prove useful. Further, this management should not exist in the user driver protocol since the protocol would be doing double duty. If this separation is useful in the future, it should be separated into another driver altogether. Note that it is also hard to write correct code that separates the user driver and updater. Removing this code should greatly reduce maintenance costs.
2016-08-12 18:48:54 -04:00
Zorg 1a3466ba04 Don't use TestAppHelper or code sign update in release 2016-08-01 22:01:30 -04:00
Zorg 8c564fef1f Remove +[SUFileManager defaultManager] and use alloc/init 2016-07-30 10:39:17 -04:00
Zorg af7c7cea2b Merge branch 'master' into ui-separation-and-xpc 2016-06-16 22:46:26 -04:00
Zorg be1e86174a Wait for the appropriate process when authorizing file operations
This changes the way we authorize & execute commands, and how we wait for their completion. In order to obtain the correct child to wait (instead of another one terminating intermediately), we use a wrapper tool (fileop) to output its pid onto the communication pipe that we read from the other end.
2016-06-08 21:49:58 -04:00
Zorg 87903c0d97 Fix unit tests from not compiling
SUFileManager fileManager method had to be renamed to satisfy Swift
2016-05-27 22:23:04 -04:00
Zorg 64a7624744 Add authorization environment when using file manager
If the file manager is used for authorization, we can now supply an authorization environment.

This allows us to specify a customized prompt message and an icon to use in the authorization dialog window. We no longer need to include an icon for Autoupdate app.

We now also see if we can get authorization rights access right away, rather than lazily when executing a tool.
2016-05-27 12:36:44 -04:00
Zorg 1a952227a7 Replace assert(false/NO) with abort() 2016-05-18 19:15:01 -04:00
Zorg 7183d9ebc5 Merge branch 'master' into ui-separation-and-xpc 2016-04-20 00:05:45 -04:00
Zorg 99be33d83b Move Test App server directory data into subdirectory inside Caches
We want to wipe the caches directory we create for the test app data on launch,
and want to make sure no other data is being inserted into the same directory.
Before, Sparkle was inserting data into the same directory when downloading an update.
2016-04-19 02:31:02 -04:00
Zorg e03607a2d6 Only use SUFileManager in debug mode for the test app
This way we don't have to export it in release mode
2016-04-02 00:10:20 -04:00
Zorg 5c08e0a1d1 Add InstallerLauncher XPC Service
This allows Sparkle to be used as-is in a sandboxed application,
without needing to place Sparkle into its own XPC service.

Currently the main app may need to set a global mach service lookup exception
and a client download exception, however this can be fixed by creating a couple more
services. Testing for disk writability will need be done in a service too.
2016-04-01 17:54:12 -04:00
Zorg d12121a265 Add SUUpdaterSettings class, allowing to read default settings.
This is convenient if the updater and app live in separate processes.
No need to use XPC to find out what certain settings are, and it may take too long to find out that way.
2016-03-27 18:44:36 -04:00
Zorg 1e9292acf4 Merge branch 'master' into ui-separation-and-xpc 2016-03-23 22:37:11 -04:00
Zorg 1ae0999082 Fix nullability warnings 2016-03-22 22:08:14 -04:00
Zorg c265e3f7bf Fix warnings caused by -Wpartial-availability
Most of this is removing Obj-C subscripting usage
Some bits are adding pragma ignores to places where we are careful to not use the API at runtime on older OS's

Note that for NSMutableDictionary:
x[y] = z is not the same as [x setObject:z forKey:y]

In particular, z can be nil for subscripting (removing the element if it exists) where it cannot for setObject:forKey:
Personally I like the non-subscripting semantics better. Most cases we were using this we were checking if the object was non-nil anyway
2016-03-22 22:07:49 -04:00
Zorg cb0b7c8cfe Remove all termination logic from the user driver
Autoupdate is now responsible for all of this. The user driver implementation is shorter and less complex now.
2016-03-13 19:18:51 -04:00
Zorg ed72d25eaa Re-sign the altered/new test app
For sandbox testing, we really have to use ad-hoc signing.
Which means we have to sign the "new" app after we alter its info.plist file,
so that our code signing verifier doesn't (rightfully) complain
2016-03-04 20:05:33 -05:00
Zorg 045de30926 Clean up last bit of warnings 2016-03-03 19:59:16 -05:00
Zorg 8a42975dc2 Add test application code for Sparkle over XPC 2016-03-03 03:03:56 -05:00
Zorg c848882778 Merge branch 'master' into fileop-copy 2015-10-24 21:57:07 -04:00
Kornel 374b8d6195 Merge pull request #655 from kainjow/webserver
Replace use of Python with built-in web server
2015-10-23 16:25:35 +01:00
Zorg c850146ef6 Forgot to update SUFileManager constuctor in Test App 2015-10-10 18:10:24 -04:00
Zorg ee72ec3dab Fix issues with copying files from different mounted drives
The move operation now does an explict copy & remove.

We also copy items using FSCopyObjectSync due to issues
existing in copyfile (and NSFileManager).

Both of these fix bugs in some cases where items cannot be moved
from one network drive to another. In my testing before this patch,
I was unable to get the test application to launch and was unable
to move the old installation to the trash.
2015-10-09 23:58:23 -04:00
Kevin Wojniak 117716da9e Replace use of Python with built-in web server
See issue #637
2015-10-08 20:41:26 -07:00
Zorg 17da7b5fb8 Fix Test App crashing on systems earlier than 10.9
Passing a NSURL instance to a NSTask's arguments calls
-[NSURL fileSystemRepresentation] which is only available on 10.9+
2015-10-08 22:49:03 -04:00
Kevin Wojniak 2ad01ad672 Reuse file manager variable 2015-09-27 12:33:14 -07:00
Kevin Wojniak 079666643d Set the task working directories instead of changing the process working directory 2015-09-27 12:31:45 -07:00
Kevin Wojniak da370c0f2b Avoid converting URLs to paths to check for existence 2015-09-27 12:24:47 -07:00
Jake Petroules 9a32f6f21d Add missing __bridge casts. 2015-09-19 15:06:27 -07:00
Zorg 232fc61b90 Removing conditions with side-effects from assert() 2015-08-02 16:52:47 -04:00
Zorg b7073dc3ce Make sure launch path is not nil before setting it
If we don't do this, -[NSTask setLaunchPath:] will complain
2015-07-26 22:26:17 -04:00
Zorg d26f94fab1 Merge branch 'master' into testapplication
Change code to use "sign_update" instead of "sign_update.sh"
2015-07-26 22:02:43 -04:00
Zorg 4d4bee73e3 Change #define into static const 2015-07-26 13:49:21 -04:00
Zorg b13ae2e972 Use -[NSFileManager defaultManager] 2015-07-26 13:42:59 -04:00
Zorg dcd50d54e1 Move build settings to xcconfig
Also enable -Wobjc-missing-property-synthesis because I can't figure out how to turn it off for just the test application
2015-07-26 13:39:41 -04:00