1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-03-04 02:28:03 +00:00

get the rpc password without using tr_sessionGetRPCPassword, in preparation for #1276

This commit is contained in:
Mitchell Livingston 2009-03-14 15:53:13 +00:00
parent 0e5bfb8e6a
commit b16cd42420
3 changed files with 16 additions and 6 deletions

View file

@ -60,6 +60,7 @@
IBOutlet NSTableView * fRPCWhitelistTable;
NSMutableArray * fRPCWhitelistArray;
IBOutlet NSSegmentedControl * fRPCAddRemoveControl;
NSString * fRPCPassword;
}
+ (void) setHandle: (tr_session *) handle;

View file

@ -169,6 +169,8 @@ tr_session * fHandle;
[fRPCWhitelistArray release];
[fRPCPassword release];
[super dealloc];
}
@ -247,10 +249,9 @@ tr_session * fHandle;
//set rpc port
[fRPCPortField setIntValue: [fDefaults integerForKey: @"RPCPort"]];
//set rpc password - has to be released
char * rpcPassword = tr_sessionGetRPCPassword(fHandle);
[fRPCPasswordField setStringValue: [NSString stringWithUTF8String: rpcPassword]];
tr_free(rpcPassword);
//set rpc password
if (fRPCPassword)
[fRPCPasswordField setStringValue: fRPCPassword];
}
- (NSToolbarItem *) toolbar: (NSToolbar *) toolbar itemForItemIdentifier: (NSString *) ident willBeInsertedIntoToolbar: (BOOL) flag
@ -869,6 +870,9 @@ tr_session * fHandle;
- (void) setRPCPassword: (id) sender
{
[fRPCPassword release];
fRPCPassword = [[sender stringValue] copy];
const char * password = [[sender stringValue] UTF8String];
[self setKeychainPassword: password forService: RPC_KEYCHAIN_SERVICE username: RPC_KEYCHAIN_NAME];
@ -882,6 +886,7 @@ tr_session * fHandle;
SecKeychainFindGenericPassword(NULL, strlen(RPC_KEYCHAIN_SERVICE), RPC_KEYCHAIN_SERVICE,
strlen(RPC_KEYCHAIN_NAME), RPC_KEYCHAIN_NAME, &passwordLength, (void **)&password, NULL);
[fRPCPassword release];
if (password != NULL)
{
char fullPassword[passwordLength+1];
@ -890,8 +895,12 @@ tr_session * fHandle;
SecKeychainItemFreeContent(NULL, (void *)password);
tr_sessionSetRPCPassword(fHandle, fullPassword);
[fRPCPasswordField setStringValue: [NSString stringWithUTF8String: fullPassword]];
fRPCPassword = [[NSString alloc] initWithUTF8String: fullPassword];
[fRPCPasswordField setStringValue: fRPCPassword];
}
else
fRPCPassword = nil;
}
- (void) setRPCPort: (id) sender

View file

@ -416,7 +416,7 @@ int trashDataFile(const char * filename)
{
const BOOL up = tr_torrentIsUsingGlobalSpeedLimit(fHandle, TR_UP);
const BOOL down = tr_torrentIsUsingGlobalSpeedLimit(fHandle, TR_DOWN);
NSAssert(up == down, @"upload and download globallimit setting should have the same");
NSAssert(up == down, @"upload and download global limit settings should have the same value");
return up;
}