mirror of
https://github.com/transmission/transmission
synced 2025-02-22 22:20:39 +00:00
eliminate an unnecessary variable and improve the behavior of the proxy keychain
This commit is contained in:
parent
4a0bbfaad3
commit
7c8a7c3936
3 changed files with 18 additions and 26 deletions
|
@ -228,7 +228,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
|
|||
TR_DEFAULT_PROXY_TYPE, /* reset in prefs */
|
||||
[fDefaults boolForKey: @"ProxyAuthorize"],
|
||||
[[fDefaults stringForKey: @"ProxyUsername"] UTF8String],
|
||||
NULL); /* reset in prefs - from Keychain */
|
||||
""); /* reset in prefs - from Keychain (leave blank instead of NULL) */
|
||||
|
||||
[NSApp setDelegate: self];
|
||||
|
||||
|
|
|
@ -59,7 +59,6 @@
|
|||
|
||||
IBOutlet NSTextField * fProxyAddressField, * fProxyPasswordField;
|
||||
IBOutlet NSPopUpButton * fProxyTypePopUp;
|
||||
NSString * fProxyPassword;
|
||||
BOOL fProxyPasswordSet;
|
||||
|
||||
IBOutlet NSTextField * fRPCPortField;
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
[self updateProxyType];
|
||||
|
||||
fProxyPasswordSet = NO;
|
||||
if ([fProxyPasswordField isEnabled])
|
||||
if ([fDefaults boolForKey: @"Proxy"] && [fDefaults boolForKey: @"ProxyAuthorize"])
|
||||
[self updateProxyPassword];
|
||||
|
||||
//update rpc access list
|
||||
|
@ -138,8 +138,6 @@
|
|||
[fPortChecker release];
|
||||
}
|
||||
|
||||
[fProxyPassword release];
|
||||
|
||||
[fRPCAccessArray release];
|
||||
|
||||
[super dealloc];
|
||||
|
@ -212,7 +210,7 @@
|
|||
proxyType = PROXY_HTTP;
|
||||
}
|
||||
[fProxyTypePopUp selectItemAtIndex: proxyType];
|
||||
[fProxyPasswordField setStringValue: fProxyPassword ? fProxyPassword : @""];
|
||||
[fProxyPasswordField setStringValue: [NSString stringWithUTF8String: tr_sessionGetProxyPassword(fHandle)]];
|
||||
|
||||
//set blocklist
|
||||
[self updateBlocklistFields];
|
||||
|
@ -677,14 +675,12 @@
|
|||
|
||||
- (void) setProxyEnabled: (id) sender
|
||||
{
|
||||
BOOL enable = [fDefaults boolForKey: @"Proxy"];
|
||||
tr_sessionSetProxyEnabled(fHandle, [fDefaults boolForKey: @"Proxy"]);
|
||||
|
||||
//if proxy password hasn't be retrieved, get it now
|
||||
if (!fProxyPasswordSet && [fProxyPasswordField isEnabled])
|
||||
{
|
||||
if (!fProxyPasswordSet && enable && [fDefaults boolForKey: @"ProxyAuthorize"])
|
||||
[self updateProxyPassword];
|
||||
[fProxyPasswordField setStringValue: fProxyPassword];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) setProxyAddress: (id) sender
|
||||
|
@ -751,14 +747,12 @@
|
|||
|
||||
- (void) setProxyAuthorize: (id) sender
|
||||
{
|
||||
tr_sessionSetProxyAuthEnabled(fHandle, [fDefaults boolForKey: @"ProxyAuthorize"]);
|
||||
BOOL enable = [fDefaults boolForKey: @"ProxyAuthorize"];
|
||||
tr_sessionSetProxyAuthEnabled(fHandle, enable);
|
||||
|
||||
//if proxy password hasn't be retrieved, get it now
|
||||
if (!fProxyPasswordSet && [fProxyPasswordField isEnabled])
|
||||
{
|
||||
if (!fProxyPasswordSet && enable)
|
||||
[self updateProxyPassword];
|
||||
[fProxyPasswordField setStringValue: fProxyPassword];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) setProxyUsername: (id) sender
|
||||
|
@ -768,33 +762,32 @@
|
|||
|
||||
- (void) setProxyPassword: (id) sender
|
||||
{
|
||||
[fProxyPassword release];
|
||||
fProxyPassword = [[sender stringValue] retain];
|
||||
NSString * password = [[sender stringValue] retain];
|
||||
|
||||
EMGenericKeychainItem * keychainItem = [[EMKeychainProxy sharedProxy] genericKeychainItemForService: @"Transmission:Proxy"
|
||||
withUsername: @"Proxy"];
|
||||
if (keychainItem)
|
||||
[keychainItem setPassword: fProxyPassword];
|
||||
[keychainItem setPassword: password];
|
||||
else
|
||||
[[EMKeychainProxy sharedProxy] addGenericKeychainItemForService: @"Transmission:Proxy" withUsername: @"Proxy"
|
||||
password: fProxyPassword];
|
||||
password: password];
|
||||
|
||||
tr_sessionSetProxyPassword(fHandle, [fProxyPassword UTF8String]);
|
||||
tr_sessionSetProxyPassword(fHandle, [password UTF8String]);
|
||||
}
|
||||
|
||||
- (void) updateProxyPassword
|
||||
{
|
||||
fProxyPasswordSet = YES;
|
||||
|
||||
[fProxyPassword release];
|
||||
|
||||
NSString * password;
|
||||
EMGenericKeychainItem * keychainItem = [[EMKeychainProxy sharedProxy] genericKeychainItemForService: @"Transmission:Proxy"
|
||||
withUsername: @"Proxy"];
|
||||
if (!(fProxyPassword = [keychainItem password]))
|
||||
fProxyPassword = @"";
|
||||
[fProxyPassword retain];
|
||||
if (!(password = [keychainItem password]))
|
||||
password = @"";
|
||||
|
||||
tr_sessionSetProxyPassword(fHandle, [fProxyPassword UTF8String]);
|
||||
tr_sessionSetProxyPassword(fHandle, [password UTF8String]);
|
||||
|
||||
[fProxyPasswordField setStringValue: password];
|
||||
}
|
||||
|
||||
- (void) setRPCEnabled: (id) sender
|
||||
|
|
Loading…
Reference in a new issue