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:
parent
0e5bfb8e6a
commit
b16cd42420
3 changed files with 16 additions and 6 deletions
|
@ -60,6 +60,7 @@
|
|||
IBOutlet NSTableView * fRPCWhitelistTable;
|
||||
NSMutableArray * fRPCWhitelistArray;
|
||||
IBOutlet NSSegmentedControl * fRPCAddRemoveControl;
|
||||
NSString * fRPCPassword;
|
||||
}
|
||||
|
||||
+ (void) setHandle: (tr_session *) handle;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue