int nScoreboardSize; /* used for builtin random seed */
apr_hash_t *tTmpKeys;
void *pTmpKeys[SSL_TKPIDX_MAX];
- ssl_ds_table *tPublicCert;
+ apr_hash_t *tPublicCert;
apr_hash_t *tPrivateKey;
#ifdef SSL_EXPERIMENTAL_ENGINE
char *szCryptoDevice;
mc->pMutex = NULL;
mc->aRandSeed = apr_array_make(pPool, 4, sizeof(ssl_randseed_t));
mc->tPrivateKey = apr_hash_make(pPool);
- mc->tPublicCert = ssl_ds_table_make(pPool, sizeof(ssl_asn1_t));
+ mc->tPublicCert = apr_hash_make(pPool);
mc->tTmpKeys = apr_hash_make(pPool);
#ifdef SSL_EXPERIMENTAL_ENGINE
mc->szCryptoDevice = NULL;
*/
ok = FALSE;
cp = apr_psprintf(p, "%s:RSA", cpVHostID);
- if ((asn1 = (ssl_asn1_t *)ssl_ds_table_get(mc->tPublicCert, cp)) != NULL) {
+ if ((asn1 = ssl_asn1_table_get(mc->tPublicCert, cp)) != NULL) {
ssl_log(s, SSL_LOG_TRACE,
"Init: (%s) Configuring RSA server certificate", cpVHostID);
ucp = asn1->cpData;
ok = TRUE;
}
cp = apr_psprintf(p, "%s:DSA", cpVHostID);
- if ((asn1 = (ssl_asn1_t *)ssl_ds_table_get(mc->tPublicCert, cp)) != NULL) {
+ if ((asn1 = ssl_asn1_table_get(mc->tPublicCert, cp)) != NULL) {
ssl_log(s, SSL_LOG_TRACE,
"Init: (%s) Configuring DSA server certificate", cpVHostID);
ucp = asn1->cpData;
* configuration structures).
*/
cp = apr_psprintf(mc->pPool, "%s:%s", cpVHostID, an);
- asn1 = (ssl_asn1_t *)ssl_ds_table_push(mc->tPublicCert, cp);
- asn1->nData = i2d_X509(pX509Cert, NULL);
- asn1->cpData = apr_palloc(mc->pPool, asn1->nData);
- ucp = asn1->cpData; i2d_X509(pX509Cert, &ucp); /* 2nd arg increments */
+ length = i2d_X509(pX509Cert, NULL);
+ ucp = ssl_asn1_table_set(mc->tPublicCert, cp, length);
+ (void)i2d_X509(pX509Cert, &ucp); /* 2nd arg increments */
/*
* Free the X509 structure