summaryrefslogtreecommitdiff
path: root/src/ne_session.c
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2006-02-28 22:27:11 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2006-02-28 22:27:11 +0000
commitb8181d90bded31ea9dbdcae5b1c55ad187f220f6 (patch)
treee58556867e60f5c4aa38ea7d2aad2952d12c37a8 /src/ne_session.c
parent30f4dc92be52557850dff1de6f59386e75a652cc (diff)
downloadneon-b8181d90bded31ea9dbdcae5b1c55ad187f220f6.tar.gz
Formalize the date formatting by ne_ssl_cert_validity and add
ne_ssl_cert_validity_time, which is better for i18n: * src/ne_ssl.h (ne_ssl_cert_validity): Adopt a fixed format for returned date. (ne_ssl_cert_validity_time): New prototype. * src/ne_openssl.c (asn1time_to_timet, ne_ssl_cert_validity_time): New functions. * src/ne_gnutls.c (ne_ssl_cert_validity_time): New function. * src/ne_session.c (ne_ssl_cert_validity): New function. * src/ne_stubssl.c (ne_ssl_cert_validity_time): New stub. * test/ssl.c (cert_validity): Adjust for new date formatting. * macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Check for timezone global. git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@968 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'src/ne_session.c')
-rw-r--r--src/ne_session.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/ne_session.c b/src/ne_session.c
index 6232dcf..4b75a89 100644
--- a/src/ne_session.c
+++ b/src/ne_session.c
@@ -38,6 +38,7 @@
#include "ne_utils.h"
#include "ne_internal.h"
#include "ne_string.h"
+#include "ne_dates.h"
#include "ne_private.h"
@@ -286,6 +287,28 @@ void ne_ssl_trust_cert(ne_session *sess, const ne_ssl_certificate *cert)
#endif
}
+void ne_ssl_cert_validity(const ne_ssl_certificate *cert, char *from, char *until)
+{
+#ifdef NE_HAVE_SSL
+ time_t tf, tu;
+ char *date;
+
+ ne_ssl_cert_validity_time(cert, &tf, &tu);
+
+ if (from) {
+ date = ne_rfc1123_date(tf);
+ ne_strnzcpy(from, date, NE_SSL_VDATELEN);
+ ne_free(date);
+ }
+
+ if (until) {
+ date = ne_rfc1123_date(tu);
+ ne_strnzcpy(until, date, NE_SSL_VDATELEN);
+ ne_free(date);
+ }
+#endif
+}
+
#ifdef NE_HAVE_SSL
void ne__ssl_set_verify_err(ne_session *sess, int failures)
{