ifpsrv_util.c revision a1e4113a5388e34c08459c5b69679c82ac2bddc9
/*
Authors:
Jakub Hrozek <jhrozek@redhat.com>
Stephen Gallagher <sgallagh@redhat.com>
Copyright (C) 2013 Red Hat
InfoPipe responder: Utility functions
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 "responder/ifp/ifp_private.h"
"groups", \
NULL}
{
return EINVAL;
}
return ENOMEM;
}
/* We got a sysbus message but couldn't identify the
* caller? Bail out! */
"BUG: Received a message without a known caller!\n");
goto done;
}
goto done;
goto done;
}
done:
}
return ret;
}
{
return sbus_request_fail_and_finish(dbus_req,
}
return sbus_request_fail_and_finish(dbus_req,
"Cannot create IFP request\n"));
}
struct ldb_message_element *el)
{
unsigned int i;
return EINVAL;
}
if (!dbret) {
return ENOMEM;
}
/* Start by appending the key */
if (!dbret) {
return ENOMEM;
}
if (!dbret) {
return ENOMEM;
}
/* Open container for values */
&iter_array);
if (!dbret) {
return ENOMEM;
}
/* Now add all the values */
for (i = 0; i < el->num_values; i++) {
if (!dbret) {
return ENOMEM;
}
}
&iter_array);
if (!dbret) {
return ENOMEM;
}
if (!dbret) {
return ENOMEM;
}
if (!dbret) {
return ENOMEM;
}
return EOK;
}
bool
{
size_t i;
return false;
}
for (i = 0; whitelist[i]; i++) {
break;
}
}
return (whitelist[i]) ? true : false;
}
const char **
{
static const char *defaults[] = IFP_USER_DEFAULT_ATTRS;
}
const char **
{
const char *std[] = IFP_USER_DEFAULT_ATTRS;
const char **extra;
bool found;
int extra_num;
int i, j;
return NULL;
}
/* Just count number of attributes in whitelist. */
}
goto fail;
}
extra_num = 0;
found = false;
found = true;
break;
}
}
if (!found) {
goto fail;
}
extra_num++;
}
}
goto fail;
}
return extra;
fail:
return NULL;
}
bool
{
}