in src/oslogin_utils.cc [1095:1126]
bool GetGroupByName(string name, struct group* result, BufferManager* buf, int* errnop) {
std::stringstream url;
std::vector<Group> groups;
string response;
long http_code;
url.str("");
url << kMetadataServerUrl << "groups?groupname=" << name;
response.clear();
http_code = 0;
if (!HttpGet(url.str(), &response, &http_code) || http_code != 200 ||
response.empty()) {
*errnop = EAGAIN;
return false;
}
groups.clear();
if (!ParseJsonToGroups(response, &groups) || groups.empty() || groups.size() != 1) {
*errnop = ENOENT;
return false;
}
Group el = groups[0];
result->gr_gid = el.gid;
if (!buf->AppendString(el.name, &result->gr_name, errnop)) {
return false;
}
return true;
}