示例#1
0
文件: test_cstat.c 项目: rubenk/burp
END_TEST

static void check_restore_clients(struct cstat *cstat,
	struct conf **parentconf, const char *restore_clients, int permitted)
{
	struct conf **cconfs=NULL;
	fail_unless((cconfs=confs_alloc())!=NULL);
	fail_unless(!confs_init(cconfs));
	fail_unless(!set_string(cconfs[OPT_CNAME], "cli1"));
	build_clientconfdir_file("cli1", restore_clients);
	fail_unless(!conf_load_clientconfdir(parentconf, cconfs));
	fail_unless(!set_string(parentconf[OPT_CNAME], "cli2"));
	fail_unless(cstat_permitted(cstat, parentconf, cconfs)==permitted);
	confs_free(&cconfs);
}
示例#2
0
文件: cstat.c 项目: EmisFR/burp
static int set_cstat_from_conf(struct cstat *cstat,
                               struct conf **parentconfs, struct conf **cconfs)
{
    struct strlist *s=NULL;
    // Make sure the permitted flag is set appropriately.
    cstat->permitted=cstat_permitted(cstat, parentconfs, cconfs);

    cstat->protocol=get_protocol(cconfs);
    sdirs_free((struct sdirs **)&cstat->sdirs);
    if(!(cstat->sdirs=sdirs_alloc())
            || sdirs_init_from_confs((struct sdirs *)cstat->sdirs, cconfs))
        return -1;
    strlists_free(&cstat->labels);
    for(s=get_strlist(cconfs[OPT_LABEL]); s; s=s->next)
        if(strlist_add_sorted(&cstat->labels, s->path, s->flag))
            return -1;
    return 0;
}