MINOR: ssl: store a ptr to crtlist in crtlist_entry

Store a pointer to crtlist in crtlist_entry so we can re-insert a
crtlist_entry in its crtlist ebpt after updating its key.
This commit is contained in:
William Lallemand 2020-03-30 19:59:57 +02:00 committed by William Lallemand
parent 23d61c00b9
commit fa8cf0c476
2 changed files with 4 additions and 0 deletions

View File

@ -167,6 +167,7 @@ struct crtlist_entry {
unsigned int linenum;
unsigned int fcount; /* filters count */
char **filters;
struct crtlist *crtlist; /* ptr to the parent crtlist */
struct list ckch_inst; /* list of instances of this entry, there is 1 ckch_inst per instance of the crt-list */
struct list by_crtlist; /* ordered entries */
struct list by_ckch_store; /* linked in ckch_store list of crtlist_entries */

View File

@ -4645,6 +4645,7 @@ static int crtlist_load_cert_dir(char *path, struct bind_conf *bind_conf, struct
goto end;
}
entry->node.key = ckchs;
entry->crtlist = dir;
LIST_ADDQ(&ckchs->crtlist_entry, &entry->by_ckch_store);
LIST_ADDQ(&dir->ord_entries, &entry->by_crtlist);
ebpt_insert(&dir->entries, &entry->node);
@ -4665,6 +4666,7 @@ static int crtlist_load_cert_dir(char *path, struct bind_conf *bind_conf, struct
goto end;
}
entry->node.key = ckchs;
entry->crtlist = dir;
LIST_ADDQ(&ckchs->crtlist_entry, &entry->by_ckch_store);
LIST_ADDQ(&dir->ord_entries, &entry->by_crtlist);
ebpt_insert(&dir->entries, &entry->node);
@ -4859,6 +4861,7 @@ static int crtlist_parse_file(char *file, struct bind_conf *bind_conf, struct pr
}
entry->node.key = ckchs;
entry->ssl_conf = ssl_conf;
entry->crtlist = newlist;
/* filters */
entry->filters = crtlist_dup_filters(&args[cur_arg], arg - cur_arg - 1);
entry->fcount = arg - cur_arg - 1;