in src/oslogin_utils.cc [331:354]
bool NssCache::NssGetpwentHelper(BufferManager* buf, struct passwd* result, int* errnop) {
if (!HasNextEntry() && !OnLastPage()) {
std::stringstream url;
url << kMetadataServerUrl << "users?pagesize=" << cache_size_;
string page_token = GetPageToken();
if (!page_token.empty()) {
url << "&pagetoken=" << page_token;
}
string response;
long http_code = 0;
bool status = HttpGet(url.str(), &response, &http_code);
// 404 means OS Login is not enabled.
if (http_code == 404) {
*errnop = ENOMSG;
return false;
}
// General failure to load the cache occurred.
if (!status || http_code != 200 || response.empty() || !LoadJsonUsersToCache(response)) {
*errnop = ENOENT;
return false;
}
}
return (HasNextEntry() && GetNextPasswd(buf, result, errnop));
}