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

746 Commits

Author SHA1 Message Date
Joe Orton
16e5cdde49 * modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): Omit further
access control checks if SSL is not in use regardless of vhost
settings.

Submitted by: Rüdiger Plüm, Joe Orton
PR: 37791


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@354394 13f79535-47bb-0310-9956-ffa450edef68
2005-12-06 10:21:41 +00:00
Roy T. Fielding
b699a107b7 minor doc changes already on 2.2 branch
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@350202 13f79535-47bb-0310-9956-ffa450edef68
2005-12-01 07:51:52 +00:00
Martin Kraemer
1d42526e3e Fix SSL Protocol hexdumps for EBCDIC systems
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@349906 13f79535-47bb-0310-9956-ffa450edef68
2005-11-30 08:01:35 +00:00
Joe Orton
c124e62bc5 * modules/ssl/ssl_scache_dc.c (ssl_scache_dc_retrieve): Fix warning
with OpenSSL 0.9.8a.

* support/ab.c (ssl_print_cb, ssl_print_cert_info): Fix warnings with
OpenSSL 0.9.8a.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@349415 13f79535-47bb-0310-9956-ffa450edef68
2005-11-28 16:16:21 +00:00
Jim Jagielski
08c97ba290 No functional change: remove "internal" tab spacing/formatting.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@345053 13f79535-47bb-0310-9956-ffa450edef68
2005-11-16 16:31:25 +00:00
Jim Jagielski
5061d9fa92 No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332306 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:11:44 +00:00
Jim Jagielski
5d2fae4818 No functional change: simple detabbing of indented code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332305 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:05:51 +00:00
Joe Orton
e663e4057f * modules/ssl/ssl_engine_init.c (ssl_init_CheckServers): Fix IP/port
key generation which passed a bogus pointer for a %pA conversion,
hence could give false warnings for name-based-vhost use.

PR: 37051


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@320796 13f79535-47bb-0310-9956-ffa450edef68
2005-10-13 16:35:55 +00:00
Joe Orton
23a3c20db2 Implement a (bounded) buffer of request body data to provide a limited
but safe fix for the mod_ssl renegotiation-vs-requests-with-bodies
bug:

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

* modules/ssl/ssl_engine_io.c (ssl_io_buffer_fill,
ssl_io_filter_buffer): New functions.

* modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): If a
renegotiation is needed, and the request has a non-zero
content-length, or a t-e header (and 100-continue was not requested),
call ssl_io_buffer_fill to set aside the request body data if
possible, then proceed with the negotiation.

PR: 12355


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@290965 13f79535-47bb-0310-9956-ffa450edef68
2005-09-22 15:38:14 +00:00
Martin Kraemer
e81d81c374 Fix Bug#: 25659 (Memory leak in ssl_util_algotypeof())
Reported by David Blake in 2003, including patch.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@290459 13f79535-47bb-0310-9956-ffa450edef68
2005-09-20 14:42:31 +00:00
Martin Kraemer
16032e8b01 As discussed previously: OID() -> PeerExtList()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@290414 13f79535-47bb-0310-9956-ffa450edef68
2005-09-20 10:27:41 +00:00
Joe Orton
1ac93b6bd6 * modules/ssl/ssl_engine_vars.c (ssl_var_lookup_ssl_cert_dn): Fix gcc
4.x different-pointer-signedness warning.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@290136 13f79535-47bb-0310-9956-ffa450edef68
2005-09-19 12:26:36 +00:00
David Reid
42b3715533 - remove ssl_ext_lookup and replace it with ssl_ext_list
- change ssl_expr_eval_oid to use ssl_ext_list

This change provides for a singfle function that provides an array of all
values from a certificate that match a given extension and removes the
duplictaed code that was present.

Reviewed by: Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@289444 13f79535-47bb-0310-9956-ffa450edef68
2005-09-16 09:03:49 +00:00
David Reid
d01f2df246 Record the fact that we failed to set the username as requested.
This is useful to know as the most likely cause will be a misconfiguration
and so should be easily fixed, but to be fixed it's helpful if you're
aware it needs fixed!



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@279893 13f79535-47bb-0310-9956-ffa450edef68
2005-09-09 22:10:25 +00:00
Joe Orton
407dc73f43 * modules/ssl/ssl_util_ssl.c (SSL_X509_STORE_create): Catch errors
returned by X509_LOOKUP_add_dir or X509_LOOKUP_load_file to detect
malformed or misconfigured CRLs.  Clear error stack beforehand to
ensure reported errors are relevant.

PR: 36438


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265702 13f79535-47bb-0310-9956-ffa450edef68
2005-09-01 11:58:58 +00:00
Joe Orton
a1e9d51be3 Fix CVE CAN-2005-2700:
* modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): Ensure that
renegotiation is performed for a transition from "SSLVerifyClient
optional" to "SSLVerifyClient require".

The boolean "verify_old & SSL_VERIFY_PEER_STRICT" is true if the old
context merely has optional verification configured, since the
definition of SSL_VERIFY_PEER_STRICT is
(SSL_VERIFY_FAIL_IF_NO_PEER_CERT | SSL_VERIFY_PEER).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264800 13f79535-47bb-0310-9956-ffa450edef68
2005-08-30 15:57:38 +00:00
William A. Rowe Jr
010f409bdc Noticed in the development of fips-enabled mod_ssl, when we are
configured to support exactly one protocol, use that explicit server
  and client mechansim to handshake with the client or proxied machine,
  rather than the generic SSLv23_[client|server]_method().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264621 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 19:59:46 +00:00
Ian Holsman
8c1e315d3f Doxygen fixup / cleanup
submited by: Neale Ranns neale ranns.org
reviewed by: Ian Holsman



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@263931 13f79535-47bb-0310-9956-ffa450edef68
2005-08-28 23:03:59 +00:00
Colm MacCarthaigh
56101b205e A very minor, but particularly annoying whitespace fix. It took me 15 minutes
to try and parse what was going on :-)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240089 13f79535-47bb-0310-9956-ffa450edef68
2005-08-25 15:30:31 +00:00
Martin Kraemer
9582f97569 For generated files, strip off an absolute path
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@226993 13f79535-47bb-0310-9956-ffa450edef68
2005-08-02 13:17:20 +00:00
Martin Kraemer
056b92b70f Commit (forgotten) generated files for changed in ssl_expr_parse.y and ssl_expr_scan.l
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@226990 13f79535-47bb-0310-9956-ffa450edef68
2005-08-02 12:48:36 +00:00
Joe Orton
8fab5eceba * modules/ssl/mod_ssl.c (ssl_hook_pre_config): Initialize all
algorithms in OpenSSL; enables PKCS#8 keyfile support.

PR: 35469


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@226777 13f79535-47bb-0310-9956-ffa450edef68
2005-08-01 12:11:30 +00:00
Joe Orton
7303aa9b0b * modules/ssl/ssl_expr_eval.c (ssl_expr_eval_oid): Remove unused
variable.

* modules/ssl/ssl_private.h, modules/ssl/mod_ssl.h
(ssl_extlist_by_oid): Move prototype to ssl_private.h.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@224722 13f79535-47bb-0310-9956-ffa450edef68
2005-07-25 12:51:28 +00:00
Martin Kraemer
4c8c573275 Allow extraction of the values of SSL certificate extensions into
environment variables, so that their value can be used by any
module that is aware of environment variables, as in:

  SetEnvIf OID("2.16.840.1.113730.1.13") "(.*) Generated (Certificate)" ca=$1
sets
  ca=TinyCA
if the cert was issued by TinyCA.

Similarly,
  SetenvIf OID("2.16.840.1.113730.1.13") "(.*)" NetscapeComment=$1
will set $NetscapeComment to the whole string.

It is technically allowed to have multiple instances of an extension
field, all with the same oid. In this case, the environment variable
will be set to the list of all fields, separated by commas.

The [PATCH] uses a cross-module call from mod_setenvif to
mod_ssl (the latter may also be missing: in this case the
variable will never be set). It calls a common function
in the ssl module that is also used for the SSLRequire
directive's test.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@220307 13f79535-47bb-0310-9956-ffa450edef68
2005-07-22 12:11:55 +00:00
Martin Kraemer
b5a3f87755 Collaborative work: (Thanks, dreid!)
Implement OID checking for mod_ssl. This code allows for checking of arbitrary client
certificate extensions by OID, in a syntax like:
   SSLRequire "BaDCA Generated Certificate" in Oid("2.16.840.1.113730.1.13") \
          || "committers"                   in Oid("1.3.6.1.4.1.18060.1")
Note the following:
* A given OID can occur multiple times in one cert, with different values. Therefore
  the OID function compares the left-hand string against each of the OID values,
  until a complete match is found. If none patches, the result is FALSE
* The left hand side can be another expression, so can be a reference to a variable
  or an file() invocation etc.
* The OID is also just a reference to a string, or function, or whatever.
* My manual description is very short. Someone else please help improve the description



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219940 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 16:42:58 +00:00
Jim Jagielski
f4572909ff Good suggestion from a private Email. name changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209827 13f79535-47bb-0310-9956-ffa450edef68
2005-07-08 15:58:46 +00:00
William A. Rowe Jr
4e5c16b00e No UCHAR, per Joe
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209823 13f79535-47bb-0310-9956-ffa450edef68
2005-07-08 15:52:02 +00:00
Jim Jagielski
073384b262 Fix case where buggy OpenSSL internal cache continually grows.
So don't bother to store it, but still force OpenSSL
to provide a Session ID.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209821 13f79535-47bb-0310-9956-ffa450edef68
2005-07-08 15:41:14 +00:00
William A. Rowe Jr
6b8a49561d Joe strongly objected to this outgoing style; use this incoming
style for const modifiers so the reader can still follow that
  the data is [const] unsigned char *

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209795 13f79535-47bb-0310-9956-ffa450edef68
2005-07-08 14:38:50 +00:00
William A. Rowe Jr
3e2a9469ce The macro is simply not worth it; each of these various occurances
differ as openssl has modified pointer constness from bump to bump.

  This needs testing on Netware, it builds clean on 0.9.6m, 0.9.7d,
  0.9.7g, and 0.9.8-final on Win32.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209675 13f79535-47bb-0310-9956-ffa450edef68
2005-07-07 23:47:05 +00:00
William A. Rowe Jr
622042c161 Wrap this type in a macro since it seems to be bouncing from
0.9.7g to 0.9.7h in const'ness.

PR: 34520

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209530 13f79535-47bb-0310-9956-ffa450edef68
2005-07-06 22:25:37 +00:00
William A. Rowe Jr
340df9ce2f Add SSL_COMPRESS_METHOD variable (included in +StdEnvVars) to note
the negotiated compression.

Reviewed by: wrowe, Maxime Petazzoni
Submitted by: Georg v. Zezschwitz <gvz 2scale.de>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209469 13f79535-47bb-0310-9956-ffa450edef68
2005-07-06 15:16:28 +00:00
William A. Rowe Jr
a54a614aa1 Dev Studio automatically adds the intermediate and final directory
paths to each custom build target.  However, the time stamps of these
  directories will trigger a rebuild in bison where sources haven't
  changed.  These targets are not necessary, as these generated files
  reside in the current directory (which, obviously, already exists.)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209466 13f79535-47bb-0310-9956-ffa450edef68
2005-07-06 15:02:33 +00:00
William A. Rowe Jr
3068237b35 Accomodate API changes to OpenSSL 0.9.8 (now in beta).
Submitted by: Georg v. Zezschwitz <gvz@2scale.de>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209465 13f79535-47bb-0310-9956-ffa450edef68
2005-07-06 14:33:10 +00:00
Paul Querna
363ddf3d10 - If the Protocol has not been set, do not crash. Long term, we need to ensure that the protocol is set in all cases, and in all MPMs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@201576 13f79535-47bb-0310-9956-ffa450edef68
2005-06-24 07:33:02 +00:00
Bradley Nicholes
6977e764fe Don't try to rebuild the shipping files.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@191578 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 22:19:39 +00:00
Joe Orton
9687f8c6a7 Update remaining 2004 copyright notices.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190592 13f79535-47bb-0310-9956-ffa450edef68
2005-06-14 13:54:34 +00:00
Paul Querna
6a23d6ebeb Merge the listen-protocol sandbox branch to trunk.
I will be adding documentation for the new directives hopefully in the next day or so.

* server/core.c: Added 'Protocol' to the core module config
                 Added ap_{set,get}_server_protocol API.
                 Added new directive: 'AcceptFilter'.
                 Enable 'httpready' by default on systems that support it.  Use dataready filters for others.

* server/listen.c: Attempt to inherit protocols from Listener Records to Server configs.
                   The 'Listen' directive can now optionally take a protocol arg
                   Move bits that determined which accept filter is applied to core.c.
                   Added bits to find the correct accept filter based on the core's configuration.

* include/{ap_listen.h,http_core.h}: Add Protocol to respective structures.

* include/http_core.h: Add the accf_map table to the core_server_config structure

* include/ap_mmn.h: Minor MMN Bump for the new interfacces.

* modules/ssl/ssl_engine_init.c: Use the new protocol framework to enable mod_ssl for 'https' websites.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190563 13f79535-47bb-0310-9956-ffa450edef68
2005-06-14 09:21:18 +00:00
Joe Orton
d2ed0fd309 * modules/ssl/ssl_engine_io.c (ssl_io_filter_init): Initialize the
nobuffer flag to zero since the structure is palloc'ed not pcalloc'ed.

PR: 35279


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@189971 13f79535-47bb-0310-9956-ffa450edef68
2005-06-10 15:13:59 +00:00
Joe Orton
e6ddb57ed0 * modules/ssl/ssl_engine_dh.c: Adjust the embedded perl code such that
it generates the current C code again (after some refactoring a while
ago); and regenerate the file.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@189570 13f79535-47bb-0310-9956-ffa450edef68
2005-06-08 10:40:01 +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