/*
Authors:
Pavel Březina <pbrezina@redhat.com>
Copyright (C) 2016 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/>.
*/
#include <talloc.h>
#include <tevent.h>
#include "sbus/sssd_dbus.h"
#include "providers/data_provider/dp_private.h"
#include "providers/data_provider/dp_iface.h"
#include "responder/nss/nss_iface.h"
{
switch (attr_type) {
case BE_ATTR_CORE:
case BE_ATTR_MEM:
case BE_ATTR_ALL:
return true;
default:
return false;
}
return false;
}
const char *filter,
const char *extra)
{
/* We will use sizeof() to determine the length of a string so we don't
* call strlen over and over again with each request. Not a bottleneck,
* but unnecessary and simple to avoid. */
static struct {
const char *name;
{0, 0, 0}};
int i;
if (SBUS_IS_STRING_EMPTY(filter)) {
return false;
}
return true;
}
}
return true;
}
return false;
}
struct dp_initgr_ctx {
const char *username;
const char *domain;
};
const char *domain,
struct ldb_result *res)
{
const char *username;
unsigned int i;
return NULL;
}
goto done;
}
goto done;
}
goto done;
}
goto done;
}
/* The first GID is the primary so it might be duplicated
* later in the list. */
SYSDB_GIDNUM, 0);
/* If 0 it may be a non-posix group, so we skip it. */
}
}
done:
return NULL;
}
return ctx;
}
struct data_provider *provider,
struct dp_initgr_ctx *ctx,
struct dp_reply_std *reply)
{
int num;
return;
}
return;
}
if (!dbret) {
return;
}
"Ordering NSS responder to update memory cache\n");
return;
}
const char *key,
struct dp_id_data *data)
{
} else {
return ERR_DOMAIN_NOT_FOUND;
}
}
/* There is no point in concacting NSS responder. Proceed as usual. */
return EAGAIN;
goto done;
}
goto done;
}
dp_req_reply_std, struct dp_reply_std);
done:
return ret;
}
void *dp_cli,
const char *filter,
const char *domain,
const char *extra)
{
const char *key;
if (!check_attr_type(attr_type)) {
return EINVAL;
}
return ENOMEM;
}
goto done;
}
goto done;
}
goto done;
}
}
dp_req_reply_std, struct dp_reply_std);
done:
}
return ret;
}