                      _             _ 
  _ __ ___   ___   __| |    ___ ___| |
 | '_ ` _ \ / _ \ / _` |   / __/ __| | 
 | | | | | | (_) | (_| |   \__ \__ \ | ``mod_ssl combines the flexibility of
 |_| |_| |_|\___/ \__,_|___|___/___/_|   Apache with the security of SSLeay.''
                      |_____|                                           
                                       ``Ralf Engelschall has released an
 mod_ssl - Apache Interface to SSLeay    excellent module that integrates
 http://www.engelschall.com/sw/mod_ssl/  Apache and SSLeay.''                 
 Version 2.1.0-1.3.3                         Tim J. Hudson, SSLeay co-author
                                           
 This Apache module provides strong cryptography for the Apache 1.3 webserver
 via the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
 v1) protocols by the help of the SSL/TLS implementation library SSLeay from
 Eric A. Young and Tim J. Hudson. The mod_ssl package was created in April
 1998 by Ralf S. Engelschall and was originally derived from software
 developed by Ben Laurie for use in the Apache-SSL HTTP server project. 

 Here is a short overview of the source files:

   Makefile.libdir ......... dummy for Apache config mechanism
   Makefile.tmpl ........... Makefile template for Unix  platform
   Makefile.win32 .......... Makefile template for Win32 platform
   libssl.module ........... stub called from the Apache config mechanism
   libssl.version .......... file containing the mod_ssl version information
   mod_ssl.c ............... main source file containing API structures
   mod_ssl.h ............... common header file of mod_ssl
   ssl_engine_compat.c ..... backward compatibility support
   ssl_engine_config.c ..... module configuration handling
   ssl_engine_ds.c ......... data structures
   ssl_engine_init.c ....... module initialization
   ssl_engine_kernel.c ..... SSL engine kernel
   ssl_engine_io.c ......... I/O support
   ssl_engine_log.c ........ logfile support
   ssl_engine_mutex.c ...... mutual exclusion support
   ssl_engine_pphrase.c .... pass-phrase handling
   ssl_engine_scache.c ..... session cache support
   ssl_engine_ext.c ........ Extensions to other Apache parts
   ssl_expr.c .............. expression handling main source
   ssl_expr.h .............. expression handling common header
   ssl_expr_scan.c ......... expression scanner automaton (pre-generated)
   ssl_expr_scan.l ......... expression scanner source
   ssl_expr_parse.c ........ expression parser automaton  (pre-generated)
   ssl_expr_parse.h ........ expression parser header     (pre-generated)
   ssl_expr_parse.y ........ expression parser source
   ssl_expr_eval.c ......... expression machine evaluation
   ssl_util.c .............. utility functions
   ssl_util_sdbm.c ......... the SDBM library source
   ssl_util_sdbm.h ......... the SDBM library header

 The source files are written in clean ANSI C and pass the ``gcc -O -g -ggdb3
 -Wall -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes
 -Wmissing-declarations -Wnested-externs -Winline'' compiler test without any
 complains. When you make changes or additions make sure the source still
 passes this compiler test.
  
 Inside the source code you will be confronted with the following types of
 functions which can be identified by their prefixes:

   ap_xxxx() ............... Apache API function
   ssl_xxxx() .............. mod_ssl function
   SSL_xxxx() .............. SSLeay function (SSL library)
   SSLeay_xxxx() ........... SSLeay function (SSL library)
   X509_xxxx() ............. SSLeay function (Crypto library)
   PEM_xxxx() .............. SSLeay function (Crypto library)
   EVP_xxxx() .............. SSLeay function (Crypto library)
   RSA_xxxx() .............. SSLeay function (Crypto library)

 Inside the source code you will be confronted with the following
 data structures:

   ap_ctx .................. Apache EAPI Context
   server_rec .............. Apache (Virtual) Server
   conn_rec ................ Apache Connection
   BUFF .................... Apache Connection Buffer
   request_rec ............. Apache Request
   SSLModConfig ............ mod_ssl (Global)  Module Configuration
   SSLSrvConfig ............ mod_ssl (Virtual) Server Configuration
   SSLDirConfig ............ mod_ssl Directory Configuration
   SSL_CTX ................. SSLeay Context
   SSL_METHOD .............. SSLeay Protocol Method
   SSL_CIPHER .............. SSLeay Cipher
   SSL_SESSION ............. SSLeay Session
   SSL ..................... SSLeay Connection
   BIO ..................... SSLeay Connection Buffer

 For an overview how these are related and chained together have a look at the
 page in README.dsov.{fig,ps}. It contains overview diagrams for those data
 structures. It's designed for DIN A4 paper size, but you can easily generate
 a smaller version inside XFig by specifing a magnification on the Export
 panel.

