static bool KNSProxiesHttpProxyInitFromKfg ( KNSProxies * self, const KConfig * kfg ) { bool fromKfg = false; const KConfigNode * proxy; rc_t rc = KConfigOpenNodeRead ( kfg, & proxy, "/http/proxy" ); if ( rc == 0 ) { const KConfigNode * proxy_path; rc = KConfigNodeOpenNodeRead ( proxy, & proxy_path, "path" ); if ( rc == 0 ) { String * path; rc = KConfigNodeReadString ( proxy_path, & path ); if ( rc == 0 ) { DBGMSG ( DBG_KNS, DBG_FLAG ( DBG_KNS_PROXY ), ( "Loading proxy '%S' from configuration\n", path ) ); rc = KNSProxiesAddHTTPProxyPath ( self, "%S", path ); if ( rc == 0 ) fromKfg = true; StringWhack ( path ); } KConfigNodeRelease ( proxy_path ); } KConfigNodeRelease ( proxy ); } return fromKfg; }
static void KNSManagerHttpProxyInit ( KNSManager * self ) { const KConfigNode * proxy; rc_t rc = KConfigOpenNodeRead ( self -> kfg, & proxy, "http/proxy" ); if ( rc == 0 ) { const KConfigNode * proxy_path; rc = KConfigNodeOpenNodeRead ( proxy, & proxy_path, "path" ); if ( rc == 0 ) { String * path; rc = KConfigNodeReadString ( proxy_path, & path ); if ( rc == 0 ) { rc = KNSManagerSetHTTPProxyPath ( self, "%S", path ); if ( rc == 0 ) { const KConfigNode * proxy_enabled; rc = KConfigNodeOpenNodeRead ( proxy, & proxy_enabled, "enabled" ); if ( rc == 0 ) { rc = KConfigNodeReadBool ( proxy_enabled, & self -> http_proxy_enabled ); KConfigNodeRelease ( proxy_enabled ); } else if ( GetRCState ( rc ) == rcNotFound ) { rc = 0; } if ( rc != 0 ) { KNSManagerSetHTTPProxyPath ( self, NULL ); assert ( self -> http_proxy_enabled == false ); } } StringWhack ( path ); } KConfigNodeRelease ( proxy_path ); } KConfigNodeRelease ( proxy ); } }
static void KNSManagerLoadAWS ( struct KNSManager *self ) { rc_t rc; const KConfigNode *aws_node; const KConfig *kfg = self -> kfg; if ( self == NULL ) return; rc = KConfigOpenNodeRead ( kfg, &aws_node, "AWS" ); if ( rc == 0 ) { do { String *access_key_id = NULL, *secret_access_key = NULL, *region = NULL, *output = NULL; const KConfigNode *access_key_id_node, *secret_access_key_node, *region_node, *output_node; rc = KConfigNodeOpenNodeRead ( aws_node, &access_key_id_node, "aws_access_key_id" ); if ( rc == 0 ) { rc = KConfigNodeReadString ( access_key_id_node, &access_key_id ); KConfigNodeRelease ( access_key_id_node ); if( rc != 0 ) break; } rc = KConfigNodeOpenNodeRead ( aws_node, &secret_access_key_node, "aws_secret_access_key" ); if ( rc == 0 ) { rc = KConfigNodeReadString ( secret_access_key_node, &secret_access_key ); KConfigNodeRelease ( secret_access_key_node ); if ( rc != 0 ) break; } rc = KConfigNodeOpenNodeRead ( aws_node, ®ion_node, "region" ); if ( rc == 0 ) { rc = KConfigNodeReadString ( region_node, ®ion ); KConfigNodeRelease ( region_node ); if ( rc != 0 ) break; } rc = KConfigNodeOpenNodeRead ( aws_node, &output_node, "output" ); if ( rc == 0 ) { rc = KConfigNodeReadString ( output_node, &output ); KConfigNodeRelease ( output_node ); if ( rc != 0 ) break; } self -> aws_access_key_id = access_key_id; self -> aws_secret_access_key = secret_access_key; self -> aws_region = region; self -> aws_output = output; } while ( 0 ); KConfigNodeRelease ( aws_node ); } }