Changeset 6824


Ignore:
Timestamp:
Oct 1, 2008, 10:17:25 PM (13 years ago)
Author:
livings124
Message:

support the new whitelist

Location:
trunk/macosx
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/PrefsController.h

    r6738 r6824  
    5757   
    5858    IBOutlet NSTextField * fRPCPortField, * fRPCPasswordField;
    59     IBOutlet NSTableView * fRPCAccessTable;
     59    IBOutlet NSTableView * fRPCWhitelistTable;
     60    NSMutableArray * fRPCWhitelistArray;
    6061    IBOutlet NSSegmentedControl * fRPCAddRemoveControl;
    61     NSMutableArray * fRPCAccessArray;
    6262}
    6363
     
    132132- (void) updateRPCPassword;
    133133- (void) setRPCPort: (id) sender;
    134 - (void) updateRPCAccessList;
     134- (void) updateRPCWhitelist;
    135135- (void) addRemoveRPCIP: (id) sender;
    136136
  • trunk/macosx/PrefsController.m

    r6818 r6824  
    3737#define PROXY_SOCKS5    2
    3838
    39 #define RPC_ACCESS_ALLOW    0
    40 #define RPC_ACCESS_DENY     1
    41 
    4239#define RPC_IP_ADD_TAG      0
    4340#define RPC_IP_REMOVE_TAG   1
     
    129126        [self updateProxyPassword];
    130127       
    131         //update rpc access list
     128        //update rpc whitelist
    132129        [self updateRPCPassword];
    133130       
    134         fRPCAccessArray = [[fDefaults arrayForKey: @"RPCAccessList"] mutableCopy];
    135         if (!fRPCAccessArray)
    136             fRPCAccessArray = [[NSMutableArray arrayWithObject: [NSDictionary dictionaryWithObjectsAndKeys: @"127.0.0.1", @"IP",
    137                                 [NSNumber numberWithBool: YES], @"Allow", nil]] retain];
    138         [self updateRPCAccessList];
     131        fRPCWhitelistArray = [[fDefaults arrayForKey: @"RPCWhitelist"] mutableCopy];
     132        if (!fRPCWhitelistArray)
     133            fRPCWhitelistArray = [[NSMutableArray arrayWithObject: @"127.0.0.1"] retain];
     134        [self updateRPCWhitelist];
    139135    }
    140136   
     
    153149    }
    154150   
    155     [fRPCAccessArray release];
     151    [fRPCWhitelistArray release];
    156152   
    157153    [super dealloc];
     
    877873}
    878874
    879 - (void) updateRPCAccessList
    880 {
    881     NSMutableArray * components = [NSMutableArray arrayWithCapacity: [fRPCAccessArray count]];
    882    
    883     NSEnumerator * enumerator = [fRPCAccessArray objectEnumerator];
    884     NSDictionary * dict;
    885     while ((dict = [enumerator nextObject]))
    886         [components addObject: [NSString stringWithFormat: @"%c%@", [[dict objectForKey: @"Allow"] boolValue] ? '+' : '-',
    887                                 [dict objectForKey: @"IP"]]];
    888    
    889     NSString * string = [components componentsJoinedByString: @","];
    890     tr_sessionSetRPCACL(fHandle, [string UTF8String]);
     875- (void) updateRPCWhitelist
     876{
     877    NSString * string = [fRPCWhitelistArray componentsJoinedByString: @","];
     878    tr_sessionSetRPCWhitelist(fHandle, [string UTF8String]);
    891879}
    892880
     
    894882{
    895883    //don't allow add/remove when currently adding - it leads to weird results
    896     if ([fRPCAccessTable editedRow] != -1)
     884    if ([fRPCWhitelistTable editedRow] != -1)
    897885        return;
    898886   
    899887    if ([[sender cell] tagForSegment: [sender selectedSegment]] == RPC_IP_REMOVE_TAG)
    900888    {
    901         [fRPCAccessArray removeObjectsAtIndexes: [fRPCAccessTable selectedRowIndexes]];
    902         [fRPCAccessTable deselectAll: self];
    903         [fRPCAccessTable reloadData];
    904        
    905         [fDefaults setObject: fRPCAccessArray forKey: @"RPCAccessList"];
    906         [self updateRPCAccessList];
     889        [fRPCWhitelistArray removeObjectsAtIndexes: [fRPCWhitelistTable selectedRowIndexes]];
     890        [fRPCWhitelistTable deselectAll: self];
     891        [fRPCWhitelistTable reloadData];
     892       
     893        [fDefaults setObject: fRPCWhitelistArray forKey: @"RPCWhitelist"];
     894        [self updateRPCWhitelist];
    907895    }
    908896    else
    909897    {
    910         [fRPCAccessArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: @"", @"IP",
    911                                         [NSNumber numberWithBool: YES], @"Allow", nil]];
    912         [fRPCAccessTable reloadData];
    913        
    914         int row = [fRPCAccessArray count] - 1;
    915         [fRPCAccessTable selectRow: row byExtendingSelection: NO];
    916         [fRPCAccessTable editColumn: 0 row: row withEvent: nil select: YES];
     898        [fRPCWhitelistArray addObject: @""];
     899        [fRPCWhitelistTable reloadData];
     900       
     901        int row = [fRPCWhitelistArray count] - 1;
     902        [fRPCWhitelistTable selectRow: row byExtendingSelection: NO];
     903        [fRPCWhitelistTable editColumn: 0 row: row withEvent: nil select: YES];
    917904    }
    918905}
     
    920907- (NSInteger) numberOfRowsInTableView: (NSTableView *) tableView
    921908{
    922     return [fRPCAccessArray count];
     909    return [fRPCWhitelistArray count];
    923910}
    924911
    925912- (id) tableView: (NSTableView *) tableView objectValueForTableColumn: (NSTableColumn *) tableColumn row: (NSInteger) row
    926913{
    927     NSDictionary * dict = [fRPCAccessArray objectAtIndex: row];
    928    
    929     NSString * ident = [tableColumn identifier];
    930     if ([ident isEqualToString: @"Permission"])
    931     {
    932         int allow = [[dict objectForKey: @"Allow"] boolValue] ? RPC_ACCESS_ALLOW : RPC_ACCESS_DENY;
    933         return [NSNumber numberWithInt: allow];
    934     }
    935     else
    936         return [dict objectForKey: @"IP"];
     914    return [fRPCWhitelistArray objectAtIndex: row];
    937915}
    938916
     
    940918    row: (NSInteger) row
    941919{
    942     NSDictionary * oldDict = [fRPCAccessArray objectAtIndex: row];
    943    
    944     NSString * ident = [tableColumn identifier];
    945     if ([ident isEqualToString: @"Permission"])
    946     {
    947         NSNumber * allow = [NSNumber numberWithBool: [object intValue] == RPC_ACCESS_ALLOW];
    948         NSDictionary * newDict = [NSDictionary dictionaryWithObjectsAndKeys: [oldDict objectForKey: @"IP"], @"IP", allow, @"Allow", nil];
    949         [fRPCAccessArray replaceObjectAtIndex: row withObject: newDict];
    950     }
    951     else
    952     {
    953         NSArray * components = [object componentsSeparatedByString: @"."];
    954         NSMutableArray * newComponents = [NSMutableArray arrayWithCapacity: 4];
    955        
    956         //create better-formatted ip string
    957         BOOL valid = false;
    958         if ([components count] == 4)
     920    NSArray * components = [object componentsSeparatedByString: @"."];
     921    NSMutableArray * newComponents = [NSMutableArray arrayWithCapacity: 4];
     922       
     923    //create better-formatted ip string
     924    BOOL valid = false;
     925    if ([components count] == 4)
     926    {
     927        valid = true;
     928        NSEnumerator * enumerator = [components objectEnumerator];
     929        NSString * component;
     930        while ((component = [enumerator nextObject]))
    959931        {
    960             valid = true;
    961             NSEnumerator * enumerator = [components objectEnumerator];
    962             NSString * component;
    963             while ((component = [enumerator nextObject]))
     932            if ([component isEqualToString: @"*"])
     933                [newComponents addObject: component];
     934            else
    964935            {
    965                 if ([component isEqualToString: @"*"])
    966                     [newComponents addObject: component];
     936                int num = [component intValue];
     937                if (num >= 0 && num < 256)
     938                    [newComponents addObject: [[NSNumber numberWithInt: num] stringValue]];
    967939                else
    968940                {
    969                     int num = [component intValue];
    970                     if (num >= 0 && num < 256)
    971                         [newComponents addObject: [[NSNumber numberWithInt: num] stringValue]];
    972                     else
    973                     {
    974                         valid = false;
    975                         break;
    976                     }
     941                    valid = false;
     942                    break;
    977943                }
    978944            }
    979945        }
    980        
    981         if (valid)
    982         {
    983             NSString * newIP = [newComponents componentsJoinedByString: @"."];
    984            
    985             NSDictionary * newDict = [NSDictionary dictionaryWithObjectsAndKeys: newIP, @"IP",
    986                                         [oldDict objectForKey: @"Allow"], @"Allow", nil];
    987             [fRPCAccessArray replaceObjectAtIndex: row withObject: newDict];
    988            
    989             NSSortDescriptor * descriptor = [[[NSSortDescriptor alloc] initWithKey: @"IP" ascending: YES
    990                                                 selector: @selector(compareNumeric:)] autorelease];
    991             [fRPCAccessArray sortUsingDescriptors: [NSArray arrayWithObject: descriptor]];
    992         }
    993         else
    994         {
    995             NSBeep();
    996             if ([[oldDict objectForKey: @"IP"] isEqualToString: @""])
    997                 [fRPCAccessArray removeObjectAtIndex: row];
    998         }
    999        
    1000         [fRPCAccessTable deselectAll: self];
    1001         [fRPCAccessTable reloadData];
    1002     }
    1003    
    1004     [fDefaults setObject: fRPCAccessArray forKey: @"RPCAccessList"];
    1005     [self updateRPCAccessList];
     946    }
     947   
     948    NSString * newIP;
     949    if (valid)
     950    {
     951        newIP = [newComponents componentsJoinedByString: @"."];
     952       
     953        //don't allow the same ip address
     954        if ([fRPCWhitelistArray containsObject: newIP] && ![[fRPCWhitelistArray objectAtIndex: row] isEqualToString: newIP])
     955            valid = false;
     956    }
     957   
     958    if (valid)
     959    {
     960        [fRPCWhitelistArray replaceObjectAtIndex: row withObject: newIP];
     961        [fRPCWhitelistArray sortUsingSelector: @selector(compareNumeric:)];
     962    }
     963    else
     964    {
     965        NSBeep();
     966        if ([[fRPCWhitelistArray objectAtIndex: row] isEqualToString: @""])
     967            [fRPCWhitelistArray removeObjectAtIndex: row];
     968    }
     969       
     970    [fRPCWhitelistTable deselectAll: self];
     971    [fRPCWhitelistTable reloadData];
     972   
     973    [fDefaults setObject: fRPCWhitelistArray forKey: @"RPCWhitelist"];
     974    [self updateRPCWhitelist];
    1006975}
    1007976
    1008977- (void) tableViewSelectionDidChange: (NSNotification *) notification
    1009978{
    1010     [fRPCAddRemoveControl setEnabled: [fRPCAccessTable numberOfSelectedRows] > 0 forSegment: RPC_IP_REMOVE_TAG];
     979    [fRPCAddRemoveControl setEnabled: [fRPCWhitelistTable numberOfSelectedRows] > 0 forSegment: RPC_IP_REMOVE_TAG];
    1011980}
    1012981
  • trunk/macosx/en.lproj/PrefsWindow.xib

    r6741 r6824  
    44                <int key="IBDocument.SystemTarget">1050</int>
    55                <string key="IBDocument.SystemVersion">9E17</string>
    6                 <string key="IBDocument.InterfaceBuilderVersion">670</string>
     6                <string key="IBDocument.InterfaceBuilderVersion">672</string>
    77                <string key="IBDocument.AppKitVersion">949.33</string>
    88                <string key="IBDocument.HIToolboxVersion">352.00</string>
    99                <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
    1010                        <bool key="EncodedWithXMLCoder">YES</bool>
     11                        <integer value="1523"/>
    1112                </object>
    1213                <object class="NSArray" key="IBDocument.PluginDependencies">
     
    3536                                        <characters key="NS.bytes">View</characters>
    3637                                </object>
    37                                 <string key="NSWindowContentMaxSize">{10000, 10000}</string>
     38                                <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
    3839                                <object class="NSView" key="NSWindowView" id="334064964">
    3940                                        <nil key="NSNextResponder"/>
     
    25742575                        </object>
    25752576                        <object class="NSCustomView" id="204700639">
    2576                                 <reference key="NSNextResponder"/>
     2577                                <nil key="NSNextResponder"/>
    25772578                                <int key="NSvFlags">256</int>
    25782579                                <object class="NSMutableArray" key="NSSubviews">
     
    25832584                                                <string key="NSFrame">{{497, 12}, {21, 23}}</string>
    25842585                                                <reference key="NSSuperview" ref="204700639"/>
    2585                                                 <reference key="NSWindow"/>
    25862586                                                <bool key="NSEnabled">YES</bool>
    25872587                                                <object class="NSButtonCell" key="NSCell" id="893670578">
     
    26072607                                                <string key="NSFrame">{{42, 34}, {90, 17}}</string>
    26082608                                                <reference key="NSSuperview" ref="204700639"/>
    2609                                                 <reference key="NSWindow"/>
    26102609                                                <bool key="NSEnabled">YES</bool>
    26112610                                                <object class="NSTextFieldCell" key="NSCell" id="514153614">
     
    26242623                                                <string key="NSFrame">{{135, 33}, {357, 18}}</string>
    26252624                                                <reference key="NSSuperview" ref="204700639"/>
    2626                                                 <reference key="NSWindow"/>
    26272625                                                <bool key="NSEnabled">YES</bool>
    26282626                                                <object class="NSButtonCell" key="NSCell" id="127446013">
     
    26482646                                                <string key="NSFrame">{{319, 279}, {16, 16}}</string>
    26492647                                                <reference key="NSSuperview" ref="204700639"/>
    2650                                                 <reference key="NSWindow"/>
    26512648                                                <int key="NSpiFlags">28938</int>
    26522649                                                <double key="NSMaxValue">1.000000e+02</double>
     
    26692666                                                <string key="NSFrame">{{320, 280}, {14, 14}}</string>
    26702667                                                <reference key="NSSuperview" ref="204700639"/>
    2671                                                 <reference key="NSWindow"/>
    26722668                                                <bool key="NSEnabled">YES</bool>
    26732669                                                <object class="NSImageCell" key="NSCell" id="270102740">
     
    26902686                                                <string key="NSFrame">{{134, 279}, {124, 17}}</string>
    26912687                                                <reference key="NSSuperview" ref="204700639"/>
    2692                                                 <reference key="NSWindow"/>
    26932688                                                <bool key="NSEnabled">YES</bool>
    26942689                                                <object class="NSTextFieldCell" key="NSCell" id="941628063">
     
    27072702                                                <string key="NSFrame">{{135, 255}, {171, 18}}</string>
    27082703                                                <reference key="NSSuperview" ref="204700639"/>
    2709                                                 <reference key="NSWindow"/>
    27102704                                                <bool key="NSEnabled">YES</bool>
    27112705                                                <object class="NSButtonCell" key="NSCell" id="633401664">
     
    27302724                                                <string key="NSFrame">{{135, 200}, {271, 18}}</string>
    27312725                                                <reference key="NSSuperview" ref="204700639"/>
    2732                                                 <reference key="NSWindow"/>
    27332726                                                <bool key="NSEnabled">YES</bool>
    27342727                                                <object class="NSButtonCell" key="NSCell" id="20752657">
     
    27532746                                                <string key="NSFrame">{{263, 277}, {50, 22}}</string>
    27542747                                                <reference key="NSSuperview" ref="204700639"/>
    2755                                                 <reference key="NSWindow"/>
    27562748                                                <bool key="NSEnabled">YES</bool>
    27572749                                                <object class="NSTextFieldCell" key="NSCell" id="453443006">
     
    28202812                                                <string key="NSFrame">{{205, 145}, {50, 22}}</string>
    28212813                                                <reference key="NSSuperview" ref="204700639"/>
    2822                                                 <reference key="NSWindow"/>
    28232814                                                <bool key="NSEnabled">YES</bool>
    28242815                                                <object class="NSTextFieldCell" key="NSCell" id="1001442911">
     
    28872878                                                <string key="NSFrame">{{134, 239}, {238, 14}}</string>
    28882879                                                <reference key="NSSuperview" ref="204700639"/>
    2889                                                 <reference key="NSWindow"/>
    28902880                                                <bool key="NSEnabled">YES</bool>
    28912881                                                <object class="NSTextFieldCell" key="NSCell" id="67017561">
     
    29042894                                                <string key="NSFrame">{{339, 279}, {179, 17}}</string>
    29052895                                                <reference key="NSSuperview" ref="204700639"/>
    2906                                                 <reference key="NSWindow"/>
    29072896                                                <bool key="NSEnabled">YES</bool>
    29082897                                                <object class="NSTextFieldCell" key="NSCell" id="931894024">
     
    29212910                                                <string key="NSFrame">{{71, 279}, {61, 17}}</string>
    29222911                                                <reference key="NSSuperview" ref="204700639"/>
    2923                                                 <reference key="NSWindow"/>
    29242912                                                <bool key="NSEnabled">YES</bool>
    29252913                                                <object class="NSTextFieldCell" key="NSCell" id="475516915">
     
    29382926                                                <string key="NSFrame">{{88, 201}, {44, 17}}</string>
    29392927                                                <reference key="NSSuperview" ref="204700639"/>
    2940                                                 <reference key="NSWindow"/>
    29412928                                                <bool key="NSEnabled">YES</bool>
    29422929                                                <object class="NSTextFieldCell" key="NSCell" id="582281809">
     
    29552942                                                <string key="NSFrame">{{205, 171}, {259, 22}}</string>
    29562943                                                <reference key="NSSuperview" ref="204700639"/>
    2957                                                 <reference key="NSWindow"/>
    29582944                                                <bool key="NSEnabled">YES</bool>
    29592945                                                <object class="NSTextFieldCell" key="NSCell" id="1051431853">
     
    29732959                                                <string key="NSFrame">{{176, 73}, {68, 17}}</string>
    29742960                                                <reference key="NSSuperview" ref="204700639"/>
    2975                                                 <reference key="NSWindow"/>
    29762961                                                <bool key="NSEnabled">YES</bool>
    29772962                                                <object class="NSTextFieldCell" key="NSCell" id="954130018">
     
    29902975                                                <string key="NSFrame">{{173, 99}, {71, 17}}</string>
    29912976                                                <reference key="NSSuperview" ref="204700639"/>
    2992                                                 <reference key="NSWindow"/>
    29932977                                                <bool key="NSEnabled">YES</bool>
    29942978                                                <object class="NSTextFieldCell" key="NSCell" id="108838744">
     
    30072991                                                <string key="NSFrame">{{153, 173}, {47, 17}}</string>
    30082992                                                <reference key="NSSuperview" ref="204700639"/>
    3009                                                 <reference key="NSWindow"/>
    30102993                                                <bool key="NSEnabled">YES</bool>
    30112994                                                <object class="NSTextFieldCell" key="NSCell" id="677732006">
     
    30243007                                                <string key="NSFrame">{{166, 147}, {34, 17}}</string>
    30253008                                                <reference key="NSSuperview" ref="204700639"/>
    3026                                                 <reference key="NSWindow"/>
    30273009                                                <bool key="NSEnabled">YES</bool>
    30283010                                                <object class="NSTextFieldCell" key="NSCell" id="63707525">
     
    30413023                                                <string key="NSFrame">{{266, 147}, {60, 17}}</string>
    30423024                                                <reference key="NSSuperview" ref="204700639"/>
    3043                                                 <reference key="NSWindow"/>
    30443025                                                <bool key="NSEnabled">YES</bool>
    30453026                                                <object class="NSTextFieldCell" key="NSCell" id="502542662">
     
    30583039                                                <string key="NSFrame">{{154, 123}, {187, 18}}</string>
    30593040                                                <reference key="NSSuperview" ref="204700639"/>
    3060                                                 <reference key="NSWindow"/>
    30613041                                                <bool key="NSEnabled">YES</bool>
    30623042                                                <object class="NSButtonCell" key="NSCell" id="296153825">
     
    30813061                                                <string key="NSFrame">{{249, 71}, {184, 22}}</string>
    30823062                                                <reference key="NSSuperview" ref="204700639"/>
    3083                                                 <reference key="NSWindow"/>
    30843063                                                <bool key="NSEnabled">YES</bool>
    30853064                                                <object class="NSSecureTextFieldCell" key="NSCell" id="669471795">
     
    31033082                                                <string key="NSFrame">{{249, 97}, {184, 22}}</string>
    31043083                                                <reference key="NSSuperview" ref="204700639"/>
    3105                                                 <reference key="NSWindow"/>
    31063084                                                <bool key="NSEnabled">YES</bool>
    31073085                                                <object class="NSTextFieldCell" key="NSCell" id="731460553">
     
    31213099                                                <string key="NSFrame">{{328, 141}, {99, 26}}</string>
    31223100                                                <reference key="NSSuperview" ref="204700639"/>
    3123                                                 <reference key="NSWindow"/>
    31243101                                                <bool key="NSEnabled">YES</bool>
    31253102                                                <object class="NSPopUpButtonCell" key="NSCell" id="326179066">
     
    31843161                                </object>
    31853162                                <string key="NSFrameSize">{535, 319}</string>
    3186                                 <reference key="NSSuperview"/>
    3187                                 <reference key="NSWindow"/>
    31883163                                <string key="NSClassName">NSView</string>
    31893164                                <string key="NSExtension">NSResponder</string>
    31903165                        </object>
    31913166                        <object class="NSCustomView" id="810116101">
    3192                                 <nil key="NSNextResponder"/>
     3167                                <reference key="NSNextResponder"/>
    31933168                                <int key="NSvFlags">256</int>
    31943169                                <object class="NSMutableArray" key="NSSubviews">
     
    34383413                                                                                        <object class="NSTableColumn" id="419711322">
    34393414                                                                                                <string key="NSIdentifier">IP</string>
    3440                                                                                                 <double key="NSWidth">2.460000e+02</double>
     3415                                                                                                <double key="NSWidth">3.280000e+02</double>
    34413416                                                                                                <double key="NSMinWidth">4.000000e+01</double>
    34423417                                                                                                <double key="NSMaxWidth">1.000000e+03</double>
     
    34463421                                                                                                        <string key="NSContents">IP Address</string>
    34473422                                                                                                        <reference key="NSSupport" ref="26"/>
    3448                                                                                                         <object class="NSColor" key="NSBackgroundColor" id="245857249">
     3423                                                                                                        <object class="NSColor" key="NSBackgroundColor">
    34493424                                                                                                                <int key="NSColorSpace">3</int>
    34503425                                                                                                                <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
    34513426                                                                                                        </object>
    3452                                                                                                         <object class="NSColor" key="NSTextColor" id="1020040622">
     3427                                                                                                        <object class="NSColor" key="NSTextColor">
    34533428                                                                                                                <int key="NSColorSpace">6</int>
    34543429                                                                                                                <string key="NSCatalogName">System</string>
     
    34653440                                                                                                        <reference key="NSBackgroundColor" ref="729660797"/>
    34663441                                                                                                        <reference key="NSTextColor" ref="400627124"/>
    3467                                                                                                 </object>
    3468                                                                                                 <int key="NSResizingMask">3</int>
    3469                                                                                                 <bool key="NSIsResizeable">YES</bool>
    3470                                                                                                 <bool key="NSIsEditable">YES</bool>
    3471                                                                                                 <reference key="NSTableView" ref="173651346"/>
    3472                                                                                         </object>
    3473                                                                                         <object class="NSTableColumn" id="618951019">
    3474                                                                                                 <string key="NSIdentifier">Permission</string>
    3475                                                                                                 <double key="NSWidth">7.900000e+01</double>
    3476                                                                                                 <double key="NSMinWidth">4.000000e+01</double>
    3477                                                                                                 <double key="NSMaxWidth">1.000000e+03</double>
    3478                                                                                                 <object class="NSTableHeaderCell" key="NSHeaderCell">
    3479                                                                                                         <int key="NSCellFlags">75628032</int>
    3480                                                                                                         <int key="NSCellFlags2">0</int>
    3481                                                                                                         <string key="NSContents">Permission</string>
    3482                                                                                                         <reference key="NSSupport" ref="26"/>
    3483                                                                                                         <reference key="NSBackgroundColor" ref="245857249"/>
    3484                                                                                                         <reference key="NSTextColor" ref="1020040622"/>
    3485                                                                                                 </object>
    3486                                                                                                 <object class="NSPopUpButtonCell" key="NSDataCell" id="946327133">
    3487                                                                                                         <int key="NSCellFlags">-2076049856</int>
    3488                                                                                                         <int key="NSCellFlags2">133120</int>
    3489                                                                                                         <reference key="NSSupport" ref="26"/>
    3490                                                                                                         <reference key="NSControlView" ref="173651346"/>
    3491                                                                                                         <int key="NSButtonFlags">100679935</int>
    3492                                                                                                         <int key="NSButtonFlags2">129</int>
    3493                                                                                                         <string key="NSAlternateContents"/>
    3494                                                                                                         <string key="NSKeyEquivalent"/>
    3495                                                                                                         <int key="NSPeriodicDelay">400</int>
    3496                                                                                                         <int key="NSPeriodicInterval">75</int>
    3497                                                                                                         <object class="NSMenuItem" key="NSMenuItem" id="879941939">
    3498                                                                                                                 <reference key="NSMenu" ref="23202450"/>
    3499                                                                                                                 <string key="NSTitle">Allow</string>
    3500                                                                                                                 <string key="NSKeyEquiv"/>
    3501                                                                                                                 <int key="NSKeyEquivModMask">1048576</int>
    3502                                                                                                                 <int key="NSMnemonicLoc">2147483647</int>
    3503                                                                                                                 <int key="NSState">1</int>
    3504                                                                                                                 <reference key="NSOnImage" ref="550412468"/>
    3505                                                                                                                 <reference key="NSMixedImage" ref="32510707"/>
    3506                                                                                                                 <string key="NSAction">_popUpItemAction:</string>
    3507                                                                                                                 <reference key="NSTarget" ref="946327133"/>
    3508                                                                                                         </object>
    3509                                                                                                         <bool key="NSMenuItemRespectAlignment">YES</bool>
    3510                                                                                                         <object class="NSMenu" key="NSMenu" id="23202450">
    3511                                                                                                                 <string key="NSTitle">OtherViews</string>
    3512                                                                                                                 <object class="NSMutableArray" key="NSMenuItems">
    3513                                                                                                                         <bool key="EncodedWithXMLCoder">YES</bool>
    3514                                                                                                                         <reference ref="879941939"/>
    3515                                                                                                                         <object class="NSMenuItem" id="790371608">
    3516                                                                                                                                 <reference key="NSMenu" ref="23202450"/>
    3517                                                                                                                                 <string key="NSTitle">Deny</string>
    3518                                                                                                                                 <string key="NSKeyEquiv"/>
    3519                                                                                                                                 <int key="NSMnemonicLoc">2147483647</int>
    3520                                                                                                                                 <reference key="NSOnImage" ref="550412468"/>
    3521                                                                                                                                 <reference key="NSMixedImage" ref="32510707"/>
    3522                                                                                                                                 <string key="NSAction">_popUpItemAction:</string>
    3523                                                                                                                                 <reference key="NSTarget" ref="946327133"/>
    3524                                                                                                                         </object>
    3525                                                                                                                 </object>
    3526                                                                                                         </object>
    3527                                                                                                         <int key="NSPreferredEdge">3</int>
    3528                                                                                                         <bool key="NSUsesItemFromMenu">YES</bool>
    3529                                                                                                         <bool key="NSAltersState">YES</bool>
    3530                                                                                                         <int key="NSArrowPosition">1</int>
    35313442                                                                                                </object>
    35323443                                                                                                <int key="NSResizingMask">3</int>
     
    37233634                                </object>
    37243635                                <string key="NSFrameSize">{535, 444}</string>
     3636                                <reference key="NSSuperview"/>
    37253637                                <string key="NSClassName">NSView</string>
    37263638                                <string key="NSExtension">NSResponder</string>
     
    54415353                                </object>
    54425354                                <object class="IBConnectionRecord">
    5443                                         <object class="IBOutletConnection" key="connection">
    5444                                                 <string key="label">fRPCAccessTable</string>
    5445                                                 <reference key="source" ref="511492310"/>
    5446                                                 <reference key="destination" ref="173651346"/>
    5447                                         </object>
    5448                                         <int key="connectionID">1538</int>
    5449                                 </object>
    5450                                 <object class="IBConnectionRecord">
    54515355                                        <object class="IBActionConnection" key="connection">
    54525356                                                <string key="label">addRemoveRPCIP:</string>
     
    65926496                                        <int key="connectionID">1745</int>
    65936497                                </object>
     6498                                <object class="IBConnectionRecord">
     6499                                        <object class="IBOutletConnection" key="connection">
     6500                                                <string key="label">fRPCWhitelistTable</string>
     6501                                                <reference key="source" ref="511492310"/>
     6502                                                <reference key="destination" ref="173651346"/>
     6503                                        </object>
     6504                                        <int key="connectionID">1746</int>
     6505                                </object>
    65946506                        </object>
    65956507                        <object class="IBMutableOrderedSet" key="objectRecords">
     
    83558267                                                        <bool key="EncodedWithXMLCoder">YES</bool>
    83568268                                                        <reference ref="419711322"/>
    8357                                                         <reference ref="618951019"/>
    83588269                                                </object>
    83598270                                                <reference key="parent" ref="122119447"/>
     
    83728283                                                <reference key="object" ref="927132215"/>
    83738284                                                <reference key="parent" ref="419711322"/>
    8374                                         </object>
    8375                                         <object class="IBObjectRecord">
    8376                                                 <int key="objectID">1524</int>
    8377                                                 <reference key="object" ref="618951019"/>
    8378                                                 <object class="NSMutableArray" key="children">
    8379                                                         <bool key="EncodedWithXMLCoder">YES</bool>
    8380                                                         <reference ref="946327133"/>
    8381                                                 </object>
    8382                                                 <reference key="parent" ref="173651346"/>
    8383                                         </object>
    8384                                         <object class="IBObjectRecord">
    8385                                                 <int key="objectID">1528</int>
    8386                                                 <reference key="object" ref="946327133"/>
    8387                                                 <object class="NSMutableArray" key="children">
    8388                                                         <bool key="EncodedWithXMLCoder">YES</bool>
    8389                                                         <reference ref="23202450"/>
    8390                                                 </object>
    8391                                                 <reference key="parent" ref="618951019"/>
    8392                                         </object>
    8393                                         <object class="IBObjectRecord">
    8394                                                 <int key="objectID">1529</int>
    8395                                                 <reference key="object" ref="23202450"/>
    8396                                                 <object class="NSMutableArray" key="children">
    8397                                                         <bool key="EncodedWithXMLCoder">YES</bool>
    8398                                                         <reference ref="879941939"/>
    8399                                                         <reference ref="790371608"/>
    8400                                                 </object>
    8401                                                 <reference key="parent" ref="946327133"/>
    8402                                         </object>
    8403                                         <object class="IBObjectRecord">
    8404                                                 <int key="objectID">1530</int>
    8405                                                 <reference key="object" ref="879941939"/>
    8406                                                 <reference key="parent" ref="23202450"/>
    8407                                         </object>
    8408                                         <object class="IBObjectRecord">
    8409                                                 <int key="objectID">1531</int>
    8410                                                 <reference key="object" ref="790371608"/>
    8411                                                 <reference key="parent" ref="23202450"/>
    84128285                                        </object>
    84138286                                        <object class="IBObjectRecord">
     
    90838956                                        <string>1522.IBPluginDependency</string>
    90848957                                        <string>1523.IBPluginDependency</string>
    9085                                         <string>1524.IBPluginDependency</string>
    90868958                                        <string>1526.IBPluginDependency</string>
    9087                                         <string>1528.IBPluginDependency</string>
    9088                                         <string>1529.IBEditorWindowLastContentRect</string>
    9089                                         <string>1529.IBPluginDependency</string>
    90908959                                        <string>153.IBEditorWindowLastContentRect</string>
    90918960                                        <string>153.IBPluginDependency</string>
    90928961                                        <string>153.ImportedFromIB2</string>
    90938962                                        <string>153.editorWindowContentRectSynchronizationRect</string>
    9094                                         <string>1530.IBPluginDependency</string>
    9095                                         <string>1531.IBPluginDependency</string>
    90968963                                        <string>1534.IBPluginDependency</string>
    90978964                                        <string>1534.IBSegmentedControlTracker.RoundRobinState</string>
     
    94859352                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    94869353                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    9487                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    9488                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    9489                                         <string>{{499, 504}, {327, 37}}</string>
    9490                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    94919354                                        <string>{{289, 658}, {535, 226}}</string>
    94929355                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    94939356                                        <reference ref="761722050"/>
    94949357                                        <string>{{149, 524}, {539, 226}}</string>
    9495                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    9496                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    94979358                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    94989359                                        <reference ref="8"/>
     
    98029663                        </object>
    98039664                        <nil key="sourceID"/>
    9804                         <int key="maxID">1745</int>
     9665                        <int key="maxID">1746</int>
    98059666                </object>
    98069667                <object class="IBClassDescriber" key="IBDocument.Classes">
     
    100199880                                                        <string>fQueueDownloadField</string>
    100209881                                                        <string>fQueueSeedField</string>
    10021                                                         <string>fRPCAccessTable</string>
    100229882                                                        <string>fRPCAddRemoveControl</string>
    100239883                                                        <string>fRPCPasswordField</string>
    100249884                                                        <string>fRPCPortField</string>
     9885                                                        <string>fRPCWhitelistTable</string>
    100259886                                                        <string>fRatioStopField</string>
    100269887                                                        <string>fRemoteView</string>
     
    100579918                                                        <string>NSTextField</string>
    100589919                                                        <string>NSTextField</string>
    10059                                                         <string>NSTableView</string>
    100609920                                                        <string>NSSegmentedControl</string>
    100619921                                                        <string>NSTextField</string>
    100629922                                                        <string>NSTextField</string>
     9923                                                        <string>NSTableView</string>
    100639924                                                        <string>NSTextField</string>
    100649925                                                        <string>NSView</string>
Note: See TracChangeset for help on using the changeset viewer.