Merge. adium-1.5.8 1.5.8
authorThijs Alkemade <me@thijsalkema.de>
Sun, 13 Oct 2013 12:11:49 +0200
branchadium-1.5.8
changeset 5706 e0467f507718
parent 5705 609fb8ff4d6b (current diff)
parent 5702 1d5d4f8fe66c (diff)
child 5707 7b00f56cad2c
Merge.
Plists/Info.plist
Release/Makefile
--- a/AdiumHelp/pgs/AdvancedFeatures-OTREncryption.html	Sun Oct 13 12:05:07 2013 +0200
+++ b/AdiumHelp/pgs/AdvancedFeatures-OTREncryption.html	Sun Oct 13 12:11:49 2013 +0200
@@ -17,7 +17,7 @@
 	<div id="pagetitle">
 		<h1>OTR encryption</h1>
 	</div>
-	<p><a href="http://www.cypherpunks.ca/otr/">Off-the-Record (OTR) Messaging</a> enables you to have private conversations over instant messaging. According to the OTR Development Team, it aims to provide the following:</p>
+	<p><a href="https://otr.cypherpunks.ca/">Off-the-Record (OTR) Messaging</a> enables you to have private conversations over instant messaging. According to the OTR Development Team, it aims to provide the following:</p>
 	<ul>
 		<li>"Encryption: No one else can read your instant messages."</li>
 		<li>"Authentication: You are assured the correspondent is who you think it is."</li>
--- a/AdiumHelp/pgs/Miscellaneous-AVSkypeSupport.html	Sun Oct 13 12:05:07 2013 +0200
+++ b/AdiumHelp/pgs/Miscellaneous-AVSkypeSupport.html	Sun Oct 13 12:11:49 2013 +0200
@@ -31,9 +31,10 @@
 			<h3>Skype support</h3>
 		</div>
 		<div class="taskboxtext">
-			<p>Yes and no.</p>
-			<p>Yes: The third-party <a href="http://xtras.adium.im/index.php?a=xtras&amp;xtra_id=5011">Skype Plugin</a> allows Adium to use the <a class="ext_link" href="https://developer.skype.com/Docs/ApiDoc">Skype API</a> to display your Skype contacts within Adium and let you chat with them via text-based instant messaging. By the nature of the Skype API, it requires that the Skype program be installed and running.</p>
-			<p>No: It's not supported natively within Adium (i.e., without a plugin). The library that we use to support most protocols, <a href="https://trac.adium.im/wiki/LibPurple">libpurple</a>, doesn't support Skype at all right now, not even for chat. Until it does Adium most likely won't, either.</p>
+			<p>Adium does not natively (i.e., without a plugin) support Skype.</p>
+			<p>However, there is an unofficial third-party <a href="http://xtras.adium.im/index.php?a=xtras&amp;xtra_id=5011">Skype Plugin</a> which allows Adium to use the <a class="ext_link" href="https://developer.skype.com/Docs/ApiDoc">Skype API</a> to display your Skype contacts within Adium and let you chat with them via text-based instant messaging. By the nature of the Skype API, it requires that the Skype program be installed and running.</p>
+			<p><strong>Why does Adium not officially support Skype?</strong></p>
+			<p>The library that we use to support most protocols, <a href="https://trac.adium.im/wiki/LibPurple">libpurple</a>, doesn't support Skype at all right now, not even for chat. Until it does Adium most likely won't, either.</p>
 			<p>Keep in mind that Skype is a proprietary, closed protocol, so it must be reverse-engineered before third-party clients like Pidgin and Adium can use it. Protocols like OSCAR (which AIM and ICQ are based on) and MSN have already been reverse-engineered, but they're much older than Skype, and reverse-engineering is hard. It will take a long time and won't happen at all unless someone chooses to take interest in it and dedicate significant time to the effort.</p>
 			<p><strong>What about the Skype API?</strong></p>
 			<p>Using the Skype API, as the Skype Plugin does, means that Skype must be running. We don't accept piggybacking on the official client as a substitute.</p>
--- a/ChangeLogs/Changes.txt	Sun Oct 13 12:05:07 2013 +0200
+++ b/ChangeLogs/Changes.txt	Sun Oct 13 12:11:49 2013 +0200
@@ -4,6 +4,10 @@
  * Changed the default tab switching shortcuts for new users to Control-Tab/Control-Shift-Tab, to match Safari. This was meant to be done for 1.5.4 but it did not work that time. (#16102)
  * XMPP: refer to XMPP as "XMPP (Jabber)". Unfortunately, just "XMPP" still has some potential for confusion. (#16435)
  * Fixed SIP accountnames to be case-sensitive. (Pete Woods) (#16237)
+ * Enabled a large number of TLS cipher suites, including ECC suites and suites new in TLS 1.2.
+ * Fix a problem causing Sametime login to fail. (Jonathan Rice) (#16345)
+ * Try to avoid Twitter's rate limiting causing Adium to go in a reconnection loop. (#16418)
+
 
 Version 1.5.7 (7/2/2013)
  * Updated Twitter support. (#16118)
@@ -18,11 +22,13 @@
    * Removed SSL_RSA_WITH_NULL_MD5 from the list of ciphers, as it doesn't use encryption.
    * Removed the caching of untrusted certificates, as the implementation would make it easy to replace it with a different certificate when reconnecting.
 
+
 Version 1.5.6 (3/18/2013)
  * Fixed a crash on startup on 10.6.8.
  * Fixed a crash when accepting or canceling the certificate verification dialog. (#16280)
  * Fixed a crash or hang when trying to use OTR on 32-bits Macs. (#16203)
 
+
 Version 1.5.5 (2/24/2013)
  * Updated libpurple to 2.10.7 fixing two security vulnerabilities.
  * Fixed "Add Link..." when the cursor is at the end of the line. (#16200)
Binary file Frameworks/Adium Framework/Resources/ca.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/cs.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/da.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/de.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/el_GR.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/en.lproj/Localizable.strings has changed
--- a/Frameworks/Adium Framework/Resources/en_AU.lproj/Localizable.strings	Sun Oct 13 12:05:07 2013 +0200
+++ b/Frameworks/Adium Framework/Resources/en_AU.lproj/Localizable.strings	Sun Oct 13 12:11:49 2013 +0200
@@ -80,7 +80,7 @@
 "Add To Address Book" = "Add To Address Book";
 
 /* No comment provided by engineer. */
-"Adium provides encryption, authentication, deniability, and perfect forward secrecy over %@ via Off-the-Record Messaging (OTR). If your contact is not using an OTR-compatible messaging system, your contact will be sent a link to the OTR web site when you attempt to connect. For more information on OTR, visit http://www.cypherpunks.ca/otr/." = "Adium provides encryption, authentication, deniability, and perfect forward secrecy over %@ via Off-the-Record Messaging (OTR). If your contact is not using an OTR-compatible messaging system, your contact will be sent a link to the OTR web site when you attempt to connect. For more information on OTR, visit http://www.cypherpunks.ca/otr/.";
+"Adium provides encryption, authentication, deniability, and perfect forward secrecy over %@ via Off-the-Record Messaging (OTR). If your contact is not using an OTR-compatible messaging system, your contact will be sent a link to the OTR web site when you attempt to connect. For more information on OTR, visit https://otr.cypherpunks.ca/." = "Adium provides encryption, authentication, deniability, and perfect forward secrecy over %@ via Off-the-Record Messaging (OTR). If your contact is not using an OTR-compatible messaging system, your contact will be sent a link to the OTR web site when you attempt to connect. For more information on OTR, visit https://otr.cypherpunks.ca/.";
 
 /* No comment provided by engineer. */
 "Alias:" = "Alias:";
Binary file Frameworks/Adium Framework/Resources/en_GB.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/es.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/fi.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/fr.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/fr_CA.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/hu.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/is.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/it.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/ja.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/nb.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/nl.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/pl.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/pt.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/pt_PT.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/ru.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/sk_SK.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/sl.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/sv.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/tr.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/uk.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/zh_CN.lproj/Localizable.strings has changed
Binary file Frameworks/Adium Framework/Resources/zh_TW.lproj/Localizable.strings has changed
--- a/Frameworks/Adium Framework/Source/AIAbstractAccount.h	Sun Oct 13 12:05:07 2013 +0200
+++ b/Frameworks/Adium Framework/Source/AIAbstractAccount.h	Sun Oct 13 12:11:49 2013 +0200
@@ -100,6 +100,7 @@
 
 //FUS Disconnecting
 - (void)autoReconnectAfterDelay:(NSTimeInterval)delay;
+- (double)minimumReconnectTime;
 - (void)cancelAutoReconnect;
 - (void)initFUSDisconnecting;
 
--- a/Frameworks/Adium Framework/Source/AIAbstractAccount.m	Sun Oct 13 12:05:07 2013 +0200
+++ b/Frameworks/Adium Framework/Source/AIAbstractAccount.m	Sun Oct 13 12:11:49 2013 +0200
@@ -1332,6 +1332,11 @@
 	return _contactProperties;
 }
 
+- (double)minimumReconnectTime
+{
+	return RECONNECT_MIN_TIME;
+}
+
 /*!
  * @brief Did disconnect
  */
@@ -1388,8 +1393,8 @@
 			double reconnectDelay = pow(RECONNECT_BASE_TIME, (double)reconnectAttemptsPerformed);
 			
 			// Make sure we're not going too fast
-			if (reconnectDelay < RECONNECT_MIN_TIME)
-				reconnectDelay = RECONNECT_MIN_TIME;
+			if (reconnectDelay < [self minimumReconnectTime])
+				reconnectDelay = [self minimumReconnectTime];
 			// Or too slow
 			else if (reconnectDelay > RECONNECT_MAX_TIME)
 				reconnectDelay = RECONNECT_MAX_TIME;
--- a/Frameworks/Adium Framework/Source/AIAccount.m	Sun Oct 13 12:05:07 2013 +0200
+++ b/Frameworks/Adium Framework/Source/AIAccount.m	Sun Oct 13 12:11:49 2013 +0200
@@ -911,7 +911,7 @@
 - (NSString *)aboutEncryption
 {
 	return [NSString stringWithFormat:
-		AILocalizedStringFromTableInBundle(@"Adium provides encryption, authentication, deniability, and perfect forward secrecy over %@ via Off-the-Record Messaging (OTR). If your contact is not using an OTR-compatible messaging system, your contact will be sent a link to the OTR web site when you attempt to connect. For more information on OTR, visit http://www.cypherpunks.ca/otr/.", nil, [NSBundle bundleForClass:[AIAccount class]], nil),
+		AILocalizedStringFromTableInBundle(@"Adium provides encryption, authentication, deniability, and perfect forward secrecy over %@ via Off-the-Record Messaging (OTR). If your contact is not using an OTR-compatible messaging system, your contact will be sent a link to the OTR web site when you attempt to connect. For more information on OTR, visit https://otr.cypherpunks.ca/.", nil, [NSBundle bundleForClass:[AIAccount class]], nil),
 		[self.service shortDescription]];
 }
 
--- a/Plugins/Purple Service/libpurple_extensions/ssl-cdsa.c	Sun Oct 13 12:05:07 2013 +0200
+++ b/Plugins/Purple Service/libpurple_extensions/ssl-cdsa.c	Sun Oct 13 12:11:49 2013 +0200
@@ -347,6 +347,32 @@
 		case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:
 		case TLS_ECDH_RSA_WITH_AES_256_CBC_SHA:
 		case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:
+		case TLS_RSA_WITH_AES_128_GCM_SHA256:
+		case TLS_RSA_WITH_AES_256_GCM_SHA384:
+		case TLS_DHE_RSA_WITH_AES_128_GCM_SHA256:
+		case TLS_DHE_RSA_WITH_AES_256_GCM_SHA384:
+		case TLS_DH_RSA_WITH_AES_128_GCM_SHA256:
+		case TLS_DH_RSA_WITH_AES_256_GCM_SHA384:
+		case TLS_DHE_DSS_WITH_AES_128_GCM_SHA256:
+		case TLS_DHE_DSS_WITH_AES_256_GCM_SHA384:
+		case TLS_DH_DSS_WITH_AES_128_GCM_SHA256:
+		case TLS_DH_DSS_WITH_AES_256_GCM_SHA384:
+		case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256:
+		case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384:
+		case TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256:
+		case TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384:
+		case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:
+		case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:
+		case TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256:
+		case TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384:
+		case TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:
+		case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:
+		case TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256:
+		case TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384:
+		case TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:
+		case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:
+		case TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256:
+		case TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384:
 			return TRUE;
 			
 		default:
@@ -414,7 +440,7 @@
 	
 	size_t numCiphers = 0;
 	
-	err = SSLGetNumberSupportedCiphers(cdsa_data->ssl_ctx, &numCiphers);
+	err = SSLGetNumberEnabledCiphers(cdsa_data->ssl_ctx, &numCiphers);
 	
 	if (err != noErr) {
 		purple_debug_error("cdsa", "SSLGetNumberEnabledCiphers failed: %d\n", err);
@@ -428,7 +454,7 @@
 	
 	SSLCipherSuite ciphers[numCiphers];
     
-    err = SSLGetSupportedCiphers(cdsa_data->ssl_ctx, ciphers, &numCiphers);
+    err = SSLGetEnabledCiphers(cdsa_data->ssl_ctx, ciphers, &numCiphers);
 	if (err != noErr) {
 		purple_debug_error("cdsa", "SSLGetSupportedCiphers failed: %d\n", err);
         if (gsc->error_cb != NULL)
@@ -474,7 +500,6 @@
             return;
         }
         
-        protoErr = SSLSetProtocolVersionEnabled(cdsa_data->ssl_ctx, kSSLProtocol2, true);
         protoErr = SSLSetProtocolVersionEnabled(cdsa_data->ssl_ctx, kSSLProtocol3, true);
         protoErr = SSLSetProtocolVersionEnabled(cdsa_data->ssl_ctx, kTLSProtocol1, true);
     }
--- a/Plugins/Twitter Plugin/AITwitterAccount.m	Sun Oct 13 12:05:07 2013 +0200
+++ b/Plugins/Twitter Plugin/AITwitterAccount.m	Sun Oct 13 12:11:49 2013 +0200
@@ -290,6 +290,15 @@
 }
 
 /*!
+ * @brief A disconnect on Twitter often means we broke some rate-limit, or the server is overloaded.
+ * Lets be polite and wait for 15 minutes.
+ */
+- (double)minimumReconnectTime
+{
+	return 15.0 * 60.0;
+}
+
+/*!
  * @brief Session ended
  *
  * Remove all state information.
--- a/Resources/AboutBox.xib	Sun Oct 13 12:05:07 2013 +0200
+++ b/Resources/AboutBox.xib	Sun Oct 13 12:11:49 2013 +0200
@@ -2,27 +2,27 @@
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
 	<data>
 		<int key="IBDocument.SystemTarget">1060</int>
-		<string key="IBDocument.SystemVersion">11C74</string>
-		<string key="IBDocument.InterfaceBuilderVersion">1938</string>
-		<string key="IBDocument.AppKitVersion">1138.23</string>
-		<string key="IBDocument.HIToolboxVersion">567.00</string>
+		<string key="IBDocument.SystemVersion">12E55</string>
+		<string key="IBDocument.InterfaceBuilderVersion">3084</string>
+		<string key="IBDocument.AppKitVersion">1187.39</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">1938</string>
+			<string key="NS.object.0">3084</string>
 		</object>
 		<array key="IBDocument.IntegratedClassDependencies">
+			<string>NSButton</string>
+			<string>NSButtonCell</string>
+			<string>NSCustomObject</string>
+			<string>NSImageCell</string>
+			<string>NSImageView</string>
+			<string>NSScrollView</string>
 			<string>NSScroller</string>
-			<string>NSButton</string>
-			<string>NSScrollView</string>
+			<string>NSTextField</string>
 			<string>NSTextFieldCell</string>
-			<string>NSImageView</string>
-			<string>NSButtonCell</string>
-			<string>NSImageCell</string>
-			<string>NSCustomObject</string>
 			<string>NSTextView</string>
 			<string>NSView</string>
 			<string>NSWindowTemplate</string>
-			<string>NSTextField</string>
 		</array>
 		<array key="IBDocument.PluginDependencies">
 			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -72,10 +72,9 @@
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
 							<reference key="NSNextKeyView" ref="490328134"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSImageCell" key="NSCell" id="834129056">
-								<int key="NSCellFlags">130560</int>
+								<int key="NSCellFlags">134217728</int>
 								<int key="NSCellFlags2">33587200</int>
 								<object class="NSCustomResource" key="NSContents">
 									<string key="NSClassName">NSImage</string>
@@ -86,19 +85,20 @@
 								<int key="NSStyle">0</int>
 								<bool key="NSAnimates">NO</bool>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 							<bool key="NSEditable">YES</bool>
 						</object>
 						<object class="NSButton" id="490328134">
 							<reference key="NSNextResponder" ref="756675379"/>
 							<int key="NSvFlags">256</int>
+							<array class="NSMutableArray" key="NSSubviews"/>
 							<string key="NSFrame">{{20, 89}, {192, 192}}</string>
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
-							<reference key="NSNextKeyView" ref="801464012"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
+							<reference key="NSNextKeyView"/>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSButtonCell" key="NSCell" id="865628747">
-								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags">67108864</int>
 								<int key="NSCellFlags2">0</int>
 								<string key="NSContents"/>
 								<object class="NSFont" key="NSSupport">
@@ -107,7 +107,7 @@
 									<int key="NSfFlags">2843</int>
 								</object>
 								<reference key="NSControlView" ref="490328134"/>
-								<int key="NSButtonFlags">141836543</int>
+								<int key="NSButtonFlags">141836288</int>
 								<int key="NSButtonFlags2">6</int>
 								<object class="NSCustomResource" key="NSNormalImage">
 									<string key="NSClassName">NSImage</string>
@@ -122,6 +122,7 @@
 								<int key="NSPeriodicDelay">400</int>
 								<int key="NSPeriodicInterval">75</int>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 						</object>
 						<object class="NSScrollView" id="679278724">
 							<reference key="NSNextResponder" ref="756675379"/>
@@ -147,11 +148,10 @@
 												<string>NeXT Rich Text Format v1.0 pasteboard type</string>
 												<string>NeXT TIFF v4.0 pasteboard type</string>
 											</set>
-											<string key="NSFrame">{{0, -7}, {315, 14}}</string>
+											<string key="NSFrameSize">{315, 155}</string>
 											<reference key="NSSuperview" ref="2963749"/>
 											<reference key="NSWindow"/>
 											<reference key="NSNextKeyView" ref="108681877"/>
-											<int key="NSViewLayerContentsRedrawPolicy">2</int>
 											<object class="NSTextContainer" key="NSTextContainer" id="63484467">
 												<object class="NSLayoutManager" key="NSLayoutManager">
 													<object class="NSTextStorage" key="NSTextStorage">
@@ -163,7 +163,7 @@
 													<array class="NSMutableArray" key="NSTextContainers">
 														<reference ref="63484467"/>
 													</array>
-													<int key="NSLMFlags">6</int>
+													<int key="NSLMFlags">38</int>
 													<nil key="NSDelegate"/>
 												</object>
 												<reference key="NSTextView" ref="212523782"/>
@@ -216,7 +216,6 @@
 											</object>
 											<int key="NSTVFlags">6</int>
 											<string key="NSMaxSize">{353, 15000000}</string>
-											<string key="NSMinize">{296, 7}</string>
 											<nil key="NSDelegate"/>
 										</object>
 									</array>
@@ -224,7 +223,6 @@
 									<reference key="NSSuperview" ref="679278724"/>
 									<reference key="NSWindow"/>
 									<reference key="NSNextKeyView" ref="212523782"/>
-									<int key="NSViewLayerContentsRedrawPolicy">2</int>
 									<reference key="NSDocView" ref="212523782"/>
 									<reference key="NSBGColor" ref="837372580"/>
 									<object class="NSCursor" key="NSCursor">
@@ -240,6 +238,7 @@
 									<reference key="NSSuperview" ref="679278724"/>
 									<reference key="NSWindow"/>
 									<reference key="NSNextKeyView" ref="281700486"/>
+									<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 									<reference key="NSTarget" ref="679278724"/>
 									<string key="NSAction">_doScroller:</string>
 									<double key="NSPercent">0.96803653240203857</double>
@@ -251,6 +250,7 @@
 									<reference key="NSSuperview" ref="679278724"/>
 									<reference key="NSWindow"/>
 									<reference key="NSNextKeyView" ref="2963749"/>
+									<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 									<int key="NSsFlags">1</int>
 									<reference key="NSTarget" ref="679278724"/>
 									<string key="NSAction">_doScroller:</string>
@@ -262,11 +262,13 @@
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
 							<reference key="NSNextKeyView" ref="1022085246"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
 							<int key="NSsFlags">133120</int>
 							<reference key="NSVScroller" ref="1022085246"/>
 							<reference key="NSHScroller" ref="281700486"/>
 							<reference key="NSContentView" ref="2963749"/>
+							<double key="NSMinMagnification">0.25</double>
+							<double key="NSMaxMagnification">4</double>
+							<double key="NSMagnification">1</double>
 						</object>
 						<object class="NSImageView" id="108681877">
 							<reference key="NSNextResponder" ref="756675379"/>
@@ -283,10 +285,9 @@
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
 							<reference key="NSNextKeyView" ref="965994201"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSImageCell" key="NSCell" id="18140742">
-								<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>
@@ -297,6 +298,7 @@
 								<int key="NSStyle">0</int>
 								<bool key="NSAnimates">NO</bool>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 							<bool key="NSEditable">YES</bool>
 						</object>
 						<object class="NSImageView" id="965994201">
@@ -314,10 +316,9 @@
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
 							<reference key="NSNextKeyView" ref="811919972"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSImageCell" key="NSCell" id="1047543365">
-								<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>
@@ -328,6 +329,7 @@
 								<int key="NSStyle">0</int>
 								<bool key="NSAnimates">NO</bool>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 							<bool key="NSEditable">YES</bool>
 						</object>
 						<object class="NSTextField" id="839178874">
@@ -337,10 +339,9 @@
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
 							<reference key="NSNextKeyView" ref="666517339"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSTextFieldCell" key="NSCell" id="503979177">
-								<int key="NSCellFlags">-2079195584</int>
+								<int key="NSCellFlags">-2079326144</int>
 								<int key="NSCellFlags2">37749760</int>
 								<string key="NSContents">Version</string>
 								<object class="NSFont" key="NSSupport">
@@ -361,18 +362,19 @@
 									<bytes key="NSRGB">MC41MDE5NjA3ODQzIDAuNTAxOTYwNzg0MyAwLjUwMTk2MDc4NDMAA</bytes>
 								</object>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 						</object>
 						<object class="NSButton" id="666517339">
 							<reference key="NSNextResponder" ref="756675379"/>
 							<int key="NSvFlags">256</int>
+							<array class="NSMutableArray" key="NSSubviews"/>
 							<string key="NSFrame">{{232, 253}, {308, 15}}</string>
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
-							<reference key="NSNextKeyView" ref="679278724"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
+							<reference key="NSNextKeyView"/>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSButtonCell" key="NSCell" id="361376577">
-								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags">67108864</int>
 								<int key="NSCellFlags2">0</int>
 								<string key="NSContents"/>
 								<object class="NSFont" key="NSSupport" id="76241347">
@@ -381,7 +383,7 @@
 									<int key="NSfFlags">1044</int>
 								</object>
 								<reference key="NSControlView" ref="666517339"/>
-								<int key="NSButtonFlags">-2042838785</int>
+								<int key="NSButtonFlags">-2042839040</int>
 								<int key="NSButtonFlags2">6</int>
 								<string key="NSAlternateContents"/>
 								<object class="NSMutableString" key="NSKeyEquivalent">
@@ -390,23 +392,24 @@
 								<int key="NSPeriodicDelay">200</int>
 								<int key="NSPeriodicInterval">25</int>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 						</object>
 						<object class="NSButton" id="329998257">
 							<reference key="NSNextResponder" ref="756675379"/>
 							<int key="NSvFlags">256</int>
+							<array class="NSMutableArray" key="NSSubviews"/>
 							<string key="NSFrame">{{229, 8}, {154, 32}}</string>
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
-							<reference key="NSNextKeyView" ref="609197835"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
+							<reference key="NSNextKeyView"/>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSButtonCell" key="NSCell" id="929112214">
-								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags">67108864</int>
 								<int key="NSCellFlags2">134217728</int>
 								<string key="NSContents">Adium Homepage</string>
 								<reference key="NSSupport" ref="76241347"/>
 								<reference key="NSControlView" ref="329998257"/>
-								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags">-2038284288</int>
 								<int key="NSButtonFlags2">1</int>
 								<reference key="NSAlternateImage" ref="76241347"/>
 								<string key="NSAlternateContents"/>
@@ -416,23 +419,24 @@
 								<int key="NSPeriodicDelay">200</int>
 								<int key="NSPeriodicInterval">25</int>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 						</object>
 						<object class="NSButton" id="609197835">
 							<reference key="NSNextResponder" ref="756675379"/>
 							<int key="NSvFlags">256</int>
+							<array class="NSMutableArray" key="NSSubviews"/>
 							<string key="NSFrame">{{392, 8}, {154, 32}}</string>
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
 							<reference key="NSNextKeyView"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSButtonCell" key="NSCell" id="716501959">
-								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags">67108864</int>
 								<int key="NSCellFlags2">134217728</int>
 								<string key="NSContents">License</string>
 								<reference key="NSSupport" ref="76241347"/>
 								<reference key="NSControlView" ref="609197835"/>
-								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags">-2038284288</int>
 								<int key="NSButtonFlags2">1</int>
 								<object class="NSFont" key="NSAlternateImage">
 									<string key="NSName">LucidaGrande</string>
@@ -446,6 +450,7 @@
 								<int key="NSPeriodicDelay">200</int>
 								<int key="NSPeriodicInterval">25</int>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 						</object>
 						<object class="NSTextField" id="801464012">
 							<reference key="NSNextResponder" ref="756675379"/>
@@ -454,10 +459,9 @@
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
 							<reference key="NSNextKeyView" ref="839178874"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSTextFieldCell" key="NSCell" id="918644134">
-								<int key="NSCellFlags">68288064</int>
+								<int key="NSCellFlags">68157504</int>
 								<int key="NSCellFlags2">272630784</int>
 								<string key="NSContents">Adium</string>
 								<object class="NSFont" key="NSSupport">
@@ -475,6 +479,7 @@
 									<reference key="NSColor" ref="1014407744"/>
 								</object>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 						</object>
 						<object class="NSTextField" id="811919972">
 							<reference key="NSNextResponder" ref="756675379"/>
@@ -483,12 +488,11 @@
 							<reference key="NSSuperview" ref="756675379"/>
 							<reference key="NSWindow"/>
 							<reference key="NSNextKeyView" ref="329998257"/>
-							<int key="NSViewLayerContentsRedrawPolicy">2</int>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSTextFieldCell" key="NSCell" id="538272733">
-								<int key="NSCellFlags">-2079195584</int>
+								<int key="NSCellFlags">-2079326144</int>
 								<int key="NSCellFlags2">37749760</int>
-								<string key="NSContents">© 2001-2012 The Adium Team</string>
+								<string key="NSContents">© 2001-2013 The Adium Team</string>
 								<object class="NSFont" key="NSSupport">
 									<string key="NSName">LucidaGrande</string>
 									<double key="NSSize">11</double>
@@ -502,6 +506,7 @@
 									<bytes key="NSRGB">MC41MDE5NjA3ODQzIDAuNTAxOTYwNzg0MyAwLjUwMTk2MDc4NDMAA</bytes>
 								</object>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 						</object>
 					</array>
 					<string key="NSFrameSize">{560, 320}</string>
@@ -509,7 +514,6 @@
 					<reference key="NSWindow"/>
 					<reference key="NSNextKeyView" ref="436292106"/>
 					<bool key="NSViewIsLayerTreeHost">YES</bool>
-					<int key="NSViewLayerContentsRedrawPolicy">2</int>
 				</object>
 				<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
 				<string key="NSMinSize">{560, 342}</string>
@@ -567,9 +571,9 @@
 														</object>
 														<dictionary key="NSAttributes">
 															<object class="NSFont" key="NSFont">
-																<string key="NSName">Monaco</string>
+																<string key="NSName">Menlo-Regular</string>
 																<double key="NSSize">10</double>
-																<int key="NSfFlags">530</int>
+																<int key="NSfFlags">16</int>
 															</object>
 															<object class="NSMutableParagraphStyle" key="NSParagraphStyle">
 																<nil key="NSTabStops"/>
@@ -580,7 +584,7 @@
 													<array class="NSMutableArray" key="NSTextContainers">
 														<reference ref="628379985"/>
 													</array>
-													<int key="NSLMFlags">6</int>
+													<int key="NSLMFlags">38</int>
 													<nil key="NSDelegate"/>
 												</object>
 												<reference key="NSTextView" ref="613970551"/>
@@ -608,7 +612,6 @@
 											</object>
 											<int key="NSTVFlags">6</int>
 											<string key="NSMaxSize">{512, 10000000}</string>
-											<string key="NSMinize">{473, 374}</string>
 											<nil key="NSDelegate"/>
 										</object>
 									</array>
@@ -649,6 +652,7 @@
 									<string key="NSFrame">{{474, 1}, {15, 374}}</string>
 									<reference key="NSSuperview" ref="384769830"/>
 									<reference key="NSNextKeyView" ref="83966184"/>
+									<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 									<reference key="NSTarget" ref="384769830"/>
 									<string key="NSAction">_doScroller:</string>
 									<double key="NSPercent">0.077224858105182648</double>
@@ -659,6 +663,7 @@
 									<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
 									<reference key="NSSuperview" ref="384769830"/>
 									<reference key="NSNextKeyView" ref="511449369"/>
+									<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 									<int key="NSsFlags">1</int>
 									<reference key="NSTarget" ref="384769830"/>
 									<string key="NSAction">_doScroller:</string>
@@ -673,6 +678,9 @@
 							<reference key="NSVScroller" ref="957819625"/>
 							<reference key="NSHScroller" ref="25810865"/>
 							<reference key="NSContentView" ref="511449369"/>
+							<double key="NSMinMagnification">0.25</double>
+							<double key="NSMaxMagnification">4</double>
+							<double key="NSMagnification">1</double>
 						</object>
 						<object class="NSButton" id="83966184">
 							<reference key="NSNextResponder" ref="346846082"/>
@@ -681,12 +689,12 @@
 							<reference key="NSSuperview" ref="346846082"/>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSButtonCell" key="NSCell" id="302040499">
-								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags">67108864</int>
 								<int key="NSCellFlags2">134217728</int>
 								<string key="NSContents">OK</string>
 								<reference key="NSSupport" ref="76241347"/>
 								<reference key="NSControlView" ref="83966184"/>
-								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags">-2038284288</int>
 								<int key="NSButtonFlags2">1</int>
 								<reference key="NSAlternateImage" ref="76241347"/>
 								<string key="NSAlternateContents"/>
@@ -694,6 +702,7 @@
 								<int key="NSPeriodicDelay">200</int>
 								<int key="NSPeriodicInterval">25</int>
 							</object>
+							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 						</object>
 					</array>
 					<string key="NSFrameSize">{530, 456}</string>
@@ -1320,6 +1329,24 @@
 						<string key="minorKey">./Classes/LNAboutBoxController.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>
@@ -1328,10 +1355,6 @@
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
 			<real value="1060" key="NS.object.0"/>
 		</object>
-		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
-			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
-			<real value="1060" key="NS.object.0"/>
-		</object>
 		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
 			<real value="3200" key="NS.object.0"/>
--- a/Resources/Credits.rtf	Sun Oct 13 12:05:07 2013 +0200
+++ b/Resources/Credits.rtf	Sun Oct 13 12:11:49 2013 +0200
@@ -1,4 +1,4 @@
-{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
+{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390
 {\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
 {\colortbl;\red255\green255\blue255;}
 \vieww12600\viewh10200\viewkind0
@@ -552,7 +552,7 @@
 	<http://mattgemmell.com/>\CocoaLigature0 \
 \CocoaLigature1 \
  \CocoaLigature0 \'95\CocoaLigature1   Off-the-Record messaging, an encryption library\
-     <http://www.cypherpunks.ca/otr/>\
+     <https://www.cypherpunks.ca/>\
 \
  \CocoaLigature0 \'95\CocoaLigature1  \CocoaLigature0  \CocoaLigature1 Shortcut Recorder, a keyboard shortcut recorder\
      <http://wafflesoftware.net/shortcut/>\CocoaLigature0 \
--- a/Source/AdiumOTREncryption.m	Sun Oct 13 12:05:07 2013 +0200
+++ b/Source/AdiumOTREncryption.m	Sun Oct 13 12:11:49 2013 +0200
@@ -713,7 +713,7 @@
 	
 	AIChat *chat = chatForContext(context);
 	
-	/* Values from http://www.cypherpunks.ca/otr/UPGRADING-libotr-3.1.0.txt */
+	/* Values from https://otr.cypherpunks.ca/UPGRADING-libotr-3.1.0.txt */
 	static NSDictionary *maxSizeByServiceClassDict = nil;
 	if (!maxSizeByServiceClassDict) {
 		maxSizeByServiceClassDict = [[NSDictionary alloc] initWithObjectsAndKeys: