Changeset 8072
- Timestamp:
- Mar 17, 2009, 9:50:20 PM (14 years ago)
- Location:
- trunk/libtransmission
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/crypto.c
r7870 r8072 20 20 21 21 #include <openssl/bn.h> 22 #include <openssl/des.h> 22 23 #include <openssl/dh.h> 23 24 #include <openssl/err.h> … … 350 351 } 351 352 353 /*** 354 **** 355 ***/ 356 357 char* 358 tr_crypt( const void * plaintext ) 359 { 360 static const char * salter = "0123456789" 361 "abcdefghijklmnopqrstuvwxyz" 362 "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 363 "./"; 364 static const size_t salter_len = 64; 365 366 int i; 367 char salt[12]; 368 369 memcpy( salt, "$1$", 3 ); 370 for( i=0; i<8; ++i ) 371 salt[3+i] = salter[ tr_cryptoRandInt( salter_len ) ]; 372 salt[11] = '\0'; 373 374 return tr_strdup( DES_crypt( plaintext, salt ) ); 375 } -
trunk/libtransmission/crypto.h
r7658 r8072 96 96 size_t len ); 97 97 98 char* tr_crypt( const void * plaintext ); 99 100 98 101 #endif -
trunk/libtransmission/rpc-server.c
r7914 r8072 30 30 #include "transmission.h" 31 31 #include "bencode.h" 32 #include "crypto.h" 32 33 #include "list.h" 33 34 #include "platform.h" … … 314 315 if( errno ) 315 316 { 316 send_simple_response( req, HTTP_NOTFOUND, NULL);317 send_simple_response( req, HTTP_NOTFOUND, filename ); 317 318 } 318 319 else … … 465 466 user = p; 466 467 *pass++ = '\0'; 468 pass = tr_crypt( pass ); 467 469 } 468 470 } … … 507 509 else 508 510 { 509 send_simple_response( req, HTTP_NOTFOUND, NULL ); 510 } 511 511 send_simple_response( req, HTTP_NOTFOUND, req->uri ); 512 } 513 514 tr_free( pass ); 512 515 tr_free( user ); 513 516 } … … 669 672 { 670 673 tr_free( server->password ); 671 server->password = tr_ strdup( password );674 server->password = tr_crypt( password ); 672 675 dbgmsg( "setting our Password to [%s]", server->password ); 673 676 } -
trunk/libtransmission/session.c
r8047 r8072 298 298 tr_bencDictAddInt( d, TR_PREFS_KEY_RPC_AUTH_REQUIRED, tr_sessionIsRPCPasswordEnabled( s ) ); 299 299 tr_bencDictAddInt( d, TR_PREFS_KEY_RPC_ENABLED, tr_sessionIsRPCEnabled( s ) ); 300 tr_bencDictAddStr( d, TR_PREFS_KEY_RPC_PASSWORD, freeme[n++] = tr_sessionGetRPCPassword( s ) );301 300 tr_bencDictAddInt( d, TR_PREFS_KEY_RPC_PORT, tr_sessionGetRPCPort( s ) ); 302 301 tr_bencDictAddStr( d, TR_PREFS_KEY_RPC_USERNAME, freeme[n++] = tr_sessionGetRPCUsername( s ) ); … … 1455 1454 } 1456 1455 1457 char*1458 tr_sessionGetRPCPassword( const tr_session * session )1459 {1460 assert( tr_isSession( session ) );1461 1462 return tr_rpcGetPassword( session->rpcServer );1463 }1464 1465 1456 void 1466 1457 tr_sessionSetRPCUsername( tr_session * session, -
trunk/libtransmission/transmission.h
r8021 r8072 371 371 const char * username ); 372 372 373 /** @brief get the password used to restrict RPC requests.374 @return the password string. tr_free() when done.375 @see tr_sessionInit()376 @see tr_sessionSetRPCPassword() */377 char* tr_sessionGetRPCPassword( const tr_session * session );378 379 373 char* tr_sessionGetRPCUsername( const tr_session * session ); 380 374
Note: See TracChangeset
for help on using the changeset viewer.