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