From d4e1fb42e0e1017919ca21b5b59cc84b38f794f7 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Thu, 17 Oct 2002 03:56:13 +0000 Subject: helper, build fingerprint. (camel_certdb_nss_cert_get): Helper for nss 2002-10-15 Not Zed * camel-tcp-stream-ssl.c (cert_fingerprint): helper, build fingerprint. (camel_certdb_nss_cert_get): Helper for nss certs. Lookup cert. As well as fingerprint, the whole raw cert is checked for validity. (camel_certdb_nss_cert_add): Add an nss cert to a certdb, also saves the cert by fingerprint in ~/.camel_certs/. (ssl_bad_cert): Changed to use above functions to simplify logic. (ssl_bad_cert): Also added non-compiled code which mimics what mozilla does, but it doesn't work right :-/ (camel_certdb_nss_cert_set): Save the raw cert associated with a cert. * camel-certdb.c (certdb_cert_free): Free the raw cert data if set. 2002-10-14 Not Zed * camel-file-utils.c (camel_file_util_encode_string): Encode a length of 0 as 1, not 0, to match the decode code. svn path=/trunk/; revision=18385 --- camel/camel-certdb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'camel/camel-certdb.c') diff --git a/camel/camel-certdb.c b/camel/camel-certdb.c index 14020fec16..7f944f8fcd 100644 --- a/camel/camel-certdb.c +++ b/camel/camel-certdb.c @@ -234,7 +234,7 @@ certdb_cert_load (CamelCertDB *certdb, FILE *istream) CamelCert *cert; cert = camel_certdb_cert_new (certdb); - + if (camel_file_util_decode_string (istream, &cert->issuer) == -1) goto error; if (camel_file_util_decode_string (istream, &cert->subject) == -1) @@ -264,7 +264,7 @@ camel_certdb_load (CamelCertDB *certdb) g_return_val_if_fail (CAMEL_IS_CERTDB (certdb), -1); g_return_val_if_fail (certdb->filename, -1); - + in = fopen (certdb->filename, "r"); if (in == NULL) return -1; @@ -526,6 +526,8 @@ certdb_cert_free (CamelCertDB *certdb, CamelCert *cert) g_free (cert->subject); g_free (cert->hostname); g_free (cert->fingerprint); + if (cert->rawcert) + g_byte_array_free(cert->rawcert, TRUE); } void -- cgit v1.2.3