root/tags/release-1.3.12/ChangeLog

Revision 74, 99.1 kB (checked in by jan, 3 years ago)

fixed handling of dead fastcgi processes if deamonized

fixed handling of dead fastcgi process which sent their SIGCLD to
initd and not to lighttpd. Moving the daemonize before starting
the fastcgi procs fixes this.

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