adium 5601:c9616aa9add5: Merged adium-1.6 into default.
commits at adium.im
commits at adium.im
Wed Jun 26 10:23:47 UTC 2013
details: http://hg.adium.im/adium/rev/c9616aa9add5
revision: 5601:c9616aa9add5
branch: (none)
author: Thijs Alkemade <me at thijsalkema.de>
date: Wed Jun 26 12:23:10 2013 +0200
Merged adium-1.6 into default.
diffs (truncated from 1784 to 1000 lines):
diff -r 04bacccdbf87 -r c9616aa9add5 Frameworks/Adium Framework/Resources/TextAndButtonsWindow.xib
--- a/Frameworks/Adium Framework/Resources/TextAndButtonsWindow.xib Wed Jun 26 12:13:40 2013 +0200
+++ b/Frameworks/Adium Framework/Resources/TextAndButtonsWindow.xib Wed Jun 26 12:23:10 2013 +0200
@@ -2,25 +2,25 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">11D50b</string>
- <string key="IBDocument.InterfaceBuilderVersion">2182</string>
- <string key="IBDocument.AppKitVersion">1138.32</string>
- <string key="IBDocument.HIToolboxVersion">568.00</string>
+ <string key="IBDocument.SystemVersion">12D78</string>
+ <string key="IBDocument.InterfaceBuilderVersion">3084</string>
+ <string key="IBDocument.AppKitVersion">1187.37</string>
+ <string key="IBDocument.HIToolboxVersion">626.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">2182</string>
+ <string key="NS.object.0">3084</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
- <string>NSView</string>
- <string>NSScroller</string>
- <string>NSScrollView</string>
- <string>NSWindowTemplate</string>
- <string>NSTextView</string>
+ <string>NSButton</string>
<string>NSButtonCell</string>
+ <string>NSCustomObject</string>
<string>NSImageCell</string>
<string>NSImageView</string>
- <string>NSButton</string>
- <string>NSCustomObject</string>
+ <string>NSScrollView</string>
+ <string>NSScroller</string>
+ <string>NSTextView</string>
+ <string>NSView</string>
+ <string>NSWindowTemplate</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -42,7 +42,7 @@
<object class="NSWindowTemplate" id="666209776">
<int key="NSWindowStyleMask">7</int>
<int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{12, 725}, {420, 131}}</string>
+ <string key="NSWindowRect">{{855, 483}, {420, 131}}</string>
<int key="NSWTFlags">1618477056</int>
<string key="NSWindowTitle"/>
<string key="NSWindowClass">NSWindow</string>
@@ -52,7 +52,7 @@
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{94, 7}</string>
<object class="NSView" key="NSWindowView" id="804687557">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="206213576">
@@ -60,9 +60,11 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{224, 12}, {90, 32}}</string>
<reference key="NSSuperview" ref="804687557"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="67677223"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="884421962">
- <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Cancel</string>
<object class="NSFont" key="NSSupport" id="619923228">
@@ -71,7 +73,7 @@
<int key="NSfFlags">1558</int>
</object>
<reference key="NSControlView" ref="206213576"/>
- <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags">-2038284288</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="619923228"/>
<string key="NSAlternateContents"/>
@@ -79,20 +81,23 @@
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSButton" id="724795384">
<reference key="NSNextResponder" ref="804687557"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{98, 12}, {90, 32}}</string>
<reference key="NSSuperview" ref="804687557"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="206213576"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="154746717">
- <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">No</string>
<reference key="NSSupport" ref="619923228"/>
<reference key="NSControlView" ref="724795384"/>
- <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags">-2038284288</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="619923228"/>
<string key="NSAlternateContents"/>
@@ -102,20 +107,23 @@
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSButton" id="67677223">
<reference key="NSNextResponder" ref="804687557"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{312, 12}, {90, 32}}</string>
<reference key="NSSuperview" ref="804687557"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="222422940">
- <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Yes</string>
<reference key="NSSupport" ref="619923228"/>
<reference key="NSControlView" ref="67677223"/>
- <int key="NSButtonFlags">-2035924737</int>
+ <int key="NSButtonFlags">-2035924992</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="619923228"/>
<string key="NSAlternateContents"/>
@@ -125,6 +133,7 @@
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSImageView" id="664450443">
<reference key="NSNextResponder" ref="804687557"/>
@@ -144,9 +153,11 @@
</set>
<string key="NSFrame">{{24, 51}, {64, 64}}</string>
<reference key="NSSuperview" ref="804687557"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="473831366"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="46445738">
- <int key="NSCellFlags">130560</int>
+ <int key="NSCellFlags">134217728</int>
<int key="NSCellFlags2">33554432</int>
<object class="NSCustomResource" key="NSContents">
<string key="NSClassName">NSImage</string>
@@ -157,6 +168,7 @@
<int key="NSStyle">0</int>
<bool key="NSAnimates">NO</bool>
</object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<bool key="NSEditable">NO</bool>
</object>
<object class="NSScrollView" id="469263123">
@@ -185,6 +197,8 @@
</set>
<string key="NSFrameSize">{296, 15}</string>
<reference key="NSSuperview" ref="635900321"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="837234664"/>
<object class="NSTextContainer" key="NSTextContainer" id="1062677528">
<object class="NSLayoutManager" key="NSLayoutManager">
<object class="NSTextStorage" key="NSTextStorage">
@@ -210,7 +224,7 @@
<array class="NSMutableArray" key="NSTextContainers">
<reference ref="1062677528"/>
</array>
- <int key="NSLMFlags">6</int>
+ <int key="NSLMFlags">38</int>
<nil key="NSDelegate"/>
</object>
<reference key="NSTextView" ref="756387554"/>
@@ -218,7 +232,7 @@
<int key="NSTCFlags">1</int>
</object>
<object class="NSTextViewSharedData" key="NSSharedData">
- <int key="NSFlags">100666337</int>
+ <int key="NSFlags">67111905</int>
<int key="NSTextCheckingTypes">0</int>
<nil key="NSMarkedAttributes"/>
<object class="NSColor" key="NSBackgroundColor" id="724447651">
@@ -268,6 +282,7 @@
</array>
<string key="NSFrameSize">{296, 15}</string>
<reference key="NSSuperview" ref="469263123"/>
+ <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="756387554"/>
<reference key="NSDocView" ref="756387554"/>
<reference key="NSBGColor" ref="724447651"/>
@@ -302,6 +317,9 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {15, 40}}</string>
<reference key="NSSuperview" ref="469263123"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="972516650"/>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<reference key="NSTarget" ref="469263123"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1</double>
@@ -311,6 +329,9 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
<reference key="NSSuperview" ref="469263123"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="635900321"/>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="469263123"/>
<string key="NSAction">_doScroller:</string>
@@ -320,11 +341,15 @@
</array>
<string key="NSFrame">{{104, 76}, {296, 15}}</string>
<reference key="NSSuperview" ref="804687557"/>
- <reference key="NSNextKeyView" ref="635900321"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1014865810"/>
<int key="NSsFlags">133120</int>
<reference key="NSVScroller" ref="1014865810"/>
<reference key="NSHScroller" ref="972516650"/>
<reference key="NSContentView" ref="635900321"/>
+ <double key="NSMinMagnification">0.25</double>
+ <double key="NSMaxMagnification">4</double>
+ <double key="NSMagnification">1</double>
</object>
<object class="NSScrollView" id="473831366">
<reference key="NSNextResponder" ref="804687557"/>
@@ -352,6 +377,8 @@
</set>
<string key="NSFrameSize">{296, 16}</string>
<reference key="NSSuperview" ref="546717"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="469263123"/>
<object class="NSTextContainer" key="NSTextContainer" id="954916342">
<object class="NSLayoutManager" key="NSLayoutManager">
<object class="NSTextStorage" key="NSTextStorage">
@@ -375,7 +402,7 @@
<array class="NSMutableArray" key="NSTextContainers">
<reference ref="954916342"/>
</array>
- <int key="NSLMFlags">6</int>
+ <int key="NSLMFlags">38</int>
<nil key="NSDelegate"/>
</object>
<reference key="NSTextView" ref="917237317"/>
@@ -383,7 +410,7 @@
<int key="NSTCFlags">1</int>
</object>
<object class="NSTextViewSharedData" key="NSSharedData">
- <int key="NSFlags">100666336</int>
+ <int key="NSFlags">67111904</int>
<int key="NSTextCheckingTypes">0</int>
<nil key="NSMarkedAttributes"/>
<reference key="NSBackgroundColor" ref="724447651"/>
@@ -408,6 +435,7 @@
</array>
<string key="NSFrameSize">{296, 16}</string>
<reference key="NSSuperview" ref="473831366"/>
+ <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="917237317"/>
<reference key="NSDocView" ref="917237317"/>
<reference key="NSBGColor" ref="724447651"/>
@@ -422,6 +450,9 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {15, 40}}</string>
<reference key="NSSuperview" ref="473831366"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="469258289"/>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<reference key="NSTarget" ref="473831366"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1</double>
@@ -431,6 +462,9 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
<reference key="NSSuperview" ref="473831366"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="546717"/>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="473831366"/>
<string key="NSAction">_doScroller:</string>
@@ -440,20 +474,26 @@
</array>
<string key="NSFrame">{{104, 99}, {296, 16}}</string>
<reference key="NSSuperview" ref="804687557"/>
- <reference key="NSNextKeyView" ref="546717"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="337293416"/>
<int key="NSsFlags">133120</int>
<reference key="NSVScroller" ref="337293416"/>
<reference key="NSHScroller" ref="469258289"/>
<reference key="NSContentView" ref="546717"/>
+ <double key="NSMinMagnification">0.25</double>
+ <double key="NSMaxMagnification">4</double>
+ <double key="NSMagnification">1</double>
</object>
<object class="NSButton" id="837234664">
<reference key="NSNextResponder" ref="804687557"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{107, 52}, {295, 18}}</string>
<reference key="NSSuperview" ref="804687557"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="724795384"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="279941262">
- <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags">-2080374784</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">awefweff</string>
<object class="NSFont" key="NSSupport">
@@ -462,7 +502,7 @@
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="837234664"/>
- <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags">1211912448</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage">
<string key="NSClassName">NSImage</string>
@@ -476,11 +516,15 @@
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
</array>
<string key="NSFrameSize">{420, 131}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="664450443"/>
</object>
- <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
+ <string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
<string key="NSMinSize">{94, 29}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
@@ -914,6 +958,8 @@
<string key="66.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="67.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="71.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES" key="72.IBNSWindowAutoPositionCentersHorizontal"/>
+ <boolean value="YES" key="72.IBNSWindowAutoPositionCentersVertical"/>
<string key="72.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="72.IBWindowTemplateEditedContentRect">{{198, 749}, {420, 131}}</string>
<string key="73.CustomClassName">AILocalizationButton</string>
@@ -1048,6 +1094,24 @@
<string key="minorKey">./Classes/ESTextAndButtonsWindowController.h</string>
</object>
</object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">selectServiceType:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">selectServiceType:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">selectServiceType:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/NSObject.h</string>
+ </object>
+ </object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
diff -r 04bacccdbf87 -r c9616aa9add5 Plugins/Purple Service/AIPurpleCertificateTrustWarningAlert.m
--- a/Plugins/Purple Service/AIPurpleCertificateTrustWarningAlert.m Wed Jun 26 12:13:40 2013 +0200
+++ b/Plugins/Purple Service/AIPurpleCertificateTrustWarningAlert.m Wed Jun 26 12:23:10 2013 +0200
@@ -20,8 +20,6 @@
//#define ALWAYS_SHOW_TRUST_WARNING
-static NSMutableDictionary *acceptedCertificates = nil;
-
@interface AIPurpleCertificateTrustWarningAlert ()
- (id)initWithAccount:(AIAccount*)account
hostname:(NSString*)hostname
@@ -33,10 +31,6 @@
- (void)certificateTrustSheetDidEnd:(SFCertificateTrustPanel *)trustpanel returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
@end
- at interface SFCertificateTrustPanel (SecretsIKnow)
-- (void)setInformativeText:(NSString *)inString;
- at end
-
@implementation AIPurpleCertificateTrustWarningAlert
+ (void)displayTrustWarningAlertWithAccount:(AIAccount *)account
@@ -73,8 +67,6 @@
userData:(void*)ud
{
if((self = [super init])) {
- if(!acceptedCertificates)
- acceptedCertificates = [[NSMutableDictionary alloc] init];
query_cert_cb = _query_cert_cb;
certificates = certs;
@@ -97,23 +89,6 @@
OSStatus err;
SecPolicyRef policyRef;
- CFDataRef data = SecCertificateCopyData((SecCertificateRef)CFArrayGetValueAtIndex(certificates, 0));
- if (data) {
- // Did we ask the user to confirm this certificate before?
- // Note that this information is not stored on the disk, which is on purpose.
- NSUInteger oldCertHash = [[acceptedCertificates objectForKey:hostname] unsignedIntegerValue];
- if (oldCertHash) {
- NSUInteger newCertHash = [(__bridge NSData *)data hash];
-
- if (oldCertHash == newCertHash) {
- CFRelease(data);
- query_cert_cb(true, userdata);
- return;
- }
- }
- CFRelease(data);
- }
-
NSAssert( UINT_MAX > [hostname length],
@"More string data than libpurple can handle. Abort." );
@@ -196,17 +171,10 @@
// CSSM_TP_APPLE_EVIDENCE_INFO *statusChain;
// err = SecTrustGetResult(trustRef, &result, &certChain, &statusChain);
- NSString *title;
+ NSString *title = [NSString stringWithFormat:AILocalizedString(@"Adium can't verify the identity of \"%@\".", nil), hostname];
+
NSString *informativeText = [NSString stringWithFormat:AILocalizedString(@"The certificate of the server %@ is not trusted, which means that the server's identity cannot be automatically verified. Do you want to continue connecting?\n\nFor more information, click \"Show Certificate\".",nil), hostname];
- if ([trustPanel respondsToSelector:@selector(setInformativeText:)]) {
- [trustPanel setInformativeText:informativeText];
- title = [NSString stringWithFormat:AILocalizedString(@"Adium can't verify the identity of \"%@\".", nil), hostname];
- } else {
- /* We haven't seen a version of SFCertificateTrustPanel which doesn't respond to setInformativeText:, but we're using a private
- * call found via class-dump, so have a sane backup strategy in case it changes.
- */
- title = informativeText;
- }
+ [trustPanel setInformativeText:informativeText];
[trustPanel setAlternateButtonTitle:AILocalizedString(@"Cancel",nil)];
[trustPanel setShowsHelp:YES];
@@ -222,7 +190,7 @@
didEndSelector:@selector(certificateTrustSheetDidEnd:returnCode:contextInfo:)
contextInfo:(__bridge void *)window
trust:trustRef
- message:title];
+ message:title];
}
@@ -236,18 +204,7 @@
NSWindow *parentWindow = (__bridge NSWindow *)contextInfo;
query_cert_cb(didTrustCerficate, userdata);
- /* If the user confirmed this cert, we store this information until the app is closed so the user doesn't have to re-confirm it every time
- * (doing otherwise might be particularily annoying on auto-reconnect)
- */
- if (didTrustCerficate) {
- CFDataRef data = SecCertificateCopyData((SecCertificateRef)CFArrayGetValueAtIndex(certificates, 0));
- if(data) {
- [acceptedCertificates setObject:[NSNumber numberWithUnsignedInteger:[(__bridge NSData *)data hash]]
- forKey:hostname];
- CFRelease(data);
- }
- }
-
+
[parentWindow performClose:nil];
}
diff -r 04bacccdbf87 -r c9616aa9add5 Plugins/Purple Service/CBPurpleAccount.m
--- a/Plugins/Purple Service/CBPurpleAccount.m Wed Jun 26 12:13:40 2013 +0200
+++ b/Plugins/Purple Service/CBPurpleAccount.m Wed Jun 26 12:23:10 2013 +0200
@@ -33,6 +33,7 @@
#import <Adium/AIContactControllerProtocol.h>
#import <Adium/AIContentControllerProtocol.h>
#import <Adium/AIStatusControllerProtocol.h>
+#import <Adium/ESTextAndButtonsWindowController.h>
#import <AIUtilities/AIAttributedStringAdditions.h>
#import <AIUtilities/AIDictionaryAdditions.h>
#import <AIUtilities/AIMenuAdditions.h>
@@ -2847,7 +2848,7 @@
[menuItemArray addObject:[NSMenuItem separatorItem]];
}
- NSMenuItem *showCertificateMenuItem = [[NSMenuItem alloc] initWithTitle:AILocalizedString(@"Show Server Certificate",nil)
+ NSMenuItem *showCertificateMenuItem = [[NSMenuItem alloc] initWithTitle:AILocalizedString(@"Show Encryption Details",nil)
target:self
action:@selector(showServerCertificate)
keyEquivalent:@""];
@@ -2867,10 +2868,69 @@
{
CFArrayRef certificates = [[self purpleAdapter] copyServerCertificates:[self secureConnection]];
- [AIPurpleCertificateViewer displayCertificateChain:certificates forAccount:self];
+ SecCertificateRef root = NULL;
+
+ if (CFArrayGetCount(certificates) > 0) {
+ root = (SecCertificateRef)CFArrayGetValueAtIndex(certificates, CFArrayGetCount(certificates) - 1);
+ }
+
+ NSMutableAttributedString *details = [[NSMutableAttributedString alloc] init];
+
+ if (root) {
+ CFStringRef issuer;
+
+ SecCertificateCopyCommonName(root, &issuer);
+
+ if (CFArrayGetCount(certificates) == 1) {
+ [details appendString:[NSString stringWithFormat:AILocalizedString(@"The server uses a self-signed cetificate for %@.\n\n", nil),
+ (__bridge NSString *)issuer] withAttributes:@{}];
+ } else {
+ [details appendString:[NSString stringWithFormat:AILocalizedString(@"The server uses a cetificate issued by %@.\n\n", nil),
+ (__bridge NSString *)issuer] withAttributes:@{}];
+ }
+
+ CFRelease(issuer);
+ }
+
+ NSDictionary *cipherDetails = [[self purpleAdapter] getCipherDetails:[self secureConnection]];
+
+ if (cipherDetails) {
+ [details appendString:[NSString stringWithFormat:AILocalizedString(@"The connection is using %@ with %@ encryption, using %@ for message authentication and %@ key exchange.", nil),
+ [cipherDetails objectForKey:@"SSL Version"],
+ [cipherDetails objectForKey:@"Cipher Name"],
+ [cipherDetails objectForKey:@"MAC"],
+ [cipherDetails objectForKey:@"Key Exchange"]] withAttributes:@{}];
+ }
+
+ ESTextAndButtonsWindowController *detailsController = [[ESTextAndButtonsWindowController alloc] initWithTitle:AILocalizedString(@"Encryption Details", nil)
+ defaultButton:AILocalizedString(@"OK", nil)
+ alternateButton:AILocalizedString(@"Show Certificate", nil)
+ otherButton:nil
+ suppression:nil
+ withMessageHeader:[NSString stringWithFormat:AILocalizedString(@"Connection details for %@", nil), self.formattedUID]
+ andMessage:details
+ image:nil
+ target:self
+ userInfo:nil];
+ [detailsController showOnWindow:nil];
CFRelease(certificates);
}
+
+- (BOOL)textAndButtonsWindowDidEnd:(NSWindow *)window returnCode:(AITextAndButtonsReturnCode)returnCode suppression:(BOOL)suppression userInfo:(id)userInfo
+{
+ if (returnCode == AITextAndButtonsAlternateReturn) {
+ CFArrayRef certificates = [[self purpleAdapter] copyServerCertificates:[self secureConnection]];
+
+ [AIPurpleCertificateViewer displayCertificateChain:certificates
+ forAccount:self];
+
+ CFRelease(certificates);
+ }
+
+ return TRUE;
+}
+
#endif
//Action of a dynamically-generated contact menu item
diff -r 04bacccdbf87 -r c9616aa9add5 Plugins/Purple Service/ESIRCAccount.m
--- a/Plugins/Purple Service/ESIRCAccount.m Wed Jun 26 12:13:40 2013 +0200
+++ b/Plugins/Purple Service/ESIRCAccount.m Wed Jun 26 12:23:10 2013 +0200
@@ -371,6 +371,18 @@
return NO;
}
+- (PurpleSslConnection *)secureConnection {
+ // this is really ugly
+ PurpleConnection *gc = purple_account_get_connection(self.purpleAccount);
+
+ return ((gc && gc->proto_data) ? ((struct irc_conn*)purple_account_get_connection(self.purpleAccount)->proto_data)->gsc : NULL);
+}
+
+- (BOOL)encrypted
+{
+ return (self.online && [self secureConnection]);
+}
+
#pragma mark Server contacts (NickServ, ChanServ)
/*!
* @brief Sends a raw command to identify for the nickname
diff -r 04bacccdbf87 -r c9616aa9add5 Plugins/Purple Service/ESPurpleJabberAccount.h
--- a/Plugins/Purple Service/ESPurpleJabberAccount.h Wed Jun 26 12:13:40 2013 +0200
+++ b/Plugins/Purple Service/ESPurpleJabberAccount.h Wed Jun 26 12:23:10 2013 +0200
@@ -47,7 +47,5 @@
- (NSString *)serverSuffix;
- (NSString *)resourceName;
- (AMPurpleJabberAdHocServer*)adhocServer;
-- (void)setShouldVerifyCertificates:(BOOL)yesOrNo;
-- (BOOL)shouldVerifyCertificates;
@end
diff -r 04bacccdbf87 -r c9616aa9add5 Plugins/Purple Service/ESPurpleJabberAccount.m
--- a/Plugins/Purple Service/ESPurpleJabberAccount.m Wed Jun 26 12:13:40 2013 +0200
+++ b/Plugins/Purple Service/ESPurpleJabberAccount.m Wed Jun 26 12:23:10 2013 +0200
@@ -445,8 +445,7 @@
{
AIReconnectDelayType shouldAttemptReconnect = [super shouldAttemptReconnectAfterDisconnectionError:disconnectionError];
- if (([self lastDisconnectionReason] == PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR) &&
- ([self shouldVerifyCertificates])) {
+ if (([self lastDisconnectionReason] == PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR)) {
shouldAttemptReconnect = AIReconnectNever;
} else if (!finishedConnectProcess && ![password length] &&
(disconnectionError &&
@@ -850,14 +849,6 @@
return ((gc && gc->proto_data) ? ((JabberStream*)purple_account_get_connection(self.purpleAccount)->proto_data)->gsc : NULL);
}
-- (void)setShouldVerifyCertificates:(BOOL)yesOrNo {
- [self setPreference:[NSNumber numberWithBool:yesOrNo] forKey:KEY_JABBER_VERIFY_CERTS group:GROUP_ACCOUNT_STATUS];
-}
-
-- (BOOL)shouldVerifyCertificates {
- return [[self preferenceForKey:KEY_JABBER_VERIFY_CERTS group:GROUP_ACCOUNT_STATUS] boolValue];
-}
-
- (NSArray *)accountActionMenuItems {
AILog(@"Getting accountActionMenuItems for %@",self);
NSMutableArray *menu = [[NSMutableArray alloc] init];
diff -r 04bacccdbf87 -r c9616aa9add5 Plugins/Purple Service/Resources/en.lproj/ESPurpleJabberAccountView.xib
--- a/Plugins/Purple Service/Resources/en.lproj/ESPurpleJabberAccountView.xib Wed Jun 26 12:13:40 2013 +0200
+++ b/Plugins/Purple Service/Resources/en.lproj/ESPurpleJabberAccountView.xib Wed Jun 26 12:23:10 2013 +0200
@@ -2,10 +2,10 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">12C60</string>
+ <string key="IBDocument.SystemVersion">12D78</string>
<string key="IBDocument.InterfaceBuilderVersion">3084</string>
- <string key="IBDocument.AppKitVersion">1187.34</string>
- <string key="IBDocument.HIToolboxVersion">625.00</string>
+ <string key="IBDocument.AppKitVersion">1187.37</string>
+ <string key="IBDocument.HIToolboxVersion">626.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">3084</string>
@@ -229,14 +229,15 @@
<string key="NSExtension">NSResponder</string>
</object>
<object class="NSCustomView" id="881248978">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="611926856">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{160, 113}, {212, 18}}</string>
+ <string key="NSFrame">{{160, 97}, {212, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="685121442">
<int key="NSCellFlags">67108864</int>
@@ -258,8 +259,9 @@
<object class="NSButton" id="1069823102">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{160, 93}, {143, 18}}</string>
+ <string key="NSFrame">{{160, 77}, {143, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="866512058">
<int key="NSCellFlags">67108864</int>
@@ -281,8 +283,9 @@
<object class="NSButton" id="767871570">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{160, 160}, {211, 18}}</string>
+ <string key="NSFrame">{{160, 144}, {211, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="355466928">
<int key="NSCellFlags">67108864</int>
@@ -304,8 +307,9 @@
<object class="NSTextField" id="23953802">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{162, 283}, {240, 22}}</string>
+ <string key="NSFrame">{{162, 267}, {240, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="557983517">
<int key="NSCellFlags">-1804599231</int>
@@ -322,8 +326,9 @@
<object class="NSTextField" id="795157005">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{17, 285}, {140, 17}}</string>
+ <string key="NSFrame">{{17, 269}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1046731873">
<int key="NSCellFlags">67108864</int>
@@ -339,8 +344,9 @@
<object class="NSTextField" id="993950755">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{162, 311}, {240, 22}}</string>
+ <string key="NSFrame">{{162, 295}, {240, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="897297612">
<int key="NSCellFlags">-1804599231</int>
@@ -357,8 +363,9 @@
<object class="NSTextField" id="416544706">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{17, 313}, {140, 17}}</string>
+ <string key="NSFrame">{{17, 297}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="675922156">
<int key="NSCellFlags">67108864</int>
@@ -374,8 +381,9 @@
<object class="NSTextField" id="223022732">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{162, 253}, {240, 22}}</string>
+ <string key="NSFrame">{{162, 237}, {240, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="483716033">
<int key="NSCellFlags">-1804599231</int>
@@ -392,8 +400,9 @@
<object class="NSTextField" id="1071692987">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{17, 255}, {140, 17}}</string>
+ <string key="NSFrame">{{17, 239}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="275398507">
<int key="NSCellFlags">67108864</int>
@@ -409,8 +418,9 @@
<object class="NSTextField" id="979941359">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{329, 223}, {73, 22}}</string>
+ <string key="NSFrame">{{329, 207}, {73, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="474262400">
<int key="NSCellFlags">-1804599231</int>
@@ -427,8 +437,9 @@
<object class="NSTextField" id="198507305">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{286, 225}, {38, 17}}</string>
+ <string key="NSFrame">{{286, 209}, {38, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="937801845">
<int key="NSCellFlags">67108864</int>
@@ -444,8 +455,9 @@
<object class="NSTextField" id="56382938">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{162, 223}, {119, 22}}</string>
+ <string key="NSFrame">{{162, 207}, {119, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="27008867">
<int key="NSCellFlags">-1804599231</int>
@@ -462,8 +474,9 @@
<object class="NSTextField" id="164156726">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{17, 225}, {140, 17}}</string>
+ <string key="NSFrame">{{17, 209}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="820922822">
<int key="NSCellFlags">67108864</int>
@@ -479,8 +492,9 @@
<object class="NSTextField" id="1036357624">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{17, 161}, {140, 17}}</string>
+ <string key="NSFrame">{{17, 145}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="260175574">
<int key="NSCellFlags">67108864</int>
@@ -496,8 +510,9 @@
<object class="NSTextField" id="835653998">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{17, 114}, {140, 17}}</string>
+ <string key="NSFrame">{{17, 98}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="230227050">
<int key="NSCellFlags">67108864</int>
@@ -513,8 +528,9 @@
<object class="NSTextField" id="909698960">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{43, 192}, {114, 17}}</string>
+ <string key="NSFrame">{{43, 176}, {114, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1007024952">
<int key="NSCellFlags">67108864</int>
@@ -530,8 +546,9 @@
<object class="NSTextField" id="348268130">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{162, 189}, {61, 23}}</string>
+ <string key="NSFrame">{{162, 173}, {61, 23}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1041524998">
<int key="NSCellFlags">-1804599231</int>
@@ -548,8 +565,9 @@
<object class="NSTextField" id="463018609">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{233, 192}, {91, 17}}</string>
+ <string key="NSFrame">{{233, 176}, {91, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="277652672">
<int key="NSCellFlags">67108864</int>
@@ -565,8 +583,9 @@
<object class="NSTextField" id="400793057">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{329, 188}, {73, 24}}</string>
+ <string key="NSFrame">{{329, 172}, {73, 24}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="481365549">
<int key="NSCellFlags">-1804599231</int>
@@ -583,8 +602,9 @@
<object class="NSPopUpButton" id="86797681">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{159, 23}, {198, 26}}</string>
+ <string key="NSFrame">{{159, 27}, {198, 26}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="686819324">
<int key="NSCellFlags">-2080374720</int>
@@ -673,8 +693,9 @@
<object class="NSTextField" id="129057903">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{1, 29}, {156, 17}}</string>
+ <string key="NSFrame">{{1, 33}, {156, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="21353665">
<int key="NSCellFlags">67108864</int>
@@ -690,8 +711,9 @@
<object class="NSTextField" id="520236742">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{68, 2}, {142, 17}}</string>
+ <string key="NSFrame">{{68, 6}, {142, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="414517125">
<int key="NSCellFlags">67108864</int>
@@ -707,8 +729,9 @@
<object class="NSComboBox" id="71054177">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">266</int>
- <string key="NSFrame">{{215, -3}, {190, 26}}</string>
+ <string key="NSFrame">{{215, 1}, {190, 26}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSComboBoxCell" key="NSCell" id="863874436">
<int key="NSCellFlags">342884416</int>
@@ -806,8 +829,9 @@
<object class="NSButton" id="755212957">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{160, 73}, {143, 18}}</string>
+ <string key="NSFrame">{{160, 57}, {143, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="927025696">
<int key="NSCellFlags">67108864</int>
@@ -826,34 +850,12 @@
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
- <object class="NSButton" id="1011876758">
- <reference key="NSNextResponder" ref="881248978"/>
- <int key="NSvFlags">264</int>
- <string key="NSFrame">{{160, 53}, {244, 18}}</string>
- <reference key="NSSuperview" ref="881248978"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="883625994">
- <int key="NSCellFlags">67108864</int>
- <int key="NSCellFlags2">0</int>
- <string key="NSContents">Do strict certificate checks</string>
- <reference key="NSSupport" ref="745543233"/>
- <reference key="NSControlView" ref="1011876758"/>
- <int key="NSButtonFlags">1211912448</int>
- <int key="NSButtonFlags2">2</int>
- <reference key="NSNormalImage" ref="948923301"/>
- <reference key="NSAlternateImage" ref="10299655"/>
- <string key="NSAlternateContents"/>
- <string key="NSKeyEquivalent"/>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
- </object>
<object class="NSTextField" id="13153345">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{83, 138}, {74, 17}}</string>
+ <string key="NSFrame">{{83, 122}, {74, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="499131302">
<int key="NSCellFlags">68157504</int>
@@ -869,8 +871,9 @@
<object class="NSButton" id="753162121">
<reference key="NSNextResponder" ref="881248978"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{160, 137}, {188, 18}}</string>
+ <string key="NSFrame">{{160, 121}, {188, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="246744812">
<int key="NSCellFlags">67108864</int>
@@ -890,7 +893,9 @@
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
</array>
- <string key="NSFrameSize">{424, 333}</string>
+ <string key="NSFrameSize">{424, 317}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
<string key="NSClassName">NSView</string>
<string key="NSExtension">NSResponder</string>
</object>
@@ -1646,14 +1651,6 @@
<int key="connectionID">286</int>
</object>
<object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">checkBox_checkCertificates</string>
- <reference key="source" ref="393462939"/>
- <reference key="destination" ref="1011876758"/>
- </object>
- <int key="connectionID">330</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">changedPreference:</string>
<reference key="source" ref="393462939"/>
@@ -2093,7 +2090,6 @@
<reference ref="520236742"/>
More information about the commits
mailing list