root/tags/release-1.3.13/ChangeLog

Revision 101, 99.3 kB (checked in by jan, 4 years ago)

added all changes from trac-timeline

Line 
1CVS-Version: $Id: ChangeLog,v 1.18 2004/04/09 22:08:19 weigon Exp $
2
3Feature Requests:
4* complex
5- limit read-queue to 64k and use traffic-shaping cap
6  - if fastcgi/cgi are not ready ignore incoming FDEVENT_IN for a while
7  -> reduce memory usage
8- userdir + suphp
9  -> internal config-hash
10- don't strip // from PATHINFO
11- TLS
12
13* moderate
14- errorlog piping
15- gracefull restart
16- mod_accesslog_mysql
17- mod_auth_mysql
18- IPv6 for FastCGI
19- man-page for spawn-fcgi
20- server.base-directory
21
22* simple
23- file-mapping for alias
24- hostnames for remote-FastCGI
25- fix remote-fastcgi on freebsd + kqueue
26  - crash FDEVENT_OUT on FreeBSD
27- cgi exec via shell
28- crash in read-post
29- same config option twice -> aaa, aaa
30- remove default port from Host:
31
3206.03.2005 12:22 - 1.3.13
33- mod_accesslog
34
35  fixed NULL dereference on logfile cycling if accesslog is not set
36
3705.03.2005 17:30
38- mod_proxy
39
40  handle delayed connect in the same way as mod_fastcgi
41
4203.03.2005 19:00
43- freebsd
44
45  handle remote-close gracefully
46
47- ssl
48
49  handle remote-close gracefully
50
51- dir-listing
52
53  added dir-listing.hide-dotfiles and added an option to set css files
54
5502.03.2005 19:41
56- fastcgi
57
58  fixed path-info for prefix-patterns
59 
60  fixed path-info for PHP
61
6202.03.2005 14:47 - 1.3.12
63- mod_fastcgi
64
65  fixed handling of dead fastcgi process which sent their SIGCLD to
66  initd and not to lighttpd. Moving the daemonize before starting
67  the fastcgi procs fixes this.
68
6901.03.2005 23:59
70- irix
71
72  fixed minor compile issues with MIPSpro
73
7401.03.2005 11:57
75- request-handling
76
77  handle most duplicate headers as 400, Bug #25
78
79- mod_fastcgi
80 
81  added more checks
82
8328.02.2005 18:26
84- mod_expire
85
86  don't ignore 'modification' any more, Bug #39
87  only handles static files
88
89- last-modified
90
91  really compare timestamps, Bug #34
92
9328.02.2005 11:54
94- buffer
95
96  rewrote int2buffer functions
97
98  simplified path_simplify
99
100- pid-file
101
102  ignore EACCESS on unlink
103
10428.02.2005 10:35
105- mod_fastcgi
106
107  accept \n\n, Bug #32
108
109- cygwin
110
111  moved functions used by plugin and main-program to *-glue.c
112 
113- lemon
114
115  removed warnings about shadowed variables
116
11728.02.2005 01:00
118- ssl
119
120  added ssl.ca-file, Bug #19
121
122  improved error-messages
123
12427.02.2005 23:48
125- test cases
126
127  rewrote to test-framework to use Perl + Test::More
128  ported more test-cases
129
13022.02.2005 01:20
131- mod_fastcgi
132
133  replaced inet_addr by inet_aton
134
135- request-handling
136
137  fixed segfault if host is empty
138
13920.02.2005 20:05
140- cgi
141
142  fixed cgi.assign for empty handlers again
143
14420.02.2005 16:54 - 1.3.11
145- request handling
146
147  ignore \r\n before request-line in keep-alive requests (Bug #13)
148
149- cgi, fastcgi
150
151  added REMOTE_PORT and SERVER_ADDR
152
153  fixed check for broken status-code in nph-scripts (Bug #14)
154
155- fastcgi
156
157  fixed passing cmdline options the spawned binary (Bug #16)
158
159  fixed failed reconnects (Bug #9)
160
161- macos x
162
163  fixed build on max
164
165- mod_secdownload
166
167  parse conditional secure-download.secret (Bug #8)
168
169- mod_userdir
170
171  redirect if username is not followed by / (Bug #15)
172
17313.02.2005 17:33
174- mod_auth
175
176  fix crash if require, realm or method are empty (Bug #5)
177
17813.02.2005 14:52
179- network
180
181  handle EPIPE and ECONNRESET as 'client has closed connection' in writev()
182  (Bug #1)
183
184- macosx
185
186  compile error on MacOS X due to missing environ (patch by Johan S�sen)
187  (Bug #2)
188
189- indexfiles
190
191  append the detected indexfile only once to uri.path (reported by Thomas
192  Seifert)
193  (Bug #3)
194   
19506.02.2005 15:16 - 1.3.10
196- fastcgi
197
198  display a error-message if a hostname if specified in fastcgi.server->host
199  we need an IP here
200 
201- debug
202
203  added debug.log-state-handling
204 
205- spawn-fcgi
206
207  accept a full commandline for spawning
208
20906.02.2005 12:50
210- fastcgi
211
212  fixed openssl handling
213 
214- network_freebsd_sendfilev
215
216  gracefull handling of connections closed on client-side
217  removed debug-message
218
21906.02.2005 01:44 - 1.3.9
220- documentation
221
222  added docs for SSL setup and mod_status
223
224- fastcgi
225
226  fixed config handling on PowerPC for local-spawning
227
22805.02.2005 15:14
229- fastcgi
230
231  added bin-environment to setup the environment of the spawned process
232 
233  added bin-copy-environment to copy only the specified set of options
234  from the old environment
235 
236  added handling of cmd-line options to bin-path
237
238- setenv
239
240  fixed crashed in setenv.add-response-header
241
24204.02.2005 18:09
243- configure
244
245  fixed docs for --with-mysql
246 
247- fastcgi
248
249  improved performance of building the header (drop strlen())
250
25104.02.2005 01:59
252- cgi
253
254  don't send file on error
255 
256  check if cgi-handler exists before executing it
257 
258  added support for nph-...
259
26002.02.2005 21:18 - pre-release
261- request parsing
262
263  handle invalid characters in URI
264
26502.02.2005 15:12
266- makefiles
267
268  dropped unused header files from the distribution
269
27002.02.2005 14:18
271- fastcgi
272
273  delete sockets on shutdown
274 
275- http/1.1
276 
277  adding option to disable http/1.1
278
27901.02.2005 12:03
280- cygwin
281
282  fixed plugins_load to use the right extensions again
283  removed mmap check
284  added ssl support
285
28601.02.2005 01:49
287- configure
288
289  make check for valgrind.h covered by --with-valgrind
290 
291- mod_localizer, mod_maps
292
293  remove both plugins from the distribution
294 
295- file-not-found
296
297  handle file not found again
298 
29930.01.2005 16:44
300- HEAD requests
301
302  don't send content on dynamic HEAD requests with status 200
303
30430.01.2005 15:16 - 1.3.8
305- network-handler
306 
307  remove debug output on writev() if the remote side closed the connection
308 
309- directory index
310
311  handle EACCES correctly
312
31329.01.2005 15:16 - pre-release
314- mod_alias
315
316  fixed mod_alias + pathinfo handling
317 
318- mod_accesslog
319
320  added access-log to syslog patch from allan
321
32228.01.2005 17:30
323- directory redirect without Host-header
324
325  use server-ip instead of client-ip for the Location:
326
327- fastcgi + pathinfo
328
329  if fastcgi-auth redirects to a directory which doesn't exist handle it
330  correctly (bug introduced in 1.3.8)
331 
332- requesting directories
333
334  clean physical.path if directory is requested and dir-listing is disabled
335  send 403 again (buf introduced in 1.3.8)
336
33728.01.2005 12:08
338- fastcgi
339
340   ignore FDEVENT_HUP for unix-sockets as a simple read + timeout will do
341   the job anyway
342
34322.01.2005 20:28 - pre-release
344- fastcgi
345
346  send content and headers if authorizer mode is used
347 
348  use a new connection if connection is died to fastcgi
349  and we have not used it yet
350
35118.01.2005 21:21 - pre-release
352- plugins
353
354  added version-id to plugins to detect plugins which are not up-to-date
355
35616.01.2005 23:11
357- fastcgi
358
359  fixed write-failed after crash of fastcgi-child
360
36116.01.2005 20:43
362- setenv
363
364  fixed setenv.add-environment
365
366- fastcgi
367
368  fixed authorizer + added testcases
369
37016.01.2005 17:40 - pre-release
371- mod_status
372
373  beautified mod_status
374
375- mod_setenv
376
377  added setenv.add-environment
378
379- timeouts
380
381  add timeout to read-post
382
38315.01.2005 12:57
384- debug
385
386  added debug options to log
387  - missing files
388  - request header
389  - response header
390  - request handling
391
392  added a more usefull error message for the status-code changes in the
393  request parser
394
395- server announcement
396
397  set Server: header for dynamic content too
398
399- fastcgi
400
401  fixed double free
402
403  don't crash on FDEVENT_ERR
404
405  added a comment for EAGAIN on connect()
406
40708.01.2005 17:45
408- ssl
409
410  report an error if ssl.engine is enable but no ssl support compiled in
411
41208.01.2005 12:23
413- mod_status
414
415  added request time to the output
416 
417  (late changelog) added host and filename to the output (fobax)
418  (late changelog) HTMLalized the output (fobax)
419
42006.01.2005 19:51 - pre-release
421- error-handler
422
423  let the error-handler handle 403 requests too
424
425  make the error-handler setable by a module
426
427- error-pages
428
429  reworked the error-page handling
430
43105.01.2005 13:10
432- keep-alive handling
433
434  made sure that keep-alive is really handled correctly
435
43604.01.2005 17:02
437- mod_setenv
438
439  added a module to added request and response headers on the fly
440 
441- error-log
442
443  send error log to syslog() if no errorlogfile is specified (again)
444
44502.01.2005 22:44 - pre-release
446- response handling
447
448  cut of body for status 301, 304 and 205
449
450- buffer
451
452  optimized all _hex functions (Silvan Minghetti)
453
45402.01.2005 20:32
455- fastcgi
456
457  if bin-path is not specified, don't die (bug introduced in the last pre-rel)
458 
459- auth
460
461  if userfile is empty don't auth.
462
46302.01.2005 19:06
464- mod_compress
465
466  fixed off by one if cache-dir is not set
467
46802.01.2005 16:10
469- conditional config
470
471  fixed !~ and !=
472 
473- buffer
474
475  copy empty buffers correctly
476
47731.12.2004 17:45
478- ipv6 + pidfile
479 
480  don't complain if we can't remove the pidfile (Silvan Minghetti)
481 
482  remove ipv6 option from the commandline of lighttpd doesn't support
483  ipv6 (Silvan Minghetti)
484
48531.12.2004 15:41 - pre-release
486- kqueue
487
488  simplified event handling (adam)
489
490- fastcgi
491
492  fixed div-by-zero bugs in the adaptive process spawning
493
494- mysql-vhost
495
496  added mysql-vhost (Christer Holgersson)
497
49830.12.2004 19:09
499- fastcgi
500
501  added adaptive spawning of FastCGI processes
502
503- traffic shaping
504
505  added traffic shaping per virtual server
506
50728.12.2004 23:26
508- traffic shaping
509 
510  added traffic shaping per connection
511
51225.12.2004 22:58
513- mod_status
514
515  fixed status.url again (Timo)
516
51721.12.2004 11:29
518- configure
519
520  added check for signal and select (compile fix for netbsd 1.4 and 1.5)
521
52211.12.2004 12:38 - 1.3.7
523- fastcgi + php
524
525  retry to connect to another PHP child if one of them dies after
526  connect
527 
528- cgi + multipart
529
530  don't transform CONTENT_TYPE to HTTP_CONTENT_TYPE
531 
532- debian
533
534  more cleanup, updated changelog, added more deps and suggests
535  (Chris Brown)
536
53710.12.2004 22:33
538- event handler
539 
540  fixed crashes in kqueue
541
54210.12.2004 13:57 - pre-release
543- mod_status
544
545  fixed wraparound in total requests and total traffic
546 
547- debian
548
549  updated licence and packaging
550 
551- security
552
553  call setgroups() to get rid of all groups
554 
555- ssl
556
557  handle SSL_shutdown() == 0 correctly
558 
559  fixed openssl detection in configure
560 
561  fixed handling of chunked encoding
562 
563- request handling
564 
565  handle Connection: keep-alive correctly (case as not ignored)
566
56721.11.2004 02:39
568- windows
569
570  merged basic native windows port (compiles with mingw)
571
57220.11.2004 18:43
573- conditional
574
575  ported
576  - cgi
577  - secdownload
578  - expire
579  - localizer
580  - usertrack
581  - status
582  - proxy
583 
584- server-tag
585
586  Server: ... can now be specified by server.tag = "..."
587 
588- spawn-fcgi
589
590  fixed typo in usage text
591 
592- ssl
593
594  fixed detection of libs and headers
595
59605.11.2004 16:01
597- fastcgi
598
599  added more usefull error messages
600
60104.11.2004 23:01
602- ssi
603
604  added support for ${...}
605
60603.11.2004 14:51 - 1.3.6
607- fastcgi
608
609  added spawn-fcgi to the distribution
610  added spawn-local-fastcgi yourself ( bin-path )
611
61203.11.2004 11:22
613- accesslog
614
615  don't cycle accesslogs of external processes are used
616
61702.11.2004 15:34
618- fastcgi
619 
620  handle END-OF-REQUEST correctly if chunk-encoding is not used
621
62202.11.2004 10:53
623- internal redirects
624
625  fixed handling of query strings in internal redirects for directories
626
62702.11.2004 09:54 - pre-release
628- cgi
629
630  add REMOTE_USER, suppress AUTHORIZATION
631  handle payloads > 4k
632 
633- mod_alias
634
635  fixed url checking
636 
637- follow-symlink
638
639  fixed config
640
64131.10.2004 11:30 - 1.3.5
642- writev
643
644  fixed seg-fault in debug-message if write() fails and LFS is enabled
645  handle EINTR
646
647- sendfile linux
648
649  handle EINTR
650
65131.10.2004 09:09
652- freebsd
653
654  added missing header in joblist.c
655  fixed test-scripts for zsh
656
65730.10.2004 22:26
658- modules
659
660  added mod_userdir and mod_alias
661  added docs for the new modules
662
66330.10.2004 19:52
664- porting
665
666  added defines for MAP_FAILED for NetBSD 1.3.x
667
66830.10.2004 18:54 - pre-release
669- pipelining
670
671  fixed offset calculations
672
673- ipv6
674 
675  IPv6 might be disabled at compile-time
676
677- rewrite
678
679  close mem-leak
680
681- auth
682
683  forgot to reset the global-config handler
684 
685- symlink
686
687  add option to disable follow-symlink
688
689- ssi
690
691  added support for exec-cmd
692
69323.10.2004 - 1.3.4
694- max-fds
695
696  set the upper limit of fds only if server.max-fds is set
697
69823.10.2004 13:49
699- accesslog
700
701  use a shell to handle accesslog-pipes
702
70322.10.2004 17:00
704- accesslog
705
706  added logging of user-supplied data via %{...}o and
707  X-LIGHTTPD-* header
708
70922.10.2004 14:57 - pre-release
710- openwrt
711
712  fixed configure-checks and Makefile.am's to build cleanly with a
713  cross-compiler
714 
715  builds cleanly for openwrt
716
71722.10.2004 13:03
718- out-of-fd
719
720  improved the out-of-fd handler
721 
722- cgi, fastcgi
723
724  set SERVER_NAME to server.name or the value submitted by Host:
725 
726- error-handler
727
728  only set old status code if it wasn't set by a handler
729
73021.10.2004 22:36 - pre-release
731- fastcgi
732
733  don't crash on out-of-fd condition
734 
735- out-of-fd
736
737  try handle the out-of-fd condition in a sane way
738
73921.10.2004 15:03
740- mod_auth
741
742  seperated auth.backend.*.userfile for plain, htpasswd and htdigest
743 
744  added 'digest-auth' against 'plain-backend'
745 
746  added auth.debug for debugging
747
74816.10.2004 10:18 - 1.3.3
749- mod_simple_vhost, mod_evhost
750
751  conditional-ized
752
753- mod_rrdtool
754
755  maintain the request-counter for each conditional-config (adam)
756
75714.10.2004 11:30
758- accesslogs
759
760  cycle all access-logs
761 
762- mod_rewrite
763
764  tell the user to install pcre.h if he wants to use mod_rewrite
765
76610.10.2004 10:11 - pre-release
767- error-handler
768
769  added a error-handler for status 404 (server.error-handler-404)
770
77109.10.2004 16:28 - pre-release
772- cgi
773
774  added support for \n in headers
775 
776- mod_auth
777
778  added conditional auth
779
78001.10.2004 09:28
781- plugins
782
783  fixed off by one error in plugin initialization (Mike)
784  related into a segfault on AMD64
785
78630.09.2004 21:44 - 1.3.2
787- file-cache
788
789  disabled the file-cache it was taken the wrong files from the cache
790
79130.09.2004 08:39 - 1.3.1
792- file-cache
793
794  drop a unused file-cache entry after 10 seconds
795  reuse unused entries
796 
797- request-parser
798
799  accept IPv6 adresses in Host header
800 
801- tests
802
803  modified the scripts to work with zsh (check on Linux, Irix and FreeBSD)
804
80526.09.2004 12:28
806- comparission function
807
808  file-cache has delivering the wrong entry if only the last character of
809  the filename differed and the filesize was the same.
810
811- cgi + cygwin
812
813  cgi need s SYSTEMROOT environment
814 
815 
81622.09.2004 08:55
817- network
818
819  detect of file has been shrinked while we are sending it out and terminate
820  the connection if would run over the edge
821
82222.09.2004 07:56
823- mod rewrite, fastcgi, ...
824
825  keep REQUEST_URI after rewrite
826
82721.09.2004 22:49
828- fastcgi authorizer
829
830  fixed cleanup code (matt)
831
83221.09.2004 20:08
833- rrdtool
834
835  rrdtool.db-name is now conditional
836 
837  fixed check if write() failed (adam)
838
83917.09.2004 17:50 - 1.3.0
840- rewrite
841
842  added url.rewrite-final = ...
843
84417.09.2004 15:55
845- code cleanup
846
847  integrated the fixes from cygwin into the main tree
848 
849- kqueue
850
851  init kqueue after daemonizing (broken since 12.09.2004 14:02)
852
85316.09.2004 21:00
854- cygwin + macosx
855
856  finished the cygwin port
857  this port seems to fix the problems on macosx too
858
85912.09.2004 14:02
860- socket handling
861
862  added support to handle more than one server socket
863
86411.09.2004 12:23 - 1.2.8
865- EINTR
866
867  handle EINTR for linux-sendfile
868
869- configfile
870
871  ignore an extra comma at the end of the array declaration
872
87311.09.2004 09:46
874- mod_proxy
875
876  pass remote-addr as X-Forwarded-For to the real server behind the proxy
877 
878- code cleanup
879
880  moved all cut'n'paste versions of the inet_ntop cache to inet_ntop_cache.c
881 
882- fcgi
883
884  don't overwrite the fd in fcgi_establish connection if connect fails. this
885  results in various problem in other places.
886
88705.09.2004 09:46
888- file-cache
889
890  cache the mimetype
891
892- last-modified
893
894  don't complain if the If-Modified-Since contains a valid comment/option
895  like <timestamp>; length = ...
896
89705.09.2004 09:13
898- expires
899
900  overwrite the Expire if it is set by a previous plugin
901 
902- conditional config
903
904  conditional config as disabled in 1.2.7 by accident
905
90604.09.2004 10:02 - 1.2.7
907- mod-proxy
908
909  remove the \0 before the post content
910
911- cgi
912
913  fixed hanging process if cgi-crash terminates to fast (before we read its
914  response)
915 
916- extented attributes
917
918  added xattr support, submitted by Ari
919
92029.08.2004 16:00
921- rrdtool
922
923  moved the rrdtool support from mod_status into its own module mod_rrdtool
924 
925  rrdtool.binary = "/usr/bin/rrdtool"
926  rrdtool.db-name = "/var/www/lighttpd.rrd"
927 
92829.08.2004 11:00 - pre-release
929- timeouts
930
931  server.max-keep-alive-requests = 0 replaces
932    server.use-keep-alive = "disable"
933   
934  added
935    server.max-keep-alive-idle
936    server.max-read-idle
937    server.max-write-idle
938   
939- docs
940
941  added a entry for each config-value into configuration.txt
942  added simple docs for
943    rewrite
944    redirect
945    compress
946    cgi
947    simple-vhost
948
94929.08.2004 10:05
950- config options
951
952  complain if no configfile is specified
953 
954- fastcgi
955
956  removed stupid allocation bug which might cause a problem in really rare
957  cases
958
95926.08.2004 22:06 - 1.2.6
960- optimize
961
962  use array_strcasecmp() in favour of strcasecmp() as it is slightly
963  faster.
964 
965  apply the case-insentive conversion also on the last character. (adam)
966 
967  sort the checked elements in request.c and filter apply the logic to
968  compare some less fields, if the header is not used.
969 
970  improved the config-patch function to use our internal buffer-compare
971  functions instead of strcmp
972
97322.08.2004 16:09 - pre-release
974- cgi
975
976  added missing cleanup code
977 
978- fastcgi
979
980  remove double-free
981  added handling of EINTR in some places
982
983- leaks
984
985  fixed some leaks in the new config code
986 
987- array_strcasecmp
988
989  fixed alignment in the improved array_strcasecmp function (adam)
990
99120.08.2004 14:46 - pre-release
992- performance
993
994  optimized a few useless strlen() away as we either know the length from
995  buffer->used - 1 or by sizeof(str) - 1 if it is constant.
996 
997  optimized the 'find the \r\n\r\n' function.
998 
999  improved the array_strcasecmp() based on another idea from (ralf)
1000
1001- accesslog
1002
1003  enabled the strftime cache again
1004
100515.08.2004 23:41
1006- accesslog
1007
1008  added apache-like CustomLog handling in accesslog.format
1009 
1010  accesslog.format = "..."
1011
101215.08.2004 21:08
1013- test-cases
1014
1015  remove testdir
1016
1017- configfiles
1018
1019  handle escaping of " in strings properly
1020
102113.08.2004 12:07
1022- array
1023
1024  improved inner-loop of array_strcasecmp() (ralf)
1025
102611.08.2004 14:14
1027- fcgi socket
1028
1029  use SUN_LEN if available
1030 
1031- keep-alive
1032
1033  disable keep-alive on request
1034 
1035  server.use-keep-alive = "disable"
1036
103710.08.2004 15:59 - 1.2.5
1038- conditional config
1039
1040  mod_fastcgi
1041  mod_rewrite
1042  mod_redirect
1043  mod_access
1044  mod_compress
1045  mod_accesslog
1046 
1047  are ported
1048
104910.08.2004 13:05
1050- pipelining
1051
1052  fixed very stupid pipelining bug
1053
105409.08.2004 22:07 - pre-release
1055- conditional config
1056
1057  first code for conditional config
1058
105909.08.2004 14:21
1060- fcgi
1061
1062  fixed access to free()'d memory (doesn't create any harm)
1063 
1064- isdigit, warings
1065
1066  signed -> unsigned for 2 more isdigit() calls (adam)
1067  removed some unused var's if pcre is not available (adam)
1068
106908.08.2004 20:57 - pre-release
1070- debian
1071
1072  added a chmod to /var/log/lighttpd/ (allan)
1073
107408.08.2004 12:05
1075- kqueue
1076 
1077  use EV_SET() instead of setting the ev-struct by hand (adam)
1078 
1079- fcgi
1080
1081  fixed the EINPROGRESS handling to use getsockopt (er)
1082  fixed a leak of server is disabled (er)
1083 
1084- solaris 10 port-api
1085
1086  added a skeleton for the sol10 port api
1087
108806.08.2004 10:18
1089- mod_ssi
1090
1091  fix DATE_LOCAL so it displays the correct time zone (Jeremy Hinegardner)
1092
109304.08.2004 11:43
1094- openbsd fixes
1095
1096  dropped usage of MAX() in buffer.c
1097  added prober includes for md5.h if openssl is enabled (brad)
1098 
1099- memory usage
1100
1101  documented the way how lighttpd caches memory blocks
1102  reset the buffers after they have been written by the network-layer
1103 
1104- kqueue
1105
1106  modify fd-bitmask only if kevent succeeded (adam)
1107
1108
110903.08.2004 15:09
1110- mod_compress
1111
1112  compress even if you have no cachedir set
1113
111403.08.2004 13:26 - pre-release
1115- Makefile
1116
1117  fixed dependencies for parallel build in mod_ssi_expr.c
1118 
1119- combo patch
1120
1121  * Tinker with kqueue().  Add a reset method so that the kqueue file
1122    descriptor can be re-enabled after a fork().  Emulate the devpoll driver
1123    in that adds and deletes are sent to the notification mechanism im-
1124    mediately, which should cut down on phantom events.  Use
1125    ev->kq_results as a sliding window.
1126 
1127  * Change F_SETFD calls to use the preferred FD_CLOEXEC instead of 1.
1128 
1129  * Remove unnecessary fdevent fcntl handlers.  It appears that the only
1130    driver that needs one is Linux RT signals.
1131   
1132  * Quiet compiler warning about unused parameter.
1133   
1134  * Set the close-on-exec flag for the /dev/poll and epoll_create() file
1135    descriptors.
1136     
1137  * Return failure if /dev/poll could not be opened instead of logging
1138    and continuing.
1139       
1140  * Detect EAGAIN after writev() failures.  FreeBSD sendfile() doesn't need
1141    protection, as the man page says:
1142         
1143     When using a socket marked for non-blocking I/O, sendfile() may send
1144     fewer bytes than requested.  In this case, the number of bytes success-
1145     fully written is returned in *sbytes (if specified), and the error
1146     EAGAIN is returned.
1147     
1148  (adam, georg, matt)
1149
1150
115102.08.2004 18:08
1152- mod_ssi
1153
1154  check for pcre before compiling the module
1155 
1156- fdevents
1157
1158  dropped fdevent_fcntl added by the last patch (adam)
1159  kqueue: events == FDEVENT_IN -> events & FDEVENT_IN (adam)
1160
116131.07.2004 22:07 - 1.2.4
1162- fdevents
1163
1164  * Test at configure time for kqueue() and <sys/event.h>
1165  * Remove various hard-coded constants from event handlers
1166  * Move maxfds into the event structure, and out of the
1167    fdevent_*_init handlers.  Event handlers can use the maxfds
1168    member to size arrays.
1169  * Various event structure renames to discourage clashes
1170  * Remove extra (ignored) call to fdevent_event_next_fdndx() in
1171    the main server loop.
1172  * Wrestle with kqueue().  The implementation has to deal with
1173    phantom events (for fds which have been deleted/closed), similar
1174    to the Linux RT signals code.  Like the RT code, it maintains a
1175    bitmask of active fds.  After a successful call to kevent(), the
1176    code will compress/overwrite dead events.  The other annoyance is
1177    that the handler must track the event filter for each fd, even
1178    though you cannot support both read and write filters for the same
1179    fd in one kqueue.  The handler maintains a separate bitmask for fd
1180    filters (1 == EVFILT_IN, 0 == EVFILT_OUT).
1181  (adam)
1182 
1183- server side includes
1184
1185  added native server-side includes based on the docs from apache:
1186  http://httpd.apache.org/docs/mod/mod_include.html
1187 
1188  not supported are:
1189  - exec
1190  - nested virtual
1191  - config.errmsg
1192  - echo.encoding
1193
119424.07.2004
1195- fdevents
1196
1197  added a bitset to figure out if we received a event for an unregistered fd
1198  in rt-signal (adam)
1199
1200- kqueue
1201
1202  added kqueue support (Matt Levine)
1203
120413.07.2004 08:58
1205- configfile
1206
1207  parse keys correctly that contain a digit (Geoff Adams)
1208 
1209- fcgi
1210
1211  fixed large post uploads (Geoff Adams)
1212  fixed uri if docroot is set (Geoff Adams)
1213
121403.07.2004 22:50 - 1.2.3
1215- index-files
1216
1217  rewrite uri.path to the index-file instead of keeping it at .../
1218  this fixes index-file handling in FastCGI/CGI docroot is used
1219 
1220- close-on-exec
1221
1222  enable close-on-exec handling to simplify FD handling in CGI code
1223 
1224- cgi
1225
1226  keep error-log-fd open to catch the error handling for execve()
1227 
1228  report error if cgi-exec file doesn't exist
1229 
1230- proxy
1231
1232  pass page-content on error to the user (E.R.)
1233  code cleanup (E.R.)
1234 
1235- ssi
1236
1237  first skeleton of a plugin for ServerSideIncludes
1238 
1239- security
1240
1241  limit the headerlength again to 64k max
1242
124303.07.2004 14:23
1244- configure
1245
1246  fixed compile-check for libpcre if pcre-config doesn't point to /usr/lib
1247
124802.07.2004 18:17
1249- buffers
1250
1251  always allocate a multiply of 64bytes. this should reduce the number of
1252  realloc()s and still doesn't has a too high overhead.
1253
125402.07.2004 11:07
1255- fds
1256
1257  connect stdin, stdout and stderr to /dev/null instead of just closing it
1258  use dup2() instead of dup()
1259 
1260- accesslog
1261
1262  if accesslog.filename starts with a | spawn a process which will get data
1263  in one chunk once in a while
1264
126501.07.2004 11:00
1266- sample config
1267
1268  added text/css and text/javascript mimetypes
1269
127028.06.2004 12:18
1271- proxy module
1272
1273  added a proxy module (based on the fastcgi module) and added some
1274  documentation
1275
127625.06.2004 21:41
1277- last-modified handling
1278
1279  replaced %Z by GMT. otherwise the last-modified check will most often fail.
1280
128124.06.2004 20:20
1282- relax http-parser
1283
1284  don't reply 400 in case of an empty header-field, just ignore it
1285
128623.06.2004 22:10
1287- file-cache
1288
1289  don't cache mmap() for files larger than 64k as we run out of RAM otherwise
1290  too fast (check with some 200mb files)
1291
1292- 64bit fixes
1293
1294  fixed buffer_equal on sparc64
1295
129615.06.2004 19:09 - 1.2.2
1297- mmap cache
1298
1299  fixed mmap-caching in network_write.c and network_writev.c after a direct
1300  hint by E.Rodichev
1301
1302- sendfile + linux
1303
1304  check at config-time if sendfile() works on Linux
1305
130611.06.2004 15:09
1307- fcgi + unix sockets
1308
1309  added support for unix domain sockets (spawn-fcgi 1.2.0 required)
1310
131110.06.2004 11:49
1312- configure
1313
1314  use pcre-config to determine the position of the pcre headers
1315
131605.06.2004 22:06
1317- filehandle-cache
1318
1319  remove mmap-segment if filecache gets invalidated
1320
132130.05.2004 14:13 - lighttpd 1.2.1
1322- response headers
1323
1324  request headers that appear twice are grouped together like expected by
1325  the CGI spec (concat with a ", ")
1326  response headers behaved the same way but are not grouped anymore. They
1327  stay seperated. Actually they are concated by \r\n<key>: <value> which is
1328  the same in the end.
1329 
1330- file uploads
1331
1332  the handling of longer post requests is fixed now.
1333
133428.05.2004 09:13
1335- cgi
1336
1337  added support for direct calls to cgi-binary
1338
133922.05.2004 21:58
1340- pipeling
1341
1342  the code cleanup is finished successfully. Now all cases of pipelining are
1343  handle the right way. POST pipelining was still not working up to now.
1344 
134522.05.2004 12:55
1346- code cleanup
1347
1348  use the well-tested code from the write-queue as the base for the
1349  read-queues and simplify the pipeline handling alot that way.
1350
135120.05.2004 15:08
1352- network backends
1353
1354  enabled sendfile support again (__FreeBSD__ instead of __freebsd__)
1355 
1356  added a mmap cache as part of the filedescriptor cache
1357 
1358  added AIX specific send_file() support (untested)
1359
136020.05.2004 10:40
1361- segfaults
1362
1363  fixed some minor segfaults on startup when no config file is used.
1364
136517.05.2004 10:58 - lighttpd 1.2.0
1366- documentation
1367
1368  reformated the documentation the doc/ directory
1369 
137015.05.2004 14:45
1371- localizer
1372
1373  fixed build of localizer extension
1374
137515.05.2004 12:35
1376- POST requests
1377
1378  there is no need to die if we spot a simple POST request on a static file
1379 
1380- pipelining
1381
1382  fixed HTTP/1.1 pipelining which caused the problems with opera
1383
1384- array handling
1385
1386  how did that bug survive such a long time ? a wrong compare function was
1387  used in one case, but not the other.
1388
138915.05.2004 03:20
1390- secure and fast downloads
1391
1392  added a module which allows secure and fast downloading of files:
1393  1. the application (.php, ...) controls the access to the files
1394  2. the webserver is handling the transfer (and check the app generated
1395     tokens)
1396     
1397  the token is based on
1398  - a secret
1399  - a timestamp
1400  - the filename
1401  this means even if the token is is distributed by the user it will get
1402  invalid after a given timeout (default 60 seconds)
1403 
1404- errorfiles
1405
1406  check for errorfiles before using them
1407     
1408- code cleanup
1409
1410  applied cleanup fixes from adam
1411
141214.05.2004 18:47
1413- fdevent handling
1414
1415  added a more generic callback interface to the fdevent structures which
1416  simplifies the writing of plugins. this might destabilize lighttpd for a
1417  while
1418 
1419- cgi
1420
1421  fixed header parsing of the header is sent in chunks and the terminator is
1422  sent in a single chunk
1423 
1424- EINTR
1425
1426  fixed some occurences of EINTR which read()
1427
142803.05.2004 23:55
1429- portability
1430
1431  E.R.:
1432  * portability fixes for Solaris 2.5
1433
143402.05.2004 10:15
1435- Expect: Handling
1436
1437  added incomplete support for Expect: 100-continue (RFC 2616 8.2.3) by
1438  sending always 417 for every Expect-request (see 14.20)
1439 
1440  we have been blamed for not supporting it:
1441  http://lists.w3.org/Archives/Public/ietf-http-wg/2004JanMar/0059.html
1442
144329.04.2004 23:07 - 1.1.9
1444- usertracking
1445
1446  added a very basic usertracking cookie handler
1447
144829.04.2004 19:37
1449- network-writev
1450 
1451  Adam:
1452  * call munmap() on error in write()
1453 
1454- docs
1455 
1456  E.R:
1457  * documented 'check-local'
1458 
1459- test-env
1460
1461  made the shell scripts more portable (checked with zsh, bash and ksh)
1462 
1463  fixed compilation on NetBSD
1464
146528.04.2004 22:22
1466- FastCGI
1467
1468  E.Rodichev:
1469  * added "Authorizer" mode for FastCGI
1470
147127.04.2004 18:08
1472- ssl
1473
1474  Alexey Slynko:
1475  * handle SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE in SSL_write the
1476    right way.   
1477
1478- FastCGI
1479
1480  add 'check-local' instead of the implicit 'if-docroot-is-set' handling
1481  implemented at 24.04.2004 14:34
1482
1483  E.Rodichev:
1484  * remove useless extra-/ in before uri.path
1485  * add 'prefix' notation for FastCGI processes
1486
148726.04.2004 16:52
1488- code cleanup
1489
1490  patches from Alexey Slynko:
1491  * remove the pidfile if lighttpd terminates the normal way (if not in chroot)
1492  * init SSL before getting daemonized
1493
149425.04.2004 19.15
1495- mem-leak
1496
1497  fixed mem-leak on broken HTTP-headers
1498 
1499- FastCGI
1500
1501  patches from E.Rodichev:
1502 
1503  1. CONTENT_LENGTH
1504  "If no data are attached, then this metavariable is either NULL or not
1505  defined".
1506 
1507  2. QUERY_STRING
1508  If the Script-URI does not include a query component, the QUERY_STRING
1509  metavariable MUST be defined as an empty string ("").
1510 
1511  3. Doubling of REMOTE_ADDR removed.
1512 
1513  patches from adam:
1514  * fixed bug in the sizeof() patches from yesterday.
1515  * some more *_long to *_off_t
1516
151724.04.2004 14:34
1518- FastCGI
1519
1520  don't check for localfile if 'docroot' for a FastCGI host is specified.
1521
152224.04.2004 12:13
1523- POST
1524
1525  fixed POST request handling
1526 
1527- chunk-encoding
1528
1529  the generated HEX strings where broken since the 1.1.8
1530  (this effected all HTTP/1.1 requests without Content-Length like FastCGI-PHP)
1531
1532- code cleanup
1533
1534  patches from adam:
1535  * malloc + memset -> calloc
1536  * sizeof(int) -> sizeof(<variable>)