History log of /httpd/modules/ssl/ssl_util_stapling.c
Revision Date Author Comments Expand
7e5495010aecd1402cb02c06d89f1281dcd9113e 1641095 22-Nov-2014 trawick

follow up to r1641077: one bug was traded for another in r1641077; track the response length and the cached object length separately to avoid such confusion

72f87451163dbeec3a4802a82235d9f91e07deff 1641077 22-Nov-2014 trawick

mod_ssl: Fix recognition of OCSP stapling responses that are encoded improperly or too large. The one byte "ok" flag stored with the response was accounted for in the wrong condition.

218262d57d1ae59891c34ebe396ae3276f2ffa97 1629519 05-Oct-2014 ylavic

Follow up to r1629372 and r1629485: ensure compatibily with OpenSSL < 1.0 (sk_OPENSSL_STRING_[num|value|pop] macros).

b56be8bdea34532a0d6ad319ed25fe624c4e4f48 1629485 05-Oct-2014 ylavic

Follow up to r1629372: ensure compatibily with OpenSSL < 1.0 (sk_OPENSSL_STRING_value).

393e1bb47b60cf97d521c49cf929740f32b95758 1629372 04-Oct-2014 kbrand

Move OCSP stapling information from a per-certificate store (ex_data attached to an X509 *) to a per-server hash which is allocated from the pconf pool. Fixes PR 54357, PR 56919 and a leak with the certinfo_free cleanup function (missing OCSP_CERTID_free). * modules/ssl/ssl_util_stapling.c: drop certinfo_free, and add ssl_stapling_certid_free (used with apr_pool_cleanup_register). Switch to a stapling_certinfo hash which is keyed by the SHA-1 digest of the certificate's DER encoding, rework ssl_stapling_init_cert to only store info once per certificate (allocated from the pconf to the extent possible) and extend the logging. * modules/ssl/ssl_private.h: adjust prototype for ssl_stapling_init_cert, replace ssl_stapling_ex_init with ssl_stapling_certinfo_hash_init * modules/ssl/ssl_engine_init.c: adjust ssl_stapling_* calls Based on initial work by Alex Bligh <alex alex.org.uk>

4dec123e0778ab882c05c85508a77070db1ca3cd 1588853 21-Apr-2014 kbrand

ssl_stapling_init_cert: do not return success when no responder URI is found stapling_renew_response: abort early (before apr_uri_parse) if ocspuri is empty

bd17c0d7cde28d71d2c62db92a7fa8b3d0772ead 1544774 23-Nov-2013 kbrand

Address a todo listed in https://mail-archives.apache.org/mod_mbox/httpd-dev/200205.mbox/%3CPine.LNX.4.33.0205292300380.27841-100000%40mako.covalent.net%3E "init functions should return status code rather than ssl_die()" For diagnostic purposes, ssl_die() is still there, but instead of abruptly exit(1)ing, it will return APR_EGENERAL to the ssl_init_* callers in ssl_engine_init.c, and these will propagate the status back to ssl_init_Module.

bfdacfb9c9a39eb971c7e3bb7e976566ba3d1405 1454888 10-Mar-2013 jailletc36

Typo

304257c2b0d71c1e4cf3c5c819bb6b60e7c82d51 1348660 10-Jun-2012 sf

Pass the server_rec to ssl_die() and use it to log a message to the main error log, pointing to the appropriate virtual host error log

53e2218c565ed45d3a7c69dd4c4ef6b1aad5f70a 1222917 24-Dec-2011 kbrand

Set OPENSSL_NO_SSL_INTERN when compiling against OpenSSL 1.0.1 or later, so that mod_ssl retains binary compatibility with future versions when internal structures are changed. Use API functions where available, and fall back to direct access for OpenSSL up to 1.0.0, where needed. Remove SSL_make_ciphersuite() from ssl_util_ssl.[ch], as it was never used by any released version of mod_ssl.

59bdac473e4f8e7b7aa2548947722c278289ed26 1210252 04-Dec-2011 sf

Add some more log message tags Remove some log message tags from ap_log_* calls that log lots of different error messages, in particular the config parsing errors. Not sure how we should handle those. ssl_util.c: Downgrade some dynamic locking messages from level DEBUG to TRACE1-3

185aa71728867671e105178b4c66fbc22b65ae26 1209766 03-Dec-2011 sf

Add lots of unique tags to error log messages

/httpd/docs/log-message-tags/next-number /httpd/modules/aaa/mod_access_compat.c /httpd/modules/aaa/mod_allowmethods.c /httpd/modules/aaa/mod_auth_basic.c /httpd/modules/aaa/mod_auth_digest.c /httpd/modules/aaa/mod_auth_form.c /httpd/modules/aaa/mod_authn_anon.c /httpd/modules/aaa/mod_authn_core.c /httpd/modules/aaa/mod_authn_dbd.c /httpd/modules/aaa/mod_authn_dbm.c /httpd/modules/aaa/mod_authn_file.c /httpd/modules/aaa/mod_authn_socache.c /httpd/modules/aaa/mod_authnz_ldap.c /httpd/modules/aaa/mod_authz_core.c /httpd/modules/aaa/mod_authz_dbd.c /httpd/modules/aaa/mod_authz_dbm.c /httpd/modules/aaa/mod_authz_groupfile.c /httpd/modules/aaa/mod_authz_host.c /httpd/modules/aaa/mod_authz_owner.c /httpd/modules/aaa/mod_authz_user.c /httpd/modules/apreq/filter.c /httpd/modules/arch/netware/mod_netware.c /httpd/modules/arch/netware/mod_nw_ssl.c /httpd/modules/arch/unix/mod_privileges.c /httpd/modules/arch/unix/mod_unixd.c /httpd/modules/arch/win32/mod_isapi.c /httpd/modules/arch/win32/mod_win32.c /httpd/modules/cache/cache_storage.c /httpd/modules/cache/cache_util.c /httpd/modules/cache/mod_cache.c /httpd/modules/cache/mod_cache_disk.c /httpd/modules/cache/mod_file_cache.c /httpd/modules/cache/mod_socache_dbm.c /httpd/modules/cache/mod_socache_dc.c /httpd/modules/cache/mod_socache_memcache.c /httpd/modules/cache/mod_socache_shmcb.c /httpd/modules/cluster/mod_heartbeat.c /httpd/modules/cluster/mod_heartmonitor.c /httpd/modules/core/mod_so.c /httpd/modules/core/mod_watchdog.c /httpd/modules/database/mod_dbd.c /httpd/modules/dav/fs/dbm.c /httpd/modules/dav/main/mod_dav.c /httpd/modules/dav/main/util_lock.c /httpd/modules/echo/mod_echo.c /httpd/modules/examples/mod_example_hooks.c /httpd/modules/examples/mod_example_ipc.c /httpd/modules/experimental/mod_noloris.c /httpd/modules/filters/mod_charset_lite.c /httpd/modules/filters/mod_deflate.c /httpd/modules/filters/mod_ext_filter.c /httpd/modules/filters/mod_filter.c /httpd/modules/filters/mod_include.c /httpd/modules/filters/mod_proxy_html.c /httpd/modules/filters/mod_ratelimit.c /httpd/modules/filters/mod_reflector.c /httpd/modules/filters/mod_reqtimeout.c /httpd/modules/filters/mod_request.c /httpd/modules/filters/mod_sed.c /httpd/modules/filters/mod_substitute.c /httpd/modules/filters/mod_xml2enc.c /httpd/modules/generators/mod_asis.c /httpd/modules/generators/mod_autoindex.c /httpd/modules/generators/mod_cgi.c /httpd/modules/generators/mod_cgid.c /httpd/modules/generators/mod_status.c /httpd/modules/generators/mod_suexec.c /httpd/modules/http/byterange_filter.c /httpd/modules/http/http_filters.c /httpd/modules/http/http_protocol.c /httpd/modules/http/http_request.c /httpd/modules/http/mod_mime.c /httpd/modules/ldap/util_ldap.c /httpd/modules/ldap/util_ldap_cache_mgr.c /httpd/modules/loggers/mod_log_config.c /httpd/modules/loggers/mod_log_debug.c /httpd/modules/loggers/mod_log_forensic.c /httpd/modules/lua/lua_config.c /httpd/modules/lua/lua_request.c /httpd/modules/lua/lua_vmprep.c /httpd/modules/lua/mod_lua.c /httpd/modules/mappers/mod_actions.c /httpd/modules/mappers/mod_alias.c /httpd/modules/mappers/mod_imagemap.c /httpd/modules/mappers/mod_negotiation.c /httpd/modules/mappers/mod_rewrite.c /httpd/modules/metadata/mod_cern_meta.c /httpd/modules/metadata/mod_env.c /httpd/modules/metadata/mod_expires.c /httpd/modules/metadata/mod_headers.c /httpd/modules/metadata/mod_ident.c /httpd/modules/metadata/mod_mime_magic.c /httpd/modules/metadata/mod_remoteip.c /httpd/modules/metadata/mod_setenvif.c /httpd/modules/metadata/mod_unique_id.c /httpd/modules/metadata/mod_usertrack.c /httpd/modules/proxy/ajp_header.c /httpd/modules/proxy/ajp_link.c /httpd/modules/proxy/ajp_msg.c /httpd/modules/proxy/ajp_utils.c /httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c /httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c /httpd/modules/proxy/balancers/mod_lbmethod_bytraffic.c /httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c /httpd/modules/proxy/examples/mod_lbmethod_rr.c /httpd/modules/proxy/mod_proxy.c /httpd/modules/proxy/mod_proxy_ajp.c /httpd/modules/proxy/mod_proxy_balancer.c /httpd/modules/proxy/mod_proxy_connect.c /httpd/modules/proxy/mod_proxy_express.c /httpd/modules/proxy/mod_proxy_fcgi.c /httpd/modules/proxy/mod_proxy_fdpass.c /httpd/modules/proxy/mod_proxy_ftp.c /httpd/modules/proxy/mod_proxy_http.c /httpd/modules/proxy/mod_proxy_scgi.c /httpd/modules/proxy/mod_serf.c /httpd/modules/proxy/proxy_util.c /httpd/modules/session/mod_session.c /httpd/modules/session/mod_session_crypto.c /httpd/modules/session/mod_session_dbd.c mod_ssl.c ssl_engine_init.c ssl_engine_io.c ssl_engine_kernel.c ssl_engine_log.c ssl_engine_mutex.c ssl_engine_ocsp.c ssl_engine_pphrase.c ssl_engine_rand.c ssl_engine_vars.c ssl_scache.c ssl_util_ocsp.c ssl_util_stapling.c /httpd/modules/test/mod_dialup.c /httpd/modules/test/mod_optional_fn_export.c /httpd/modules/test/mod_optional_hook_import.c /httpd/os/bs2000/os.c /httpd/os/unix/unixd.c /httpd/server/config.c /httpd/server/core.c /httpd/server/core_filters.c /httpd/server/listen.c /httpd/server/log.c /httpd/server/main.c /httpd/server/mpm/event/event.c /httpd/server/mpm/event/pod.c /httpd/server/mpm/mpmt_os2/mpmt_os2.c /httpd/server/mpm/mpmt_os2/mpmt_os2_child.c /httpd/server/mpm/netware/mpm_netware.c /httpd/server/mpm/prefork/prefork.c /httpd/server/mpm/simple/simple_api.c /httpd/server/mpm/simple/simple_children.c /httpd/server/mpm/simple/simple_core.c /httpd/server/mpm/simple/simple_io.c /httpd/server/mpm/simple/simple_run.c /httpd/server/mpm/winnt/child.c /httpd/server/mpm/winnt/mpm_winnt.c /httpd/server/mpm/winnt/service.c /httpd/server/mpm/worker/pod.c /httpd/server/mpm/worker/worker.c /httpd/server/mpm_common.c /httpd/server/mpm_unix.c /httpd/server/protocol.c /httpd/server/request.c /httpd/server/scoreboard.c /httpd/server/util.c /httpd/server/util_cookies.c /httpd/server/util_ebcdic.c /httpd/server/util_expr_eval.c /httpd/server/util_filter.c /httpd/server/util_mutex.c /httpd/server/util_xml.c /httpd/server/vhost.c
5bfaaf573bacb45c1cf290ce85ecc676587e8a64 1174751 23-Sep-2011 jim

Cleanup effort in prep for GA push: Trim trailing whitespace... no func change

/httpd/modules/aaa/mod_allowmethods.c /httpd/modules/aaa/mod_auth_digest.c /httpd/modules/aaa/mod_authn_socache.c /httpd/modules/aaa/mod_authnz_ldap.c /httpd/modules/aaa/mod_authz_core.c /httpd/modules/aaa/mod_authz_dbd.c /httpd/modules/aaa/mod_authz_dbm.c /httpd/modules/aaa/mod_authz_host.c /httpd/modules/arch/netware/mod_netware.c /httpd/modules/arch/unix/mod_unixd.c /httpd/modules/arch/win32/mod_isapi.c /httpd/modules/cache/mod_socache_dbm.c /httpd/modules/cache/mod_socache_dc.c /httpd/modules/cache/mod_socache_memcache.c /httpd/modules/cache/mod_socache_shmcb.c /httpd/modules/cluster/mod_heartmonitor.c /httpd/modules/core/mod_so.c /httpd/modules/dav/fs/repos.c /httpd/modules/dav/main/mod_dav.c /httpd/modules/dav/main/util.c /httpd/modules/echo/mod_echo.c /httpd/modules/examples/mod_case_filter.c /httpd/modules/examples/mod_example_hooks.c /httpd/modules/examples/mod_example_ipc.c /httpd/modules/experimental/mod_noloris.c /httpd/modules/filters/mod_buffer.c /httpd/modules/filters/mod_charset_lite.c /httpd/modules/filters/mod_data.c /httpd/modules/filters/mod_deflate.c /httpd/modules/filters/mod_filter.c /httpd/modules/filters/mod_include.c /httpd/modules/filters/mod_reqtimeout.c /httpd/modules/filters/mod_sed.c /httpd/modules/filters/mod_substitute.c /httpd/modules/filters/regexp.c /httpd/modules/filters/sed0.c /httpd/modules/filters/sed1.c /httpd/modules/generators/mod_autoindex.c /httpd/modules/generators/mod_cgi.c /httpd/modules/generators/mod_cgid.c /httpd/modules/generators/mod_status.c /httpd/modules/http/byterange_filter.c /httpd/modules/http/http_core.c /httpd/modules/http/http_filters.c /httpd/modules/http/http_protocol.c /httpd/modules/http/http_request.c /httpd/modules/ldap/util_ldap.c /httpd/modules/loggers/mod_log_config.c /httpd/modules/loggers/mod_log_forensic.c /httpd/modules/lua/lua_request.c /httpd/modules/lua/lua_vmprep.c /httpd/modules/lua/mod_lua.c /httpd/modules/mappers/mod_dir.c /httpd/modules/mappers/mod_imagemap.c /httpd/modules/mappers/mod_rewrite.c /httpd/modules/mappers/mod_speling.c /httpd/modules/mappers/mod_userdir.c /httpd/modules/metadata/mod_remoteip.c /httpd/modules/proxy/balancers/mod_lbmethod_bybusyness.c /httpd/modules/proxy/balancers/mod_lbmethod_byrequests.c /httpd/modules/proxy/balancers/mod_lbmethod_heartbeat.c /httpd/modules/proxy/examples/mod_lbmethod_rr.c /httpd/modules/proxy/mod_proxy.c /httpd/modules/proxy/mod_proxy_ajp.c /httpd/modules/proxy/mod_proxy_balancer.c /httpd/modules/proxy/mod_proxy_connect.c /httpd/modules/proxy/mod_proxy_express.c /httpd/modules/proxy/mod_proxy_fcgi.c /httpd/modules/proxy/mod_proxy_fdpass.c /httpd/modules/proxy/mod_proxy_ftp.c /httpd/modules/proxy/mod_proxy_http.c /httpd/modules/proxy/mod_proxy_scgi.c /httpd/modules/proxy/mod_serf.c /httpd/modules/slotmem/mod_slotmem_plain.c ssl_engine_config.c ssl_engine_init.c ssl_engine_io.c ssl_engine_kernel.c ssl_engine_log.c ssl_engine_ocsp.c ssl_engine_pphrase.c ssl_engine_vars.c ssl_scache.c ssl_util.c ssl_util_ocsp.c ssl_util_ssl.c ssl_util_stapling.c /httpd/modules/test/mod_dialup.c /httpd/server/config.c /httpd/server/log.c /httpd/server/main.c /httpd/server/mpm/event/event.c /httpd/server/mpm/event/fdqueue.c /httpd/server/mpm/prefork/prefork.c /httpd/server/mpm/simple/simple_children.c /httpd/server/mpm/simple/simple_core.c /httpd/server/mpm/simple/simple_io.c /httpd/server/mpm/simple/simple_run.c /httpd/server/mpm/winnt/child.c /httpd/server/mpm/winnt/mpm_winnt.c /httpd/server/mpm/winnt/nt_eventlog.c /httpd/server/mpm/winnt/service.c /httpd/server/mpm/worker/worker.c /httpd/server/mpm_unix.c /httpd/server/protocol.c /httpd/server/request.c /httpd/server/util.c /httpd/server/util_expr_eval.c /httpd/server/util_expr_parse.c /httpd/server/util_expr_scan.c /httpd/server/util_mutex.c /httpd/server/util_pcre.c /httpd/server/util_script.c /httpd/server/vhost.c /httpd/support/ab.c /httpd/support/htcacheclean.c /httpd/support/htpasswd.c /httpd/support/rotatelogs.c /httpd/support/win32/ApacheMonitor.c
15b2474c5419fdf5e8fec600427fa49586b252db 1040366 30-Nov-2010 drh

Use correct type, need OPENSSL_STRING for >= 1.0 which doesn't exist on 0.9.8 so #define sk_OPENSSL_STRING_pop to sk_pop on 0.9.8

0fed7b8a4332dc9f9c366c92006bce133c211d6d 1026903 24-Oct-2010 sf

Consistently use loglevel emerg before ssl_die()

de0aae7af654a602e812b4134e7a0192428843fc 1023821 18-Oct-2010 drh

Make sure OCSP Stapling Mutex is initiliased if we need it. PR 49498

024e70e05386a6367eb45d0d1cc406764520ff4c 940981 04-May-2010 wrowe

Catch up with ap_[proc|global]_mutex_create api change

4db7896587f9b989da093d77a58500ec15b524d0 907918 09-Feb-2010 wrowe

Catch up ssl to socache store expiry change, and clarify what the code is doing

2792780a6fb0951dc304b940ba9274ed1e37fe26 907472 07-Feb-2010 wrowe

Style guides at httpd are pretty clear, macro values are UPCASE, please?

6f70afe280a27766fc1d7bbd14fba1802a1c178b 903026 26-Jan-2010 wrowe

Fix default OSCP stapling port. Submitted by: Dr Stephen Henson <steve openssl.org>

11f2c481e1d57bedb3f758565307501e9a2730dd 883540 24-Nov-2009 trawick

Replace AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex, and WatchdogMutexPath with a single Mutex directive. Add APIs to simplify setup and user customization of APR proc and global mutexes. (See util_mutex.h.) Build-time setting DEFAULT_LOCKFILE is no longer respected; set DEFAULT_REL_RUNTIMEDIR instead. Some existing modules, such as mod_ldap and mod_auth_digest gain configurability for their mutexes.

/httpd/CHANGES /httpd/build/mkconfNW.awk /httpd/docs/conf/extra/httpd-mpm.conf.in /httpd/docs/conf/extra/httpd-ssl.conf.in /httpd/docs/conf/httpd.conf.in /httpd/include/ap_mmn.h /httpd/include/ap_slotmem.h /httpd/include/mpm_common.h /httpd/include/util_ldap.h /httpd/include/util_mutex.h /httpd/modules/aaa/mod_auth_digest.c /httpd/modules/core/mod_watchdog.c /httpd/modules/core/mod_watchdog.h /httpd/modules/examples/mod_example_ipc.c /httpd/modules/generators/mod_info.c /httpd/modules/ldap/util_ldap.c /httpd/modules/mappers/mod_rewrite.c mod_ssl.c ssl_engine_config.c ssl_engine_mutex.c ssl_private.h ssl_util_stapling.c /httpd/server/core.c /httpd/server/main.c /httpd/server/mpm/prefork/mpm_default.h /httpd/server/mpm/prefork/prefork.c /httpd/server/mpm/worker/mpm_default.h /httpd/server/mpm/worker/worker.c /httpd/server/mpm_common.c /httpd/server/util_mutex.c /httpd/test/make_sni.sh
20d834fe812738c7b3a222587cc0f771e3847ff9 832496 03-Nov-2009 sctemme

We now check for OCSP support in configure, so we can lose an OpenSSL version number check. Use a type safe STACK.

326833114990fa38a0ff2c3fb2e4d6ff63d406d0 830551 28-Oct-2009 jorton

* modules/ssl/ssl_util_stapling.c (stapling_cache_response): Use apr_time_now() rather than time(). Reported by: rpluem.

5f0bf410ba4033cd575d49b670aede54cad37d19 830546 28-Oct-2009 jorton

* modules/ssl/ssl_util_stapling.c (stapling_cb): Use mySrvFromConn(), thanks to rpluem.

285b2352ec35ab70f2cefea79e27c18c4cb9fd6e 830544 28-Oct-2009 jorton

* module/ssl/ssl_util_stapling.c: Style fixes, no functional change.

83ff9077cee74401f52c9c99b7615c326d71e8dc 830175 27-Oct-2009 fuankg

fixed indents.

c78978be8ced89fd5576adc583e9f651aba5e0ac 830045 27-Oct-2009 fuankg

converted tabs, removed trailing spaces.

89b8bbc89404e7071e573c4f0a17f528996e855d 829619 25-Oct-2009 jorton

Add support for OCSP "stapling": * modules/ssl/ssl_util_stapling.c: New file. * modules/ssl/config.m4, modules/ssl/mod_ssl.dsp: Build it. * modules/ssl/ssl_toolkit_compat.h: Define HAVE_OCSP_STAPLING if OpenSSL is of suitable version (>= 0.9.8g) and capability (TLS extension support enabled). * modules/ssl/mod_ssl.c: Add config directives. * modules/ssl/ssl_private.h: Add prototypes for new functions. (SSLModConfigRec): Add fields for stapling socache instance and associated mutex. (modssl_ctx_t): Add config fields for stapling. * modules/ssl/ssl_engine_init.c (ssl_init_Module, ssl_init_Child): Call the stapling initialization functions. * modules/ssl/ssl_engine_config.c: Add config hooks. * modules/ssl/ssl_scache.c: Create, initialize and destroy the socache instance for OCSP responses. Submitted by: Dr Stephen Henson <shenson oss-institute.org>