forked from koanlogic/klone
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
231 lines (210 loc) · 9.79 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
$Id: ChangeLog,v 1.85 2010/06/01 20:20:51 tho Exp $
ChangeLog file of KLone - http://koanlogic.com
KLone X.Y.Z:
- tls: force usage of TLSv1+ [CVE-2014-3566 POODLE]
- webapp: fix background and update copyright
- reponse: missing response_del_field() declaration in header (patch
provided by Mickael Auger)
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