1
0
Fork 0
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:
Mitchell Livingston 2008-06-13 04:05:54 +00:00
parent 4a0bbfaad3
commit 7c8a7c3936
3 changed files with 18 additions and 26 deletions

View file

@ -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];

View file

@ -59,7 +59,6 @@
IBOutlet NSTextField * fProxyAddressField, * fProxyPasswordField;
IBOutlet NSPopUpButton * fProxyTypePopUp;
NSString * fProxyPassword;
BOOL fProxyPasswordSet;
IBOutlet NSTextField * fRPCPortField;

View file

@ -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