diff options
Diffstat (limited to 'src/config/tlscerts.c')
-rw-r--r-- | src/config/tlscerts.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/config/tlscerts.c b/src/config/tlscerts.c index ef70b995..8a4ed553 100644 --- a/src/config/tlscerts.c +++ b/src/config/tlscerts.c @@ -130,7 +130,7 @@ tlscerts_list(void) char* signaturealg = g_key_file_get_string(tlscerts, fingerprint, "signaturealg", NULL); TLSCertificate* cert = tlscerts_new(fingerprint, version, serialnumber, subjectname, issuername, notbefore, - notafter, keyalg, signaturealg); + notafter, keyalg, signaturealg, NULL); free(fingerprint); free(serialnumber); @@ -154,7 +154,7 @@ tlscerts_list(void) TLSCertificate* tlscerts_new(const char* const fingerprint, int version, const char* const serialnumber, const char* const subjectname, const char* const issuername, const char* const notbefore, const char* const notafter, - const char* const key_alg, const char* const signature_alg) + const char* const key_alg, const char* const signature_alg, const char* const pem) { TLSCertificate* cert = calloc(1, sizeof(TLSCertificate)); @@ -183,6 +183,9 @@ tlscerts_new(const char* const fingerprint, int version, const char* const seria if (signature_alg) { cert->signature_alg = strdup(signature_alg); } + if (pem) { + cert->pem = strdup(pem); + } gchar** fields = g_strsplit(subjectname, "/", 0); for (int i = 0; i < g_strv_length(fields); i++) { @@ -322,7 +325,7 @@ tlscerts_get_trusted(const char* const fingerprint) char* signaturealg = g_key_file_get_string(tlscerts, fingerprint, "signaturealg", NULL); TLSCertificate* cert = tlscerts_new(fingerprint, version, serialnumber, subjectname, issuername, notbefore, - notafter, keyalg, signaturealg); + notafter, keyalg, signaturealg, NULL); free(serialnumber); free(subjectname); @@ -380,6 +383,8 @@ tlscerts_free(TLSCertificate* cert) free(cert->key_alg); free(cert->signature_alg); + free(cert->pem); + free(cert); } } |