mirror of
https://github.com/transmission/transmission
synced 2024-12-26 01:27:28 +00:00
support the new whitelist
This commit is contained in:
parent
bddf34d7a8
commit
a616666541
3 changed files with 91 additions and 261 deletions
|
@ -56,9 +56,9 @@
|
|||
IBOutlet NSPopUpButton * fProxyTypePopUp;
|
||||
|
||||
IBOutlet NSTextField * fRPCPortField, * fRPCPasswordField;
|
||||
IBOutlet NSTableView * fRPCAccessTable;
|
||||
IBOutlet NSTableView * fRPCWhitelistTable;
|
||||
NSMutableArray * fRPCWhitelistArray;
|
||||
IBOutlet NSSegmentedControl * fRPCAddRemoveControl;
|
||||
NSMutableArray * fRPCAccessArray;
|
||||
}
|
||||
|
||||
+ (void) setHandle: (tr_handle *) handle;
|
||||
|
@ -131,7 +131,7 @@
|
|||
- (void) setRPCPassword: (id) sender;
|
||||
- (void) updateRPCPassword;
|
||||
- (void) setRPCPort: (id) sender;
|
||||
- (void) updateRPCAccessList;
|
||||
- (void) updateRPCWhitelist;
|
||||
- (void) addRemoveRPCIP: (id) sender;
|
||||
|
||||
- (void) helpForPeers: (id) sender;
|
||||
|
|
|
@ -36,9 +36,6 @@
|
|||
#define PROXY_SOCKS4 1
|
||||
#define PROXY_SOCKS5 2
|
||||
|
||||
#define RPC_ACCESS_ALLOW 0
|
||||
#define RPC_ACCESS_DENY 1
|
||||
|
||||
#define RPC_IP_ADD_TAG 0
|
||||
#define RPC_IP_REMOVE_TAG 1
|
||||
|
||||
|
@ -128,14 +125,13 @@ tr_handle * fHandle;
|
|||
[self updateProxyType];
|
||||
[self updateProxyPassword];
|
||||
|
||||
//update rpc access list
|
||||
//update rpc whitelist
|
||||
[self updateRPCPassword];
|
||||
|
||||
fRPCAccessArray = [[fDefaults arrayForKey: @"RPCAccessList"] mutableCopy];
|
||||
if (!fRPCAccessArray)
|
||||
fRPCAccessArray = [[NSMutableArray arrayWithObject: [NSDictionary dictionaryWithObjectsAndKeys: @"127.0.0.1", @"IP",
|
||||
[NSNumber numberWithBool: YES], @"Allow", nil]] retain];
|
||||
[self updateRPCAccessList];
|
||||
fRPCWhitelistArray = [[fDefaults arrayForKey: @"RPCWhitelist"] mutableCopy];
|
||||
if (!fRPCWhitelistArray)
|
||||
fRPCWhitelistArray = [[NSMutableArray arrayWithObject: @"127.0.0.1"] retain];
|
||||
[self updateRPCWhitelist];
|
||||
}
|
||||
|
||||
return self;
|
||||
|
@ -152,7 +148,7 @@ tr_handle * fHandle;
|
|||
[fPortChecker release];
|
||||
}
|
||||
|
||||
[fRPCAccessArray release];
|
||||
[fRPCWhitelistArray release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
@ -876,138 +872,111 @@ tr_handle * fHandle;
|
|||
tr_sessionSetRPCPort(fHandle, port);
|
||||
}
|
||||
|
||||
- (void) updateRPCAccessList
|
||||
- (void) updateRPCWhitelist
|
||||
{
|
||||
NSMutableArray * components = [NSMutableArray arrayWithCapacity: [fRPCAccessArray count]];
|
||||
|
||||
NSEnumerator * enumerator = [fRPCAccessArray objectEnumerator];
|
||||
NSDictionary * dict;
|
||||
while ((dict = [enumerator nextObject]))
|
||||
[components addObject: [NSString stringWithFormat: @"%c%@", [[dict objectForKey: @"Allow"] boolValue] ? '+' : '-',
|
||||
[dict objectForKey: @"IP"]]];
|
||||
|
||||
NSString * string = [components componentsJoinedByString: @","];
|
||||
tr_sessionSetRPCACL(fHandle, [string UTF8String]);
|
||||
NSString * string = [fRPCWhitelistArray componentsJoinedByString: @","];
|
||||
tr_sessionSetRPCWhitelist(fHandle, [string UTF8String]);
|
||||
}
|
||||
|
||||
- (void) addRemoveRPCIP: (id) sender
|
||||
{
|
||||
//don't allow add/remove when currently adding - it leads to weird results
|
||||
if ([fRPCAccessTable editedRow] != -1)
|
||||
if ([fRPCWhitelistTable editedRow] != -1)
|
||||
return;
|
||||
|
||||
if ([[sender cell] tagForSegment: [sender selectedSegment]] == RPC_IP_REMOVE_TAG)
|
||||
{
|
||||
[fRPCAccessArray removeObjectsAtIndexes: [fRPCAccessTable selectedRowIndexes]];
|
||||
[fRPCAccessTable deselectAll: self];
|
||||
[fRPCAccessTable reloadData];
|
||||
[fRPCWhitelistArray removeObjectsAtIndexes: [fRPCWhitelistTable selectedRowIndexes]];
|
||||
[fRPCWhitelistTable deselectAll: self];
|
||||
[fRPCWhitelistTable reloadData];
|
||||
|
||||
[fDefaults setObject: fRPCAccessArray forKey: @"RPCAccessList"];
|
||||
[self updateRPCAccessList];
|
||||
[fDefaults setObject: fRPCWhitelistArray forKey: @"RPCWhitelist"];
|
||||
[self updateRPCWhitelist];
|
||||
}
|
||||
else
|
||||
{
|
||||
[fRPCAccessArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: @"", @"IP",
|
||||
[NSNumber numberWithBool: YES], @"Allow", nil]];
|
||||
[fRPCAccessTable reloadData];
|
||||
[fRPCWhitelistArray addObject: @""];
|
||||
[fRPCWhitelistTable reloadData];
|
||||
|
||||
int row = [fRPCAccessArray count] - 1;
|
||||
[fRPCAccessTable selectRow: row byExtendingSelection: NO];
|
||||
[fRPCAccessTable editColumn: 0 row: row withEvent: nil select: YES];
|
||||
int row = [fRPCWhitelistArray count] - 1;
|
||||
[fRPCWhitelistTable selectRow: row byExtendingSelection: NO];
|
||||
[fRPCWhitelistTable editColumn: 0 row: row withEvent: nil select: YES];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSInteger) numberOfRowsInTableView: (NSTableView *) tableView
|
||||
{
|
||||
return [fRPCAccessArray count];
|
||||
return [fRPCWhitelistArray count];
|
||||
}
|
||||
|
||||
- (id) tableView: (NSTableView *) tableView objectValueForTableColumn: (NSTableColumn *) tableColumn row: (NSInteger) row
|
||||
{
|
||||
NSDictionary * dict = [fRPCAccessArray objectAtIndex: row];
|
||||
|
||||
NSString * ident = [tableColumn identifier];
|
||||
if ([ident isEqualToString: @"Permission"])
|
||||
{
|
||||
int allow = [[dict objectForKey: @"Allow"] boolValue] ? RPC_ACCESS_ALLOW : RPC_ACCESS_DENY;
|
||||
return [NSNumber numberWithInt: allow];
|
||||
}
|
||||
else
|
||||
return [dict objectForKey: @"IP"];
|
||||
return [fRPCWhitelistArray objectAtIndex: row];
|
||||
}
|
||||
|
||||
- (void) tableView: (NSTableView *) tableView setObjectValue: (id) object forTableColumn: (NSTableColumn *) tableColumn
|
||||
row: (NSInteger) row
|
||||
{
|
||||
NSDictionary * oldDict = [fRPCAccessArray objectAtIndex: row];
|
||||
|
||||
NSString * ident = [tableColumn identifier];
|
||||
if ([ident isEqualToString: @"Permission"])
|
||||
{
|
||||
NSNumber * allow = [NSNumber numberWithBool: [object intValue] == RPC_ACCESS_ALLOW];
|
||||
NSDictionary * newDict = [NSDictionary dictionaryWithObjectsAndKeys: [oldDict objectForKey: @"IP"], @"IP", allow, @"Allow", nil];
|
||||
[fRPCAccessArray replaceObjectAtIndex: row withObject: newDict];
|
||||
}
|
||||
else
|
||||
{
|
||||
NSArray * components = [object componentsSeparatedByString: @"."];
|
||||
NSMutableArray * newComponents = [NSMutableArray arrayWithCapacity: 4];
|
||||
NSArray * components = [object componentsSeparatedByString: @"."];
|
||||
NSMutableArray * newComponents = [NSMutableArray arrayWithCapacity: 4];
|
||||
|
||||
//create better-formatted ip string
|
||||
BOOL valid = false;
|
||||
if ([components count] == 4)
|
||||
//create better-formatted ip string
|
||||
BOOL valid = false;
|
||||
if ([components count] == 4)
|
||||
{
|
||||
valid = true;
|
||||
NSEnumerator * enumerator = [components objectEnumerator];
|
||||
NSString * component;
|
||||
while ((component = [enumerator nextObject]))
|
||||
{
|
||||
valid = true;
|
||||
NSEnumerator * enumerator = [components objectEnumerator];
|
||||
NSString * component;
|
||||
while ((component = [enumerator nextObject]))
|
||||
if ([component isEqualToString: @"*"])
|
||||
[newComponents addObject: component];
|
||||
else
|
||||
{
|
||||
if ([component isEqualToString: @"*"])
|
||||
[newComponents addObject: component];
|
||||
int num = [component intValue];
|
||||
if (num >= 0 && num < 256)
|
||||
[newComponents addObject: [[NSNumber numberWithInt: num] stringValue]];
|
||||
else
|
||||
{
|
||||
int num = [component intValue];
|
||||
if (num >= 0 && num < 256)
|
||||
[newComponents addObject: [[NSNumber numberWithInt: num] stringValue]];
|
||||
else
|
||||
{
|
||||
valid = false;
|
||||
break;
|
||||
}
|
||||
valid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (valid)
|
||||
{
|
||||
NSString * newIP = [newComponents componentsJoinedByString: @"."];
|
||||
|
||||
NSDictionary * newDict = [NSDictionary dictionaryWithObjectsAndKeys: newIP, @"IP",
|
||||
[oldDict objectForKey: @"Allow"], @"Allow", nil];
|
||||
[fRPCAccessArray replaceObjectAtIndex: row withObject: newDict];
|
||||
|
||||
NSSortDescriptor * descriptor = [[[NSSortDescriptor alloc] initWithKey: @"IP" ascending: YES
|
||||
selector: @selector(compareNumeric:)] autorelease];
|
||||
[fRPCAccessArray sortUsingDescriptors: [NSArray arrayWithObject: descriptor]];
|
||||
}
|
||||
else
|
||||
{
|
||||
NSBeep();
|
||||
if ([[oldDict objectForKey: @"IP"] isEqualToString: @""])
|
||||
[fRPCAccessArray removeObjectAtIndex: row];
|
||||
}
|
||||
|
||||
[fRPCAccessTable deselectAll: self];
|
||||
[fRPCAccessTable reloadData];
|
||||
}
|
||||
|
||||
[fDefaults setObject: fRPCAccessArray forKey: @"RPCAccessList"];
|
||||
[self updateRPCAccessList];
|
||||
NSString * newIP;
|
||||
if (valid)
|
||||
{
|
||||
newIP = [newComponents componentsJoinedByString: @"."];
|
||||
|
||||
//don't allow the same ip address
|
||||
if ([fRPCWhitelistArray containsObject: newIP] && ![[fRPCWhitelistArray objectAtIndex: row] isEqualToString: newIP])
|
||||
valid = false;
|
||||
}
|
||||
|
||||
if (valid)
|
||||
{
|
||||
[fRPCWhitelistArray replaceObjectAtIndex: row withObject: newIP];
|
||||
[fRPCWhitelistArray sortUsingSelector: @selector(compareNumeric:)];
|
||||
}
|
||||
else
|
||||
{
|
||||
NSBeep();
|
||||
if ([[fRPCWhitelistArray objectAtIndex: row] isEqualToString: @""])
|
||||
[fRPCWhitelistArray removeObjectAtIndex: row];
|
||||
}
|
||||
|
||||
[fRPCWhitelistTable deselectAll: self];
|
||||
[fRPCWhitelistTable reloadData];
|
||||
|
||||
[fDefaults setObject: fRPCWhitelistArray forKey: @"RPCWhitelist"];
|
||||
[self updateRPCWhitelist];
|
||||
}
|
||||
|
||||
- (void) tableViewSelectionDidChange: (NSNotification *) notification
|
||||
{
|
||||
[fRPCAddRemoveControl setEnabled: [fRPCAccessTable numberOfSelectedRows] > 0 forSegment: RPC_IP_REMOVE_TAG];
|
||||
[fRPCAddRemoveControl setEnabled: [fRPCWhitelistTable numberOfSelectedRows] > 0 forSegment: RPC_IP_REMOVE_TAG];
|
||||
}
|
||||
|
||||
- (void) helpForPeers: (id) sender
|
||||
|
|
|
@ -3,11 +3,12 @@
|
|||
<data>
|
||||
<int key="IBDocument.SystemTarget">1050</int>
|
||||
<string key="IBDocument.SystemVersion">9E17</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">670</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">672</string>
|
||||
<string key="IBDocument.AppKitVersion">949.33</string>
|
||||
<string key="IBDocument.HIToolboxVersion">352.00</string>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="1523"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<object class="NSMutableString" key="NSViewClass">
|
||||
<characters key="NS.bytes">View</characters>
|
||||
</object>
|
||||
<string key="NSWindowContentMaxSize">{10000, 10000}</string>
|
||||
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
||||
<object class="NSView" key="NSWindowView" id="334064964">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
|
@ -2573,7 +2574,7 @@ AAABAAAAAQ</bytes>
|
|||
<string key="NSExtension">NSResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomView" id="204700639">
|
||||
<reference key="NSNextResponder"/>
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -2582,7 +2583,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{497, 12}, {21, 23}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="893670578">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2606,7 +2606,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{42, 34}, {90, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="514153614">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2623,7 +2622,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{135, 33}, {357, 18}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="127446013">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2647,7 +2645,6 @@ AAABAAAAAQ</bytes>
|
|||
<object class="NSPSMatrix" key="NSDrawMatrix"/>
|
||||
<string key="NSFrame">{{319, 279}, {16, 16}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<int key="NSpiFlags">28938</int>
|
||||
<double key="NSMaxValue">1.000000e+02</double>
|
||||
</object>
|
||||
|
@ -2668,7 +2665,6 @@ AAABAAAAAQ</bytes>
|
|||
</object>
|
||||
<string key="NSFrame">{{320, 280}, {14, 14}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSImageCell" key="NSCell" id="270102740">
|
||||
<int key="NSCellFlags">130560</int>
|
||||
|
@ -2689,7 +2685,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{134, 279}, {124, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="941628063">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2706,7 +2701,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{135, 255}, {171, 18}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="633401664">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2729,7 +2723,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{135, 200}, {271, 18}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="20752657">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2752,7 +2745,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{263, 277}, {50, 22}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="453443006">
|
||||
<int key="NSCellFlags">-1804468671</int>
|
||||
|
@ -2819,7 +2811,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{205, 145}, {50, 22}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="1001442911">
|
||||
<int key="NSCellFlags">-1804468671</int>
|
||||
|
@ -2886,7 +2877,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{134, 239}, {238, 14}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="67017561">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2903,7 +2893,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{339, 279}, {179, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="931894024">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2920,7 +2909,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{71, 279}, {61, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="475516915">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2937,7 +2925,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{88, 201}, {44, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="582281809">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2954,7 +2941,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{205, 171}, {259, 22}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="1051431853">
|
||||
<int key="NSCellFlags">-1804468671</int>
|
||||
|
@ -2972,7 +2958,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{176, 73}, {68, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="954130018">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -2989,7 +2974,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{173, 99}, {71, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="108838744">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -3006,7 +2990,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{153, 173}, {47, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="677732006">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -3023,7 +3006,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{166, 147}, {34, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="63707525">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -3040,7 +3022,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{266, 147}, {60, 17}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="502542662">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -3057,7 +3038,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{154, 123}, {187, 18}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="296153825">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -3080,7 +3060,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{249, 71}, {184, 22}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSecureTextFieldCell" key="NSCell" id="669471795">
|
||||
<int key="NSCellFlags">343014976</int>
|
||||
|
@ -3102,7 +3081,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{249, 97}, {184, 22}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="731460553">
|
||||
<int key="NSCellFlags">-1804468671</int>
|
||||
|
@ -3120,7 +3098,6 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{328, 141}, {99, 26}}</string>
|
||||
<reference key="NSSuperview" ref="204700639"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="326179066">
|
||||
<int key="NSCellFlags">-2076049856</int>
|
||||
|
@ -3183,13 +3160,11 @@ AAABAAAAAQ</bytes>
|
|||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{535, 319}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<string key="NSClassName">NSView</string>
|
||||
<string key="NSExtension">NSResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomView" id="810116101">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -3437,7 +3412,7 @@ AAABAAAAAQ</bytes>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSTableColumn" id="419711322">
|
||||
<string key="NSIdentifier">IP</string>
|
||||
<double key="NSWidth">2.460000e+02</double>
|
||||
<double key="NSWidth">3.280000e+02</double>
|
||||
<double key="NSMinWidth">4.000000e+01</double>
|
||||
<double key="NSMaxWidth">1.000000e+03</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
|
@ -3445,11 +3420,11 @@ AAABAAAAAQ</bytes>
|
|||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">IP Address</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<object class="NSColor" key="NSBackgroundColor" id="245857249">
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor" id="1020040622">
|
||||
<object class="NSColor" key="NSTextColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">headerTextColor</string>
|
||||
|
@ -3470,70 +3445,6 @@ AAABAAAAAQ</bytes>
|
|||
<bool key="NSIsEditable">YES</bool>
|
||||
<reference key="NSTableView" ref="173651346"/>
|
||||
</object>
|
||||
<object class="NSTableColumn" id="618951019">
|
||||
<string key="NSIdentifier">Permission</string>
|
||||
<double key="NSWidth">7.900000e+01</double>
|
||||
<double key="NSMinWidth">4.000000e+01</double>
|
||||
<double key="NSMaxWidth">1.000000e+03</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">75628032</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">Permission</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSBackgroundColor" ref="245857249"/>
|
||||
<reference key="NSTextColor" ref="1020040622"/>
|
||||
</object>
|
||||
<object class="NSPopUpButtonCell" key="NSDataCell" id="946327133">
|
||||
<int key="NSCellFlags">-2076049856</int>
|
||||
<int key="NSCellFlags2">133120</int>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="173651346"/>
|
||||
<int key="NSButtonFlags">100679935</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">400</int>
|
||||
<int key="NSPeriodicInterval">75</int>
|
||||
<object class="NSMenuItem" key="NSMenuItem" id="879941939">
|
||||
<reference key="NSMenu" ref="23202450"/>
|
||||
<string key="NSTitle">Allow</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<int key="NSState">1</int>
|
||||
<reference key="NSOnImage" ref="550412468"/>
|
||||
<reference key="NSMixedImage" ref="32510707"/>
|
||||
<string key="NSAction">_popUpItemAction:</string>
|
||||
<reference key="NSTarget" ref="946327133"/>
|
||||
</object>
|
||||
<bool key="NSMenuItemRespectAlignment">YES</bool>
|
||||
<object class="NSMenu" key="NSMenu" id="23202450">
|
||||
<string key="NSTitle">OtherViews</string>
|
||||
<object class="NSMutableArray" key="NSMenuItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="879941939"/>
|
||||
<object class="NSMenuItem" id="790371608">
|
||||
<reference key="NSMenu" ref="23202450"/>
|
||||
<string key="NSTitle">Deny</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="550412468"/>
|
||||
<reference key="NSMixedImage" ref="32510707"/>
|
||||
<string key="NSAction">_popUpItemAction:</string>
|
||||
<reference key="NSTarget" ref="946327133"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="NSPreferredEdge">3</int>
|
||||
<bool key="NSUsesItemFromMenu">YES</bool>
|
||||
<bool key="NSAltersState">YES</bool>
|
||||
<int key="NSArrowPosition">1</int>
|
||||
</object>
|
||||
<int key="NSResizingMask">3</int>
|
||||
<bool key="NSIsResizeable">YES</bool>
|
||||
<bool key="NSIsEditable">YES</bool>
|
||||
<reference key="NSTableView" ref="173651346"/>
|
||||
</object>
|
||||
</object>
|
||||
<double key="NSIntercellSpacingWidth">3.000000e+00</double>
|
||||
<double key="NSIntercellSpacingHeight">2.000000e+00</double>
|
||||
|
@ -3722,6 +3633,7 @@ AAABAAAAAQ</bytes>
|
|||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{535, 444}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<string key="NSClassName">NSView</string>
|
||||
<string key="NSExtension">NSResponder</string>
|
||||
</object>
|
||||
|
@ -5439,14 +5351,6 @@ AAABAAAAAQ</bytes>
|
|||
</object>
|
||||
<int key="connectionID">1537</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">fRPCAccessTable</string>
|
||||
<reference key="source" ref="511492310"/>
|
||||
<reference key="destination" ref="173651346"/>
|
||||
</object>
|
||||
<int key="connectionID">1538</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">addRemoveRPCIP:</string>
|
||||
|
@ -6591,6 +6495,14 @@ AAABAAAAAQ</bytes>
|
|||
</object>
|
||||
<int key="connectionID">1745</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">fRPCWhitelistTable</string>
|
||||
<reference key="source" ref="511492310"/>
|
||||
<reference key="destination" ref="173651346"/>
|
||||
</object>
|
||||
<int key="connectionID">1746</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
|
@ -8354,7 +8266,6 @@ AAABAAAAAQ</bytes>
|
|||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="419711322"/>
|
||||
<reference ref="618951019"/>
|
||||
</object>
|
||||
<reference key="parent" ref="122119447"/>
|
||||
</object>
|
||||
|
@ -8372,44 +8283,6 @@ AAABAAAAAQ</bytes>
|
|||
<reference key="object" ref="927132215"/>
|
||||
<reference key="parent" ref="419711322"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1524</int>
|
||||
<reference key="object" ref="618951019"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="946327133"/>
|
||||
</object>
|
||||
<reference key="parent" ref="173651346"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1528</int>
|
||||
<reference key="object" ref="946327133"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="23202450"/>
|
||||
</object>
|
||||
<reference key="parent" ref="618951019"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1529</int>
|
||||
<reference key="object" ref="23202450"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="879941939"/>
|
||||
<reference ref="790371608"/>
|
||||
</object>
|
||||
<reference key="parent" ref="946327133"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1530</int>
|
||||
<reference key="object" ref="879941939"/>
|
||||
<reference key="parent" ref="23202450"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1531</int>
|
||||
<reference key="object" ref="790371608"/>
|
||||
<reference key="parent" ref="23202450"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1522</int>
|
||||
<reference key="object" ref="520862816"/>
|
||||
|
@ -9082,17 +8955,11 @@ AAABAAAAAQ</bytes>
|
|||
<string>1521.IBPluginDependency</string>
|
||||
<string>1522.IBPluginDependency</string>
|
||||
<string>1523.IBPluginDependency</string>
|
||||
<string>1524.IBPluginDependency</string>
|
||||
<string>1526.IBPluginDependency</string>
|
||||
<string>1528.IBPluginDependency</string>
|
||||
<string>1529.IBEditorWindowLastContentRect</string>
|
||||
<string>1529.IBPluginDependency</string>
|
||||
<string>153.IBEditorWindowLastContentRect</string>
|
||||
<string>153.IBPluginDependency</string>
|
||||
<string>153.ImportedFromIB2</string>
|
||||
<string>153.editorWindowContentRectSynchronizationRect</string>
|
||||
<string>1530.IBPluginDependency</string>
|
||||
<string>1531.IBPluginDependency</string>
|
||||
<string>1534.IBPluginDependency</string>
|
||||
<string>1534.IBSegmentedControlTracker.RoundRobinState</string>
|
||||
<string>1534.IBSegmentedControlTracker.WasGrowing</string>
|
||||
|
@ -9484,17 +9351,11 @@ AAABAAAAAQ</bytes>
|
|||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{499, 504}, {327, 37}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{289, 658}, {535, 226}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="761722050"/>
|
||||
<string>{{149, 524}, {539, 226}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="8"/>
|
||||
<reference ref="8"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
|
@ -9801,7 +9662,7 @@ AAABAAAAAQ</bytes>
|
|||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">1745</int>
|
||||
<int key="maxID">1746</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
@ -10018,10 +9879,10 @@ AAABAAAAAQ</bytes>
|
|||
<string>fProxyTypePopUp</string>
|
||||
<string>fQueueDownloadField</string>
|
||||
<string>fQueueSeedField</string>
|
||||
<string>fRPCAccessTable</string>
|
||||
<string>fRPCAddRemoveControl</string>
|
||||
<string>fRPCPasswordField</string>
|
||||
<string>fRPCPortField</string>
|
||||
<string>fRPCWhitelistTable</string>
|
||||
<string>fRatioStopField</string>
|
||||
<string>fRemoteView</string>
|
||||
<string>fSpeedLimitDownloadField</string>
|
||||
|
@ -10056,10 +9917,10 @@ AAABAAAAAQ</bytes>
|
|||
<string>NSPopUpButton</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTableView</string>
|
||||
<string>NSSegmentedControl</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTableView</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSView</string>
|
||||
<string>NSTextField</string>
|
||||
|
|
Loading…
Reference in a new issue