aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPSSHTunnel.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2013-02-20 01:22:45 +0000
committerrowanbeentje <rowan@beent.je>2013-02-20 01:22:45 +0000
commit6be2edae44406588125036771a6b030993ba58aa (patch)
tree3b5a6e93e0cf660f2b4e3229f7dce99ef5774785 /Source/SPSSHTunnel.m
parent36fa01d0c98481af4b6a17061ac94c0a5a0186fe (diff)
downloadsequelpro-6be2edae44406588125036771a6b030993ba58aa.tar.gz
sequelpro-6be2edae44406588125036771a6b030993ba58aa.tar.bz2
sequelpro-6be2edae44406588125036771a6b030993ba58aa.zip
- Default to disabling SSH multiplexing to avoid connection issues as per Issue #1457; leave multiplexing code present, but behind a preference. Run `defaults write com.sequelpro.SequelPro -boolean YES` to re-enable.
Diffstat (limited to 'Source/SPSSHTunnel.m')
-rw-r--r--Source/SPSSHTunnel.m8
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/SPSSHTunnel.m b/Source/SPSSHTunnel.m
index 448325de..536f2f43 100644
--- a/Source/SPSSHTunnel.m
+++ b/Source/SPSSHTunnel.m
@@ -44,7 +44,6 @@
@implementation SPSSHTunnel
@synthesize passwordPromptCancelled;
-@synthesize connectionMuxingEnabled;
@synthesize taskExitedUnexpectedly;
/*
@@ -75,8 +74,9 @@
debugMessagesLock = [[NSLock alloc] init];
answerAvailableLock = [[NSLock alloc] init];
- // Enable connection muxing on 10.7+, as 10.6 has problems with muxing (see Issue #1457)
- connectionMuxingEnabled = (systemVersion >= 0x1070);
+ // Enable connection muxing on 10.7+, but only if a preference is enabled; this is because
+ // muxing causes connection instability for a large number of users (see Issue #1457)
+ connectionMuxingEnabled = (systemVersion >= 0x1070) && [[NSUserDefaults standardUserDefaults] boolForKey:SPSSHEnableMuxingPreference];
// Set up a connection for use by the tunnel process
tunnelConnectionName = [[NSString alloc] initWithFormat:@"SequelPro-%lu", (unsigned long)[[NSString stringWithFormat:@"%f", [[NSDate date] timeIntervalSince1970]] hash]];
@@ -322,6 +322,8 @@
// Ensure that the connection can be used for only tunnels, not interactive
[taskArguments addObject:@"-N"];
+ // If explicitly enabled, activate connection multiplexing - note that this can cause connection
+ // instability on some setups, so is currently disabled by default.
if (connectionMuxingEnabled) {
// Enable automatic connection muxing/sharing, for faster connections