ePerl_2_2_15    Friends turn to foes and foes end up frozen

    Removed:
      * ChangeLog* (now maintained as part of the tags; old inlined below)
        (rse)
      * Build user and build time from eperl -V
      * Embedded GNU getopt
        (it's LGPL2+, so overall "Artistic-1.0-Perl OR GPL-2.0-only" was just GPL)
      * Apache::ePerl (it's for Apache 1, gone since lenny)
        (Vladislav Safronov <safronov@cpan.org>)
        (Axel Beckert <abe@deuxchevaux.org>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-11))
        (Found-at: debian/patches/fix-spelling-errors.diff (2.2.14-16))
      * contrib/pkg
      * PORTING.test (superseded by unified configuration)
      * PORTING (it won't run on any of these :))
      * INSTALL.NSAPI ("netscape server" defunct. https://www.vex.net/php/ dead)
      * INSTALL (probably none of these work anymore)
      * NEWS                         (now maintained in the release mails)
      * VERSIONS, CREDITS, ChangeLog (now maintained in the tags;
         old inlined below, but note that
           VERSIONS misses 2.0.3 (19970104)
           VERSIONS lists  2.3.0 (200007xx) which doesn't exist)
      * KNOWN.BUGS (both unreproducible)

    Changed:
      * Most of the autohell and build system in general has been reworked
        (this includes removing --with-debug & never-functional dmalloc integration)
        (this includes removing IRIX-specific configuration (IRIX is dead))
      * Double-configuration is gone, everything works top-down from the autohell
      * Manuals installed under $prefix/share/man instead of $prefix/man
        (Anthony Fok <foka@debian.org>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.5))
      * Perl parsing and runtime errors exit EX_FAIL (1) instead of EX_IOERR (74)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.8 – 2.2.14-3) (2.2.14-5) (2.2.14-6))
      * All returned header/HTTP status lines to correctlier end with CRLF
        (Denis Barbier <barbier@debian.org>)
        (Found-at: eperl_2.2.14-15.2.diff (2.2.14-1) (also 2.2.14-0.8(?)))
      * -l *db* is stripped out of $Config{libs} to avoid unneeded dependencies
        (Denis Barbier <barbier@debian.org>)
        (Found-in: debian/rules (2.2.14-0.7potato2))
      * Buffered STDOUT undisabled
      * CGI error page simplified a little
      * Read STDOUT/STDERR pipe->buffer directly instead of files+read-back
      * All extra fds are O_CLOEXEC (previously children had up to fd ~7 filled)
      * Images recompressed (identical, -888 bytes total)
      * Nomenclature from "bristled" to "sprinkled"
      * README for thawing

    Fixed:
      * Compiler warnings
        (John Emerson <john@backspace.com>)
        (Denis Barbier <barbier@imacs.polytechnique.fr>)
        (rse)
      * mysetenv() on ENOMEM
        (Denis Barbier <barbier@imacs.polytechnique.fr>)
        (rse)
      * Y2K
        (Denis Barbier <barbier@imacs.polytechnique.fr>)
        (Vincent Renardias <vincent@debian.org>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.3))
      * $TMPDIR for temporary files instead of just /tmp
        (rse)
      * Leaked fds on HTTP_openURLasFP() error
        (just lingering connections for eperl(1), actually leaked in Parse::ePerl)
      * Stack corruption with overlong (~1k) #include http:// URLs
      * URLs being parsed with gethostbyname(3)+atoi() instead of getaddrinfo(3)
        (":http"-style port specs were refused)
      * strdup(optarg)
      * Temporary files being unlinked twice
      * Stack corruption after 8 -I arguments
      * Memory corruption after 1024 -d arguments
      * getopt_long() being un-{}-terminated
      * stdout/stderr being saved with dup2(11/12) instead of just dup()
      * Fix $SCRIPT_SRC_{PATH,URL}{,_DIR}
        (https://todo.sr.ht/~nabijaczleweli/ossp/219)
        (https://todo.sr.ht/~nabijaczleweli/ossp/220)
      * Only follow Location:s that start with http:// (otherwise segfault)
      * Stack overflow if following too many redirects
      * Unchecked fixed-size buffer in ePerl_Bristled2Plain()
        (Reported-by: Fumitoshi UKAI <ukai@debian.or.jp>)
        (Reported-in: https://bugs.debian.org/71479)
        (Found-at:    debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.7potato1))
      * ePerl_GetError() function pointer formatted a string if couldn't read input file
      * Actual error from ePerl_Bristled2Plain() not being logged
      * ePerl_SetError()s over 1k corrupting memory
        (Reported-by: Fumitoshi UKAI <ukai@debian.or.jp>)
        (Reported-in: https://bugs.debian.org/71479)
        (Found-at:    debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.7potato1))
      * eperl.1: se[ea]mless
        (A Costa <agcosta@gis.net>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-12))
      * Stack corruption if running preprocessor and source path >2k
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.8 – 2.2.14-3) (2.2.14-5) (2.2.14-6))
      * Memory corruption if preprocessor error >1k
      * stdin for file=- being read by byte
      * If running as root and SETUID_NEEDS_BELOW_OWNER_HOME:
        segfault if home or script directories >1k
      * Process title setting in CGI modes (by using setproctitle(3) if available)
      * Memory corruption if script filename substitution on STDERR
        made it >2x as big as originally
      * Stack corruption if PrintError() sees an error >1k
      * Stack corruption if script filename >1k
      * Stack corruption if #[s]include argument (before or after -I application) >1k
      * Tag elimination for #sinclude not obeying ePerl_case_sensitive_delimiters (-i)
      * Every #[s]included file's data being leaked by the preprocessor
      * Stack corruption if #if and #elsif conditions >~1k
      * &yuml; being converted to \255 (\xAD, soft hyphen) instead of \377 (\xFF, ÿ)
      * eperl -C HTML entity decoding being broken... sometimes? idk when see inside
      * Stack corruption if returned header line >1k
      * Headers not returned on HEAD requests
        (Denis Barbier <barbier@debian.org>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-8))
      * Parse::ePerl::Preprocess()/::PP() always segfaulting
        (Denis Barbier <barbier@debian.org>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-7))
      * #c comments to actually remove the line outright
        (Found-at: debian/patches/fix-preprocessor-comments-to-behave-as-documented.diff (2.2.14-16))
      * Using normal getopt() error reporting
      * ePerl_{{begin,end}_delimiter,case_sensitive_delimiters,convert_entities}
        contending in a multi-threaded Perl environment
      * HTTP host and port for #[s]include contending in a multi-threaded Perl environment
      * make install not entirely obeying DESTDIR
      * contrib/utils/del2del: compilation on modern perl
      * contrib/utils/del2del: rename or next instead of system(cp) w/o error handling
        (https://bugs.debian.org/1082546)
      * Unsubstituted version in manual
        (https://bugs.debian.org/1080494)
      * Manual, mostly, hopefully
      * Segfault if running as root and SETUID_NEEDS_ALLOWED_CALLER_UID
        and allowed_caller_uid not in passwd(5)
      * Fix #sinclude to /actually/ remove all delimiters
        On every version with the preprocessor (2.2+)
          $ A: #sinclude B
          $ B: <<::system("id")::>>
          $ eperl -P A
        ran id
      * Predictable temp file naming -> mkostemp(3)
      * Fix ` used as a quote

    New:
      * Modern Perl support
        (this also removes the "Perl I/O Layer" eperl -V)
        (rse)
        (Denis Barbier <barbier@debian.org>)
        (Stephen Gran <sgran@debian.org>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.8 – 2.2.14-3) (2.2.14-15.1) (2.2.14-5) (2.2.14-6))
      * Documentation for using shebang removal to keep a shebang line in the output
        (Axel Beckert <abe@deuxchevaux.org>)
        (Found-at: debian/patches/document-double-shebang.diff (2.2.14-16))
      * In NPH-CGI mode, re-use the first line if it's an HTTP status line
        instead of always responding 200 OK
        (Denis Barbier <barbier@debian.org>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.8))
      * Parse::ePerl::Preprocess() takes BeginDelimiter/EndDelimiter (default "<:"/":>")
      * Parse::ePerl::PP() takes optional begin/end delimiter scalars (default "<:"/":>")
        (Denis Barbier <barbier@debian.org>)
        (Found-at: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-7))
      * CPPFLAGS forwarded to Makefile
        (Reported-by: Axel Beckert <abe@deuxchevaux.org>)
        (Reported-in: debian/patches/pass-compiler-flags-properly.diff (2.2.14-19))
      * --with-allowed-caller-uids= ("nobody, root, www-data" for Debian config)

    Internal:
      * .gitignore
        (rse)
      * shtool removed
      * shtool versioning replaced with inlining in autoconf
        (rse)
      * Generated files removed (configure, eperl_license.c, eperl_readme.c, eperl.1, eperl_logo.c, eperl_powered.c)
      * Unused etc/fixconfigure removed
      * REUSE-compatible licence locations
      * SPDX "Artistic-1.0-Perl OR GPL-2.0-only"
      * Whitespace errors/EOF markers removed
      * ANNOUNCE removed (unused, unfilledout, duplicates README)
      * eperl_proto.h upgraded to real from generated
      * Unify new bin2c implementation
      * Cleanups that don't bear itemising here
      * Don't fclose() or free() before exiting
      * open(".", O_PATH)/fchdir() instead of getcwd()/chdir()
        (Reported-by: Denis Barbier <barbier@debian.org>)
        (Reported-in: debian/patches/eperl_2.2.14-15.2.diff (2.2.14-6) MAXPATHLEN)
      * Unused ep_strndup() removed
        (Reported-by: Denis Barbier <barbier@debian.org>)
        (Reported-in: debian/changelog (2.2.14-6))
      * ep_strnchr() -> memchr(3)
      * Don't ePerl_SetError() in ePerl_ReadErrorFile() (unchecked anyway)
        (Reported-by: Fumitoshi UKAI <ukai@debian.or.jp>)
        (Reported-in: https://bugs.debian.org/71479)
        (Found-at:    debian/patches/eperl_2.2.14-15.2.diff (2.2.14-0.7potato1))
      * Perl interpreter execution lifted to separate Perl5_Run() function
      * ep_strnstr() -> memmem(3)
      * Internal reimplementation of setenv(3)/putenv(3) replaced therewith
      * In general malloc()/realloc() -> open_memstream() for growing buffers
      * All files (except the CP-1252 tests) reencoded to UTF-8
      * eperl_proto.h and eperl_config.h merged as eperl.h
      * sid/void/FreeBSD/OpenBSD tests on builds.sr.ht
      * Both ErrorStrings unified
      * String escaping fwrite()s instead of byte-at-once-copying unescaped bits
      * Unused bits of ePerl.xs cleared out
      * Parse::ePerl::PP() uses PROTOTYPE instead of decoding an @ manually
      * Parse::ePerl::PP() optimised
      * Parse::ePerl::Preprocess() optimised
      * Max length of hostname for #[s]include http:// 1k -> 8k-128
      * contrib/utils/del2del: 3-arg open
      * contrib/utils/shtml2phtml: slurp stdin
      * contrib/utils/shtml2phtml: call subroutines without &
      * isotime() and WebTime() inlined
      * Empty HTTP_StripResponseHeaders() removed
      * myinit/myexit -> myinit/atexit
      * 100 string-identified -> 2 integer-named temporary file slots
      * ` -> $(

    -- >8 --                            VERSIONS                            -- >8 --
            ____           _
        ___|  _ \ ___ _ __| |
       / _ \ |_) / _ \ '__| |
      |  __/  __/  __/ |  | |
       \___|_|   \___|_|  |_|

      ePerl -- Embedded Perl 5 Language

      V E R S I O N S
      ===============

      1.0    19960323
      1.1    19960415
      1.2    19960622
      1.3    19960906
      1.4    19960910
      2.0.0  19970102
      2.0.1  19970103
      2.0.2  19970104
      2.0.4  19970104
      2.1b0  19970322
      2.1b1  19970326
      2.1b2  19970330
      2.1b3  19970402
      2.1b4  19970403
      2.1b5  19970404
      2.1b6  19970410
      2.1b7  19970425
      2.1b8  19970425
      2.1.0  19970427
      2.1.1  19970502
      2.2a0  19970502
      2.2a1  19970503
      2.2a2  19970504
      2.2b1  19970517
      2.2b2  19970520
      2.2b3  19970527
      2.1.2  19970529
      2.2b4  19970530
      2.2b5  19970530
      2.2b6  19970602
      2.2b7  19970604
      2.2b8  19970622
      2.2b9  19970628
      2.2.0  19970718
      2.2.1  19970802
      2.2.2  19970814
      2.2.3  19970821
      2.2.4  19970901
      2.2.5  19970903
      2.2.6  19971027
      2.2.7  19971107
      2.2.8  19971117
      2.2.9  19971202
      2.2.10 19971228
      2.2.11 19971230
      2.2.12 19971231
      2.2.13 19980710
      2.2.14 19980802
      2.3.0  200007xx

    -- >8 --                            CREDITS                             -- >8 --
            ____           _
        ___|  _ \ ___ _ __| |
       / _ \ |_) / _ \ '__| |
      |  __/  __/  __/ |  | |
       \___|_|   \___|_|  |_|

      ePerl -- Embedded Perl 5 Language

      CREDITS
      =======

      Credit has to be given to the following people who contributed ideas,
      stuff, bugfixes, hints etc. (in alphabetical order):

      o Denis Barbier         <barbier@imacs.polytechnique.fr>
      o Steve Dodd            <dirk@loth.demon.co.uk>
      o J. Douglas Dunlop     <dunlop@ionline.net>
      o John Emerson          <john@backspace.com>
      o Anthony Fok           <foka@gpu.srv.ualberta.ca>
      o Eric Howe             <mu@trends.net>
      o Michael Lazar         <michael@vertex.worldweb.com>
      o Joerg Lenneis         <lenneis@wu-wien.ac.at>
      o Doug MacEachern       <dougm@opengroup.org>
      o Bruce McEachern       <BRUCEM@libdr.ucdavis.edu>
      o Ewan McPhail          <ewan@epages.iafrica.com>
      o Joseph W. Norton      <norton@alum.mit.edu>
      o Mike Pheasant         <pheasant@gte.net>
      o Andrew Pimlott        <pimlott@abel.math.harvard.edu>
      o Tiago Luz Pinto       <tiago@EPS.UFSC.BR>
      o Jim O'Quinn           <oquinn@fsonline.com>
      o Christian Reiber      <chrei@en.muc.de>
      o Phil Ritzenthaler     <phil@cgrg.ohio-state.edu>
      o Heiko Schlittermann   <heiko@os.inf.tu-dresden.de>
      o Marc Singer           <elf@netcom.com>
      o Jarom Smith           <jarom@jarom-indy.prophet.com>
      o Sone Takeshi          <ts1@tsn.or.jp>
      o Karl Wallner          <karl.wallner@x3network.net>
      o Ian Wojtowicz         <i@woj.com>

      ...and all other ePerl users who gave me feedback but I've forgot...

    -- >8 --                           ChangeLog                            -- >8 --
            ____           _
        ___|  _ \ ___ _ __| |
       / _ \ |_) / _ \ '__| |
      |  __/  __/  __/ |  | |
       \___|_|   \___|_|  |_|

      ePerl -- Embedded Perl 5 Language

      ChangeLog
      =========

      This is the list of all(!) changes to this ePerl source tree. For a
      list of just the user-visible and/or major changes please have a look
      at the NEWS file.

         ____    _____
        |___ \  |___ /
          __) |   |_ \
         / __/ _ ___) |
      __|_____(_)____/___________________________________________________________

      Changes between 2.2.14 and 2.3.0 (12-Jun-1996 to xx-Nov-2000)

       *) Year 2000 patch for ePerl.pm
          [Denis Barbier <barbier@imacs.polytechnique.fr>, 31-Oct-2000]

       *) Ported to Perl 5.6.0
          [Ralf S. Engelschall, 03-Jul-2000]

       *) Upgraded to GNU Shtool 1.5.0
          [Ralf S. Engelschall, 03-Jul-2000]

       *) Merged in ePerl changes found in WML 2.0.2.
          [Denis Barbier <barbier@imacs.polytechnique.fr>, 03-Jul-2000]

       *) Fixed stringEQn() defines in eperl_global.h
          [Bruce McEachern <BRUCEM@libdr.ucdavis.edu>, 01-Feb-1999]

       *) Year 2000 fixes.
          [Denis Barbier <barbier@imacs.polytechnique.fr>, 18-May-1999]

       *) Bugfix for mysetenv() function
          [Denis Barbier <barbier@imacs.polytechnique.fr>, 07-May-1999]

       *) Replaced lots of etc/* stuff with new GNU shtool
          [Ralf S. Engelschall, 03-May-1999]

       *) Fixed a few compiler warnings.
          [Ralf S. Engelschall, 03-May-1999]

       *) Merged ChangeLog.* files into ChangeLog
          [Ralf S. Engelschall, 03-May-1999]

       *) Upgraded to GNU autoconf 2.13
          [Ralf S. Engelschall, 03-May-1999]

       *) Imported source into an own CVS repository
          [Ralf S. Engelschall, 03-May-1999]

       *) Fixed platform conflicts of strndup() & Co functions.
          [Ralf S. Engelschall, 04-Oct-1997]

         ____    ____
        |___ \  |___ \
          __) |   __) |
         / __/ _ / __/
      __|_____(_)_____|__________________________________________________________

      Changes between 2.2.13 and 2.2.14
      ---------------------------------
      [Bugfixes only]

      970727 o Fixed HTTP header parsing: Now beside the header/body
               delimiter "\n\n" also "\r\n\r\n" is recogized correctly.  This
               fixes especially the communication between CGI.pm and ePerl.
               [Thanks to Steve Dodd <dirk@loth.demon.co.uk> for hints and initial
               patches]
             o Fixed examples in Apache::ePerl manual
               [Thanks to Ian Wojtowicz <i@woj.com> for hints]
             o Fixed recognization of CGI situation where GET is used
               instead of POST to send data to ePerl scripts.  [Thanks to Steve
               Dodd <dirk@loth.demon.co.uk> for hint]
             o Added a CREDITS file to give explicit credits to the
               people who contributed stuff in the past
      970802 o Replaced build user/host/domain/time determination stuff with a new
               `buildinfo' script I've written for Apache which is more robust.
             o Replaced mkinstalldirs and install-sh with the cleaned up
               versions I've done for Apache 1.3's APACI stuff.
             o Ported to Perl 5.005 where variables start with PL_, etc.

      Changes between 2.2.12 and 2.2.13
      ---------------------------------
      [Security and Bug Fixes]

      980120 o Fixed construction of URLs inside Apache::ePerl for
               cases where the server port is not 80.  [Thanks to Jim
               O'Quinn <oquinn@fsonline.com> for hint]
      980202 o Changed .so generation to be more compatible
      980404 o Made etc/newvers more portable
      980605 o Fix a minor comparison bug in Apache::ePerl
               [Thanks to Eric Howe <mu@trends.net> for hint]
      980705 o Fixed copyright statements by adding 1998 and
               removing the "All Rights Reserved" part because
               this is incompatible with the GPL.
      980710 o Fix again a non-trivial-to-fix security bug related to the
               inconsitency way webservers handle QUERY_STRINGs: this time by
               making more exact parameter comparison.  Now we check
               back even the argv[optind] against the provided
               QUERY_STRING, etc. Now the determination of the three
               runtime modes (CGI, NPH-CGI, FILTER) should be
               correct.  [Thanks to Tiago Luz Pinto
               <tiago@EPS.UFSC.BR> who reported this security hole on
               bugtraq]

      Changes between 2.2.11 and 2.2.12
      ---------------------------------
      [Bugfix only]

      971231 o ARGL! We really need 1998 now: Yesterday
               I've released 2.2.11 with two nasty syntax errors in
               the configure script. Hmmmmm... 1998 is now really
               needed, I think.  [Thanks to Anthony Fok
               <foka@gpu.srv.ualberta.ca> and ??? <djk@tobit.co.uk>
               for quick response and patch]

      Changes between 2.2.10 and 2.2.11
      ---------------------------------
      [Bugfix only]

      971230 o Activated Perl Locale support for both Perl 5.003
               and Perl 5.004 variants.
             o Fixed owner determination in eperl_main.c: ePerl core
               dumped when the owner of the script does not exists in
               the passwd database.
             o Updated contrib/pkg/ files
             o Updated VERSIONS file

      Changes between 2.2.9 and 2.2.10
      --------------------------------
      [Bugfix only]

      971228 o little distribution bug: the asc2c was not run before
               the 2.2.9 release, so it has to be run by the builder
               which is not what was intended.

      Changes between 2.2.8 and 2.2.9
      -------------------------------
      [Bugfix only]

      971120 o fixed demo.image.phtml description
      971221 o fixed a really nasty fclose() bug in eperl_main.c
               which caused core dumps under Debian GNU/Linux with
               libc6.  [Thanks to <tv@havoc.fi> and Anthony Fok
               <foka@gpu.srv.ualberta.ca> for hints]

      Changes between 2.2.7 and 2.2.8
      -------------------------------
      [Bugfix and Minor Enhancement]

      971107 o ported to AIX 4.1.x by adding a fix for Perl's ccdlflags
      971108 o again made Apache::ePerl even more complete: added the
               following env variables similar to nph-eperl:
               SCRIPT_SRC_URL, SCRIPT_SRC_URL_DIR,
               SCRIPT_SRC_URL_FILE, SCRIPT_SRC_PATH,
               SCRIPT_SRC_PATH_DIR, SCRIPT_SRC_PATH_FILE,
               SCRIPT_SRC_MODIFIED, SCRIPT_SRC_MODIFIED_CTIME,
               SCRIPT_SRC_MODIFIED_ISOTIME, SCRIPT_SRC_SIZE,
               SCRIPT_SRC_OWNER
             o enhanced the Apache::ePerl status page: now displays
               also the cache size
      971116 o fixed shebang mode for webserver environment.  [Thanks
               to J. Douglas Dunlop <dunlop@ionline.net> for hint]
             o added hint to INSTALL file that PerlIO+SfIO is currently
               not supported.
             o fixed HTTP header parsing: now setting of cookies
               (e.g.  via Perl's CGI module) work correctly.
             o fixed HTTP header parsing in Apache::ePerl. Now even
               the special-case "Content-type: ..." works as expected.
      971117 o fixed typos in eperl.pod
             o fixed preprocessing for Apache::ePerl
             o overhauled the demo webpages under eg/. Now the
               CGI::Cookie is used an example for CGI.pm.
             o adjusted VERSIONS file

      Changes between 2.2.6 and 2.2.7
      -------------------------------
      [Bugfix and Minor Enhancement]

      971102 o reduced memory consumption of Apache::ePerl by
               specificing detailed import flags
             o fixed prototype bug in Parse::ePerl's XS part
               [Thanks to Doug MacEachern <dougm@opengroup.org> for patch]
             o removed the not needed AUTOLOAD facility from
               Parse::ePerl because this causes problems.
               [Thanks to Doug MacEachern <dougm@opengroup.org> for hint]
      971104 o added VERSION_LANGUAGE and VERSION_INTERPRETER
               environment variables to Apache::ePerl the same way it is provides
               by the stand-alone program.
      971105 o adjusted the URL to the Perl homepage in the PODs.
             o fixed Content-length header generation in Apache::ePerl
             o minor cleanup to Parse::ePerl
      971106 o added workarounds to Parse::ePerl for tainted environments
               like the "PerlTaintCheck On" under Apache/mod_perl where
               Parse::ePerl is called from Apache::ePerl.
             o made the Apache::ePerl error page similar to the one nph-eperl
               displays.

      Changes between 2.2.5 and 2.2.6
      -------------------------------
      [Bugfix and Minor Enhancement]

      970903 o merged ANNOUNCE and ANNOUNCE.ADDR files
             o slightly fixed comments in eperl_getopt.[ch]
      970911 o added mod/README with CPAN module snipppet
             o changed the $VERSION variables to hold a real floating
               point number like 2.0206 instead of 2.2.6
             o updated contrib/pkg/fbsdpkg/ stuff
             o fixed a bug in the preprocessor: filedescriptors were
               not closed for #include directive [Thanks to
               mhalperi@bbnplanet.com for patch]
      971024 o fixed configure's Perl version check because of Perl
               5.004_04's changed -v output.
             o added Apache->request($r) to Apache::ePerl for
               Apache::Registry modules like new CGI.pm under mod_perl-1.02.
             o updated PORTING file
             o added GNU long options
             o changed -i (nocase on delimiters) to -n
             o cleaned up source by sorted options
             o now the usage is only displayed on -h/--help
             o now the copyright and disclaimer is displayed on -V, too.
             o now configure removes -D_POSIX_SOURCE from Perl's
               ccflags under IRIX 5.3 because this causes problems with strdup.
             o now configure explicitly removed newlines at the end
               of the determined hostname/domainname pair because these
               would lead to a failure for GNU autoconfs final sed-part.
               [Thanks to <paul@miraclefish.com> for bug report]
             o added another -f test inside configure when trying
               to find a perl binary because when /tmp/perl is
               a directory -x alone fails.
             o added eperl_config.[ch] and moved some code from
               eperl_global to this file.
             o added test for strdup() to configure and a private
               replacement version to eperl_config.c (from FreeBSD 2.2)
               because Ultrix is missing strdup().
               [Thanks to Joerg Lenneis <lenneis@wu-wien.ac.at> for hint]
             o now the XS-Init function in eperl_perl5.c has a variable
               list of newXS() calls which come from the new
               eperl_perl5_sm.h file which itself is generated by
               eperl_perl5_sm.pl. This way we're now really able to
               use static module when no DynaLoader is available.
               [Thanks to Joerg Lenneis <lenneis@wu-wien.ac.at> for hint]
      971027 o fixed also PORTING.test for new "perl -v" output
             o changed "prefix" stuff in Makefile.in to make the
               life of our Debian friends a little bit easier... ;_)
             o added Debian stuff to contrib/pkg/dpkg/
             o added workaround in aclocal.m4 for SunOS's braindead "date"
             o sucessfully run PORTING.test on platforms found in PORTING

      Changes between 2.2.4 and 2.2.5
      -------------------------------
      [Bugfix and Minor Enhancement]

      970902 o fixed error catching for Parse::ePerl::Precompile.
               [Thanks to Joseph W. Norton <norton@alum.mit.edu> for hint]
      970903 o added better support for PerlIO/StdIO. The combination
               PerlIO/SfIO is currently untested and may be broken because
               the I/O redirection for SfIO is very different from StdIO.
             o added Perl I/O layer info to eperl -V
             o added built time/user info to configure and eperl -V

      Changes between 2.2.3 and 2.2.4
      -------------------------------
      [Bugfix and Major Enhancement]

      970901 o added more hints to PORTING file
             o fixed a bug in Parse::ePerl for case where $error was undefined
               [Thanks to Joseph W. Norton <norton@alum.mit.edu> for patch]
             o fixed -I option: now it works as expected even for
               cases where you want to add stuff to @INC which is
               needed at _parse_ time.
             o now the webmaster can configure the delimiters and other stuff via
               Apache::ePerl::Config hash from within <Perl>...</Perl> sections in
               Apache. An example is added to the synopsis of Apache::ePerl
               manpage.

      Changes between 2.2.2 and 2.2.3
      -------------------------------
      [Security Bugfix and Minor Enhancement]

      970821 o fixed installation section in Apache::ePerl manpage
             o ***** SECURITY BUGFIX *****
               ePerl versions <= 2.2.2 have a heavy security hole when running
               under a webserver's CGI/1.1 interface.   Because ePerl assumed here
               there are not command line arguments. THIS IS WRONG! According to
               the CGI/1.1 spec when an ISINDEX document is used (QUERY_STRING!)
               the query is provided on the command line by the webserver.  So,
               when only one query existed, there was exactly one command line
               argument and ePerl switched to stand-alone runtime mode and all
               CGI-mode restrictions are falling down!!
               ***** SECURITY BUGFIX *****
               [Thanks to Andrew Pimlott <pimlott@abel.MATH.HARVARD.EDU> for
               finding this security bug!]
             o now a chdir is done before the preprocessor is run so relative
               paths in #include directives work as expected.  [Thanks to Marc
               Singer <elf@netcom.com> for patch]

      Changes between 2.2.1 and 2.2.2
      -------------------------------
      [Bugfix and Porting Enhancement]

      970804 o removed bad demo.errsync.phtml
      970806 o fixed a few spaces in Makefile.in
      970807 o removed wrong $AUTOLOAD from Apache::ePerl
             o fixed a few other things in Apache::ePerl and Parse::ePerl
             o added 2.2.1 to VERSIONS file
             o moved the place of the release macros in Makefile.in
               before any targets because some braindead Make variants
               don't like it in the middle of targets.
             o added a new test 09-dynaloader.t for testing if
               dynamic loading works correctly.
             o added error capturing for Parse::ePerl::Evaluate via __DIE__ hook.
             o fixed the PODs
             o moved -lperl at linking after DynaLoader
      970808 o fixed configure help string for --with-perl=PATH
             o added missing .eperl extension in eperl_security.h
               [Thanks to Heiko Schlittermann <heiko@os.inf.tu-dresden.de> for hint]
             o added more stuff to INSTALL.APACHE
      970811 o fixed wrong coding in setuid check
               [Thanks to SONE Takeshi <ts1@tsn.or.jp> for patch]

      Changes between 2.2.0 and 2.2.1
      -------------------------------
      [Bugfix and Enhancement]

      970721 o fixed eg/demo.net.phtml
      970727 o optimized the Perl 5 internal stuff in eperl_eperl5.c
               [Thanks to Doug McEachern <dougm@opengroup.org> for patches]
             o added support for Cwd parameter to Parse::ePerl::Precompile and use
               this also in Apache::ePerl when precompiling.
               [Thanks to Michael Lazar <michael@vertex.worldweb.com> for idea]
             o added support for quotation marks and angle brackets in #include
               and #sinclude directives: these are just skipped.
               [Thanks to Karl Wallner <karl.wallner@x3network.net> for idea]
             o now DOCUMENT_ROOT is automatically added to @INC in CGI modes.
               [Thanks to Karl Wallner <karl.wallner@x3network.net> for idea]
             o now Apache::ePerl always uses option "ConvertEntities=1" when
               calling Parse::ePerl::Translate.
               [Thanks to Mike Pheasant <pheasant@gte.net> for hint]
             o fixed demos for strict variables and added both .phtml
               and .iphtml files (same contents!) for easier testing
               with both nph-eperl and Apache::ePerl.
             o added support for generated custom HTTP headers
               to Apache::ePerl.
      970801 o added "/eperl" to $libdir for installation
             o now "make install" installs the demo pages into $libdir/eg
             o added PORTING.test script for making porting tests easier
             o changed test for Perl in configure from "test -f" to "test -x"
             o fixed the examples again.
             o fixed a few things in eperl.pod
      970802 o enhanced the overwriting of the perl and cc programs
               for the build process. See INSTALL for more details.
             o enhanced PORTING.test to be able to set perl and cc.
             o added overview to INSTALL

      Changes between 2.2b9 and 2.2.0
      -------------------------------
      [Bugfix only]

      970706 o added missing eperl_getopt.h include
               for eperl_main.c which caused the compilation
               at least under SunOS 4.x to fail.
             o added more descriptive error message
               to configure when Perl version is to old
             o added hint to INSTALL that the same
               environment have to be used for compiling
               ePerl as for Perl.
      970709 o added klduge to support Perl+SFIO where
               fwrite has to be replaced by PerlIO_write
             o enabled ``CC=/path/to/cc ./configure'' again
               for cases where one wants to overwrite the
               used C compiler.
      970714 o removed some unused defines in eperl_global.h
               which lead to problems under AIX 4.1.4
             o removed the P_ macros in eperl_proto.h because
               AIX 4.1.4 is not happy about it because of
               PrintError defines which has "...". Should
               be ok without P_ because we need an ANSI
               compiler since the first days.
      970715 o changed Perl requirement from 5.00390 to 5.00325
      970718 o added ANNOUNCE.ADDR file
             o updated NEWS file and updated ANNOUNCE file
             o updated VERSIONS file
             o slightly adjusted NEWS file
             o created contrib/utils/00README file
             o added the package files to contrib/pkg/
             o updated the demo files

      Changes between 2.2b8 and 2.2b9
      -------------------------------

      970623 o added docs about #elsif to eperl.pod and NEWS file
      970628 o added VERSIONS file with ePerl history
             o shit happens: the preprocessor parsing had
               nasty bugs where a string "#include" somewhere
               in the text leads to a total skip of all
               real "^#include" directives :-(

      Changes between 2.2b7 and 2.2b8
      -------------------------------

      970615 o added hint about Options +ExecCGI
               to mod/Apache/ePerl.pm
             o split the ChangeLog file into seperated files
             o added old stuff from 2.1.2 to end of NEWS file
             o created a KNOWN.BUGS file
             o created a INSTALL.NSAPI
             o slightly fixed the POD in mod/Apache/ePerl.pm
             o created a new set of demo files in eg/
             o fixed some README headers
      970620 o created a contrib/ dir and initially
               started to write a shtml2phtml script
               which converts (X)SSI to ePerl
             o fixed tabs in top-level Makefile
      970622 o changed red colors to blue ones in error page
             o added the new powered-by-ePerl image
               which can be retrieved via URL nph-eperl/powered.gif
             o added del2del script to contrib/
             o added a #elsif to the preprocessor

      Changes between 2.2b6 and 2.2b7
      -------------------------------

      970602 o now etc/newvers always removes /tmp/genopt
               [Thanks to Phil Ritzenthaler <phil@cgrg.ohio-state.edu>
                for hint]
             o now configure determines the full
               operating system id from Perl's Config.pm
      970604 o set -Wl,-woff 85 only for IRIX 6.x because
               IRIX 5.x hates this option..
               [Thanks to Ewan McPhail <ewan@epages.iafrica.com> and
                Phil Ritzenthaler <phil@cgrg.ohio-state.edu> for hint]
             o fixed the preprocessor: the inital searching
               of the directives was broken, only worked
               when a specific order was used. So some
               directives were skipped :-(
             o added a #sinclude (secure include) directive
               which is the same as #include but removes
               all begin and end delimiters, so this one
               is a secure way of including stuff from
               foreign servers.
             o rewritten the preprocessor part of eperl.pod

      Changes between 2.2b5 and 2.2b6
      -------------------------------

      970601 o added a #c preprocessor directive
               to be able to comment out stuff
               (even to use "#c #include..." to
               disable an include directive)
               [Thanks to J. Douglas Dunlop for hint]
             o now the preprocessor checks the
               HTTP response code when http://..
               is uses as the file:
               - when 301 and 302 are returned
                 it searches for the new URL in the Location-header
                 and restarts with this one
               - when a response code other
                 than 200 (OK) is returned it fails the same way
                 as it fails when a local file it not found:
                 with an error.
               [Thanks to J. Douglas Dunlop for hint]
             o removed the Bash check in configure
               because this it not used

      Changes between 2.2b4 and 2.2b5
      -------------------------------

      970530 o fixed perlvers -> perl_vers stuff
             o fixed again problem with VERSION stuff:
