1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00

709 Commits

Author SHA1 Message Date
William A. Rowe Jr
2a33727b39 While eliminating all but TLSv1 (the only FIPS-complient handshaking
mechansim), I noticed that we have several other single-case methods
  similar to the SSLv2 exception; use the explicit method in preference
  to the generic SSLv23_client|server_method() calls if exactly one
  method is supported.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fips-dev@264620 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 19:57:26 +00:00
Ben Laurie
0db2718513 Add --enable-fips, FIPSify everything.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fips-dev@190120 13f79535-47bb-0310-9956-ffa450edef68
2005-06-11 14:14:56 +00:00
Ben Laurie
e0f5748acd First cut, working FIPS mode.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fips-dev@189992 13f79535-47bb-0310-9956-ffa450edef68
2005-06-10 17:25:17 +00:00
Joe Orton
968bb860f9 * modules/ssl/ssl_engine_kernel.c (ssl_callback_SSLVerify_CRL): Fix
off-by-one.

PR: 35081
Submitted by: Marc Stern <mstern csc.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@179781 13f79535-47bb-0310-9956-ffa450edef68
2005-06-03 12:54:53 +00:00
William A. Rowe Jr
20d06d7a06 Reintroduce stack frame construction with /Oy- (removal was implied by /O2).
This makes binaries far easier to debug, during operation and for post-crash
  .dmp analysis.  Do not alter /Gs optimizations per brane.

Reviewed by: stoddard, brane

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170253 13f79535-47bb-0310-9956-ffa450edef68
2005-05-15 19:11:57 +00:00
Joe Orton
645809dbba Fix issue where mod_ssl does not pick up the ssl-unclean-shutdown
setting when configured e.g. as a reverse proxy:

* modules/ssl/ssl_private.h: Remove ssl_hook_Translate.

* modules/ssl/ssl_engine_kernel.c (ssl_hook_ReadReq): Merge in
ssl_hook_Translate.  (ssl_hook_Translate): Remove.

* modules/ssl/mod_ssl.c (ssl_register_hooks): Ensure that _ReadReq
hook runs after mod_setenvif.c; don't register translate_name hook.

PR: 34452


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@161958 13f79535-47bb-0310-9956-ffa450edef68
2005-04-19 20:02:09 +00:00
Bradley Nicholes
e0128fb67f Build mod_ssl for the NetWare platform
Submitted by: Guenter Knauf <fuankg@apache.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@161813 13f79535-47bb-0310-9956-ffa450edef68
2005-04-18 23:18:10 +00:00
William A. Rowe Jr
cdea6cc2b9 Second fat-fingered typo in 24 hrs. Balance parens, this now compiles.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@157947 13f79535-47bb-0310-9956-ffa450edef68
2005-03-17 17:30:20 +00:00
William A. Rowe Jr
f9587e4e59 Clean up emit for size truncation. Division here ensures we fit nicely.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@157946 13f79535-47bb-0310-9956-ffa450edef68
2005-03-17 17:06:12 +00:00
Joe Orton
a10288a95d * modules/ssl/mod_ssl.h: Add ssl_ext_lookup optional hook declaration.
* modules/ssl/ssl_engine_vars.c (ssl_ext_lookup): New function.
(ssl_var_register): Register optional function.

* modules/ssl/ssl_private.h (ssl_ext_lookup): Add prototype.

Submitted by: David Reid, Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153933 13f79535-47bb-0310-9956-ffa450edef68
2005-02-15 12:39:45 +00:00
Joe Orton
a0570c8746 Move the POSIX reg* implementations into the ap_* namespace;
internalise the ap_reg*<->PCRE wrapper:

* configure.in: Add srclib/pcre to the include path.

* include/ap_regex.h: Renamed from include/pcreposix.h.  Prefix all
constants with AP_; prefix all functions and types with ap_.  Define
AP_DECLARE to nothing if necessary.  Remove regcomp error codes.

* include/httpd.h: Include ap_regex.h not pcreposix.h.
(ap_pregcomp, ap_regexec, ap_regfree): s/regex_t/ap_regex_t/.
(ap_regexec, ap_regerror): Prototypes moved to ap_regex.h.

* server/util.c (regex_cleanup, ap_pregcomp, ap_pregsub, ap_pregfree):
Adjust for ap_ prefixed types.  (ap_regexec, ap_regerror): Removed.

* server/Makefile.in: Build util_pcre.c.

* server/util_pcre.c: Copied from srclib/pcre/pcreposix.c; remove use
of PCRE-internals to do error mapping; rename types to add AP_/ap_
prefixes as above.  Use APR includes.  (ap_regerror): Use apr_snprintf.

* srclib/pcre/Makefile.in: Don't build pcreposix.c into libpcre.la.

* modules/*: Update to use new type and constant names.

PR: 27750 (part one)
Submitted by: Andres Salomon <dilinger voxel.net>, Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153384 13f79535-47bb-0310-9956-ffa450edef68
2005-02-11 12:00:41 +00:00
Joe Orton
c2f37c7a4d * modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): Move the
SSLUsername-controlled assignment of r->user above the SSLRequire
checks so that the "username" gets logged if SSLRequire denies access.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153280 13f79535-47bb-0310-9956-ffa450edef68
2005-02-10 18:28:43 +00:00
Jeff Trawick
9ff46dd755 Remove formatting characters from ap_log_error() calls. These
were escaped as fallout from CAN-2003-0020.

Submitted by: Eric Covener <ecovener gmail.com>
Reviewed by: Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153105 13f79535-47bb-0310-9956-ffa450edef68
2005-02-09 19:01:43 +00:00
David Reid
98d1aa261a Change where we set r->user if we're setting it from a
client certificate.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151493 13f79535-47bb-0310-9956-ffa450edef68
2005-02-05 14:20:26 +00:00
Justin Erenkrantz
905cdf9f0b Update copyright year to 2005 and standardize on current copyright owner line.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151408 13f79535-47bb-0310-9956-ffa450edef68
2005-02-04 20:28:49 +00:00
Joe Orton
b1391e12be * modules/ssl/ssl_engine_io.c (bio_filter_out_flush): Fail if the
connection was reset.

PR: 32699


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@125166 13f79535-47bb-0310-9956-ffa450edef68
2005-01-14 14:16:58 +00:00
Joe Orton
3f6c23e40a * modules/ssl/mod_ssl.c: Declare new config directives
SSLCADNRequestFile and SSLCADNRequestPath.

* modules/ssl/ssl_private.h (modssl_pk_server_t): Add ca_name_path,
ca_name_file fields.

* modules/ssl/ssl_engine_init.c (ssl_init_ctx_verify): If either of
SSLCADNRequestFile or SSLCADNRequestPath are configured, load the CA
DN list sent in the CertificateRequest from those certificates.

* modules/ssl/ssl_engine_config.c (modssl_ctx_init_server): Use
pcalloc to zero-initialize the entire modssl_pk_server_t structure.
(ssl_config_server_new): Merge the ca_name_* fields.
(ssl_cmd_SSLCADNRequestPath, ssl_cmd_SSLCADNRequestFile): New
functions.

PR: 32848
Submitted by: Tim Taylor <tim.taylor dfas.mil>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@125165 13f79535-47bb-0310-9956-ffa450edef68
2005-01-14 13:54:31 +00:00
William A. Rowe Jr
43f087adb5 It's perferable to use a debug build of ssleay32/libeay32, but offer
a fallback if they are built as release libraries for creating
  mod_ssl in debug mode.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@124284 13f79535-47bb-0310-9956-ffa450edef68
2005-01-05 22:23:54 +00:00
William A. Rowe Jr
d962fcfc8b FINALLY Correct ap_http_method()! It is NOT a method, it's a SCHEME!
Bumped mmn, and ap module cookie, for this function rename.

  It's not a deprecation, as ap_http_method would be a lovely function
  name sometime in the future: to determine what the function name implies.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@123882 13f79535-47bb-0310-9956-ffa450edef68
2005-01-02 05:33:44 +00:00
Joe Orton
c1f1265c2b * modules/ssl/ssl_engine_io.c (bio_filter_out_flush): Revert the
passed-brigade-reuse "fix" which is currently unnecessary.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111962 13f79535-47bb-0310-9956-ffa450edef68
2004-12-15 11:17:22 +00:00
Joe Orton
d0127de8e8 * modules/ssl/ssl_engine_io.c (ssl_io_filter_cleanup): Fix segfaults
from using ap_log_cerror from a c->pool cleanup; the debug message
triggers too often anyway so just remove it.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111959 13f79535-47bb-0310-9956-ffa450edef68
2004-12-15 10:08:09 +00:00
Joe Orton
1e5e7dd8a1 * modules/ssl/ssl_engine_kernel.c (ssl_callback_SSLVerify): Use
X509_STORE_CTX_get_ex_data() and SSL_get_ex_data_X509_STORE_CTX_idx()
to use the correct ex_data index from the context in pathological
cases where SSL_get_ex_data_X509_STORE_CTX_idx() does not return 0.

PR: 32529


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111241 13f79535-47bb-0310-9956-ffa450edef68
2004-12-08 09:43:21 +00:00
Joe Orton
16bfea9b63 * modules/ssl/ssl_engine_io.c (ssl_io_filter_Upgrade): Simplify the
Upgrade header check; allow upgrades on any method; don't drop the
ap_pass_brigade return value.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111159 13f79535-47bb-0310-9956-ffa450edef68
2004-12-07 22:49:54 +00:00
Joe Orton
db21c0932f * modules/ssl/ssl_engine_io.c (ssl_io_filter_Upgrade): Remove the
unnecessary check of the Connection request header.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@109499 13f79535-47bb-0310-9956-ffa450edef68
2004-12-02 13:34:48 +00:00
Paul Querna
ab67a07bb0 Use a case insensitive compare when looking for 'Upgrade'.
The first client I tested was sending 'upgrade'.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@109447 13f79535-47bb-0310-9956-ffa450edef68
2004-12-02 04:25:52 +00:00
Joe Orton
85ec21a781 * modules/ssl/ssl_engine_mutex.c (ssl_mutex_on, ssl_mutex_off):
Improve error messages.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@106573 13f79535-47bb-0310-9956-ffa450edef68
2004-11-25 13:02:31 +00:00
Joe Orton
c36ecfa64f Remove the .cvsignore files.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105796 13f79535-47bb-0310-9956-ffa450edef68
2004-11-19 09:07:29 +00:00
Joe Orton
0369bbbc93 Fix handling of non-blocking reads in mod_ssl (triggered by recent
change to mod_proxy_http):

* modules/ssl/ssl_engine_io.c (bio_filter_in_read): Return an error if
the read would block so that the SSL_read() caller checks for
SSL_ERROR_WANT_READ, rather than 0, which is treated like EOF.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105768 13f79535-47bb-0310-9956-ffa450edef68
2004-11-14 17:20:01 +00:00
Joe Orton
6e5cdad445 Add -t -DDUMP_CERTS option to mod_ssl which dumps the filenames of all
configured SSL certificates to stdout, useful for cron-ing through a
"do I need to renew any of my certificates this week" tool:

* modules/ssl/ssl_engine_config.c (ssl_hook_ConfigTest): New function.

* modules/ssl/mod_ssl.c (ssl_register_hooks): ...register it as a
test_config hook.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105741 13f79535-47bb-0310-9956-ffa450edef68
2004-11-10 15:21:44 +00:00
Joe Orton
4ada6c2966 * modules/ssl/config.m4: Use libtool's -export-symbols-regex flag to
hide all global symbols defined by mod_ssl other than the module
structure (where possible).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105740 13f79535-47bb-0310-9956-ffa450edef68
2004-11-10 15:11:23 +00:00
Joe Orton
413c2f1a13 * modules/ssl/ssl_engine_io.c, modules/ssl/ssl_engine_kernel.c,
modules/mod_ssl.c: Switch to using ap_log_cerror() in place of
ap_log_error() everywhere that the conn_rec * is available.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105739 13f79535-47bb-0310-9956-ffa450edef68
2004-11-10 13:35:28 +00:00
Joe Orton
da1be9e3b4 Remove bogus comment: for SSLPassPhraseDialog exec:..., argv is
defined and documented and can't be changed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105683 13f79535-47bb-0310-9956-ffa450edef68
2004-11-04 18:54:25 +00:00
Joe Orton
0f1b308f1b * modules/ssl/ssl_engine_kernel.c (ssl_hook_UserCheck): Fix possible
NULL pointer dereference in some configurations.

PR: 31848


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105663 13f79535-47bb-0310-9956-ffa450edef68
2004-11-01 22:53:36 +00:00
Bradley Nicholes
7d84a7d3f3 Add a check for SSL_ENABLED_OPTIONAL to the http_method and default_port hook so that they return the correct values for an upgradeable connection.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105426 13f79535-47bb-0310-9956-ffa450edef68
2004-10-13 15:26:45 +00:00
Joe Orton
1b3a4c2013 * os/unix/os.h: Define AP_NEED_SET_MUTEX_PERMS.
* modules/mappers/mod_rewrite.c, modules/ssl/ssl_engine_mutex.c: Use
AP_NEED_SET_MUTEX_PERMS to determine whether unixd_set_*_mutex_perms
calls are necessary.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105411 13f79535-47bb-0310-9956-ffa450edef68
2004-10-12 11:55:30 +00:00
Joe Orton
0e5aa595c2 Fix CAN-2004-0885:
* modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): Ensure that a
correct cipher suite has been negotiated, else deny access.

* modules/ssl/ssl_engine_init.c (ssl_init_ctx_protocol): With OpenSSL
0.9.7, prevent session resumption during a renegotiation to force the
client to negotiate a new (and acceptable) cipher suite.

Submitted by: Hartmut Keil <Hartmut.Keil adnovum.ch>, Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105396 13f79535-47bb-0310-9956-ffa450edef68
2004-10-08 11:59:33 +00:00
Jean-Frederic Clere
1a3ce1a62c Use the right length.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105354 13f79535-47bb-0310-9956-ffa450edef68
2004-09-30 15:59:17 +00:00
Joe Orton
4d1d856e9d * modules/ssl/ssl_engine_io.c (ssl_io_filter_connect): Return
502 not 501 if SSL_connect() fails for a proxy connection.

PR: 31083


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105252 13f79535-47bb-0310-9956-ffa450edef68
2004-09-22 16:34:20 +00:00
Joe Orton
c343d09de4 * modules/ssl/ssl_scache_shmcb.c (ssl_scahe_shmcb_init): If anonymous
shm is not supported, always remove the named segment first to cope
with unclean shutdowns.

PR: 21335 (continued)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105249 13f79535-47bb-0310-9956-ffa450edef68
2004-09-22 15:32:09 +00:00
Joe Orton
837beb6730 * modules/ssl/ssl_engine_vars.c: Map "UID" suffix to the same OID
(2.5.4.45) for old and new versions of OpenSSL.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105244 13f79535-47bb-0310-9956-ffa450edef68
2004-09-22 11:34:53 +00:00
Joe Orton
5afedd0422 * modules/ssl/ssl_engine_vars.c (ssl_var_lookup_ssl_cert_remain): New
function.  (ssl_var_lookup_ssl_cert): Support _V_REMAIN suffix for
SSL_{SERVER,CLIENT} as number of days until certificate expires.

* modules/ssl_engine_kernel.c: Export SSL_CLIENT_V_REMAIN if
+StdEnvVars is configured.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104700 13f79535-47bb-0310-9956-ffa450edef68
2004-08-18 11:05:22 +00:00
Joe Orton
63b4ad0dcb * modules/ssl/ssl_engine_io.c (ssl_io_input_read): Fix rollback
handling for AP_MODE_SPECULATIVE.

PR: 30134


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104687 13f79535-47bb-0310-9956-ffa450edef68
2004-08-17 16:31:23 +00:00
Joe Orton
d2e2c4e584 * modules/ssl/ssl_engine_kernel.c (ssl_callback_SSLVerify_CRL),
* server/log.c (ap_log_pid),
* server/mpm/prefork/prefork.c (accept_mutex_on, accept_mutex_off),
* support/htdbm.c (htdbm_list):
Fix some non-literal format strings (warnings from gcc -Wformat-security).

PR: 30585
Submitted by: Ulf Harnhammar (SITIC), Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104548 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 14:25:30 +00:00
Joe Orton
371ef0b07e * modules/ssl/ssl_engine_io.c (ssl_io_input_read): Fix potential
infinite loop in ssl_io_input_getline if connection is aborted without
inctx->rc being set.

PR: 29964


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104547 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 13:19:24 +00:00
Bradley Nicholes
8994a47b7a Tokenize the header while parsing it for the upgrade tokens and once the protocol has been upgraded, allow the request to complete encrypted.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104273 13f79535-47bb-0310-9956-ffa450edef68
2004-07-13 18:11:22 +00:00
Martin Kraemer
97e2af662c Use the correct Apache-2.x EBCDIC conversion function (not the old apache-1.3 routine)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104082 13f79535-47bb-0310-9956-ffa450edef68
2004-06-29 14:06:08 +00:00
Joe Orton
56230926c0 * modules/ssl/ssl_engine_io.c (bio_filter_out_flush): Create a new
brigade for sending output after passing on the current one.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103967 13f79535-47bb-0310-9956-ffa450edef68
2004-06-15 21:00:22 +00:00
Joe Orton
c5e7b2778e Add "SSLUserName" directive to set r->user based on a chosen SSL
environment variable name.

* modules/ssl/ssl_private.h (struct SSLDirConfigRec): Add
szUserName field.

* modules/ssl/ssl_engine_config.c (ssl_config_perdir_create,
ssl_config_perdir_merge): Initialize and merge szUserName field.
(ssl_cmd_SSLUserName): New function.

* modules/ssl/ssl_engine_kernel.c (ssl_hook_Fixup): Set r->user to
 the value of the chosen SSL environment variable.

* modules/ssl/mod_ssl.c: Add SSLUserName config directive.

PR: 20957
Submitted by: Martin v. Loewis <martin v.loewis.de>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103834 13f79535-47bb-0310-9956-ffa450edef68
2004-06-03 15:00:15 +00:00
Joe Orton
e9ef262085 Add "SSLHonorCipherOrder" directive to enable the OpenSSL 0.9.7 flag
which uses the server's cipher preference order rather than the
client's.

* modules/ssl/ssl_private.h (struct SSLSrvConfigRec): Add
cipher_server_pref field.

* modules/ssl/ssl_engine_config.c (ssl_config_server_create,
ssl_config_server_merge): Initialize and merge cipher_server_pref
field.
(ssl_cmd_SSLHonorCipherOrder): New function.

* modules/ssl/ssl_engine_init.c (ssl_init_ctx_protocol): Set the
context option SSL_OP_CIPHER_SERVER_PREFERENCE when required.

PR: 28665
Submitted by: Jim Shneider <jschneid netilla.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103832 13f79535-47bb-0310-9956-ffa450edef68
2004-06-03 13:03:08 +00:00
Joe Orton
4ea42b6e3b Drop support for the "CompatEnvVars" argument to SSLOptions, which was
never implemented in 2.0 and never needed to be.

* docs/ssl/ssl-std.conf.in: Remove CompatEnvVars examples.

* modules/ssl/ssl_engine_config.c (ssl_cmd_SSLOptions): Don't allow
the CompatEnvVars argument.

* modules/ssl/ssl_private.h: Remove SSL_OPT_COMPATENVVARS macro.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103829 13f79535-47bb-0310-9956-ffa450edef68
2004-06-03 09:28:12 +00:00