{"push_id":755186362,"size":124,"distinct_size":124,"ref":"refs/heads/sparkle-project","head":"f89de7b428c3bf783a7c70deb5a16f5339113fb2","before":"5b7992f75e6d8e073e0445159ba8426c23c4f7e5","commits":[{"sha":"28ea47f796b2f433720a40b4b4903f844c4b6967","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Improved app update validation. See discussion in issue #441\nIf an invalid DSA or invalid code signature is provided, the update will fail, regardless if one of these requirements is valid. The logic before is that the update will succeed if either a valid DSA or matched code signature is provided.\nThis still allows a code signature to change, be added, or be removed, as long as the DSA and the code signature (if provided) is valid. If no DSA is provided, then this is not possible, and the code signature from the host and update app must match.","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/28ea47f796b2f433720a40b4b4903f844c4b6967"},{"sha":"f55d2a4439cfd92fe41458121607119587b8b4fd","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Host app needn't be signed to verify signature of updated app","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/f55d2a4439cfd92fe41458121607119587b8b4fd"},{"sha":"19fdb9276ddbaa7c46cdc1121b2752f38651458b","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Only do DSA verification if public key is available","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/19fdb9276ddbaa7c46cdc1121b2752f38651458b"},{"sha":"65bfa1ccf27eb82179a209b8bb006f44744b106a","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Only check if new path is code signed\nIf the original app is signed, and the update is not, this is actually fine if the DSA validation goes through. And this may be desirable for people that don't want to pay cash to code sign their application anymore.","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/65bfa1ccf27eb82179a209b8bb006f44744b106a"},{"sha":"87da4cc0f2d953b36044ed03fe9c5dd9fd3a7cbb","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Distinguish between install path found and update being a package","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/87da4cc0f2d953b36044ed03fe9c5dd9fd3a7cbb"},{"sha":"3a304123d95d03181df64bd99061b30b8654e697","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Renaming newBundlePath to installSourcePath","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/3a304123d95d03181df64bd99061b30b8654e697"},{"sha":"4c782a67ed99ae25bdcbfdde388a6f9946267a30","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Abort if code signed xattr exists anywhere\nCode signatures on non-mach-o files is not currently supported, but I'd like to implement this eventually.","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/4c782a67ed99ae25bdcbfdde388a6f9946267a30"},{"sha":"330c733958791ee348fe1a0e0c4dcdece53c783a","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Don't forget to free the buffer","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/330c733958791ee348fe1a0e0c4dcdece53c783a"},{"sha":"585194908ea7a2a11f66290ccee5ad433c4a3eb7","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Bumping minor diff version","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/585194908ea7a2a11f66290ccee5ad433c4a3eb7"},{"sha":"9c3ef30f4c643de720f3f23f9c2c06810f9f3f37","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Diff'ing code-signed xattr's should actually not be supported\nAccording to Apple's code signing document: https://developer.apple.com/library/mac/technotes/tn2206/_index.html\nThey don't recommend storing signed non-Mach-O files inside an app. They'd prefer script files for example to be in Resources directory and be unsigned.","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/9c3ef30f4c643de720f3f23f9c2c06810f9f3f37"},{"sha":"4dd4548be4f71701674b9c9e0dccacea32e3a129","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Added comment on why code-signed xattr is not diff'ed","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/4dd4548be4f71701674b9c9e0dccacea32e3a129"},{"sha":"61d43f860a073b1b2c91ac3e542fdcd01475b85e","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Add tests for aborting on code signed xattr's","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/61d43f860a073b1b2c91ac3e542fdcd01475b85e"},{"sha":"3292c4ea109541e7c65fb932e1104e963886f802","author":{"email":"1c29ede2da1939ab3735f5494e296cfca8133fab@hotmail.com","name":"C.W. Betts"},"message":"Import the Foundation umbrella header in all the public headers.\nThis should prevent any undefined declaration warnings.","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/3292c4ea109541e7c65fb932e1104e963886f802"},{"sha":"2ed2f3def3fefed90163786d5b69915004a331a8","author":{"email":"2c0d5533b86b62768a581a94a31f7dff6454f6c3@geekhood.net","name":"Kornel"},"message":"Merge pull request #554 from MaddTheSane/headers\n\nImport the Foundation umbrella header in all the public headers.","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/2ed2f3def3fefed90163786d5b69915004a331a8"},{"sha":"da06dc80d6bcdb4594fa0892f4a04b1c9432b154","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Rely on code signing and the DSA key in the new app\nInstead of relying on whether the DSA signature is provided in the appcast (which we can't trust), we rely on detecting if the public key in the new and old app differ. If they differ, then the code signatures from both apps must match. The idea is that code signing is reliable in being able to tell that the Info.plist and public DSA files came from the developer and are intact. This still allows a developer to lose access to their DSA private key, or to their Apple code signature, and be able to push new updates (as long as they didn't lose access to both). The new change, however, is that if the new app has a public DSA key, then the appcast item must have a DSA signature for the app, even if the app is code signed.","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/da06dc80d6bcdb4594fa0892f4a04b1c9432b154"},{"sha":"b1d887264fc5782b83b466b78b145e844d6f7fac","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Fix package validation from previous commit\nModern packages aren't distributed as bundles, and we wouldn't be able to obtain a \"new\" public DSA key from an update","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/b1d887264fc5782b83b466b78b145e844d6f7fac"},{"sha":"7c705e5fff64559dee444756b6798c00f5e0e766","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Remove redundant check that SUDSAVerifier does","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/7c705e5fff64559dee444756b6798c00f5e0e766"},{"sha":"e9e5791e517539d28ffb9091f7b2e4392c4806ea","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"s/Pubic/Public/","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/e9e5791e517539d28ffb9091f7b2e4392c4806ea"},{"sha":"a7e8e2aad575459dd9ec18c2fa71279e34d969fc","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Validate with the new public DSA key, not the old one","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/a7e8e2aad575459dd9ec18c2fa71279e34d969fc"},{"sha":"6ca90a8c114f44ddfdae46277af94d8a700b34ae","author":{"email":"0d2ad7f0251699e899089bdeb00b02456231001d@gmail.com","name":"Zorg"},"message":"Clarification that DSA keys differ or are absent","distinct":true,"url":"https://api.github.com/repos/bewebste/Sparkle/commits/6ca90a8c114f44ddfdae46277af94d8a700b34ae"}]}