(trunk libT) Clean up RPC server initialization (wereHamster)
This commit is contained in:
parent
8b72408948
commit
db58b89f6e
|
@ -708,25 +708,43 @@ tr_rpcClose( tr_rpc_server ** ps )
|
||||||
|
|
||||||
tr_rpc_server *
|
tr_rpc_server *
|
||||||
tr_rpcInit( tr_session * session,
|
tr_rpcInit( tr_session * session,
|
||||||
tr_bool isEnabled,
|
tr_benc * settings )
|
||||||
tr_port port,
|
|
||||||
tr_bool isWhitelistEnabled,
|
|
||||||
const char * whitelist,
|
|
||||||
tr_bool isPasswordEnabled,
|
|
||||||
const char * username,
|
|
||||||
const char * password )
|
|
||||||
{
|
{
|
||||||
tr_rpc_server * s;
|
tr_rpc_server * s;
|
||||||
|
tr_bool found;
|
||||||
|
int64_t i;
|
||||||
|
const char *str;
|
||||||
|
|
||||||
s = tr_new0( tr_rpc_server, 1 );
|
s = tr_new0( tr_rpc_server, 1 );
|
||||||
s->session = session;
|
s->session = session;
|
||||||
s->port = port;
|
|
||||||
s->username = tr_strdup( username );
|
found = tr_bencDictFindInt( settings, TR_PREFS_KEY_RPC_ENABLED, &i );
|
||||||
s->password = tr_strdup( password );
|
assert( found );
|
||||||
s->isWhitelistEnabled = isWhitelistEnabled;
|
s->isEnabled = i != 0;
|
||||||
s->isPasswordEnabled = isPasswordEnabled;
|
|
||||||
s->isEnabled = isEnabled != 0;
|
found = tr_bencDictFindInt( settings, TR_PREFS_KEY_RPC_PORT, &i );
|
||||||
tr_rpcSetWhitelist( s, whitelist ? whitelist : "127.0.0.1" );
|
assert( found );
|
||||||
|
s->port = i;
|
||||||
|
|
||||||
|
found = tr_bencDictFindInt( settings, TR_PREFS_KEY_RPC_WHITELIST_ENABLED, &i );
|
||||||
|
assert( found );
|
||||||
|
s->isWhitelistEnabled = i != 0;
|
||||||
|
|
||||||
|
found = tr_bencDictFindInt( settings, TR_PREFS_KEY_RPC_AUTH_REQUIRED, &i );
|
||||||
|
assert( found );
|
||||||
|
s->isPasswordEnabled = i != 0;
|
||||||
|
|
||||||
|
found = tr_bencDictFindStr( settings, TR_PREFS_KEY_RPC_WHITELIST, &str );
|
||||||
|
assert( found );
|
||||||
|
tr_rpcSetWhitelist( s, str ? str : "127.0.0.1" );
|
||||||
|
|
||||||
|
found = tr_bencDictFindStr( settings, TR_PREFS_KEY_RPC_USERNAME, &str );
|
||||||
|
assert( found );
|
||||||
|
s->username = tr_strdup( str );
|
||||||
|
|
||||||
|
found = tr_bencDictFindStr( settings, TR_PREFS_KEY_RPC_PASSWORD, &str );
|
||||||
|
assert( found );
|
||||||
|
s->password = tr_strdup( str );
|
||||||
|
|
||||||
#ifdef HAVE_ZLIB
|
#ifdef HAVE_ZLIB
|
||||||
s->stream.zalloc = (alloc_func) Z_NULL;
|
s->stream.zalloc = (alloc_func) Z_NULL;
|
||||||
|
@ -735,17 +753,15 @@ tr_rpcInit( tr_session * session,
|
||||||
deflateInit( &s->stream, Z_BEST_COMPRESSION );
|
deflateInit( &s->stream, Z_BEST_COMPRESSION );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if( isEnabled )
|
if( s->isEnabled )
|
||||||
|
{
|
||||||
|
tr_ninf( MY_NAME, _( "Serving RPC and Web requests on port %d" ), (int) s->port );
|
||||||
tr_runInEventThread( session, startServer, s );
|
tr_runInEventThread( session, startServer, s );
|
||||||
|
|
||||||
if( isEnabled )
|
if( s->isWhitelistEnabled )
|
||||||
{
|
|
||||||
tr_ninf( MY_NAME, _( "Serving RPC and Web requests on port %d" ), (int)port );
|
|
||||||
|
|
||||||
if( isWhitelistEnabled )
|
|
||||||
tr_ninf( MY_NAME, _( "Whitelist enabled" ) );
|
tr_ninf( MY_NAME, _( "Whitelist enabled" ) );
|
||||||
|
|
||||||
if( isPasswordEnabled )
|
if( s->isPasswordEnabled )
|
||||||
tr_ninf( MY_NAME, _( "Password required" ) );
|
tr_ninf( MY_NAME, _( "Password required" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,13 +20,7 @@
|
||||||
typedef struct tr_rpc_server tr_rpc_server;
|
typedef struct tr_rpc_server tr_rpc_server;
|
||||||
|
|
||||||
tr_rpc_server * tr_rpcInit( tr_session * session,
|
tr_rpc_server * tr_rpcInit( tr_session * session,
|
||||||
tr_bool isEnabled,
|
tr_benc * settings );
|
||||||
tr_port port,
|
|
||||||
tr_bool isWhitelistEnabled,
|
|
||||||
const char * whitelist,
|
|
||||||
tr_bool isPasswordEnabled,
|
|
||||||
const char * username,
|
|
||||||
const char * password );
|
|
||||||
|
|
||||||
void tr_rpcClose( tr_rpc_server ** freeme );
|
void tr_rpcClose( tr_rpc_server ** freeme );
|
||||||
|
|
||||||
|
|
|
@ -369,8 +369,6 @@ tr_sessionInit( const char * tag,
|
||||||
tr_benc settings;
|
tr_benc settings;
|
||||||
tr_session * session;
|
tr_session * session;
|
||||||
char * filename;
|
char * filename;
|
||||||
int64_t rpc_enabled, whitelist_enabled, rpc_auth_enabled, rpc_port;
|
|
||||||
const char * whitelist = NULL, *rpc_passwd = NULL, *rpc_username = NULL;
|
|
||||||
|
|
||||||
assert( tr_bencIsDict( clientSettings ) );
|
assert( tr_bencIsDict( clientSettings ) );
|
||||||
|
|
||||||
|
@ -527,16 +525,7 @@ tr_sessionInit( const char * tag,
|
||||||
tr_statsInit( session );
|
tr_statsInit( session );
|
||||||
|
|
||||||
session->web = tr_webInit( session );
|
session->web = tr_webInit( session );
|
||||||
found = tr_bencDictFindInt( &settings, TR_PREFS_KEY_RPC_ENABLED, &rpc_enabled )
|
session->rpcServer = tr_rpcInit( session, &settings );
|
||||||
&& tr_bencDictFindInt( &settings, TR_PREFS_KEY_RPC_PORT, &rpc_port )
|
|
||||||
&& tr_bencDictFindInt( &settings, TR_PREFS_KEY_RPC_WHITELIST_ENABLED, &whitelist_enabled )
|
|
||||||
&& tr_bencDictFindInt( &settings, TR_PREFS_KEY_RPC_AUTH_REQUIRED, &rpc_auth_enabled )
|
|
||||||
&& tr_bencDictFindStr( &settings, TR_PREFS_KEY_RPC_WHITELIST, &whitelist )
|
|
||||||
&& tr_bencDictFindStr( &settings, TR_PREFS_KEY_RPC_USERNAME, &rpc_username )
|
|
||||||
&& tr_bencDictFindStr( &settings, TR_PREFS_KEY_RPC_PASSWORD, &rpc_passwd );
|
|
||||||
assert( found );
|
|
||||||
session->rpcServer = tr_rpcInit( session, rpc_enabled, rpc_port, whitelist_enabled, whitelist,
|
|
||||||
rpc_auth_enabled, rpc_username, rpc_passwd );
|
|
||||||
|
|
||||||
metainfoLookupRescan( session );
|
metainfoLookupRescan( session );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue