key_options
char *key_options = NULL, *fp = NULL;
key_options = cp;
if ((keyopts = sshauthopt_parse(key_options, &reason)) == NULL) {
struct key_options *key = cfg_parser->key;
void task_new_add_key(udb_base* udb, udb_ptr* last, struct key_options* key)
struct key_options key;
void task_new_add_key(udb_base* udb, udb_ptr* last, struct key_options* key);
b->key_options = NULL;
b->key_options = key_options_find(opt, b->key_name);
else b->key_options = NULL;
acl->key_options = NULL;
struct key_options*
struct key_options* key;
key = (struct key_options*)region_alloc_zero(region,
sizeof(struct key_options));
key_options_insert(struct nsd_options* opt, struct key_options* key)
struct key_options*
return (struct key_options*)rbtree_search(opt->keys, name);
key_options_desetup(region_type* region, struct key_options* key)
key_options_setup(region_type* region, struct key_options* key)
struct key_options* k = key_options_find(opt, name);
region_recycle(opt->region, k, sizeof(struct key_options));
key_options_equal(struct key_options* p, struct key_options* q)
key_options_add_modify(struct nsd_options* opt, struct key_options* key)
struct key_options* orig = key_options_find(opt, key->name);
if(!acl->key_options->tsig_key) {
acl->key_options->tsig_key->name) != 0) {
acl->key_options->algorithm) != 0 && (
acl->key_options->algorithm) != 0) ) {
struct key_options* optkey;
RBTREE_FOR(optkey, struct key_options*, opt->keys) {
acl->key_options = 0;
acl->key_options = key_options_find(opt, acl->key_name);
if(!acl->key_options)
acl->key_options = key_options_find(opt, acl->key_name);
if(!acl->key_options)
acl->key_options = key_options_find(opt, acl->key_name);
if(!acl->key_options)
acl->key_options = key_options_find(opt, acl->key_name);
if(!acl->key_options)
acl->key_options = key_options_find(opt, acl->key_name);
if(!acl->key_options)
typedef struct key_options key_options_type;
struct key_options* key_options;
struct key_options *key;
struct key_options* key_options_create(region_type* region);
void key_options_insert(struct nsd_options* opt, struct key_options* key);
struct key_options* key_options_find(struct nsd_options* opt, const char* name);
int key_options_equal(struct key_options* p, struct key_options* q);
void key_options_add_modify(struct nsd_options* opt, struct key_options* key);
void key_options_setup(region_type* region, struct key_options* key);
void key_options_desetup(region_type* region, struct key_options* key);
static void add_key(xfrd_state_type* xfrd, struct key_options* k)
struct key_options* k;
k = (struct key_options*)rbtree_first(oldopt->keys);
struct key_options* next = (struct key_options*)rbtree_next(
RBTREE_FOR(k, struct key_options*, newopt->keys) {
struct key_options* origk = key_options_find(oldopt, k->name);
struct key_options* key;
RBTREE_FOR(key, struct key_options*, xfrd->nsd->options->keys) {
struct key_options* key_opts = key_options_find(xfrd->nsd->options, arg);
struct key_options* key_opt;
struct key_options* new_key_opt;
const char* key_name, struct key_options* key_opt)
acl->key_options = key_opt;
struct key_options* key_opt;
struct key_options* key_opt;
if(zone->pkts[index].dest->key_options) {
if(zone->master->key_options && zone->master->key_options->tsig_key) {
assert(acl->key_options && acl->key_options->tsig_key);
algo = tsig_get_algorithm_by_name(acl->key_options->algorithm);
acl->key_options->algorithm);
tsig_init_record(tsig, algo, acl->key_options->tsig_key);
if(zone->master->key_options && zone->master->key_options->tsig_key) {
assert(zone && zone->master && zone->master->key_options
&& zone->master->key_options->tsig_key && packet);
if(zone->master->key_options) {
if(zone->master->key_options) {
if(zone->master->key_options) {
zone->master->key_options->name);