int ca_server_setup(struct conf **confs) { int ret=-1; char *ca_dir=NULL; const char *ca_conf=get_string(confs[OPT_CA_CONF]); if(!ca_conf) { ret=0; goto end; } /* Need to read CA_DIR from ca_conf. */ if(!(ca_dir=get_ca_dir(confs))) goto end; if(maybe_make_dhfile(confs, ca_dir)) goto end; if(burp_ca_init(confs, ca_dir)) { recursive_delete(ca_dir); goto end; } if(maybe_make_crl(confs, ca_dir, ca_conf)) goto end; ret=0; end: // Keeping it in gca_dir for later. //free_w(&ca_dir); if(setup_stuff_done) { if(ret) logp("CA setup failed\n"); else logp("CA setup succeeded\n"); } return ret; }
int ca_server_setup(struct conf *conf) { int ret=0; char *ca_dir=NULL; if(!conf->ca_conf) return 0; /* Need to read CA_DIR from ca_conf. */ if(!(ca_dir=get_ca_dir(conf))) { ret=-1; goto end; } if(maybe_make_dhfile(conf, ca_dir)) { ret=-1; goto end; } if(burp_ca_init(conf, ca_dir)) { recursive_delete(ca_dir, "", 1); ret=-1; goto end; } end: // Keeping it in gca_dir for later. //if(ca_dir) free(ca_dir); if(setup_stuff_done) { if(ret) logp("CA setup failed\n"); else logp("CA setup succeeded\n"); } return ret; }