From ea833752389ead349d1a796bc9b87757d095ab6e Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Sun, 14 Sep 2008 21:39:16 +0000 Subject: [PATCH] Sparkle 1.5 requires signing of the update --- Transmission.xcodeproj/project.pbxproj | 4 ++++ macosx/Info.plist.in | 2 ++ macosx/appcast/appcast.xml | 10 ++++++++-- macosx/appcast/sparkle_sign_update.rb | 7 +++++++ macosx/sparkle_dsa_pub.pem | 20 ++++++++++++++++++++ 5 files changed, 41 insertions(+), 2 deletions(-) create mode 100755 macosx/appcast/sparkle_sign_update.rb create mode 100644 macosx/sparkle_dsa_pub.pem diff --git a/Transmission.xcodeproj/project.pbxproj b/Transmission.xcodeproj/project.pbxproj index 85be7fef2..52b41d273 100644 --- a/Transmission.xcodeproj/project.pbxproj +++ b/Transmission.xcodeproj/project.pbxproj @@ -94,6 +94,7 @@ A22E59A70DC11A1D00F4BE15 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A29EBE700DC06068006CEE80 /* libcurl.dylib */; }; A22E59A80DC11A1F00F4BE15 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A29EBE700DC06068006CEE80 /* libcurl.dylib */; }; A22E59A90DC11A2000F4BE15 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A29EBE700DC06068006CEE80 /* libcurl.dylib */; }; + A22F1E550E7DA8030065DB9D /* sparkle_dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = A22F1E540E7DA8030065DB9D /* sparkle_dsa_pub.pem */; }; A231274C0D11D0B7003F9AFF /* AboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = A231274B0D11D0B7003F9AFF /* AboutWindow.xib */; }; A232D29E0A70903E00973B12 /* Filter.png in Resources */ = {isa = PBXBuildFile; fileRef = A232D29D0A70903E00973B12 /* Filter.png */; }; A233BD330D8C6585007EE7B4 /* MessageWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = A233BD320D8C6585007EE7B4 /* MessageWindow.xib */; }; @@ -510,6 +511,7 @@ A2265F400B5EF5F40093DDA5 /* FileNameCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = FileNameCell.m; path = macosx/FileNameCell.m; sourceTree = ""; }; A22D3AA30D00D1790079CFED /* Turtle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Turtle.png; path = macosx/Images/Turtle.png; sourceTree = ""; }; A22D3AA40D00D1790079CFED /* TurtleBlue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TurtleBlue.png; path = macosx/Images/TurtleBlue.png; sourceTree = ""; }; + A22F1E540E7DA8030065DB9D /* sparkle_dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = sparkle_dsa_pub.pem; path = macosx/sparkle_dsa_pub.pem; sourceTree = ""; }; A231274B0D11D0B7003F9AFF /* AboutWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = AboutWindow.xib; path = macosx/AboutWindow.xib; sourceTree = ""; }; A232D29D0A70903E00973B12 /* Filter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Filter.png; path = macosx/Images/Filter.png; sourceTree = ""; }; A233BD320D8C6585007EE7B4 /* MessageWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MessageWindow.xib; path = macosx/MessageWindow.xib; sourceTree = ""; }; @@ -1022,6 +1024,7 @@ A250EE800E2ED87B00A688E6 /* web */, 4DE5CCCA0981D9BE00BE280E /* Defaults.plist */, 8D1107310486CEB800E47090 /* Info.plist */, + A22F1E540E7DA8030065DB9D /* sparkle_dsa_pub.pem */, 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, A23F50000D1D99D7002FCB97 /* MainMenu.xib */, A23F4FF00D1D98AD002FCB97 /* PrefsWindow.xib */, @@ -1845,6 +1848,7 @@ A2C0C5030E02CB6100D95339 /* Remote.png in Resources */, A2CB38AF0E1E6896002B514C /* COPYING in Resources */, A250EEB60E2ED87B00A688E6 /* web in Resources */, + A22F1E550E7DA8030065DB9D /* sparkle_dsa_pub.pem in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/macosx/Info.plist.in b/macosx/Info.plist.in index 9ce8c1510..96528f897 100644 --- a/macosx/Info.plist.in +++ b/macosx/Info.plist.in @@ -67,6 +67,8 @@ SUFeedURL http://www.transmissionbt.com/appcast.xml + SUPublicDSAKeyFile + sparkle_dsa_pub.pem SUScheduledCheckInterval 86400 diff --git a/macosx/appcast/appcast.xml b/macosx/appcast/appcast.xml index ef20e7366..24ba90f81 100644 --- a/macosx/appcast/appcast.xml +++ b/macosx/appcast/appcast.xml @@ -9,10 +9,16 @@ Wed, 20 Aug 2008 23:44:00 -0400 - Transmission 1.32 + Transmission 1.33 http://www.transmissionbt.com/appcast/releasenotes.html Wed, 20 Aug 2008 23:44:00 -0400 - + diff --git a/macosx/appcast/sparkle_sign_update.rb b/macosx/appcast/sparkle_sign_update.rb new file mode 100755 index 000000000..6d03e2ef0 --- /dev/null +++ b/macosx/appcast/sparkle_sign_update.rb @@ -0,0 +1,7 @@ +#!/usr/bin/ruby +if ARGV.length < 2 + puts "Usage: ruby sign_update.rb update_archive private_key" + exit +end + +puts `openssl dgst -sha1 -binary < "#{ARGV[0]}" | openssl dgst -dss1 -sign "#{ARGV[1]}" | openssl enc -base64` \ No newline at end of file diff --git a/macosx/sparkle_dsa_pub.pem b/macosx/sparkle_dsa_pub.pem new file mode 100644 index 000000000..8fdcc65af --- /dev/null +++ b/macosx/sparkle_dsa_pub.pem @@ -0,0 +1,20 @@ +-----BEGIN PUBLIC KEY----- +MIIDOjCCAi0GByqGSM44BAEwggIgAoIBAQDCmwiukT/0+w4njL6UQlOQhZFpMJ8Z +S5kAJgtjxPcjO1mqZXsj8LdZ1ivH5rgJCy47M0l0Jc5Sij4FzhDDF+qnWv6IN1Gh +YTHjk1jd58FzDufA+CU9awrqfHasW5RioRAyOxDgLFMvDIvSju1NgMdS6we6W8uF +bWzTaKymVghP2Czt4OtxBMuC472lLV4oPB0U7iPrD1+yvuqydToGJrnWaC2jepo1 +RJNSHDxFP0nA7LKIvfGL9svh6oWc9vIxtVtiXQHIaF1DQeUbvtwfdqxRyj59LqaN +142ws0+KSf1PkjbzFvgStZc4qZpgxp5ngu1Kom2ApHgcF4u3fY31YTfBAhUAmNY5 +g9wXM/sXQpsr3XEDc/8ly40CggEAZKKAEYCuqU34iPllcsgrvBhjjcet8KPbQwFf +rlJYicLo6TVJ+iY5fyGDA7+ebxuh+9GSrGOp9Iwo2fsVg4NOR1XhYVj79Iq8HVRZ +4mCX3mttD9gUOLfAjEDhsrQXwZOIHbybM90URjoDlNdJqeTegdmeL+h0ziNUWfVx +fH+t1IXnoZDWciDr7+M8P9mXcvRZjWDJ1YUPg5R0ySbpQo23kArSSixtsM9Htehy +/OANLXXTx/51wnK/u9HEA6/LqOwLHZCa33IFvYB9AbrruWeKxij75Q3tZAVRTmLd +jleGwCAiPYlgBmm+qulnLsre0VBSOuwlRlzL7qo1Zy9kaxCgQQOCAQUAAoIBAG0w +T5MaX3ssKUytA3/ql/KymeyG4aVFi91+kcVduNyzv4TOYEUb5gXO163xi8nPmzjI +SrL21ecRGSrN57U53X5P8+LsnGdDImcFKCoY6LGKKyR32pr9RcYbWAKekerQbkSD +1erDUyJCGXXHNLN/2mNU7F2ymwspQHa5c1DHOzrld/sPtytJ1wi4EiheG120Vol9 +FTErwQZFN9kIzRRzuSc79Sst3l/xa/0DDED43dWrYFDjFvnwlFzLaqez5m36zsgU +mNHCHMpMsX7FZygechDZZHbpt3+nwbJhHA9M7mT3/t+3WisKQmAr1fPRjBW2TO9y +axbAM9DuXJx0wpksCLA= +-----END PUBLIC KEY-----