From eae48c1a66607d736c09f46d044b7ec5ee65c43e Mon Sep 17 00:00:00 2001 From: Allan Odgaard Date: Sun, 23 Jun 2013 12:32:09 +0700 Subject: [PATCH] Add OS and program version to s/w update URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The server previously grabbed this from the user agent string but this is more fragile and doesn’t work with caching. --- Applications/TextMate/src/AppController.mm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Applications/TextMate/src/AppController.mm b/Applications/TextMate/src/AppController.mm index ff380171..bbc1fe0a 100644 --- a/Applications/TextMate/src/AppController.mm +++ b/Applications/TextMate/src/AppController.mm @@ -25,6 +25,7 @@ #import #import #import +#import #import #import #import @@ -249,12 +250,13 @@ BOOL HasDocumentWindow (NSArray* windows) [self newDocument:self]; SoftwareUpdate* swUpdate = [SoftwareUpdate sharedInstance]; + NSString* parms = [NSString stringWithFormat:@"v=%@&os=%zu.%zu.%zu", [[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], oak::os_major(), oak::os_minor(), oak::os_patch()]; [swUpdate setSignee:key_chain_t::key_t("org.textmate.duff", "Allan Odgaard", "-----BEGIN PUBLIC KEY-----\nMIIBtjCCASsGByqGSM44BAEwggEeAoGBAPIE9PpXPK3y2eBDJ0dnR/D8xR1TiT9m\n8DnPXYqkxwlqmjSShmJEmxYycnbliv2JpojYF4ikBUPJPuerlZfOvUBC99ERAgz7\nN1HYHfzFIxVo1oTKWurFJ1OOOsfg8AQDBDHnKpS1VnwVoDuvO05gK8jjQs9E5LcH\ne/opThzSrI7/AhUAy02E9H7EOwRyRNLofdtPxpa10o0CgYBKDfcBscidAoH4pkHR\nIOEGTCYl3G2Pd1yrblCp0nCCUEBCnvmrWVSXUTVa2/AyOZUTN9uZSC/Kq9XYgqwj\nhgzqa8h/a8yD+ao4q8WovwGeb6Iso3WlPl8waz6EAPR/nlUTnJ4jzr9t6iSH9owS\nvAmWrgeboia0CI2AH++liCDvigOBhAACgYAFWO66xFvmF2tVIB+4E7CwhrSi2uIk\ndeBrpmNcZZ+AVFy1RXJelNe/cZ1aXBYskn/57xigklpkfHR6DGqpEbm6KC/47Jfy\ny5GEx+F/eBWEePi90XnLinytjmXRmS2FNqX6D15XNG1xJfjociA8bzC7s4gfeTUd\nlpQkBq2z71yitA==\n-----END PUBLIC KEY-----\n")]; - [swUpdate setChannels:[NSDictionary dictionaryWithObjectsAndKeys: - [NSURL URLWithString:REST_API @"/releases/release"], kSoftwareUpdateChannelRelease, - [NSURL URLWithString:REST_API @"/releases/beta"], kSoftwareUpdateChannelBeta, - [NSURL URLWithString:REST_API @"/releases/nightly"], kSoftwareUpdateChannelNightly, - nil]]; + [swUpdate setChannels:@{ + kSoftwareUpdateChannelRelease : [NSURL URLWithString:[NSString stringWithFormat:REST_API @"/releases/release?%@", parms]], + kSoftwareUpdateChannelBeta : [NSURL URLWithString:[NSString stringWithFormat:REST_API @"/releases/beta?%@", parms]], + kSoftwareUpdateChannelNightly : [NSURL URLWithString:[NSString stringWithFormat:REST_API @"/releases/nightly?%@", parms]], + }]; [self userDefaultsDidChange:nil]; // setup mate/rmate server [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userDefaultsDidChange:) name:NSUserDefaultsDidChangeNotification object:[NSUserDefaults standardUserDefaults]];