- CRYPTO_set_locking_callback(ssl_lock);
- CRYPTO_set_id_callback(id_callback);
-
- // Get our certificates in order.
- // First, create the key/cert directory if it's not there already...
- mkdir(CTDL_CRYPTO_DIR, 0700);
-
- // Before attempting to generate keys/certificates, first try
- // link to them from the Citadel server if it's on the same host.
- // We ignore any error return because it either meant that there
- // was nothing in Citadel to link from (in which case we just
- // generate new files) or the target files already exist (which
- // is not fatal either).
- if (!strcasecmp(ctdlhost, "uds")) {
- sprintf(buf, "%s/keys/citadel.key", ctdlport);
- rv = symlink(buf, CTDL_KEY_PATH);
- if (!rv) {
- syslog(LOG_DEBUG, "%s", strerror(errno));
- }
- sprintf(buf, "%s/keys/citadel.csr", ctdlport);
- rv = symlink(buf, CTDL_CSR_PATH);
- if (!rv) {
- syslog(LOG_DEBUG, "%s", strerror(errno));
- }
- sprintf(buf, "%s/keys/citadel.cer", ctdlport);
- rv = symlink(buf, CTDL_CER_PATH);
- if (!rv) {
- syslog(LOG_DEBUG, "%s", strerror(errno));
- }
- }