aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/credentials/credential_manager.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2008-09-02 11:00:13 +0000
committerMartin Willi <martin@strongswan.org>2008-09-02 11:00:13 +0000
commitf7c17aa15c13b10f7b624ae8da5ea3d921b77535 (patch)
treee8db73c667aa1c9f0d827ed590aeb6393d6037e3 /src/charon/credentials/credential_manager.c
parent4da0116d78b726ef4125577bed8e9974883fc7fd (diff)
downloadstrongswan-f7c17aa15c13b10f7b624ae8da5ea3d921b77535.tar.bz2
strongswan-f7c17aa15c13b10f7b624ae8da5ea3d921b77535.tar.xz
refactored credential builder
allow enumeration of matching builders try a second builder if the first one fails builder clones resources internally on demand caller frees added resources on failure and success stricter handling of non-supported build parts
Diffstat (limited to 'src/charon/credentials/credential_manager.c')
-rw-r--r--src/charon/credentials/credential_manager.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/charon/credentials/credential_manager.c b/src/charon/credentials/credential_manager.c
index 48d066e17..74593aa64 100644
--- a/src/charon/credentials/credential_manager.c
+++ b/src/charon/credentials/credential_manager.c
@@ -474,8 +474,8 @@ static certificate_t *fetch_ocsp(private_credential_manager_t *this, char *url,
/* TODO: requestor name, signature */
request = lib->creds->create(lib->creds,
CRED_CERTIFICATE, CERT_X509_OCSP_REQUEST,
- BUILD_CA_CERT, issuer->get_ref(issuer),
- BUILD_CERT, subject->get_ref(subject), BUILD_END);
+ BUILD_CA_CERT, issuer,
+ BUILD_CERT, subject, BUILD_END);
if (!request)
{
DBG1(DBG_CFG, "generating ocsp request failed");
@@ -500,6 +500,7 @@ static certificate_t *fetch_ocsp(private_credential_manager_t *this, char *url,
response = lib->creds->create(lib->creds,
CRED_CERTIFICATE, CERT_X509_OCSP_RESPONSE,
BUILD_BLOB_ASN1_DER, receive, BUILD_END);
+ chunk_free(&receive);
if (!response)
{
DBG1(DBG_CFG, "parsing ocsp response failed");