ifp_domains.c revision d387c4608dbd3ca056e18e85313ef51aac146fd2
/*
Authors:
Jakub Hrozek <jhrozek@redhat.com>
Pavel Březina <pbrezina@redhat.com>
Copyright (C) 2014 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 <string.h>
#include "responder/common/responder.h"
#include "responder/ifp/ifp_domains.h"
struct sss_domain_info *__dom; \
\
\
return; \
} \
\
} while (0)
void *data)
{
struct tevent_req *req;
"Invalid ifp context!");
}
}
}
return EOK;
}
{
struct sss_domain_info *dom;
const char **paths;
char *p;
"Failed to refresh domain objects\n");
return;
}
"Failed to refresh subdomain list\n");
return;
}
num_domains = 0;
num_domains++;
}
return;
}
pi = 0;
if (p == NULL) {
continue;
}
pi++;
}
}
}
struct ifp_get_domain_state {
const char *name;
};
void *data,
const char *arg_name)
{
struct tevent_req *req;
struct ifp_get_domain_state *state;
"Invalid ifp context!");
}
}
}
}
return EOK;
}
{
struct ifp_get_domain_state *state;
struct sss_domain_info *iter;
const char *path;
"Failed to refresh domain objects\n");
return;
}
"Failed to refresh subdomain list\n");
return;
}
/* Reply with the domain that was asked for */
break;
}
}
"No such domain\n");
return;
}
return;
}
}
}
static struct sss_domain_info *
{
return NULL;
}
return NULL;
}
return NULL;
}
break;
}
}
return iter;
}
void *data,
const char ***_out,
int *_out_len,
bool backup)
{
static const char *srv[] = {"_srv_"};
int num_servers;
int i;
*_out_len = 0;
return;
}
/* subdomains are not present in configuration */
goto done;
}
goto done;
}
goto done;
}
/* TODO: replace hardcoded values with option names from the provider */
} else {
goto done;
}
goto done;
}
if (num_servers == 0) {
goto done;
}
goto done;
}
for (i = 0; i < num_servers; i++) {
}
*_out_len = num_servers;
done:
*_out_len = 1;
}
return;
}
void *data,
const char **_out)
{
}
void *data,
const char **_out)
{
}
void *data,
const char ***_out,
int *_out_len)
{
}
void *data,
const char ***_out,
int *_out_len)
{
}
void *data,
{
struct sss_domain_info *dom;
*_out = 1;
return;
}
}
void *data,
{
struct sss_domain_info *dom;
*_out = 0;
return;
}
}
void *data,
const char **_out)
{
}
void *data,
const char **_out)
{
}
void *data,
const char **_out)
{
}
void *data,
const char **_out)
{
}
void *data,
bool *_out)
{
struct sss_domain_info *dom;
*_out = false;
return;
}
}
void *data,
bool *_out)
{
struct sss_domain_info *dom;
*_out = false;
return;
}
}
void *data,
bool *_out)
{
struct sss_domain_info *dom;
*_out = false;
return;
}
}
void *data,
const char **_out)
{
struct sss_domain_info *dom;
return;
}
*_out = "/";
return;
}
}