# HG changeset patch # User William Ehlhardt # Date 1186127020 0 # Node ID 2156321c5482d162634c5df14f7ff48f84df3928 # Parent 4bdf4ce3473bc4e2dc5230b0bf523bb10728e2a3 - x509_nss get_times diff -r 4bdf4ce3473b -r 2156321c5482 libpurple/plugins/ssl/ssl-nss.c --- a/libpurple/plugins/ssl/ssl-nss.c Fri Aug 03 07:37:57 2007 +0000 +++ b/libpurple/plugins/ssl/ssl-nss.c Fri Aug 03 07:43:40 2007 +0000 @@ -537,7 +537,30 @@ static gboolean x509_times (PurpleCertificate *crt, time_t *activation, time_t *expiration) { - return FALSE; + CERTCertificate *crt_dat; + PRTime nss_activ, nss_expir; + + g_return_val_if_fail(crt, FALSE); + g_return_val_if_fail(crt->scheme == &x509_nss, FALSE); + + crt_dat = X509_NSS_DATA(crt); + g_return_val_if_fail(crt_dat, FALSE); + + /* Extract the times into ugly PRTime thingies */ + /* TODO: Maybe this shouldn't throw an error? */ + g_return_val_if_fail( + SECSuccess == CERT_GetCertTimes(crt_dat, + &nss_activ, &nss_expir), + FALSE); + + if (activation) { + *activation = nss_activ; + } + if (expiration) { + *expiration = nss_expir; + } + + return TRUE; } static PurpleCertificateScheme x509_nss = {