diff options
author | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2006-02-28 22:27:11 +0000 |
---|---|---|
committer | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2006-02-28 22:27:11 +0000 |
commit | b8181d90bded31ea9dbdcae5b1c55ad187f220f6 (patch) | |
tree | e58556867e60f5c4aa38ea7d2aad2952d12c37a8 /src/ne_session.c | |
parent | 30f4dc92be52557850dff1de6f59386e75a652cc (diff) | |
download | neon-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.c | 23 |
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) { |