Commit Graph

45 Commits

Author SHA1 Message Date
7bd59fd67a 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1154687 13f79535-47bb-0310-9956-ffa450edef68
2011-08-07 10:34:31 +00:00
cf0e2c3a46 Fix some Windows build issues
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1039204 13f79535-47bb-0310-9956-ffa450edef68
2010-11-25 22:27:17 +00:00
b2cb650f61 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>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@829619 13f79535-47bb-0310-9956-ffa450edef68
2009-10-25 17:21:10 +00:00
f776770dc3 Catch up with cache changes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@664238 13f79535-47bb-0310-9956-ffa450edef68
2008-06-07 01:48:05 +00:00
100735f0df Sander pointed out to me that as we added ENGINE logic support
for 0.9.8, we never touched win32.  Resolve this for all of the
common win32 HAVE SSL related macros building against 0.9.8.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@607383 13f79535-47bb-0310-9956-ffa450edef68
2007-12-29 06:09:15 +00:00
33c045efb2 mod_ssl: Add support for OCSP validation of client certificates:
* modules/ssl/ssl_engine_config.c (modssl_ctx_init,
  modssl_ctx_cfg_merge): Initialize and merge OCSP config options.
  (ssl_cmd_SSLOCSPOverrideResponder, ssl_cmd_SSLOCSPDefaultResponder,
  ssl_cmd_SSLOCSPEnable): Add functions.

* modules/ssl/mod_ssl.c (ssl_config_cmds): Add config options.

* modules/ssl/ssl_private.h: Add prototypes, config options to
  modssl_ctx_t.

* modules/ssl/ssl_util_ocsp.c: New file, utility interface for
  dispatching OCSP requests.

* modules/ssl/ssl_engine_ocsp.c: New file, interface for performing
  OCSP validation.

* modules/ssl/ssl_engine_kernel.c (ssl_callback_SSLVerify): Perform
  OCSP validation if configured, and the cert is so-far verified to be
  trusted.  Fail if OCSP validation is configured an the optional-no-ca 
  check tripped.

* modules/ssl/config.m4: Check for OCSP support, build new files.

* modules/ssl/mod_ssl.dsp: Build new files.

* modules/ssl/ssl_toolkit_compat.h: Include headers for OCSP
  interfaces.

PR: 41123
Submitted by: Marc Stern <marc.stern approach.be>, Joe Orton
Reviewed by: Steve Henson <steve openssl.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@599385 13f79535-47bb-0310-9956-ffa450edef68
2007-11-29 11:18:40 +00:00
1fc3b01590 Embed the .manifest files of all httpd binaries as a post-build
operation.  This ensures the exported (Studio 97 generated) .mak
files create a usable Apache directly from the VC 8 (Studio 2005)
command line environment.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@495126 13f79535-47bb-0310-9956-ffa450edef68
2007-01-11 05:37:20 +00:00
6df9b82d20 Revert Revision 397647
While it solves the studio 2005 (we desire this), it breaks
the studio 6 packaging (we require this).  Discussion on list
of practical solutions.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@419644 13f79535-47bb-0310-9956-ffa450edef68
2006-07-06 18:36:23 +00:00
b2820e8da8 This resource /D syntax was pretty horridly imported into VS 2005,
change the quotation to ensure a peaceful transition to sln/vcproj files.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397647 13f79535-47bb-0310-9956-ffa450edef68
2006-04-27 21:41:29 +00:00
f65c47bd75 Remove all /machine:I386 references, these are getting in the way
of switching linkers from the x86 (default linker) to x64 or other
  possible target platforms.  (Also, this commit cleans up lingering
  /GX switches from the 'BASE' options that are supposed to be unused).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397407 13f79535-47bb-0310-9956-ffa450edef68
2006-04-27 05:30:39 +00:00
a9a6c8df74 Move flex/bison/sed steps into a "mod_ssl - Win32 Lexical" grammer
build, outside of the normal "mod_ssl - Win32 Debug|Release" builds.

  Continues on the path of eliminating external dependencies, we
  strongly expect users to never modify the grammers during normal
  builds.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@396670 13f79535-47bb-0310-9956-ffa450edef68
2006-04-24 19:48:30 +00:00
663687ae8e s|/GX |/EHsc | because they were always synonyms, and Visual Studio
2005 edition complains bitterly and loudly that /GX is deprecated.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395419 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 22:51:02 +00:00
862d0e231e Remove a host of dependencies upon awk, using the same template for
nearly every .rc compilation (giving the output .res file a different
  name for each component).  Adds AP_SERVER_BASEPROJECT to ap_revision.h
  so we can display the proper name of "Apache HTTP Server" as opposed
  to AP_SERVER_BASEPRODUCT (which is, and should remain, simply "Apache"
  for the server string tokens.)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395418 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 22:47:49 +00:00
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
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
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
ce9d647ae5 Pick up mod_status.h
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102938 13f79535-47bb-0310-9956-ffa450edef68
2004-03-11 20:19:24 +00:00
3ca3524c31 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102803 13f79535-47bb-0310-9956-ffa450edef68
2004-02-28 18:06:35 +00:00
3c52d23027 Add support to mod_ssl for a distributed session cache using
distcache.

* LAYOUT: Update for removal of scache_shmht and addition of scache_dc.

* modules/ssl/config.m4: Check for libdistcache; build ssl_scache_dc.lo.

* modules/ssl/mod_ssl.dsp: Build ssl_scache_dc (with luck).

* modules/ssl/mod_ssl.h: Add SSL_SCMODE_DC and scache_dc_* prototypes.

* modules/ssl/ssl_engine_config.c (ssl_cmd_SSLSessionCache): Allow
use of dc: argument.

* modules/ssl/ssl_scache_dc.c: New file.

* modules/ssl/ssl_scache.c (ssl_scache_init, ssl_scache_kill,
ssl_scache_store, ssl_scache_retrieve, ssl_scache_remove,
ssl_ext_status_hook): Hook into scache_dc.

Submitted by: Geoff Thorpe <geoff@geoffthorpe.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102227 13f79535-47bb-0310-9956-ffa450edef68
2004-01-08 16:26:53 +00:00
970faa2d6a get mod_ssl.dsp to load again
(we *x weenies have to be careful :) )


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102062 13f79535-47bb-0310-9956-ffa450edef68
2003-12-15 11:35:34 +00:00
9ddbb80f51 Remove shmht session cache in favour of shmcb; shmht has had
data corruption bugs since being apr_rmm'ified.

* config.m4, mod_ssl.dsp: Don't build ssl_util_table and
ssl_scache_shmht.

* ssl_util_table.h, ssl_util_table.c, ssl_scache_shmht.c: Removed
files.

* mod_ssl.h (SSLModConfigRec): Use a void * pointer for storing
the scache-specific data.

* ssl_engine_config.c (ssl_cmd_SSLSessionCache): Treat shmht: as
shmcb:.

* ssl_scache.c: Remove shmht hooks throughout.

* ssl_scache_shmcb.c: Remove casts to use the table_t * pointer as a
void *.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101888 13f79535-47bb-0310-9956-ffa450edef68
2003-11-25 15:46:37 +00:00
bea15a2e01 Simplify includes - we always (in HTTPD 2.1 forward) are looking
for the openssl/foo.h headers explicitly.  Fix the abs.dsp build
  to define HAVE_OPENSSL instead of USE_SSL so the correct headers
  are included upfront.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101195 13f79535-47bb-0310-9956-ffa450edef68
2003-09-08 16:03:49 +00:00
26b6442ad9 Noop MS DevStudio IDE change to include ssl_toolkit_compat.h
in the list of project headers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99261 13f79535-47bb-0310-9956-ffa450edef68
2003-04-05 22:27:41 +00:00
67e8f650ee We presume to HAVE_OPENSSL - we were falling into the SSLC path :-(
Win32 is non-autoconf


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99182 13f79535-47bb-0310-9956-ffa450edef68
2003-04-03 04:41:01 +00:00
2fe15470d7 HAVE_SSL_SET_STATE=1 is a product of autoconf for OpenSSL, which we
are missing on Win32.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99180 13f79535-47bb-0310-9956-ffa450edef68
2003-04-03 04:08:06 +00:00
3dc90e431c Fix mod_ssl.dsp and abs.dsp to use also the openssl-0.9.7-defines for
NO_MD5, NO_IDEA and NO_MDC2 (won't compile otherwise with 0.9.7+ and
restricted crypto algorithms)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99107 13f79535-47bb-0310-9956-ffa450edef68
2003-03-29 04:39:08 +00:00
281948b722 After discussions at length on dev@apr/httpd, it is determined that
the older .dbg format symbols are not worth the interference with
  generating complete .pdb symbolic debugging databases.

  This patch further eliminates pdbtype:sept flags that interfere with
  deciphering local symbols and type information.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98970 13f79535-47bb-0310-9956-ffa450edef68
2003-03-11 00:58:59 +00:00
25ac108fe2 After consultations on the APR list, it was decided that /map files are
fairly redundant when you retain rich .pdb debugging symbol files.  We
  have rarely used them, and generally .dbg and .pdb files prove much more
  useful for the cases we have.

  While eliminating /map files, we are also shrinking the size of the .dbg
  files by stripping 'private' symbol information.  Really this means less
  rich diagnostics from Dr. Watson on NT or Win9x when they query the .dbg
  symbols in creating a DrWatson log file.  But it's more than compensated
  for on newer OS'es where Dr. Watson will query the .pdb symbols, on all
  Win32 flavors when WinDbg is used with the .pdb symbols, and the fact that
  the distribution of binary symbols will use less bandwidth when less
  information is duplicated from the .pdb format into the .dbg files.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98743 13f79535-47bb-0310-9956-ffa450edef68
2003-02-20 15:56:04 +00:00
e8c0a9532f foo.dbgmark turned out to be the same 8.3 name as foo.dbg itself, which
was badness.  Twist this puppy to .dbr, the only name I could invent that
  doesn't look like any database file extension I recall.

  It stands for .dbg rebased.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98712 13f79535-47bb-0310-9956-ffa450edef68
2003-02-18 22:07:21 +00:00
a45632ba37 *) Introduce debugging symbols for Win32 release builds, both .pdb
and .dbg files (older debuggers and Dr. Watson-type utilities
     on WinNT or Win9x don't support the newer .pdb flavor.)
     [Allen Edwards, William Rowe]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98596 13f79535-47bb-0310-9956-ffa450edef68
2003-02-07 21:30:53 +00:00
b67d127829 Catch up with the changes to apr/build/win32ver.awk and name all loadable
httpd modules as .so, internally.  Credit to Mladen Turk for identifing
  the issue.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98380 13f79535-47bb-0310-9956-ffa450edef68
2003-01-20 19:52:30 +00:00
bd13d51f35 remove ssl_engine_ext.c
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94302 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 07:37:28 +00:00
ab91c2a588 remove ssl_engine_ds.c
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93892 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 04:16:11 +00:00
b6b88b967e What happened? 0.9.6b built just dandy without the flags... 0.9.6c won't
build for jack without these changes.  Of course they don't harm 0.9.6b
  builders either, unless they are outside of the states/EU/AU and find
  themselves free to ignore IP considerations.

  I'd really like to know _why_ 0.9.6c doesn't configure itself rationally.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93381 13f79535-47bb-0310-9956-ffa450edef68
2002-02-12 23:19:32 +00:00
aff1454d34 *) Split all Win32 modules [excluding the core components mod_core,
mod_so, mod_win32 and the winnt mpm] into individual loadable
     modules, so the administrator may individually disable the former
     compiled-in modules by simply commenting out their LoadModule
     directives.  [William Rowe]

  *) Saved Win32 module authors and porters many future headaches, by
     duplicating the appropriate .h files such as os.h into the include
     directory, including in the build tree.  [William Rowe]

  Also noticed that version stamp resources weren't generated for proxy
  modules, this too is now fixed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92804 13f79535-47bb-0310-9956-ffa450edef68
2002-01-10 08:47:23 +00:00
f0362ccc07 Toggle the /Zi flag to allow all supportd versions of VC (5, 6, 7) to
build 'out of the box' in debugging mode.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90686 13f79535-47bb-0310-9956-ffa450edef68
2001-08-26 05:21:50 +00:00
9b4590ee81 Changes for rbb's #include/build openssl/inc32 patch.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90458 13f79535-47bb-0310-9956-ffa450edef68
2001-08-21 02:27:38 +00:00
9062307073 The purpose of this patch is to toggle the debugging mode (default) to
Program Database (from Program Database for Modify on the fly debugging).

  The net effect of this patch is to clean up all of the irrelevant entries
  associated with either the debugging or release command line switches, and
  generally straighten the projects as they would be exported from VC6/SP5.

  The outcome of this patch is that VC5 users -should- be able to load and
  build the workspace without any errors (as they used to have no symbols
  database at all, the /ZI option doesn't work, they had to use cvtdsp.pl
  to toggle these to /Zi.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90269 13f79535-47bb-0310-9956-ffa450edef68
2001-08-17 03:45:35 +00:00
b0b0649108 More Versioning
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90208 13f79535-47bb-0310-9956-ffa450edef68
2001-08-16 07:54:43 +00:00
7abef4f5cd Change lib locations for openssl's debugging default targets
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89814 13f79535-47bb-0310-9956-ffa450edef68
2001-07-31 02:56:37 +00:00
c0b8cc5aa8 We want the ssl_expr evaluators, now
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89629 13f79535-47bb-0310-9956-ffa450edef68
2001-07-19 22:23:38 +00:00
e0e8319ca1 Hope I've got these generated bits right. Note bison is more common
for Win32 then lexx.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89628 13f79535-47bb-0310-9956-ffa450edef68
2001-07-19 22:20:58 +00:00
50572ad029 Uhmm... need to NOCRYPT away WinCrypt.h
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89622 13f79535-47bb-0310-9956-ffa450edef68
2001-07-19 21:29:20 +00:00
a9d2877e63 Fix incl/libpath to / slashes for an upcoming patch to cvtdsp.c
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89570 13f79535-47bb-0310-9956-ffa450edef68
2001-07-17 22:13:57 +00:00
eb79e5a0a7 Just something for experimenting, ssl_expr_parse and _scan are excluded
for right now (missing symbols.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89462 13f79535-47bb-0310-9956-ffa450edef68
2001-06-28 01:15:31 +00:00