60998c490ad3334eb07ae63b23b479ac564dec94 1553824 |
|
28-Dec-2013 |
kbrand |
Remove the hardcoded algorithm-type dependency for the SSLCertificateFile
and SSLCertificateKeyFile directives, and deprecate SSLCertificateChainFile
Splitting the patch into smaller pieces turned out to be infeasible,
unfortunately, due to the heavily intertwined code in ssl_engine_config.c,
ssl_engine_init.c and ssl_engine_pphrase.c, which all depends on the
modssl_pk_server_t data structure. For better comprehensibility,
a detailed listing of the changes follows:
ssl_private.h
- drop the X509 certs and EVP_PKEY keys arrays from modssl_pk_server_t
- use apr_array_header_t for cert_files and key_files
- drop tPublicCert from SSLModConfigRec
- drop the ssl_algo_t struct and the SSL_ALGO_* and SSL_AIDX_* constants
ssl_engine_config.c
- change to apr_array_header_t for SSLCertificate[Key]File
- drop ssl_cmd_check_aidx_max, i.e. allow an arbitrary number of certs
and keys (in theory; currently OpenSSL does not support more than
one cert/key per algorithm type)
- add deprecation warning for SSLCertificateChainFile
ssl_engine_init.c
- configure server certs/keys in ssl_init_server_certs (no longer via
ssl_pphrase_Handle in ssl_init_Module)
- in ssl_init_server_certs, read in certificates and keys with standard
OpenSSL API functions (SSL_CTX_use_*_file), and only fall back to
ssl_load_encrypted_pkey when encountering an encrypted private key
- drop ssl_server_import_cert, ssl_server_import_key, ssl_init_server_check,
and ssl_init_ctx_cleanup_server
- move the "problematic re-initialization" check to ssl_init_server_ctx
ssl_engine_pphrase.c
- use servername:port:index as the key identifier, instead of the
previously used servername:port:algorithm
- ssl_pphrase_Handle overhaul: remove all cert/public-key handling,
make it only load a single (encrypted) private key, and rename
to ssl_load_encrypted_pkey
- in the passphrase prompt message, show the private key file name
instead of the vhost id and the algorithm name
- do no longer supply the algorithm name as an argument to "exec"-type
passphrase prompting programs
ssl_util.c
- drop ssl_util_algotypeof, ssl_util_algotypestr, ssl_asn1_keystr,
and ssl_asn1_table_keyfmt
ssl_util_ssl.{c,h}
- drop SSL_read_X509
- constify the filename arg for SSL_read_PrivateKey |
5d59b45268c4cd29c489e897e14b31e77f276b05 1544784 |
|
23-Nov-2013 |
kbrand |
Remove SSLPKCS7CertificateFile support:
- was never documented, so very unlikely that it was ever used
- adds complexity without apparent benefit; PKCS#7 files can
be trivially converted to a file for use with SSLCertificateChainFile
(concatenated X509 CERTIFICATE chunks, openssl pkcs7 -print_certs...)
- only supports PKCS7 files with PEM encoding, i.e. relies on a
non-standardized PEM header (cf. RFC 2315 and draft-josefsson-pkix-textual)
- issues pointed out in http://mail-archives.apache.org/mod_mbox/httpd-dev/200607.mbox/%3C20060723093125.GA19423@redhat.com%3E
were never fully addressed (cf. r424707 and r424735)
- has never worked in vhost context due to a cfgMergeString
call missing from modssl_ctx_cfg_merge |
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. |
ac0c8366f49659958162b4bfb3d625a77343eda3 1527294 |
|
29-Sep-2013 |
kbrand |
Increase minimum required OpenSSL version to 0.9.8a (in preparation
for the next mod_ssl commit, which will rely on the get_rfcX_prime_Y
functions added in that release):
- remove obsolete #defines / macros
- in ssl_private.h, regroup definitions based on whether
they depend on TLS extension support or not
- for ECC and SRP support, set HAVE_X and change the rather awkward
#ifndef OPENSSL_NO_X lines accordingly
For the discussion prior to taking this step, see
https://mail-archives.apache.org/mod_mbox/httpd-dev/201309.mbox/%3C524275C7.9060408%40velox.ch%3E |
aafba4d7e3ecc7fcaa87efa8d7fae3e700d2428b 1421305 |
|
13-Dec-2012 |
drh |
Avoid use of deprecated functions for OpenSSL version >= 1.0 |
b03fb85d1fa331f36bdf6c8982be62129913d755 1361792 |
|
15-Jul-2012 |
sf |
Remove some checking for out-of-mem conditions that cannot be hit
because apr_pcalloc/apr_pool_create will call abort() anyway. |
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 |
5400544d62947907986d570435dd16f02ca824e0 1211680 |
|
07-Dec-2011 |
sf |
Various fixes for log message tags:
- Remove tags in ssl_log_ssl_error() and ssl_log_cert_error()
- Instead add tags to various ssl_log_xerror, ssl_log_cxerror
calls (ssl_log_rxerror is unused).
- likewise for modssl_proxy_info_log()
- Fix spelling of APLOG_NOERRNO in coccinelle script
- add support for ssl_log_*error and ap_log_cserror
- add some more tags missing due to APLOG_NOERRNO spelling error
- Remove tags from example modules (we don't want people to blindly copy
those) |
5a493ffe535de283863dcaa6756b00e5324e5f61 1211663 |
|
07-Dec-2011 |
sf |
Remove usage of APLOG_NOERRNO. It has been a no-op since at least 2.0.x |
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 |
ff763af21e893972ed8c0235cd28589811c9d2b2 1180330 |
|
08-Oct-2011 |
sf |
Add another AP_DEBUG_ASSERT to document some assumptions in the code,
for the benefit of code analyzers. |
5bfaaf573bacb45c1cf290ce85ecc676587e8a64 1174751 |
|
23-Sep-2011 |
jim |
Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change |
3a59bb90be3bc6246632384c3d885b875ae507d5 1172686 |
|
19-Sep-2011 |
sf |
Add wrappers for malloc, calloc, realloc that check for out of memory
situations. Use them in most places where malloc, and friends are used.
This results in clean error messages in an out of memory situation instead of
segfaulting or silently malfunctioning. In some places, it just allows to
remove some logging code.
PR 51568, PR 51569, PR 51571. |
070235bcb25af37efebf6405b082413144968289 1154687 |
|
07-Aug-2011 |
kbrand |
Remove the ssl_toolkit_compat layer, which is no longer needed
after support for non-OpenSSL toolkits has been dropped.
Replace macros by their value proper where feasible, and keep
those definitions in ssl_private.h which depend on specific
OpenSSL versions. |
4281cf6a722c99ae21394dc2000bd48efcebdb3a 1154683 |
|
07-Aug-2011 |
kbrand |
Drop support for the RSA BSAFE SSL-C toolkit from configure,
and remove #ifdef'ed code from mod_ssl and ab where applicable.
Consensus for dropping support for SSL/TLS toolkits other
than OpenSSL was reached on dev@httpd in June 2010 (message
with ID <20100602162310.GA11156@redhat.com> and follow-ups). |
0fed7b8a4332dc9f9c366c92006bce133c211d6d 1026903 |
|
24-Oct-2010 |
sf |
Consistently use loglevel emerg before ssl_die() |
9f2628baf370d9cf6197b7ca9358b0fb18bd1ce3 951894 |
|
06-Jun-2010 |
sf |
Fix some modules to make them compile with per-module loglevels. |
baa6746bc66ff1daa1852a3a085906d2dfa96bb6 951194 |
|
04-Jun-2010 |
sf |
Introduce SSLLOG_MARK for use with ssl_log_ssl_error(). This will allow to
redefine APLOG_MARK later. |
eaeb8f026ff3d1ae1449fde6ee75bed63b9f4c92 930063 |
|
01-Apr-2010 |
drh |
Free surrounding PKCS7 structure to avoid a leak. |
ea6ff3396df1d6d43ee0ecfa3e26ada981d8e9a3 834378 |
|
10-Nov-2009 |
sctemme |
enable support for ECC keys and ECDH ciphers. Tested against
OpenSSL 1.0.0b3. [Vipul Gupta vipul.gupta sun.com, Sander Temme] |
8e09f1830f114c016598a3b76fd6d31e1589c012 687819 |
|
21-Aug-2008 |
sctemme |
Move struct definition out of the header file since it is only used in this source file |
1eddce0da057f6fa5c5e9dde32e9dc6596616b12 687550 |
|
21-Aug-2008 |
sctemme |
Implement dynamic mutex callbacks for the benefit of OpenSSL. |
f4311d5c9112156f84d47a1ca2ff6811de838031 424823 |
|
23-Jul-2006 |
rpluem |
* Style police / style nitpicking. No functional changes. |
e0c3fda9f782aee1140d83fbce32672ac299f2a4 424735 |
|
23-Jul-2006 |
ben |
Layout and compiler warning. |
176c2742db03fcb7b7d13e6408dd967d87e542e9 424707 |
|
23-Jul-2006 |
ben |
Add PKCS#7 support. |
842ae4bd224140319ae7feec1872b93dfd491143 420983 |
|
11-Jul-2006 |
fielding |
update license header text |
3d81f57512275ca06a60a9bcbd23c1f8b429fdf2 395228 |
|
19-Apr-2006 |
colm |
Update the copyright year in all .c, .h and .xml files |
e8f95a682820a599fe41b22977010636be5c2717 332306 |
|
10-Nov-2005 |
jim |
No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines |
14099c5540ce39114b5501a71ff96e40f48efc4b 290459 |
|
20-Sep-2005 |
martin |
Fix Bug#: 25659 (Memory leak in ssl_util_algotypeof())
Reported by David Blake in 2003, including patch. |
08cb74ca432a8c24e39f17dedce527e6a47b8001 151408 |
|
04-Feb-2005 |
jerenkrantz |
Update copyright year to 2005 and standardize on current copyright owner line. |
b9d16b347b2230229dbaba492468270acfddcedb 103755 |
|
25-May-2004 |
jorton |
* modules/ssl/ssl_util.c, modules/ssl/ssl_private.h: Remove unused
functions ssl_util_strupper, ssl_util_ptxtstub, and
ssl_util_uuencode*. |
70535d6421eb979ac79d8f49d31cd94d75dd8b2f 102803 |
|
28-Feb-2004 |
jorton |
Move mod_ssl-internal interfaces into ssl_private.h; allow mod_ssl.h
to be included even when mod_ssl is not enabled.
* Makefile.in (install-include): Only install mod_ssl.h.
* modules/ssl/ssl_private.h: New file.
* modules/ssl/mod_ssl.h: Move everything apart from than the optional
hook definitions into ssl_private.h.
* modules/ssl/*.c: Include ssl_private.h not mod_ssl.h
* modules/ssl/config.m4: Always add the mod_ssl directory to the
include path so other modules can find mod_ssl.h.
* modules/proxy/mod_proxy.c: Include mod_ssl.h to pick up the optional
hook definitions rather than copy'n'pasting them. |
78cd48acd325773619d78ac0d7263a99a8922fae 102618 |
|
09-Feb-2004 |
nd |
fix name of The Apache Software Foundation |
460e3d5eb142dab19f47842c85d0a522aab49b68 102573 |
|
08-Feb-2004 |
nd |
fix copyright dates according to the first check in |
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dc 102525 |
|
06-Feb-2004 |
nd |
apply Apache License, Version 2.0 |
26a4456dd6f1a5d7d7fff766551461a578687c4a 102135 |
|
01-Jan-2004 |
nd |
update license to 2004. |
6b441532f6ac4ebd1c4867ab5f8a0165247b178e 101303 |
|
22-Sep-2003 |
wrowe |
SSL-C doesn't declare the char* file arg const, so we shouldn't either. |
462f3213ebe7eb2a3527530497d0428e2298a034 100767 |
|
24-Jul-2003 |
jorton |
Prevent the OpenSSL id_callback from pointing at a mod_ssl
function after mod_ssl is unloaded.
* ssl_util.c (ssl_util_thread_cleanup): Clear the id_callback. |
a1696119fa668c01957eea97a616fcbe95da9492 99253 |
|
05-Apr-2003 |
wrowe |
Have some consistency! Fixes logic I introduced in 1.37. |
b40799adcfd0f0a2a465c2934585986f7bbc9bbc 99183 |
|
03-Apr-2003 |
wrowe |
Introduce a number of SSLC hints to mod_ssl, including the following
type overrides;
MODSSL_CLIENT_CERT_CB_ARG_TYPE
MODSSL_PCHAR_CAST (for a host of non-void/const sslc values)
modssl_read_bio_cb_fn (for several callbacks with same prototypes)
Declare callback functions appropriately.
And protect us from indetermineant toolkits with
#error "Unrecognized SSL Toolkit!" |
33bdcae1f7a1a65e351dda2a766a0cf28b1e695d 98573 |
|
03-Feb-2003 |
nd |
finished that boring job:
update license to 2003.
Happy New Year! ;-)) |
434ad3e8e769a6a7a78c15f3ae2f7ae3adbfbb49 97912 |
|
14-Dec-2002 |
wrowe |
After some productive feedback and no negative feedback, introduce
SSLEngine upgrade so that we can begin and continue to support these
facilities. This makes it simpler to keep this effort (while we have
no known clients that support Connection: upgrade at this time), and
begin refactoring more of SSL into smaller and tighter (and then optional)
components.
Submitted by: Ryan Bloom
Reviewed by: William Rowe, Joe Orton |
b5a0ddd6e5e1cab1e2b61aa233fcad6fcee511f5 97201 |
|
14-Oct-2002 |
rbb |
This stuff shouldn't have been committed. This is the SSL upgrade stuff,
and it was included in a commit that shouldn't have touched these files. |
4d88cba691cf0cc222161dc403067071eca58751 97179 |
|
11-Oct-2002 |
rbb |
Fix a compile of compiler warnings. I don't know how these slipped past.
Also, uncomment a line of code that the last commit should have uncommented.
Randall found this line and the fix, but I forgot to uncomment this line
along with the fix. |
3c65aa88903de7330a07e133dfda779842fadad4 95497 |
|
04-Jun-2002 |
wrowe |
The only remaining question ... are nested or strictly unnested locks
expected by OpenSSL? Right now I've left it as _DEFAULT for the platform
preference. Very simple code really - the server_rec was superfluous. |
98f81eac9530d487f05013cda9df99755bb59689 95016 |
|
09-May-2002 |
trawick |
Fix a mod_ssl build problem on OS/390.
This is admittedly rather ugly code to come up with a unique 4-byte
identifier for the thread. Since our threads are pthreads and a pthread
maps 1:1 to a TCB, the address of the TCB is sufficient. Yes, every
TCB sees a different piece of real storage mapped to the first page,
so the code does make sense. |
93e04e27f5508c78897599cc15abd27ffbbd5424 94264 |
|
28-Mar-2002 |
dougm |
de-hungarian-ize server config member names which are going to stay |
d54a31567fc49f1841d27a14796ae726016c54aa 94212 |
|
27-Mar-2002 |
dougm |
adjust to another const char vs char mismatch between OpenSSL and sslc |
bc8fd1b0b1afdf89b8d28eefa8cd74e26ba97986 93918 |
|
13-Mar-2002 |
fielding |
Update our copyright for this year. |
dd7c683f683624b082d430935b594df7406782c2 93912 |
|
13-Mar-2002 |
dougm |
add ssl_asn1_keystr() util function that returns string representation
(RSA or DSA) of the key index. |
22357f10585a847ebf7b084cbe1db07ba071aeb6 93909 |
|
13-Mar-2002 |
dougm |
add ssl_asn1_table_keyfmt() function for clarity |
a0e0d20b666cfc453ac76506079eb50e03997eef 93891 |
|
13-Mar-2002 |
dougm |
remove obsolete ssl_ds_{table,array} api |
0ccb8cf8cbc291aca5e8da62cde6cc6948e2081e 92829 |
|
11-Jan-2002 |
ben |
Document future binary compatibility problem. |
7f683bb300df767164724ebc664f339ac396b434 92800 |
|
10-Jan-2002 |
dougm |
mod_ssl adjustments to help with using toolkits other than OpenSSL:
Use SSL functions/macros instead of directly dereferencing SSL
structures wherever possible.
Add type-casts for the cases where functions return a generic pointer.
Add $SSL/include to configure search path.
PR:
Obtained from:
Submitted by: Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>
Reviewed by: dougm |
87a1c79b7b37702a254920ca5214fb282a4fb085 92786 |
|
09-Jan-2002 |
dougm |
get SSLPassPhraseDialog exec: working by passing the proper arguments
to apr_proc_create()
PR:
Obtained from:
Submitted by:
Reviewed by: |
e3458263658bd1ef8dc4eb6b6919564a6d4673f6 92234 |
|
29-Nov-2001 |
dougm |
ssl_util_getmodconfig() and ssl_util_getmodconfig_ssl() show up high
in the gprof profile. there's no need for the "global" SSLModConfigRec
to live in the s->process->pool userdata table. we now just point the
SSLSrvConfigRec in each server_rec.module_config to the SSLModConfigRec
so we can access it directly which is much faster.
PR:
Obtained from:
Submitted by:
Reviewed by: |
6a26d195dfba3a91f8352cabd4547afa77675bb1 92061 |
|
20-Nov-2001 |
aaron |
Gets us compiling again on FreeBSD. Adds conditional compilation around
thread mutex routines for when we don't have APR_HAS_THREADS.
Submitted by: Justin Erenkrantz
Reviewed by: Aaron Bannert |
579fd9e90990eee18b5e504eb4c0d2ce18f76208 92059 |
|
20-Nov-2001 |
aaron |
No good reason to have this in <> instead of "". Having it in <> might
interact badly with makefile dependency generators, too. |
e18e68b42830409bf48de0df9eed3fe363664aa7 91979 |
|
16-Nov-2001 |
aaron |
Conversion from old apr_lock_t to new apr_thread_mutex_t
(only converting INTRAPROCESS locks at this time).
I don't see how this used to work, which also means I'm not entirely
sure if it works now. It really didn't look like it was allocating
the correct size before. It compiles and SSL still works in my limited
tests, but I'd appreciate a second opinion. |
421d9002d73db52972bcca8f4497fe5d603b6b8e 91966 |
|
15-Nov-2001 |
aaron |
Style updates before I convert to the new lock type. |
9e530d1e49062250c345bfd45810e145b4f435ed 90622 |
|
24-Aug-2001 |
dougm |
apr_os_thread_current() call needs #if APR_HAS_THREADS protection
PR:
Obtained from:
Submitted by: Justin Erenkrantz <jerenkrantz@ebuilt.com>
Reviewed by: |
dd9940ba9b4d9c09f034b910d1569db4a5111c75 90621 |
|
24-Aug-2001 |
dougm |
fix prototype |
e62985c7a1b46a5036a247f35bddac1308985758 90620 |
|
24-Aug-2001 |
dougm |
implement CRYPTO_set_id_callback
PR:
Obtained from:
Submitted by: Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>
Reviewed by: dougm |
120f46d6a6e6b7420acc4731b4b8ac253db4ce34 90618 |
|
24-Aug-2001 |
dougm |
change APR_LOCKALL to APR_INTRAPROCESS for crypto locks
PR:
Obtained from:
Submitted by: Justin Erenkrantz <jerenkrantz@ebuilt.com>
Reviewed by: |
8464a9c46b967001e38fe3c8afff51a649e9de51 90614 |
|
24-Aug-2001 |
dougm |
only set the crypto locking callback if mpm is threaded
get rid of some warnings introduced by the original patch
PR:
Obtained from:
Submitted by:
Reviewed by: |
d94fd18ee21dc9b8c1f422144a881e941687d41f 90612 |
|
24-Aug-2001 |
dougm |
Implement CRYPTO_set_locking_callback() for mod_ssl
PR:
Obtained from:
Submitted by: Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>
Reviewed by: dougm |
03181bdde77be8e10ed297a02db5d8f98ecb703e 90575 |
|
23-Aug-2001 |
wrowe |
Silly compiler, const char* is for text :) |
c41079a4104442a06991bf7fd0b69b36c3774058 90496 |
|
22-Aug-2001 |
wrowe |
Explicitly fix some types, and opt-out on macro conflicts |
a943533fd4d91d114af622731a405407990c4fb1 89618 |
|
19-Jul-2001 |
rse |
Apply mod_ssl MEGA porting patch. This is a cleaned up version of the
latest patches from Madhusudan which makes mod_ssl 95% working inside
Apache 2.0. There is still a lot of more work (both porting and cleanup)
to do be done. See modules/ssl/README for details.
Submitted by: Madhusudan Mathihalli <madhusudan_mathihalli@hp.com> |
05413593151a238718198cc04ca849b2426be106 89563 |
|
17-Jul-2001 |
rse |
Merge in part of a set of mod_ssl porting changes.
Submitted by: Madhusudan Mathihalli <madhusudan_mathihalli@hp.com> |
184f5da95d14895f7f33c90b8b8f70653afb0d92 89459 |
|
28-Jun-2001 |
wrowe |
What once was ap_ ... |
bb0b94431dc9a1591a0a38a6c48925c6d9213c83 89031 |
|
05-May-2001 |
rse |
Port ssl_util.c stuff to APR. |
e47e54c1246595d3e564cefa81651c93f94c9ba0 89018 |
|
05-May-2001 |
rse |
Axe most WIN32 stuff from Apache 1.3. In Apache 2.0 we either use APR
later for this or we don't do it at all. But we certainly no longer want
to see any platform specific things inside a module. |
f7e37ba535b84bc9d300724bb637012c11b545a5 89010 |
|
05-May-2001 |
rse |
Axe out EAPI-based SSL_VENDOR stuff.
If we want this later again, we have to do it differently anyway. So,
for now we try to strip down mod_ssl as heavy as possible and hence we
kick out this stuff at all. |
02c7b3fa1c2c34a3a9bd236f6cbf2fc5486b8bb0 89006 |
|
05-May-2001 |
rse |
Next step in mod_ssl integration:
Add missing files to build environment. |
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323 88995 |
|
05-May-2001 |
rse |
mod_ssl integration step 2:
transfer copyright of all code to ASF by using Apache Software License v1.1 |
cc003103e52ff9d5fe9bed567ef9438613ab4fbf 88988 |
|
04-May-2001 |
rse |
Initial revision |