]> granicus.if.org Git - transmission/commitdiff
add option to enable/disable rpc whitelist
authorMitchell Livingston <livings124@transmissionbt.com>
Wed, 1 Oct 2008 23:02:37 +0000 (23:02 +0000)
committerMitchell Livingston <livings124@transmissionbt.com>
Wed, 1 Oct 2008 23:02:37 +0000 (23:02 +0000)
NEWS
macosx/Controller.m
macosx/Defaults.plist
macosx/PrefsController.h
macosx/PrefsController.m
macosx/en.lproj/PrefsWindow.xib

diff --git a/NEWS b/NEWS
index 2cf832a2370935b13078fa264bf127d9e1f1894d..2579171e1adf1b8795b0dc78473de36679fa90a0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@ http://trac.transmissionbt.com/query?group=component&milestone=1.40
    + Rewritten bandwidth management code
    + Lazy bitfields
    + Support compression when serving Web Interface content and RPC responses
+   + Simplify the RPC whitelist
 - Mac
    + Option to automatically update the blocklist weekly
    + Sparkle updated to 1.5
index 9c7f19b307f704cd97e8a115838f8e96b98e73bc..c7769b96c8dc111af4463a35cbe34283019d73ec 100644 (file)
@@ -223,6 +223,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
                                 [fDefaults integerForKey: @"PeerSocketTOS"], /* hidden pref - default is TR_DEFAULT_PEER_SOCKET_TOS */
                                 [fDefaults boolForKey: @"RPC"],
                                 [fDefaults integerForKey: @"RPCPort"],
+                                [fDefaults boolForKey: @"RPCUseWhitelist"],
                                 NULL, /* reset in prefs */
                                 [fDefaults boolForKey: @"RPCAuthorize"],
                                 [[fDefaults stringForKey: @"RPCUsername"] UTF8String],
index 7b2e9a77fa05181edad53dce37c7908a9c643270..45ec6b91dc7ed7ea403933a5c1efdcd7ac78f1d2 100644 (file)
        <false/>
        <key>RPCAuthorize</key>
        <false/>
+       <key>RPCUseWhitelist</key>
+       <false/>
        <key>RPCPort</key>
        <integer>9091</integer>
        <key>RPCUsername</key>
index 7398d1b7790d54f5513a0d990f2a9753e8dbee03..5bcbf6f937b1def02b7b875b395d1fddec43308e 100644 (file)
 - (void) setRPCPassword: (id) sender;
 - (void) updateRPCPassword;
 - (void) setRPCPort: (id) sender;
+- (void) setRPCUseWhitelist: (id) sender;
 - (void) updateRPCWhitelist;
 - (void) addRemoveRPCIP: (id) sender;
 
index 32bf46fb400533d79c5bf966efe7c4ae640bd819..09b3b8133fb4c54b1a395ce917b955fa6b3f6eb8 100644 (file)
@@ -872,6 +872,11 @@ tr_handle * fHandle;
     tr_sessionSetRPCPort(fHandle, port);
 }
 
+- (void) setRPCUseWhitelist: (id) sender
+{
+    tr_sessionSetRPCWhitelistEnabled(fHandle, [fDefaults boolForKey: @"RPCUseWhitelist"]);
+}
+
 - (void) updateRPCWhitelist
 {
     NSString * string = [fRPCWhitelistArray componentsJoinedByString: @","];
index 0f4cd01c84c9614209aedfddab7f7f9bc0de56d0..fa4a279e18e59a2b8370aa70d85b4eb4473f0554 100644 (file)
@@ -8,7 +8,7 @@
                <string key="IBDocument.HIToolboxVersion">352.00</string>
                <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
                        <bool key="EncodedWithXMLCoder">YES</bool>
-                       <integer value="1523"/>
+                       <integer value="1481"/>
                </object>
                <object class="NSArray" key="IBDocument.PluginDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
@@ -3171,7 +3171,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSTextField" id="712370553">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{100, 221}, {96, 17}}</string>
+                                               <string key="NSFrame">{{100, 220}, {96, 17}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSTextFieldCell" key="NSCell" id="957501329">
@@ -3187,7 +3187,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSTextField" id="966253460">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{123, 263}, {68, 17}}</string>
+                                               <string key="NSFrame">{{123, 262}, {68, 17}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSTextFieldCell" key="NSCell" id="404750455">
@@ -3203,7 +3203,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSTextField" id="1807399">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{120, 289}, {71, 17}}</string>
+                                               <string key="NSFrame">{{120, 288}, {71, 17}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSTextFieldCell" key="NSCell" id="705209842">
@@ -3219,7 +3219,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSTextField" id="485614707">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{202, 219}, {50, 22}}</string>
+                                               <string key="NSFrame">{{202, 218}, {50, 22}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSTextFieldCell" key="NSCell" id="754049708">
@@ -3285,7 +3285,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSButton" id="898169443">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{82, 408}, {158, 18}}</string>
+                                               <string key="NSFrame">{{82, 407}, {158, 18}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="844429646">
@@ -3307,7 +3307,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSButton" id="151618662">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{101, 313}, {165, 18}}</string>
+                                               <string key="NSFrame">{{101, 312}, {165, 18}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="658673085">
@@ -3326,10 +3326,32 @@ AAABAAAAAQ</bytes>
                                                        <int key="NSPeriodicInterval">25</int>
                                                </object>
                                        </object>
+                                       <object class="NSButton" id="264419599">
+                                               <reference key="NSNextResponder" ref="810116101"/>
+                                               <int key="NSvFlags">256</int>
+                                               <string key="NSFrame">{{101, 182}, {332, 18}}</string>
+                                               <reference key="NSSuperview" ref="810116101"/>
+                                               <bool key="NSEnabled">YES</bool>
+                                               <object class="NSButtonCell" key="NSCell" id="958039142">
+                                                       <int key="NSCellFlags">67239424</int>
+                                                       <int key="NSCellFlags2">0</int>
+                                                       <string key="NSContents">Only allow the following IP addresses to connect:</string>
+                                                       <reference key="NSSupport" ref="86725571"/>
+                                                       <reference key="NSControlView" ref="264419599"/>
+                                                       <int key="NSButtonFlags">1211912703</int>
+                                                       <int key="NSButtonFlags2">2</int>
+                                                       <reference key="NSNormalImage" ref="1001726176"/>
+                                                       <reference key="NSAlternateImage" ref="764913887"/>
+                                                       <string key="NSAlternateContents"/>
+                                                       <string key="NSKeyEquivalent"/>
+                                                       <int key="NSPeriodicDelay">200</int>
+                                                       <int key="NSPeriodicInterval">25</int>
+                                               </object>
+                                       </object>
                                        <object class="NSTextField" id="535988411">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{100, 392}, {318, 14}}</string>
+                                               <string key="NSFrame">{{100, 391}, {318, 14}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSTextFieldCell" key="NSCell" id="644224844">
@@ -3345,7 +3367,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSSecureTextField" id="894846458">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{196, 261}, {184, 22}}</string>
+                                               <string key="NSFrame">{{196, 260}, {184, 22}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSSecureTextFieldCell" key="NSCell" id="38151087">
@@ -3363,22 +3385,6 @@ AAABAAAAAQ</bytes>
                                                        </object>
                                                </object>
                                        </object>
-                                       <object class="NSTextField" id="764256678">
-                                               <reference key="NSNextResponder" ref="810116101"/>
-                                               <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{100, 182}, {123, 17}}</string>
-                                               <reference key="NSSuperview" ref="810116101"/>
-                                               <bool key="NSEnabled">YES</bool>
-                                               <object class="NSTextFieldCell" key="NSCell" id="1067941383">
-                                                       <int key="NSCellFlags">67239424</int>
-                                                       <int key="NSCellFlags2">71303168</int>
-                                                       <string key="NSContents">Access control list:</string>
-                                                       <reference key="NSSupport" ref="86725571"/>
-                                                       <reference key="NSControlView" ref="764256678"/>
-                                                       <reference key="NSBackgroundColor" ref="977951849"/>
-                                                       <reference key="NSTextColor" ref="400627124"/>
-                                               </object>
-                                       </object>
                                        <object class="NSScrollView" id="122119447">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
@@ -3392,27 +3398,27 @@ AAABAAAAAQ</bytes>
                                                                        <object class="NSTableView" id="173651346">
                                                                                <reference key="NSNextResponder" ref="206862330"/>
                                                                                <int key="NSvFlags">256</int>
-                                                                               <string key="NSFrameSize">{331, 95}</string>
+                                                                               <string key="NSFrameSize">{248, 95}</string>
                                                                                <reference key="NSSuperview" ref="206862330"/>
                                                                                <bool key="NSEnabled">YES</bool>
                                                                                <object class="NSTableHeaderView" key="NSHeaderView" id="520862816">
                                                                                        <reference key="NSNextResponder" ref="612952923"/>
                                                                                        <int key="NSvFlags">256</int>
-                                                                                       <string key="NSFrameSize">{331, 17}</string>
+                                                                                       <string key="NSFrameSize">{248, 17}</string>
                                                                                        <reference key="NSSuperview" ref="612952923"/>
                                                                                        <reference key="NSTableView" ref="173651346"/>
                                                                                </object>
                                                                                <object class="_NSCornerView" key="NSCornerView" id="1018053122">
                                                                                        <reference key="NSNextResponder" ref="122119447"/>
                                                                                        <int key="NSvFlags">256</int>
-                                                                                       <string key="NSFrame">{{332, 0}, {16, 17}}</string>
+                                                                                       <string key="NSFrame">{{249, 0}, {16, 17}}</string>
                                                                                        <reference key="NSSuperview" ref="122119447"/>
                                                                                </object>
                                                                                <object class="NSMutableArray" key="NSTableColumns">
                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                        <object class="NSTableColumn" id="419711322">
                                                                                                <string key="NSIdentifier">IP</string>
-                                                                                               <double key="NSWidth">3.280000e+02</double>
+                                                                                               <double key="NSWidth">2.450000e+02</double>
                                                                                                <double key="NSMinWidth">4.000000e+01</double>
                                                                                                <double key="NSMaxWidth">1.000000e+03</double>
                                                                                                <object class="NSTableHeaderCell" key="NSHeaderCell">
@@ -3466,7 +3472,7 @@ AAABAAAAAQ</bytes>
                                                                                <bool key="NSAllowsTypeSelect">NO</bool>
                                                                        </object>
                                                                </object>
-                                                               <string key="NSFrame">{{1, 17}, {331, 95}}</string>
+                                                               <string key="NSFrame">{{1, 17}, {248, 95}}</string>
                                                                <reference key="NSSuperview" ref="122119447"/>
                                                                <reference key="NSNextKeyView" ref="173651346"/>
                                                                <reference key="NSDocView" ref="173651346"/>
@@ -3476,7 +3482,7 @@ AAABAAAAAQ</bytes>
                                                        <object class="NSScroller" id="220703981">
                                                                <reference key="NSNextResponder" ref="122119447"/>
                                                                <int key="NSvFlags">256</int>
-                                                               <string key="NSFrame">{{332, 17}, {15, 95}}</string>
+                                                               <string key="NSFrame">{{249, 17}, {15, 95}}</string>
                                                                <reference key="NSSuperview" ref="122119447"/>
                                                                <reference key="NSTarget" ref="122119447"/>
                                                                <string key="NSAction">_doScroller:</string>
@@ -3499,7 +3505,7 @@ AAABAAAAAQ</bytes>
                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                        <reference ref="520862816"/>
                                                                </object>
-                                                               <string key="NSFrame">{{1, 0}, {331, 17}}</string>
+                                                               <string key="NSFrame">{{1, 0}, {248, 17}}</string>
                                                                <reference key="NSSuperview" ref="122119447"/>
                                                                <reference key="NSNextKeyView" ref="520862816"/>
                                                                <reference key="NSDocView" ref="520862816"/>
@@ -3508,7 +3514,7 @@ AAABAAAAAQ</bytes>
                                                        </object>
                                                        <reference ref="1018053122"/>
                                                </object>
-                                               <string key="NSFrame">{{103, 63}, {348, 113}}</string>
+                                               <string key="NSFrame">{{123, 63}, {265, 113}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <reference key="NSNextKeyView" ref="206862330"/>
                                                <int key="NSsFlags">18</int>
@@ -3522,7 +3528,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSSegmentedControl" id="432022023">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">292</int>
-                                               <string key="NSFrame">{{103, 35}, {67, 23}}</string>
+                                               <string key="NSFrame">{{123, 35}, {67, 23}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSSegmentedCell" key="NSCell" id="1040339170">
@@ -3560,7 +3566,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSTextField" id="189299072">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{175, 39}, {275, 14}}</string>
+                                               <string key="NSFrame">{{195, 39}, {196, 14}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSTextFieldCell" key="NSCell" id="159713069">
@@ -3576,7 +3582,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSTextField" id="717982135">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{196, 287}, {184, 22}}</string>
+                                               <string key="NSFrame">{{196, 286}, {184, 22}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSTextFieldCell" key="NSCell" id="80231199">
@@ -3613,7 +3619,7 @@ AAABAAAAAQ</bytes>
                                        <object class="NSButton" id="52925771">
                                                <reference key="NSNextResponder" ref="810116101"/>
                                                <int key="NSvFlags">256</int>
-                                               <string key="NSFrame">{{103, 348}, {149, 25}}</string>
+                                               <string key="NSFrame">{{103, 347}, {149, 25}}</string>
                                                <reference key="NSSuperview" ref="810116101"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="853520292">
@@ -3632,12 +3638,17 @@ AAABAAAAAQ</bytes>
                                                </object>
                                        </object>
                                </object>
-                               <string key="NSFrameSize">{535, 444}</string>
+                               <string key="NSFrameSize">{535, 443}</string>
                                <reference key="NSSuperview"/>
                                <string key="NSClassName">NSView</string>
                                <string key="NSExtension">NSResponder</string>
                        </object>
                        <object class="NSUserDefaultsController" id="356871564">
+                               <object class="NSMutableArray" key="NSDeclaredKeys">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <string>RPC</string>
+                                       <string>RPCUseWhitelist</string>
+                               </object>
                                <bool key="NSSharedInstance">YES</bool>
                        </object>
                </object>
@@ -5388,7 +5399,7 @@ AAABAAAAAQ</bytes>
                                                <string key="label">enabled: values.RPC</string>
                                                <reference key="source" ref="173651346"/>
                                                <reference key="destination" ref="356871564"/>
-                                               <object class="NSNibBindingConnector" key="connector">
+                                               <object class="NSNibBindingConnector" key="connector" id="1482">
                                                        <reference key="NSSource" ref="173651346"/>
                                                        <reference key="NSDestination" ref="356871564"/>
                                                        <string key="NSLabel">enabled: values.RPC</string>
@@ -5404,7 +5415,7 @@ AAABAAAAAQ</bytes>
                                                <string key="label">enabled: values.RPC</string>
                                                <reference key="source" ref="432022023"/>
                                                <reference key="destination" ref="356871564"/>
-                                               <object class="NSNibBindingConnector" key="connector">
+                                               <object class="NSNibBindingConnector" key="connector" id="1489">
                                                        <reference key="NSSource" ref="432022023"/>
                                                        <reference key="NSDestination" ref="356871564"/>
                                                        <string key="NSLabel">enabled: values.RPC</string>
@@ -5495,14 +5506,6 @@ AAABAAAAAQ</bytes>
                                        </object>
                                        <int key="connectionID">1567</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">setRPCAuthorize:</string>
-                                               <reference key="source" ref="511492310"/>
-                                               <reference key="destination" ref="151618662"/>
-                                       </object>
-                                       <int key="connectionID">1570</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBActionConnection" key="connection">
                                                <string key="label">setRPCUsername:</string>
@@ -6199,22 +6202,6 @@ AAABAAAAAQ</bytes>
                                        </object>
                                        <int key="connectionID">1695</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBBindingConnection" key="connection">
-                                               <string key="label">enabled: values.RPC</string>
-                                               <reference key="source" ref="764256678"/>
-                                               <reference key="destination" ref="356871564"/>
-                                               <object class="NSNibBindingConnector" key="connector">
-                                                       <reference key="NSSource" ref="764256678"/>
-                                                       <reference key="NSDestination" ref="356871564"/>
-                                                       <string key="NSLabel">enabled: values.RPC</string>
-                                                       <string key="NSBinding">enabled</string>
-                                                       <string key="NSKeyPath">values.RPC</string>
-                                                       <int key="NSNibBindingConnectorVersion">2</int>
-                                               </object>
-                                       </object>
-                                       <int key="connectionID">1696</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBBindingConnection" key="connection">
                                                <string key="label">enabled: values.Queue</string>
@@ -6503,6 +6490,114 @@ AAABAAAAAQ</bytes>
                                        </object>
                                        <int key="connectionID">1746</int>
                                </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">setRPCUseWhitelist:</string>
+                                               <reference key="source" ref="511492310"/>
+                                               <reference key="destination" ref="151618662"/>
+                                       </object>
+                                       <int key="connectionID">1752</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBBindingConnection" key="connection">
+                                               <string key="label">enabled2: values.RPCUseWhitelist</string>
+                                               <reference key="source" ref="173651346"/>
+                                               <reference key="destination" ref="356871564"/>
+                                               <object class="NSNibBindingConnector" key="connector">
+                                                       <reference key="NSSource" ref="173651346"/>
+                                                       <reference key="NSDestination" ref="356871564"/>
+                                                       <string key="NSLabel">enabled2: values.RPCUseWhitelist</string>
+                                                       <string key="NSBinding">enabled2</string>
+                                                       <string key="NSKeyPath">values.RPCUseWhitelist</string>
+                                                       <object class="NSDictionary" key="NSOptions">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                       <string>NSMultipleValuesPlaceholder</string>
+                                                                       <string>NSNoSelectionPlaceholder</string>
+                                                                       <string>NSNotApplicablePlaceholder</string>
+                                                                       <string>NSNullPlaceholder</string>
+                                                               </object>
+                                                               <object class="NSMutableArray" key="dict.values">
+                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                       <reference ref="7"/>
+                                                                       <reference ref="7"/>
+                                                                       <reference ref="7"/>
+                                                                       <reference ref="7"/>
+                                                               </object>
+                                                       </object>
+                                                       <reference key="NSPreviousConnector" ref="1482"/>
+                                                       <int key="NSNibBindingConnectorVersion">2</int>
+                                               </object>
+                                       </object>
+                                       <int key="connectionID">1754</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBBindingConnection" key="connection">
+                                               <string key="label">enabled2: values.RPCUseWhitelist</string>
+                                               <reference key="source" ref="432022023"/>
+                                               <reference key="destination" ref="356871564"/>
+                                               <object class="NSNibBindingConnector" key="connector">
+                                                       <reference key="NSSource" ref="432022023"/>
+                                                       <reference key="NSDestination" ref="356871564"/>
+                                                       <string key="NSLabel">enabled2: values.RPCUseWhitelist</string>
+                                                       <string key="NSBinding">enabled2</string>
+                                                       <string key="NSKeyPath">values.RPCUseWhitelist</string>
+                                                       <object class="NSDictionary" key="NSOptions">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                       <string>NSMultipleValuesPlaceholder</string>
+                                                                       <string>NSNoSelectionPlaceholder</string>
+                                                                       <string>NSNotApplicablePlaceholder</string>
+                                                                       <string>NSNullPlaceholder</string>
+                                                               </object>
+                                                               <object class="NSMutableArray" key="dict.values">
+                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                       <reference ref="7"/>
+                                                                       <reference ref="7"/>
+                                                                       <reference ref="7"/>
+                                                                       <reference ref="7"/>
+                                                               </object>
+                                                       </object>
+                                                       <reference key="NSPreviousConnector" ref="1489"/>
+                                                       <int key="NSNibBindingConnectorVersion">2</int>
+                                               </object>
+                                       </object>
+                                       <int key="connectionID">1755</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBBindingConnection" key="connection">
+                                               <string key="label">enabled: values.RPC</string>
+                                               <reference key="source" ref="264419599"/>
+                                               <reference key="destination" ref="356871564"/>
+                                               <object class="NSNibBindingConnector" key="connector">
+                                                       <reference key="NSSource" ref="264419599"/>
+                                                       <reference key="NSDestination" ref="356871564"/>
+                                                       <string key="NSLabel">enabled: values.RPC</string>
+                                                       <string key="NSBinding">enabled</string>
+                                                       <string key="NSKeyPath">values.RPC</string>
+                                                       <int key="NSNibBindingConnectorVersion">2</int>
+                                               </object>
+                                       </object>
+                                       <int key="connectionID">1756</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBBindingConnection" key="connection">
+                                               <string key="label">value: values.RPCUseWhitelist</string>
+                                               <reference key="source" ref="264419599"/>
+                                               <reference key="destination" ref="356871564"/>
+                                               <object class="NSNibBindingConnector" key="connector">
+                                                       <reference key="NSSource" ref="264419599"/>
+                                                       <reference key="NSDestination" ref="356871564"/>
+                                                       <string key="NSLabel">value: values.RPCUseWhitelist</string>
+                                                       <string key="NSBinding">value</string>
+                                                       <string key="NSKeyPath">values.RPCUseWhitelist</string>
+                                                       <int key="NSNibBindingConnectorVersion">2</int>
+                                               </object>
+                                       </object>
+                                       <int key="connectionID">1757</int>
+                               </object>
                        </object>
                        <object class="IBMutableOrderedSet" key="objectRecords">
                                <object class="NSArray" key="orderedObjects">
@@ -8180,7 +8275,6 @@ AAABAAAAAQ</bytes>
                                                        <reference ref="122119447"/>
                                                        <reference ref="432022023"/>
                                                        <reference ref="189299072"/>
-                                                       <reference ref="764256678"/>
                                                        <reference ref="966253460"/>
                                                        <reference ref="1807399"/>
                                                        <reference ref="151618662"/>
@@ -8192,6 +8286,7 @@ AAABAAAAAQ</bytes>
                                                        <reference ref="535988411"/>
                                                        <reference ref="749999527"/>
                                                        <reference ref="52925771"/>
+                                                       <reference ref="264419599"/>
                                                </object>
                                                <reference key="parent" ref="37013934"/>
                                                <string key="objectName">Remote</string>
@@ -8353,20 +8448,6 @@ AAABAAAAAQ</bytes>
                                                <reference key="object" ref="957501329"/>
                                                <reference key="parent" ref="712370553"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">1516</int>
-                                               <reference key="object" ref="764256678"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="1067941383"/>
-                                               </object>
-                                               <reference key="parent" ref="810116101"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">1517</int>
-                                               <reference key="object" ref="1067941383"/>
-                                               <reference key="parent" ref="764256678"/>
-                                       </object>
                                        <object class="IBObjectRecord">
                                                <int key="objectID">1552</int>
                                                <reference key="object" ref="717982135"/>
@@ -8840,6 +8921,20 @@ AAABAAAAAQ</bytes>
                                                <reference key="object" ref="46409197"/>
                                                <reference key="parent" ref="1064247210"/>
                                        </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">1747</int>
+                                               <reference key="object" ref="264419599"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="958039142"/>
+                                               </object>
+                                               <reference key="parent" ref="810116101"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">1748</int>
+                                               <reference key="object" ref="958039142"/>
+                                               <reference key="parent" ref="264419599"/>
+                                       </object>
                                </object>
                        </object>
                        <object class="NSMutableDictionary" key="flattenedProperties">
@@ -8946,9 +9041,6 @@ AAABAAAAAQ</bytes>
                                        <string>1504.ImportedFromIB2</string>
                                        <string>1509.IBPluginDependency</string>
                                        <string>1510.IBPluginDependency</string>
-                                       <string>1516.CustomClassName</string>
-                                       <string>1516.IBPluginDependency</string>
-                                       <string>1516.ImportedFromIB2</string>
                                        <string>1518.IBPluginDependency</string>
                                        <string>1519.IBPluginDependency</string>
                                        <string>1520.IBPluginDependency</string>
@@ -9038,6 +9130,8 @@ AAABAAAAAQ</bytes>
                                        <string>1738.ImportedFromIB2</string>
                                        <string>1741.IBPluginDependency</string>
                                        <string>1742.IBPluginDependency</string>
+                                       <string>1747.IBPluginDependency</string>
+                                       <string>1747.ImportedFromIB2</string>
                                        <string>190.IBPluginDependency</string>
                                        <string>190.ImportedFromIB2</string>
                                        <string>192.IBPluginDependency</string>
@@ -9324,7 +9418,7 @@ AAABAAAAAQ</bytes>
                                        <reference ref="761722050"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <reference ref="761722050"/>
-                                       <string>{{414, 376}, {535, 444}}</string>
+                                       <string>{{414, 377}, {535, 443}}</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <reference ref="761722050"/>
                                        <string>{{281, 577}, {539, 315}}</string>
@@ -9341,9 +9435,6 @@ AAABAAAAAQ</bytes>
                                        <reference ref="761722050"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>ColorTextField</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <reference ref="761722050"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -9453,6 +9544,8 @@ AAABAAAAAQ</bytes>
                                        <reference ref="761722050"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <reference ref="761722050"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="761722050"/>
                                        <string>{{593, 449}, {182, 53}}</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <reference ref="761722050"/>
@@ -9662,7 +9755,7 @@ AAABAAAAAQ</bytes>
                                </object>
                        </object>
                        <nil key="sourceID"/>
-                       <int key="maxID">1746</int>
+                       <int key="maxID">1757</int>
                </object>
                <object class="IBClassDescriber" key="IBDocument.Classes">
                        <object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -9794,6 +9887,7 @@ AAABAAAAAQ</bytes>
                                                        <string>setRPCEnabled:</string>
                                                        <string>setRPCPassword:</string>
                                                        <string>setRPCPort:</string>
+                                                       <string>setRPCUseWhitelist:</string>
                                                        <string>setRPCUsername:</string>
                                                        <string>setRatioStop:</string>
                                                        <string>setSound:</string>
@@ -9849,6 +9943,7 @@ AAABAAAAAQ</bytes>
                                                        <string>id</string>
                                                        <string>id</string>
                                                        <string>id</string>
+                                                       <string>id</string>
                                                </object>
                                        </object>
                                        <object class="NSMutableDictionary" key="outlets">