C h a n g e L o g o f e P e r l
___________________________________________________________________________
Changes between 2.1.1 and 2.1.0
-------------------------------
Changes between 2.0.3 and 2.1.0
-------------------------------
970310 o added --with-perl=/path/to/perl option
to ./configure to force a specific perl
970302 o removed getdate.c stuff :-(
o added more tests
o changed aux dir to etc for porting to WinNT :-(
970228 o debugged and cleanup up eperl_parse.c
o fixed the core-dump under SunOS which
comes from SunOS' non-POSIX vsprintf().
o removed the sdbm and md5 stuff because
this should be introduced in 3.0 later only.
o removed brainfile stuff
o fixed another coredump in eperl_parse.c
o fixed mode determination and mode-dependend
error message
970227 o debugged and cleanup up eperl_parse.c
970226 o added dmalloc support for debugging
970224 o changed sprintf stuff to more portable
variant in eperl_main.c
o now autoconf checks for memmove and
if not found eperl_parse.c uses bcopy.
970219 o changed bool checking to Autoconf stuff
970216 o ported to Linux: now bool is defined,
prefix was replaced by AC_prefix to avoid collisions and the
ccdlflags from Perl are used which need to be -rdynamic under
Linux. Now ePerl compiles out of the box on Linux and runs fine,
even with dynamic loading.
970210 o added getdate() code
o added --enable-brainfile=/path/to/brainfile
which sets the brain file where timestamps and
md5 etc. are stored.
o added -a option to set an age
970209 o added MD5 code
o added SDBM code
970207 o changed -c and -s options to -m c and -m f
o adding -m n for NPH/CGI, -m c is no only CGI
o added stdin support via "-" and tmpfiles
o added automatic tmpfile support with remove
on interrupts or errors
o now the old tempfiles are also created
with new mechanism
o added -o option for specifying an
explicit outputfile instead of stdout
o greatly imporved the manpage and brroght it
to the latest status
o created a test suite with Perl Test::Harness
o now ePerl also accepts an empty file
o added a security logfile which can be optionally
enabled via "--enable-logfile=/path/to/logfile"
at compile time.
o added configure support for debug compilation
via --enable-debug. This adds -g -ggdb3 to
the CFLAGS and LDFLAGS and prevents the
executable from being stripped.
o removed the old doc/ subdir with the
old FAQ and About file.
970206 o removed the generation of libeperl.a
o added a real installation target to Makefile
o removed eperl_parse.h, because it is still
replaced by the generated eperl_proto.h
o added -V option which now displays the compile
parameters
o removed the <tt>..</tt> tags from error output
because for the stand-alone version is looks bad.
o added experimental TAINT...TAINT_NOT around perl_run.
o added -d option to set real Perl variables and
not just $ENV{'...'};
970128 o added support to configure for Perl snapshot
releases named 5.003_XX.
o added a first security check: If operating in
NPH-CGI mode the source file has to be one of
the predefined valid file extensions.
o now when ePerl runs as a setuid program (seteuid = 0)
it switches to the uid/gid of the file owner
970127 o added -D option to set environment variables.
(this is needed for my WML project where in
pass 3 eperl gets called via -D...)
o added -k option to keep CWD.
(this is needed for my WML project where
ePerl should not chdir to the /tmp/xxx files).
970118 o make the BEGIN/END_DELIMITER strings variables which
now can be set via -b and -e
(this is needed for my WML project where I use
two variants of embedded Perl blocks)
970107 o fixed this changelog file
o added test directory
o cleanup of Makefile
o removed obsolete prototypes in eperl_lib.h
o cleaned up eperl_global.h
o make eperl_getopt.[ch] gcc -Wall clean
o added support for shebang usage, i.e. you can use #!/path/to/eperl
at the top of your pages and use them as a CGI script now. ePerl
will ignore the shebang line.
o moved the system IO and env functions out to new eperl_sys.c
o renamed eperl_lib to eperl_parse
o Hups! all references to the CGI/1.0 standard were wrong, it
actually is CGI/1.1...
970106 o added stand-alone interpreter with options
o added -x and -v options
o added README and LICENSE display
o now ePerl reads the file from stdin if
the argument is "-"
o added a ePerl manual page for the
stand-alone interpreter
___________________________________________________________________________
Changes between 2.0.2 and 2.0.3
-------------------------------
970104 o added some documentation from the webpages to misc/doc/
o added a FreeBSD ports area to the webpages
Changes between 2.0.1 and 2.0.2
-------------------------------
970104 o remove of the temporary files were disabled for
debugging purposes. Fixed.
Changes between 2.0.0 and 2.0.1
-------------------------------
970103 o removed unused variables
Changes between 1.0 and 2.0.0
-----------------------------
970102 o ePerl now supports the Perl 5 DynaLoader interface for
dynamic linking and loading of shared modules. This provides ePerl
with the complete power of the underlying Perl 5 installation,
including the shared objects.
o ePerl now runs as NPH-CGI/1.1 script, i.e. as a Non-Parsed-Header
CGI-script. This means that it is able to create its own HTTP
header. Implications of this include:
- To create HTTP headers just put them on the first
lines in your script as plain text or just generate them on the
fly by a ePerl block at the beginning of your script. With this
feature you can for instance write pages which create images
instead of HTML code.
- If no headers were created by the script, it
outputs it with MIME-type "text/html", including an additional
calculated "Content-Length" header.
- It automatically adds "Date" and "Server" headers.
o ePerl now saves and checks the STDERR output of the script.
If this contains data this implies an error and leads to the
display of the error HTML page, displaying the STDERR output.
o ePerl now saves the STDOUT output of the script (the real
contents). This implies that it can calculate the Content-Length or
ignore it if STDERR was created and the error page have to be
displayed.
o Additional environment variables will be set by ePerl
prior to the execution of the bristled Perl blocks:
SCRIPT_SRC_SIZE ....... the byte size of the original source file
SCRIPT_SRC_MTIME ...... the integer value of the last modify time
SCRIPT_SRC_MTIME_FMT .. the formatted string of the last modify time
SCRIPT_SRC_OWNER ...... the owner of the original source file
VERSION_INTERPRETER ... the ePerl version string
VERSION_LANGUAGE ...... the Perl version string
o The ePerl sources were split into distinct peaces to
allow further development, e.g. a standalone program or a Apache
API module.
___________________________________________________________________________
Changes between 1.4 and 1.5
---------------------------
9609xx o started with the work to split the ePerl
functionality into a library and create a stand-alone
CGI-program and a Apache module which use this library.
Changes between 1.3 and 1.4
---------------------------
960906 o changed source from PATH_INFO to PATH_TRANSLATED
o cleanup the sources and released it
the first time officially on the Web
Changes between 1.2 and 1.3
---------------------------
960622 o created WWW pages
o changed all old EPL references to ePerl
o added a lot of comments to the source
o made the begin and end delimiters variable
o changed the end delimiter from ">" to "!>"
because ">" makes problems if it occurs inside the
ePerl block
Changes between 1.1 and 1.2
---------------------------
960510 o created GNU autoconf files, Makefiles, etc.
Changes between 1.0 and 1.1
---------------------------
960415 o fixed a bug in the escape code: more chars
have to be escaped!
Changes between *GENESIS* and 1.0
---------------------------------
960323 o adapted for Apache 1.1b0+ak
960310 o *GENESIS*
___________________________________________________________________________