diff options
author | Not Zed <NotZed@Ximian.com> | 2002-10-17 11:56:13 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2002-10-17 11:56:13 +0800 |
commit | d4e1fb42e0e1017919ca21b5b59cc84b38f794f7 (patch) | |
tree | 3ecfea7474d3823841cfb6d2e732f4d3229530d1 /camel/camel-certdb.c | |
parent | 5f38b1e898698b939d76419cd1fa970effb38ecd (diff) | |
download | gsoc2013-evolution-d4e1fb42e0e1017919ca21b5b59cc84b38f794f7.tar.gz gsoc2013-evolution-d4e1fb42e0e1017919ca21b5b59cc84b38f794f7.tar.zst gsoc2013-evolution-d4e1fb42e0e1017919ca21b5b59cc84b38f794f7.zip |
helper, build fingerprint. (camel_certdb_nss_cert_get): Helper for nss
2002-10-15 Not Zed <NotZed@Ximian.com>
* 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 <NotZed@Ximian.com>
* 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
Diffstat (limited to 'camel/camel-certdb.c')
-rw-r--r-- | camel/camel-certdb.c | 6 |
1 files changed, 4 insertions, 2 deletions
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 |