Changeset 6825
- Timestamp:
- Oct 1, 2008, 10:59:29 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/cli/cli.c
r6823 r6825 311 311 TR_DEFAULT_RPC_ENABLED, 312 312 TR_DEFAULT_RPC_PORT, 313 TR_DEFAULT_RPC_WHITELIST_ENABLED, 313 314 TR_DEFAULT_RPC_WHITELIST, 314 315 FALSE, "fnord", "potzrebie", -
trunk/daemon/daemon.c
r6823 r6825 34 34 static char myConfigFilename[MAX_PATH_LENGTH]; 35 35 36 #define KEY_BLOCKLIST "blocklist-enabled" 37 #define KEY_DOWNLOAD_DIR "download-dir" 38 #define KEY_ENCRYPTION "encryption" 39 #define KEY_LAZY_BITFIELD "lazy-bitfield-enabled" 40 #define KEY_PEER_LIMIT "max-peers-global" 41 #define KEY_PEER_PORT "peer-port" 42 #define KEY_PORT_FORWARDING "port-forwarding-enabled" 43 #define KEY_PEX_ENABLED "pex-enabled" 44 #define KEY_AUTH_REQUIRED "rpc-authentication-required" 45 #define KEY_USERNAME "rpc-username" 46 #define KEY_PASSWORD "rpc-password" 47 #define KEY_WHITELIST "rpc-whitelist" 48 #define KEY_RPC_PORT "rpc-port" 49 #define KEY_DSPEED "download-limit" 50 #define KEY_DSPEED_ENABLED "download-limit-enabled" 51 #define KEY_USPEED "upload-limit" 52 #define KEY_USPEED_ENABLED "upload-limit-enabled" 53 54 #define CONFIG_FILE "settings.json" 36 #define KEY_BLOCKLIST "blocklist-enabled" 37 #define KEY_DOWNLOAD_DIR "download-dir" 38 #define KEY_ENCRYPTION "encryption" 39 #define KEY_LAZY_BITFIELD "lazy-bitfield-enabled" 40 #define KEY_PEER_LIMIT "max-peers-global" 41 #define KEY_PEER_PORT "peer-port" 42 #define KEY_PORT_FORWARDING "port-forwarding-enabled" 43 #define KEY_PEX_ENABLED "pex-enabled" 44 #define KEY_AUTH_REQUIRED "rpc-authentication-required" 45 #define KEY_USERNAME "rpc-username" 46 #define KEY_PASSWORD "rpc-password" 47 #define KEY_WHITELIST "rpc-whitelist" 48 #define KEY_WHITELIST_ENABLED "rpc-whitelist-enabled" 49 #define KEY_RPC_PORT "rpc-port" 50 #define KEY_DSPEED "download-limit" 51 #define KEY_DSPEED_ENABLED "download-limit-enabled" 52 #define KEY_USPEED "upload-limit" 53 #define KEY_USPEED_ENABLED "upload-limit-enabled" 54 55 #define CONFIG_FILE "settings.json" 55 56 56 57 /*** … … 170 171 tr_benc state, *dict = NULL; 171 172 int peerPort = -1, peers = -1; 173 int whitelistEnabled = -1; 172 174 int pexEnabled = -1; 173 175 int fwdEnabled = -1; … … 209 211 getConfigInt( dict, KEY_RPC_PORT, &rpcPort, 210 212 TR_DEFAULT_RPC_PORT ); 213 getConfigInt( dict, KEY_WHITELIST_ENABLED, &whitelistEnabled, 214 TR_DEFAULT_RPC_WHITELIST_ENABLED ); 211 215 getConfigStr( dict, KEY_WHITELIST, &whitelist, 212 216 TR_DEFAULT_RPC_WHITELIST ); … … 232 236 blocklistEnabled, 233 237 TR_DEFAULT_PEER_SOCKET_TOS, 234 TRUE, rpcPort, whitelist, authRequired, 235 username, password, 238 TRUE, rpcPort, 239 whitelistEnabled, whitelist, 240 authRequired, username, password, 236 241 TR_DEFAULT_PROXY_ENABLED, 237 242 TR_DEFAULT_PROXY, -
trunk/gtk/main.c
r6823 r6825 485 485 pref_flag_get( PREF_KEY_RPC_ENABLED ), 486 486 pref_int_get( PREF_KEY_RPC_PORT ), 487 pref_flag_get( PREF_KEY_RPC_WHITELIST_ENABLED ), 487 488 pref_string_get( PREF_KEY_RPC_WHITELIST ), 488 489 pref_flag_get( PREF_KEY_RPC_AUTH_ENABLED ), … … 1197 1198 const char * s = pref_string_get( key ); 1198 1199 tr_sessionSetRPCWhitelist( tr, s ); 1200 } 1201 else if( !strcmp( key, PREF_KEY_RPC_WHITELIST_ENABLED ) ) 1202 { 1203 tr_sessionSetRPCWhitelistEnabled( tr, pref_flag_get( key ) ); 1199 1204 } 1200 1205 else if( !strcmp( key, PREF_KEY_RPC_USERNAME ) ) -
trunk/gtk/tr-prefs.c
r6823 r6825 129 129 pref_int_set_default ( PREF_KEY_RPC_PORT, TR_DEFAULT_RPC_PORT ); 130 130 pref_string_set_default ( PREF_KEY_RPC_WHITELIST, TR_DEFAULT_RPC_WHITELIST ); 131 pref_flag_set_default ( PREF_KEY_RPC_WHITELIST_ENABLED, TR_DEFAULT_RPC_WHITELIST_ENABLED ); 132 131 133 132 134 rand = g_rand_new ( ); … … 595 597 GSList * widgets; 596 598 GSList * auth_widgets; 599 GSList * whitelist_widgets; 597 600 GtkToggleButton * rpc_tb; 598 601 GtkToggleButton * auth_tb; 602 GtkToggleButton * whitelist_tb; 599 603 }; 600 604 … … 687 691 const int auth_active = gtk_toggle_button_get_active( 688 692 page->auth_tb ); 693 const int whitelist_active = gtk_toggle_button_get_active( 694 page->whitelist_tb ); 689 695 GtkTreeSelection * sel = gtk_tree_view_get_selection( page->view ); 690 696 const int have_addr = … … 700 706 gtk_widget_set_sensitive( GTK_WIDGET( 701 707 l->data ), rpc_active && auth_active ); 708 709 for( l = page->whitelist_widgets; l != NULL; l = l->next ) 710 gtk_widget_set_sensitive( GTK_WIDGET( l->data ), 711 rpc_active && whitelist_active ); 702 712 703 713 gtk_widget_set_sensitive( page->remove_button, … … 761 771 hig_workarea_add_wide_control( t, &row, h ); 762 772 773 /* port */ 774 w = new_spin_button( PREF_KEY_RPC_PORT, core, 0, 65535, 1 ); 775 page->widgets = g_slist_append( page->widgets, w ); 776 w = hig_workarea_add_row( t, &row, _( "Listening _port:" ), w, NULL ); 777 page->widgets = g_slist_append( page->widgets, w ); 778 763 779 /* require authentication */ 764 780 s = _( "_Require username" ); … … 784 800 page->auth_widgets = g_slist_append( page->auth_widgets, w ); 785 801 786 /* port */ 787 w = new_spin_button( PREF_KEY_RPC_PORT, core, 0, 65535, 1 ); 802 /* require authentication */ 803 s = _( "Only allow the following IP _addresses to connect:" ); 804 w = new_check_button( s, PREF_KEY_RPC_WHITELIST_ENABLED, core ); 805 hig_workarea_add_wide_control( t, &row, w ); 806 page->whitelist_tb = GTK_TOGGLE_BUTTON( w ); 788 807 page->widgets = g_slist_append( page->widgets, w ); 789 w = hig_workarea_add_row( t, &row, _( "Listening _port:" ), w, NULL ); 790 page->widgets = g_slist_append( page->widgets, w ); 808 g_signal_connect( w, "clicked", G_CALLBACK( onRPCToggled ), page ); 791 809 792 810 /* access control list */ … … 807 825 G_CALLBACK( on_tree_view_button_released ), NULL ); 808 826 809 page->w idgets = g_slist_append( page->widgets, w );827 page->whitelist_widgets = g_slist_append( page->whitelist_widgets, w ); 810 828 v = page->view = GTK_TREE_VIEW( w ); 811 829 gtk_tooltips_set_tip( tips, w, … … 834 852 gtk_tree_view_set_headers_visible( v, FALSE ); 835 853 836 s = _( "A llowed _IP Addresses:" );854 s = _( "Addresses:" ); 837 855 w = hig_workarea_add_row( t, &row, s, w, NULL ); 838 856 gtk_misc_set_alignment( GTK_MISC( w ), 0.0f, 0.0f ); 839 857 gtk_misc_set_padding( GTK_MISC( w ), 0, GUI_PAD ); 840 page->w idgets = g_slist_append( page->widgets, w );858 page->whitelist_widgets = g_slist_append( page->whitelist_widgets, w ); 841 859 842 860 h = gtk_hbox_new( TRUE, GUI_PAD ); … … 848 866 gtk_box_pack_start_defaults( GTK_BOX( h ), w ); 849 867 w = gtk_button_new_from_stock( GTK_STOCK_ADD ); 850 page->w idgets = g_slist_append( page->widgets, w );868 page->whitelist_widgets = g_slist_append( page->whitelist_widgets, w ); 851 869 g_signal_connect( w, "clicked", G_CALLBACK( onAddWhitelistClicked ), page ); 852 870 gtk_box_pack_start_defaults( GTK_BOX( h ), w ); -
trunk/gtk/tr-prefs.h
r6823 r6825 67 67 #define PREF_KEY_RPC_ENABLED "rpc-enabled" 68 68 #define PREF_KEY_RPC_WHITELIST "rpc-whitelist" 69 #define PREF_KEY_RPC_WHITELIST_ENABLED "rpc-whitelist-enabled" 69 70 #define PREF_KEY_RPC_AUTH_ENABLED "rpc-authentication-required" 70 71 #define PREF_KEY_RPC_PASSWORD "rpc-password" -
trunk/libtransmission/rpc-server.c
r6823 r6825 43 43 struct tr_rpc_server 44 44 { 45 unsigned int isEnabled : 1; 46 unsigned int isPasswordEnabled : 1; 45 unsigned int isEnabled : 1; 46 unsigned int isPasswordEnabled : 1; 47 unsigned int isWhitelistEnabled : 1; 47 48 uint16_t port; 48 49 struct evhttp * httpd; … … 368 369 const char * str; 369 370 371 if( !server->isWhitelistEnabled ) 372 return 1; 373 370 374 for( str = server->whitelist; str && *str; ) 371 375 { … … 412 416 } 413 417 414 if( server->whitelist &&!isAddressAllowed( server, req->remote_host ) )418 if( !isAddressAllowed( server, req->remote_host ) ) 415 419 { 416 420 send_simple_response( req, 401, "Unauthorized IP Address" ); … … 551 555 } 552 556 557 void 558 tr_rpcSetWhitelistEnabled( tr_rpc_server * server, 559 int isEnabled ) 560 { 561 server->isWhitelistEnabled = isEnabled != 0; 562 } 563 564 int 565 tr_rpcGetWhitelistEnabled( const tr_rpc_server * server ) 566 { 567 return server->isWhitelistEnabled; 568 } 569 553 570 /**** 554 571 ***** PASSWORD … … 626 643 int isEnabled, 627 644 uint16_t port, 645 int isWhitelistEnabled, 628 646 const char * whitelist, 629 647 int isPasswordEnabled, … … 639 657 s->username = tr_strdup( username ); 640 658 s->password = tr_strdup( password ); 659 s->isWhitelistEnabled = isWhitelistEnabled != 0; 641 660 s->isPasswordEnabled = isPasswordEnabled != 0; 642 661 s->isEnabled = isEnabled != 0; -
trunk/libtransmission/rpc-server.h
r6823 r6825 19 19 int isEnabled, 20 20 uint16_t port, 21 int isWhitelistEnabled, 21 22 const char * whitelist, 22 23 int isPasswordEnabled, … … 39 40 const char * whitelist, 40 41 char ** allocme_errmsg ); 42 43 void tr_rpcSetWhitelistEnabled( tr_rpc_server * server, 44 int isEnabled ); 45 46 int tr_rpcGetWhitelistEnabled( const tr_rpc_server * server ); 41 47 42 48 void tr_rpcSetWhitelist( tr_rpc_server * server, -
trunk/libtransmission/session.c
r6823 r6825 217 217 int rpcIsEnabled, 218 218 uint16_t rpcPort, 219 int rpcWhitelistIsEnabled, 219 220 const char * rpcWhitelist, 220 221 int rpcAuthIsEnabled, … … 295 296 296 297 h->web = tr_webInit( h ); 297 h->rpcServer = tr_rpcInit( h, rpcIsEnabled, rpcPort, rpcWhitelist, 298 h->rpcServer = tr_rpcInit( h, rpcIsEnabled, rpcPort, 299 rpcWhitelistIsEnabled, rpcWhitelist, 298 300 rpcAuthIsEnabled, rpcUsername, rpcPassword ); 299 301 … … 327 329 TR_DEFAULT_RPC_ENABLED, 328 330 TR_DEFAULT_RPC_PORT, 331 TR_DEFAULT_RPC_WHITELIST_ENABLED, 329 332 TR_DEFAULT_RPC_WHITELIST, 330 333 FALSE, … … 1017 1020 1018 1021 void 1022 tr_sessionSetRPCWhitelistEnabled( tr_session * session, 1023 int isEnabled ) 1024 { 1025 return tr_rpcSetWhitelistEnabled( session->rpcServer, 1026 isEnabled ); 1027 } 1028 1029 int 1030 tr_sessionGetRPCWhitelistEnabled( const tr_session * session ) 1031 { 1032 return tr_rpcGetWhitelistEnabled( session->rpcServer ); 1033 } 1034 1035 1036 void 1019 1037 tr_sessionSetRPCPassword( tr_session * session, 1020 1038 const char * password ) -
trunk/libtransmission/transmission.h
r6823 r6825 132 132 #define TR_DEFAULT_RPC_WHITELIST "127.0.0.1" 133 133 /** @see tr_sessionInitFull */ 134 #define TR_DEFAULT_RPC_WHITELIST_ENABLED 0 135 /** @see tr_sessionInitFull */ 134 136 #define TR_DEFAULT_PROXY_ENABLED 0 135 137 /** @see tr_sessionInitFull */ … … 246 248 * @see TR_DEFAULT_RPC_PORT 247 249 * @see TR_DEFAULT_RPC_WHITELIST 250 * @see TR_DEFAULT_RPC_WHITELIST_ENABLED 248 251 * @see tr_sessionClose() 249 252 */ … … 267 270 int rpcIsEnabled, 268 271 uint16_t rpcPort, 272 int rpcWhitelistIsEnabled, 269 273 const char * rpcWhitelist, 270 274 int rpcPasswordIsEnabled, … … 362 366 char* tr_sessionGetRPCWhitelist( const tr_session * ); 363 367 368 void tr_sessionSetRPCWhitelistEnabled( tr_session * session, 369 int isEnabled ); 370 371 int tr_sessionGetRPCWhitelistEnabled( const tr_session * session ); 372 364 373 void tr_sessionSetRPCPassword( tr_session * session, 365 374 const char * password );
Note: See TracChangeset
for help on using the changeset viewer.