Commit 77b5a643 authored by Doug MacEachern's avatar Doug MacEachern
Browse files

add modssl_session_get_time() function to give mod_ssl what it needs

from SSL_SESSION_get_time() if using OpenSSL or sslc.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@94195 13f79535-47bb-0310-9956-ffa450edef68
parent 26fcfc75
Loading
Loading
Loading
Loading
+3 −0
Changes for mod_ssl.h: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -774,5 +774,8 @@ char *ssl_util_algotypestr(ssl_algo_t);
char        *ssl_util_ptxtsub(apr_pool_t *, const char *, const char *, char *);
void         ssl_util_thread_setup(server_rec *, apr_pool_t *);

/* util functions for OpenSSL+sslc compat */
int modssl_session_get_time(SSL_SESSION *session);

#define APR_SHM_MAXSIZE (64 * 1024 * 1024)
#endif /* __MOD_SSL_H__ */
+1 −1
Changes for ssl_engine_kernel.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -1601,7 +1601,7 @@ int ssl_callback_NewSessionCacheEntry(SSL *ssl, SSL_SESSION *session)
    id = SSL_SESSION_get_session_id(session);
    idlen = SSL_SESSION_get_session_id_length(session);

    timeout += SSL_get_time(session);
    timeout += modssl_session_get_time(session);

    rc = ssl_scache_store(s, id, idlen, timeout, session);

+12 −0
Changes for ssl_util_ssl.c: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -550,3 +550,15 @@ char *SSL_SESSION_id2sz(unsigned char *id, int idlen,
    return str;
}

/* sslc+OpenSSL compat */

int modssl_session_get_time(SSL_SESSION *session)
{
#ifdef OPENSSL_VERSION_NUMBER
    return SSL_SESSION_get_time(session);
#else /* assume sslc */
    CRYPTO_TIME_T ct;
    SSL_SESSION_get_time(session, &ct);
    return CRYPTO_time_to_int(&ct);
#endif
}