proxy_netgroup.c revision d115f40c7a3999e3cbe705a2ff9cf0fd493f80fb
/*
SSSD
Proxy netgroup handler
Authors:
Sumit Bose <sbose@redhat.com>
Copyright (C) 2010 Red Hat
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define BUFLEN 1024
#define get_triple_el(s) ((s) ? (s) : "")
struct sysdb_attrs *attrs)
{
int ret;
char *dummy;
return ret;
}
return ENOMEM;
}
return ret;
}
} else {
return EINVAL;
}
return EOK;
}
struct sss_domain_info *domain,
const char *name,
struct sysdb_attrs *attrs,
bool lowercase,
{
char *lower;
if (lowercase) {
if (!lower) {
return ENOMEM;
}
if (ret) {
return ret;
}
}
cache_timeout, 0);
return ret;
}
return EOK;
}
{
switch (status) {
case NSS_STATUS_SUCCESS:
break;
case NSS_STATUS_NOTFOUND:
}
break;
case NSS_STATUS_UNAVAIL:
("The proxy target did not respond, going offline\n"));
break;
default:
break;
}
return ret;
}
struct sss_domain_info *dom,
const char *name)
{
struct __netgrent result;
enum nss_status status;
int ret;
struct sysdb_attrs *attrs;
if (status != NSS_STATUS_SUCCESS) {
("setnetgrent failed for netgroup [%s].\n", name));
goto done;
}
goto done;
}
goto done;
}
do {
if (status != NSS_STATUS_SUCCESS &&
status != NSS_STATUS_RETURN &&
status != NSS_STATUS_NOTFOUND) {
("getnetgrent_r failed for netgroup [%s]: [%d][%s].\n",
goto done;
}
if (status == NSS_STATUS_SUCCESS) {
goto done;
}
}
if (status != NSS_STATUS_SUCCESS) {
goto done;
}
goto done;
}
done:
return ret;
}