/* */ #include "NetrcAuthResolver.h" #include "AuthConfig.h" #include "Netrc.h" namespace aria2 { NetrcAuthResolver::NetrcAuthResolver():_ignoreDefault(false) {} SharedHandle NetrcAuthResolver::resolveAuthConfig(const std::string& hostname) { if(getUserDefinedAuthConfig().isNull()) { return findNetrcAuthenticator(hostname); } else { return getUserDefinedAuthConfig(); } } SharedHandle NetrcAuthResolver::findNetrcAuthenticator(const std::string& hostname) const { if(_netrc.isNull()) { return getDefaultAuthConfig(); } else { SharedHandle auth = _netrc->findAuthenticator(hostname); if(auth.isNull()) { return getDefaultAuthConfig(); } else { if(_ignoreDefault && auth->getMachine().empty()) { return getDefaultAuthConfig(); } else { return SharedHandle (new AuthConfig(auth->getLogin(), auth->getPassword())); } } } } void NetrcAuthResolver::setNetrc(const SharedHandle& netrc) { _netrc = netrc; } void NetrcAuthResolver::ignoreDefault() { _ignoreDefault = true; } void NetrcAuthResolver::useDefault() { _ignoreDefault = false; } } // namespace aria2