int haspubkey;
char *tls_name;
CRYPTO_REF_COUNT references;
- CRYPTO_RWLOCK *lock;
} XORKEY;
/* Key Management for the dummy XOR KEX, KEM and signature algorithms */
if (ret == NULL)
return NULL;
- ret->references = 1;
- ret->lock = CRYPTO_THREAD_lock_new();
- if (ret->lock == NULL) {
- ERR_raise(ERR_LIB_USER, ERR_R_MALLOC_FAILURE);
+ if (!CRYPTO_NEW_REF(&ret->references, 1)) {
OPENSSL_free(ret);
return NULL;
}
if (key == NULL)
return;
- if (CRYPTO_DOWN_REF(&key->references, &refcnt, key->lock) <= 0)
+ if (CRYPTO_DOWN_REF(&key->references, &refcnt) <= 0)
return;
if (refcnt > 0)
OPENSSL_free(key->tls_name);
key->tls_name = NULL;
}
- CRYPTO_THREAD_lock_free(key->lock);
+ CRYPTO_FREE_REF(&key->references);
OPENSSL_free(key);
}
{
int refcnt;
- if (CRYPTO_UP_REF(&key->references, &refcnt, key->lock) <= 0)
+ if (CRYPTO_UP_REF(&key->references, &refcnt) <= 0)
return 0;
assert(refcnt > 1);