Changeset 11367
- Timestamp:
- Oct 31, 2010, 5:05:31 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gtk/main.c
r11337 r11367 1287 1287 tr_sessionSetRPCPasswordEnabled( tr, pref_flag_get( key ) ); 1288 1288 } 1289 else if( !strcmp( key, TR_PREFS_KEY_PROXY ) )1290 {1291 tr_sessionSetProxy( tr, pref_string_get( key ) );1292 }1293 else if( !strcmp( key, TR_PREFS_KEY_PROXY_TYPE ) )1294 {1295 tr_sessionSetProxyType( tr, pref_int_get( key ) );1296 }1297 else if( !strcmp( key, TR_PREFS_KEY_PROXY_ENABLED ) )1298 {1299 tr_sessionSetProxyEnabled( tr, pref_flag_get( key ) );1300 }1301 else if( !strcmp( key, TR_PREFS_KEY_PROXY_AUTH_ENABLED ) )1302 {1303 tr_sessionSetProxyAuthEnabled( tr, pref_flag_get( key ) );1304 }1305 else if( !strcmp( key, TR_PREFS_KEY_PROXY_USERNAME ) )1306 {1307 tr_sessionSetProxyUsername( tr, pref_string_get( key ) );1308 }1309 else if( !strcmp( key, TR_PREFS_KEY_PROXY_PASSWORD ) )1310 {1311 tr_sessionSetProxyPassword( tr, pref_string_get( key ) );1312 }1313 else if( !strcmp( key, TR_PREFS_KEY_PROXY_PORT ) )1314 {1315 tr_sessionSetProxyPort( tr, pref_int_get( key ) );1316 }1317 1289 else if( !strcmp( key, TR_PREFS_KEY_ALT_SPEED_UP_KBps ) ) 1318 1290 { -
trunk/libtransmission/session.c
r11361 r11367 273 273 tr_bencDictAddBool( d, TR_PREFS_KEY_PORT_FORWARDING, TRUE ); 274 274 tr_bencDictAddInt ( d, TR_PREFS_KEY_PREALLOCATION, TR_PREALLOCATE_SPARSE ); 275 tr_bencDictAddStr ( d, TR_PREFS_KEY_PROXY, "" );276 tr_bencDictAddBool( d, TR_PREFS_KEY_PROXY_AUTH_ENABLED, FALSE );277 tr_bencDictAddBool( d, TR_PREFS_KEY_PROXY_ENABLED, FALSE );278 tr_bencDictAddStr ( d, TR_PREFS_KEY_PROXY_PASSWORD, "" );279 tr_bencDictAddInt ( d, TR_PREFS_KEY_PROXY_PORT, 80 );280 tr_bencDictAddInt ( d, TR_PREFS_KEY_PROXY_TYPE, TR_PROXY_HTTP );281 tr_bencDictAddStr ( d, TR_PREFS_KEY_PROXY_USERNAME, "" );282 275 tr_bencDictAddReal( d, TR_PREFS_KEY_RATIO, 2.0 ); 283 276 tr_bencDictAddBool( d, TR_PREFS_KEY_RATIO_ENABLED, FALSE ); … … 343 336 tr_bencDictAddBool( d, TR_PREFS_KEY_PORT_FORWARDING, tr_sessionIsPortForwardingEnabled( s ) ); 344 337 tr_bencDictAddInt ( d, TR_PREFS_KEY_PREALLOCATION, s->preallocationMode ); 345 tr_bencDictAddStr ( d, TR_PREFS_KEY_PROXY, s->proxy );346 tr_bencDictAddBool( d, TR_PREFS_KEY_PROXY_AUTH_ENABLED, s->isProxyAuthEnabled );347 tr_bencDictAddBool( d, TR_PREFS_KEY_PROXY_ENABLED, s->isProxyEnabled );348 tr_bencDictAddStr ( d, TR_PREFS_KEY_PROXY_PASSWORD, s->proxyPassword );349 tr_bencDictAddInt ( d, TR_PREFS_KEY_PROXY_PORT, s->proxyPort );350 tr_bencDictAddInt ( d, TR_PREFS_KEY_PROXY_TYPE, s->proxyType );351 tr_bencDictAddStr ( d, TR_PREFS_KEY_PROXY_USERNAME, s->proxyUsername );352 338 tr_bencDictAddReal( d, TR_PREFS_KEY_RATIO, s->desiredRatio ); 353 339 tr_bencDictAddBool( d, TR_PREFS_KEY_RATIO_ENABLED, s->isRatioLimited ); … … 717 703 tr_sessionSetIncompleteFileNamingEnabled( session, boolVal ); 718 704 719 /* proxies */720 if( tr_bencDictFindBool( settings, TR_PREFS_KEY_PROXY_ENABLED, &boolVal ) )721 tr_sessionSetProxyEnabled( session, boolVal );722 if( tr_bencDictFindStr( settings, TR_PREFS_KEY_PROXY, &str ) )723 tr_sessionSetProxy( session, str );724 if( tr_bencDictFindInt( settings, TR_PREFS_KEY_PROXY_PORT, &i ) )725 tr_sessionSetProxyPort( session, i );726 if( tr_bencDictFindInt( settings, TR_PREFS_KEY_PROXY_TYPE, &i ) )727 tr_sessionSetProxyType( session, i );728 if( tr_bencDictFindBool( settings, TR_PREFS_KEY_PROXY_AUTH_ENABLED, &boolVal ) )729 tr_sessionSetProxyAuthEnabled( session, boolVal );730 if( tr_bencDictFindStr( settings, TR_PREFS_KEY_PROXY_USERNAME, &str ) )731 tr_sessionSetProxyUsername( session, str );732 if( tr_bencDictFindStr( settings, TR_PREFS_KEY_PROXY_PASSWORD, &str ) )733 tr_sessionSetProxyPassword( session, str );734 735 705 /* rpc server */ 736 706 if( session->rpcServer != NULL ) /* close the old one */ … … 1786 1756 tr_free( session->downloadDir ); 1787 1757 tr_free( session->incompleteDir ); 1788 tr_free( session->proxy );1789 tr_free( session->proxyUsername );1790 tr_free( session->proxyPassword );1791 1758 tr_free( session->peer_congestion_algorithm ); 1792 1759 tr_free( session ); … … 2442 2409 } 2443 2410 2444 /***2445 ****2446 ***/2447 2448 tr_bool2449 tr_sessionIsProxyEnabled( const tr_session * session )2450 {2451 assert( tr_isSession( session ) );2452 2453 return session->isProxyEnabled;2454 }2455 2456 void2457 tr_sessionSetProxyEnabled( tr_session * session,2458 tr_bool isEnabled )2459 {2460 assert( tr_isSession( session ) );2461 assert( tr_isBool( isEnabled ) );2462 2463 session->isProxyEnabled = isEnabled != 0;2464 }2465 2466 tr_proxy_type2467 tr_sessionGetProxyType( const tr_session * session )2468 {2469 assert( tr_isSession( session ) );2470 2471 return session->proxyType;2472 }2473 2474 void2475 tr_sessionSetProxyType( tr_session * session,2476 tr_proxy_type type )2477 {2478 assert( tr_isSession( session ) );2479 2480 session->proxyType = type;2481 }2482 2483 const char*2484 tr_sessionGetProxy( const tr_session * session )2485 {2486 assert( tr_isSession( session ) );2487 2488 return session->proxy;2489 }2490 2491 tr_port2492 tr_sessionGetProxyPort( const tr_session * session )2493 {2494 assert( tr_isSession( session ) );2495 2496 return session->proxyPort;2497 }2498 2499 void2500 tr_sessionSetProxy( tr_session * session,2501 const char * proxy )2502 {2503 assert( tr_isSession( session ) );2504 2505 if( proxy != session->proxy )2506 {2507 tr_free( session->proxy );2508 session->proxy = tr_strdup( proxy );2509 }2510 }2511 2512 void2513 tr_sessionSetProxyPort( tr_session * session,2514 tr_port port )2515 {2516 assert( tr_isSession( session ) );2517 2518 session->proxyPort = port;2519 }2520 2521 tr_bool2522 tr_sessionIsProxyAuthEnabled( const tr_session * session )2523 {2524 assert( tr_isSession( session ) );2525 2526 return session->isProxyAuthEnabled;2527 }2528 2529 void2530 tr_sessionSetProxyAuthEnabled( tr_session * session,2531 tr_bool isEnabled )2532 {2533 assert( tr_isSession( session ) );2534 assert( tr_isBool( isEnabled ) );2535 2536 session->isProxyAuthEnabled = isEnabled != 0;2537 }2538 2539 const char*2540 tr_sessionGetProxyUsername( const tr_session * session )2541 {2542 assert( tr_isSession( session ) );2543 2544 return session->proxyUsername;2545 }2546 2547 void2548 tr_sessionSetProxyUsername( tr_session * session,2549 const char * username )2550 {2551 assert( tr_isSession( session ) );2552 2553 if( username != session->proxyUsername )2554 {2555 tr_free( session->proxyUsername );2556 session->proxyUsername = tr_strdup( username );2557 }2558 }2559 2560 const char*2561 tr_sessionGetProxyPassword( const tr_session * session )2562 {2563 assert( tr_isSession( session ) );2564 2565 return session->proxyPassword;2566 }2567 2568 void2569 tr_sessionSetProxyPassword( tr_session * session,2570 const char * password )2571 {2572 assert( tr_isSession( session ) );2573 2574 if( password != session->proxyPassword )2575 {2576 tr_free( session->proxyPassword );2577 session->proxyPassword = tr_strdup( password );2578 }2579 }2580 2581 2411 /**** 2582 2412 ***** -
trunk/libtransmission/session.h
r11044 r11367 89 89 tr_bool isLPDEnabled; 90 90 tr_bool isBlocklistEnabled; 91 tr_bool isProxyEnabled;92 tr_bool isProxyAuthEnabled;93 91 tr_bool isTorrentDoneScriptEnabled; 94 92 tr_bool isClosed; … … 138 136 tr_port randomPortHigh; 139 137 140 int proxyPort;141 138 int peerSocketTOS; 142 139 char * peer_congestion_algorithm; … … 154 151 char * incompleteDir; 155 152 156 tr_proxy_type proxyType;157 char * proxy;158 char * proxyUsername;159 char * proxyPassword;160 161 153 struct tr_list * blocklists; 162 154 struct tr_peerMgr * peerMgr; -
trunk/libtransmission/transmission.h
r11190 r11367 88 88 } 89 89 tr_preallocation_mode; 90 91 typedef enum92 {93 TR_PROXY_HTTP,94 TR_PROXY_SOCKS4,95 TR_PROXY_SOCKS596 }97 tr_proxy_type;98 90 99 91 typedef enum … … 188 180 #define TR_PREFS_KEY_PEX_ENABLED "pex-enabled" 189 181 #define TR_PREFS_KEY_PORT_FORWARDING "port-forwarding-enabled" 190 #define TR_PREFS_KEY_PROXY_AUTH_ENABLED "proxy-auth-enabled"191 182 #define TR_PREFS_KEY_PREALLOCATION "preallocation" 192 #define TR_PREFS_KEY_PROXY_ENABLED "proxy-enabled"193 #define TR_PREFS_KEY_PROXY_PASSWORD "proxy-auth-password"194 #define TR_PREFS_KEY_PROXY_PORT "proxy-port"195 #define TR_PREFS_KEY_PROXY "proxy"196 #define TR_PREFS_KEY_PROXY_TYPE "proxy-type"197 #define TR_PREFS_KEY_PROXY_USERNAME "proxy-auth-username"198 183 #define TR_PREFS_KEY_RATIO "ratio-limit" 199 184 #define TR_PREFS_KEY_RATIO_ENABLED "ratio-limit-enabled" … … 527 512 **/ 528 513 529 tr_bool tr_sessionIsProxyEnabled( const tr_session * );530 531 tr_bool tr_sessionIsProxyAuthEnabled( const tr_session * );532 533 const char* tr_sessionGetProxy( const tr_session * );534 535 tr_port tr_sessionGetProxyPort( const tr_session * );536 537 tr_proxy_type tr_sessionGetProxyType( const tr_session * );538 539 const char* tr_sessionGetProxyUsername( const tr_session * );540 541 const char* tr_sessionGetProxyPassword( const tr_session * );542 543 void tr_sessionSetProxyEnabled( tr_session * session,544 tr_bool isEnabled );545 546 void tr_sessionSetProxyAuthEnabled( tr_session * session,547 tr_bool isEnabled );548 549 void tr_sessionSetProxy( tr_session * session,550 const char * proxy );551 552 void tr_sessionSetProxyPort( tr_session * session,553 tr_port port );554 555 void tr_sessionSetProxyType( tr_session * session,556 tr_proxy_type proxy_type );557 558 void tr_sessionSetProxyUsername( tr_session * session,559 const char * username );560 561 void tr_sessionSetProxyPassword( tr_session * session,562 const char * password );563 564 /**565 ***566 **/567 568 514 /** @brief Used by tr_sessionGetStats() and tr_sessionGetCumulativeStats() to give bandwidth statistics */ 569 515 typedef struct tr_session_stats -
trunk/libtransmission/web.c
r11350 r11367 125 125 #endif 126 126 127 static int128 getCurlProxyType( tr_proxy_type t )129 {130 if( t == TR_PROXY_SOCKS4 ) return CURLPROXY_SOCKS4;131 if( t == TR_PROXY_SOCKS5 ) return CURLPROXY_SOCKS5;132 return CURLPROXY_HTTP;133 }134 135 127 static long 136 128 getTimeoutFromURL( const struct tr_web_task * task ) … … 154 146 const long verbose = getenv( "TR_CURL_VERBOSE" ) != NULL; 155 147 char * cookie_filename = tr_buildPath( s->configDir, "cookies.txt", NULL ); 156 157 if( !task->range && s->isProxyEnabled ) {158 const long proxyType = getCurlProxyType( s->proxyType );159 curl_easy_setopt( e, CURLOPT_PROXY, s->proxy );160 curl_easy_setopt( e, CURLOPT_PROXYAUTH, CURLAUTH_ANY );161 curl_easy_setopt( e, CURLOPT_PROXYPORT, s->proxyPort );162 curl_easy_setopt( e, CURLOPT_PROXYTYPE, proxyType );163 }164 165 if( !task->range && s->isProxyAuthEnabled ) {166 char * str = tr_strdup_printf( "%s:%s", s->proxyUsername,167 s->proxyPassword );168 curl_easy_setopt( e, CURLOPT_PROXYUSERPWD, str );169 tr_free( str );170 }171 148 172 149 curl_easy_setopt( e, CURLOPT_AUTOREFERER, 1L );
Note: See TracChangeset
for help on using the changeset viewer.