KLone ChangeLog
$Id: ChangeLog,v 1.85 2010/06/01 20:20:51 tho Exp $
ChangeLog file of KLone - http://koanlogic.com
KLone 3.1.0:
- *BSD license*
- Fix timeout initialisation upon select() errors.
- timerm_reschedule() to reset alarm in signal handler.
KLone 3.0.0:
- Add IPv6, SCTP, and UNIX IPC support via libu/net. This change breaks
the four following interfaces: request_[gs]et_{local,peer}_addr() which
now take and return a constant string instead of a kaddr_t. Further,
the 'addr' directive value syntax has changed in non retro-compatible
way -- it's now based on libu/net URIs syntax, e.g.: tcp6://[::1]:8080;
the 'addr.port' and 'addr.type' directives are now suppressed, since
they've been absorbed by the 'addr'; and the 'backlog' directive is
temporarily inhibited (it needs an interface shift in libu/net) and
is internally fixed to U_NET_BACKLOG, defaulting to 300.
- New server loop hook (patch provided by Mickael Auger)
- Conditional compilation and linking of hooks
- Fix build when fork(2) is missing, as in uClinux.
- Fix bug in memory session configuration that prevented use of default
values (reported and fixed by Davide Berra).
- Fix SSL compilation flags missing during cross-compilation.
- Fix partially uploaded files not cleaned up.
- Fix bad buffer length in {http,supemb}_is_valid_uri() (reported by
Senén de Diego).
- Multipart/form-data fixes.
KLone 2.4.0:
- max size estimate of encrypted sessions fixed (session_prv_calc_maxsize)
- CyaSSL support (HTTPS, resource encryption and client-side sessions)
- session_set_cipher_key added
- fix warning caused by missing newline in generated source (reported and
fixed by Mickael Auger)
- configure: removed redundant parameter from featx doxygen
KLone 2.3.0:
- Minix 3.8.1 port
- OpenSolaris+SunStudioExpress port
- fix a 64-bit platform problem about correct identification of file based
sessions
- fix not-firing timers (reported by Mickael Auger)
- libu2 merge: use hmap "easy" interface with embfs; integrated JSON
encoder/decoder; simplified networking; native BST, priority queue,
ring buffer and dynamic arrays.
- "-c command-line" argument to override configuration
- apply chroot from configuration under OS_WIN
- fix minor bug in build (bad clean in makl subdir)
- exec_page() argument name switched from 'args' to a slightly less
common '_dyp_args' to avoid clash with user local vars
- fix error page configuration failure on URLs with arguments
- new emb_list (and emb_list_free) interface to list embfs resources
- added sample RedHat init script
KLone 2.2.1:
- fix "can't shift that many" build error on Ubuntu 9 and NetBSD
- urlencoded variables parsed also when Content-Length == 0 on POSTs
- added 'temp_dir' configuration variable to override system default temp
directory (L_tmpnam, TMPDIR & friends)
- added 'klone_sid' configuration variable to override default cookie name
- HTTPS fix (rollback to http.c:1.64) output io_t dup'd from input io_t
- added session_get_id() to retrieve a given session id string
- fix request_get_uploaded_file() prototype (suggested buffer size was
wrong and could lead to overruns)
- added '-n' command line switch to kloned: don't chdir(2) when
daemon'izing
KLone 2.2.0:
- new url-regex dispatcher (kilt)
- don't fail on PUT and DELETE requests
- -fstack-protector-all added by default when supported by the compiler
- better depencecies check: .d and .kld depend files created (and included)
when building (-d switch of klone tool)
- .kl1 inheritance (new directives: extends, block, endblock, inherit)
- session init/load/save optimizations
KLone 2.1.1:
- use session max_age if specified in kloned.conf
- io_get_until bug fix
- io_vprintf added
- contrib/ not built by default
- bug fix: client request line wasn't properly logged
- makl and libu resync
- vars_t now support empty string ("") vars
- KLONE_CACHE_DIR top-level variable added to cache downloaded files
- default error page is not printed out if the .kl1 page runs correctly
(so the user can set his own error status code from .kl1 pages)
KLone 2.1.0:
- io_ssl_create client mode support added
- GET and POST variables can now be accessed indipendently using
request_get_{get,post}args and request_get_{get,post}arg functions
- respawn race fixed
- response_set_cookie bug fix: s/expire/expires/
- forward --libs configure argument value to libu build
- custom error pages response fix
- kl1 entry functions prefixed with "page_" (.klone page filenames can now
start with numbers)
- added passwd-like authentication (uses libu::pwd)
- added TLS PSK interface
- page entry point function fixed to avoid g++ errors
- libu sync to export u_pwd module
KLone 2.0.2:
- bug fix: external libraries were mistakenly found by the ./configure
script in cross compilation environments
KLone 2.0.1:
- session_save fix: removing last session var was not possible
- #line directives fixed in pg_*.c
- debug hook added in pg_*.c pages
- minor portability fixes, SA_RESTART check
- redirects uris ending with /dir to /dir/
- -p added to save daemon PID to a file
- vhost impl refactored
- per-vhost access log support through klog (i.e. syslog, file or in memory)
- Content-Disposition parser fix
- Darwin 9 (Leopard) toolchain
- Cygwin support added (kloned can run in prefork mode under Cygwin,
but you've to install Cygwin on the target machine first)
KLone 2.0.0:
- virtual hosts support (see etc/kloned-vhost.conf)
- request_get_client_request, response_get_field and
response_get_field_value added
- index config key added to provide the list of index pages to use when
no filename is given (http://site/ or http://site/dir_a/dir_b)
- per-dir (aka cgi-bin), per-extension (.cgi, .php, etc.) CGI support
- embfs config file is not loaded if external config file is given (-f file)
- --enable_fs and --enable_cgi configure args alias added
- bug fix: sup_fs responses didn't include a valid HTTP header
- O(1) embfs access via hmap
- user provided hooks added to get notifies about server startup/stop,
spawn worker children, requests served (--enable_hooks is required)
- u_{html,url,hex,sql}ncpy() interface changed (return count doesn't include
the trailing '\0' anymore)
- added support for CRLs via 'crl' and 'crl_opts' configuration directives
- KLONE_TARGET_PATCH_{FILE,URI} and KLONE_HOST_PATCH_{FILE,URI} variables
added to provide an easy way to patch Klone source during the build
- --enable_hooks configure argument added to support user-provided
startup/term functions
- --daemon_name configure argument added to set Klone daemon name
- --install_daemon_only configure argument added to just install the
Klone dameon on 'make install'
- request, response, session, in and out variables are always in-scope in
.kl1 and .klx files
- CGI support (not on Windows)
- -Z and -e can be used more then once to provide more then one compress
and/or encrypt file patterns
- -x argument added to klone tool to avoid importing files that match the
given pattern(s)
- -F doesn't force iterative mode anymore (use -Fd instead)
- bug fix: embedded configuration overwrite was broken (libu u_config bug)
- makl update (ver 1.5.1)
- libu update (ver 1.1.0)
KLone 1.2.0:
- bug fix: newline always added after <%! %> C translated code
- bug fix: posted data can have content-length equal to zero
- bug fix: unmatched single or double quotes in kl1 blocks no longer cause
compilation errors
- SA_RESTART used for all signal handlers to avoid EINTR when calling
syscalls from within .kl1 pages
- more console messages on startup errors
- makl update (ver 1.3.0)
- libu update (ver 0.5.0)
KLone 1.1.1:
- io_is_secure and io_ssl_get_SSL added
- License update to explicit permit OpenSSL linking
- request_parse_multipart_chunk fix
- "Location:" redirect fixed
KLone 1.1.0:
- cipher IV added to HMAC and to KL1_CLISES_IV cookie
- makl_target_name used to support MAKL_PLATFORM feature
- HTTP_STATUS codes moved to http.h
- klone/os.h code removed (u/libu.h used as a portability layer)
- response_enable_caching and response_disable_caching added
- response_del_field added
- alarm_t renamed to talarm_t to avoid a portability (VxWorks) conflict
- better startup error reporting
- children processes die immediately on SIGTERM/SIGINT
- more standard compliant HTTP response code used
- REQUEST_URI_MAX_LENGTH and HEADER_MAX_FIELD_COUNT used to avoid
[that type of] DoS
- better kl1->C translation error reporting
- minor portability fixes
- MaKL update (ver. 1.2.0)
- LibU update (ver. 0.4.0)
KLone 1.0.4:
- strip target added to kloned (for selective strip when cross compiling)
- MaKL update (ver. 1.1.1)
- LibU update (ver. 0.3.2)
KLone 1.0.3:
- cross compilation support
- bug fix: bad SSL context free on connection time-out
- C++ support is optional (--disable_cxx)
- support LibU minimisation by default: --disable_libu-mini configure arg
to compile the full LibU
- various SSL related updates:
- crypto material can be loaded from the host file system too
- HTTP/S configuration section added to example-site/kloned.conf
- sample server certificate kloned.pem added,
- sample HTTP/S configuration file etc/kloned-https.conf added
- MaKL update (ver. 1.1.0)
- LibU update (ver. 0.3.1)
KLone 1.0.2:
- bug fix: endless reap loop on SIGTERM or SIGINT
- bug fix: processes handling slow connections didn't term when needed
- new ports: OpenBSD 3.8, NetBSD 2.0.x, NetBSD 2.1, FreeBSD 6.0
- MaKL update (ver. 1.0.0)
- LibU update (ver. 0.3.0)
KLone 1.0.1:
- first public release
" vim: ts=4
" vim: tabstop=4
" vim: noexpandtab