File: ChangeLog

package info (click to toggle)
tntnet 2.1-2%2Bdeb7u1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 5,784 kB
  • sloc: cpp: 16,001; sh: 11,498; ansic: 2,216; makefile: 858; sql: 10
file content (943 lines) | stat: -rw-r--r-- 27,450 bytes parent folder | download
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
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
2012-03-26 tommi@tntnet.org

 - fix generation of tntnet-config (shared lib flag was missing)
 - add documentation about --autoproject option of tntnet-config

2012-02-29 tommi@tntnet.org

 - fix debug output
 - use name of type also as key into scope variables to prevent binding variables to instances of different type

2012-02-25 tommi@tntnet.org

 - set compile flags for ibm xlc

2012-02-14 bendri

 - replace cxxtools::int64_t with standard int64_t

2012-02-09 tommi@tntnet.org

 - remove code for blocking mode from openssl and gnutls since it is not used anyway and was not working for a long time

2012-02-09 tommi@tntnet.org

 - fix declaration template class (clang complained about it)

2012-02-09 tommi@tntnet.org

 - add missing headers (yofuh)

2012-02-08 tommi@tntnet.org

 - update ChangeLog

2012-01-09 tommi@tntnet.org

 - Use atomic operations instead of mutex in zdata. This fixes occational crashes on shutdown on AIX.

2011-12-15 tommi@tntnet.org

 - flag -qmkshrobj is still needed on AIX

2012-01-09 tommi@tntnet.org

 - Use atomic operations instead of mutex in zdata. This fixes occational crashes on shutdown on AIX.

2011-12-07 tommi@tntnet.org

 - output warning, when there is white space other than line feed after closing %-Tag

2011-12-04 tommi@tntnet.org

 - increase default listen backlog from 16 to 64

2011-09-29 tommi@tntnet.org

 - fix reuse of session id (may leak on parallel requests)

2011-09-25 tommi@tntnet.org

 - fix for autoconf 2.68

2011-09-20 tommi@tntnet.org

 - fix help page in ecppc
 - fix type in demo (std::set::erase takes a non const iterator)

2011-09-12 tommi@tntnet.org

 - the names of autotools projects created with tntnet-config may have special characters

2011-09-05 tommi@tntnet.org

 - DefaultDestroyPolicy was renamed to DeletePolicy in cxxtools

2011-08-25 tommi@tntnet.org

 - define constant for content-disposition header

2011-08-10 tommi@tntnet.org

 - fix license headers of files from minizip by updating them to the most recent version

2011-06-24 tommi@tntnet.org

 - reuse session id if already set instead of replacing it

2011-06-05 tommi@tntnet.org

 - ignore SIGPIPE always

2011-05-30 tommi@tntnet.org

 - add setting ErrorLog for redirecting stderr to a file

2011-05-29 tommi@tntnet.org

 - return error code if client tries to use http header Expect

2011-05-29 tommi@tntnet.org

 - add documentation for AcessLog into man page tntnet.conf(7)

2011-05-08 tommi@tntnet.org

 - do not translate '+' to space when parsing urls

2011-04-03 tommi@tntnet.org

 - add xptemplates (vim template plugin)

2011-04-03 tommi@tntnet.org

 - fail to start tntnet if ssl is configured but not compiled in

2011-04-03 tommi@tntnet.org

 - remove ipv4 addresses from configuration files

2011-03-26 tommi@tntnet.org

 - add "<?? cond ? expr ?>" to ecpp for printing conditionally something without escaping html similar to "<$$ ... $>"

2011-03-26 tommi@tntnet.org

 - set log category of components settable in ecppc using flag -l

2011-02-20 tommi@tntnet.org

 - fix a small documentation bug and update version number in quick start guide

2011-02-17 tommi@tntnet.org

 - add makefile rule to compile a .ico file

2011-01-23 tommi@tntnet.org

 - add background worker threads

2011-01-20 tommi@tntnet.org

 - set lib deps using LIBADD instead of LDFLAGS (thanks idl0r)

2011-01-16 tommi@tntnet.org

 - remove feature for preloading applications (it did not work anyway and it has limited use)

2011-01-09 tommi@tntnet.org
 - remove "Load" setting (and feature) from tntnet.conf since it did not work and is useless

2011-01-03 tommi@tntnet.org
 - add a generator for a autotools project to tntnet-config script

2010-11-13 tommi@tntnet.org
 - cleanup code to reduce compiler warnings

2010-11-07 tommi@tntnet.org
 - accept full uri in http request line as rfc demands

2010-10-25 tommi@tntnet.org
 - implement support for ranges in static@tntnet (or more precise: one range)

2010-09-04 tommi@tntnet.org
 - fix compile bug in gnutls support

2010-08-07 tommi@tntnet.org
 - fix handling of application name in session cookies

2010-08-01 tommi@tntnet.org
 - release 2.0

2010-07-30 tommi@tntnet.org
 - documentation updates

2010-07-18 tommi@tntnet.org
 - prefer application name over library name for session cookie

2010-07-10 tommi@tntnet.org
 - better error message, when number cannot be converted in %args-section
 - handle non empty strings as true in boolean arguments, so that submit buttons can be easily queried

2010-07-09 tommi@tntnet.org
 - fix race condition when stopping tntnet

2010-07-05 tommi@tntnet.org
 - keep session when component returns with DECLINED and no new session is
   found

2010-06-24 tommi@tntnet.org
 - do graceful shutdown on SIGINT

2010-06-15 tommi@tntnet.org
 - add support for access.log with common log format
 - fix bug, where always the first file of multibinary components was sent

2010-06-14 tommi@tntnet.org
 - files compiled with ecppc -b compressed when requested

2010-06-03 tommi@tntnet.org
 - set proper text in http reply header instead of defaulting to OK

2010-05-31 tommi@tntnet.org
 - do not log_warn if static file is not found in static@tntnet

2010-05-22 tommi@tntnet.org
 - use compression in multibinary components and cache the compressed data
 - fix for a very old bug, which may cause a crash when a component was called
   in parallel the first time

2010-04-06 tommi@tntnet.org
 - ecppc -I do not need a space before the parameter any more

2010-03-21 tommi@tntnet.org
 - do not generate current time into generated source to help tools like ccache detecting identity

2010-03-10 tommi@tntnet.org
 - use application/x-data as mime type in multibinary components when
   mimetype is otherwise unknown.
 - sort file names correctly in multibinary components

2010-02-26 tommi@tntnet.org
 - send cookies also in redirect and not authorized replies

2010-02-21 tommi@tntnet.org
 - new feature: make components callable from the command line using "tntnet -C compid"

2010-02-19 tommi@tntnet.org
 - make application name in tntnet application class settable
 - add a demo for using tntnet application class (calcapp)

2010-02-03 tommi@tntnet.org
 - (url-)decode cookie value as is should be

2010-01-27 tommi@tntnet.org
 - do not add a dot at the end of session cookie name if no library is set

2010-01-27 tommi@tntnet.org

2010-01-18 tommi@tntnet.org
 - improve logging output

2009-12-30 tommi@tntnet.org
 - make RTLD_LOCAL the default loading mechanism

2009-12-22 tommi@tntnet.org
 - do not use deprecated cxxtools::Dynbuffer but std::vector instead
 - remove unused class inflatestream
 - cxxtools::Pipe is moved to cxxtools::posix::Pipe
 - fix bug, where tntnet did not use keep alive when in HTTP 1.1 the connection header was ommitted

2009-12-21 tommi@tntnet.org
 - make unit test optional

2009-12-17 tommi@tntnet.org
 - handle utf8 correctly

2009-12-16 tommi@tntnet.org
 - fix bug, where a component, which followed a not matched MapUrl declined a
   request was called twice when the request was repeated
 - add proper locking to the url map cache

2009-12-15 tommi@tntnet.org
 - new classes tnt::SessionUnlocker and tnt::ApplicationUnlocker

2009-12-04 tommi@tntnet.org
 - load component libraries with RTLD_GLOBAL if library name is prefixed with ! in tntnet.conf

2009-12-04 tommi@tntnet.org
 - Do not use the file name of ecpp files as class names of generated components
   any more but let component names contain aribtrary characters (except \0).
   Ecppc gets the -p switch to include the full path of the source file into the
   component name.

2009-11-24 tommi@tntnet.org
 - optimization: use fixed size buffer of 4k for message header to reduce allocations
 - add some unit tests

2009-11-17 tommi@tntnet.org
 - send http error detected in parse state
 - use a fixed buffer of 8 bytes (7 + '\0'-terminator) for http method instead of std::string

2009-11-15 tommi@tntnet.org
 - add current file name to error messages and format messages like gcc

2009-11-15 tommi@tntnet.org
 - set FD_CLOEXEC properly for listeners
 - let cxxtools set FD_CLOEXEC for accepted sockets (needs up to date cxxtools)
 - do not derive Messageheader from std:multimap but delegate calls instead to a member multimap
 - remove tnt::Tntnet::forkProcess and tnt::Tntnet::runProcess methods (they are obsolete with FD_CLOEXEC set)

2009-11-15 tommi@tntnet.org
 - read of http body slightly optimized: do not use stringstream to convert content length to number

2009-11-11 tommi@tntnet.org
 - don't use cxxtools-config script any more

2009-11-07 tommi@tntnet.org
 - bugfix: wrong buffer for notification of poller was used, which may lead to a buffer overflow in very rare cases

2009-10-30 tommi@tntnet.org
 - make refcounting of tnt::Scope and tnt::Job thread safe

2009-10-30 tommi@tntnet.org
 - Send one set-cookie header per cookie instead of comma separated list.
 - The comma separated list as specified in rfc 2109 just don't work. This is actually a bug in the rfc.

2009-10-27 tommi@tntnet.org
 - new demo for reverse ajax, jquery and json

2009-10-17 tommi@tntnet.org
 - default to openssl instead of gnutls
 - add optional stressjob for stresstesting tntnet
 - process all requests read into input buffer (bugfix)
 - use cxxtools::RefCounted for reference counting Scope class
 - optimize sending reply: do not add missing headers to request before sending but send directly

2009-10-10 tommi@tntnet.org
 - change default charset from iso-8859-1 to UTF-8

2009-05-30 tommi@tntnet.org
 - allow comma in typenames of scoped variables (needed for templates with multiple type arguments)

2009-05-21 tommi@tntnet.org
 - add some missing includes and other fixes for solaris

2009-05-21 tommi@tntnet.org
 - set mime type explicitely when compiling other than ecpp-files

2009-04-13 tommi@tntnet.org
 - allow objects in scopes without transfering ownership and use that in <%param>-scope

2009-03-11 tommi@tntnet.org
 - bugfix: content-type field was not checked correctly for POST-requests

2009-02-18 tommi@tntnet.org
 - new method request.touch() to rearm the watchdog in daemon mode

2009-02-18 tommi@tntnet.org
 - increase default buffer size for ssl connections

2009-02-13 tommi@tntnet.org
 - remove regex-class since we have it in cxxtools already

2009-02-10 tommi@tntnet.org
 - decouple httprequest from network definitions by using a interface to determine server- and peer-addresses

2008-12-07 tommi@tntnet.org
 - be more robust on epoll failures

2008-12-07 tommi@tntnet.org
 - use read write mutex instead of mutex in component loader for better scalability

2008-12-06 tommi@tntnet.org
 - use more lightweight smart pointer for library handle

2008-11-26 tommi@tntnet.org
 - use RTLD_LOCAL-flag when loading components to improve separation between applications

2008-10-15 tommi@tntnet.org
 - make shutdown of tntnet cleaner and faster by using conditions

2008-07-04 tommi@tntnet.org
 - move shortcut methods into a separate class tnt::Configurator. This also
    ensures binary compatibility with previous releases

2008-06-16 tommi@tntnet.org
 - add shortcut methods for configuring tntnet to tnt::Tntnet-class to
    ease configuration when tntnet is used as a library

2008-06-03 tommi@tntnet.org
 - release version 1.6.3

2008-05-31 tommi@tntnet.org
 - allow multiline initialization in scope variables
 - handle ' and " in c++-comments correctly in ecpp parser

2008-05-25 tommi@tntnet.org
 - fix clearCookie (set cookie path as in setCookie; was broken since
    2007-06-17)

2008-04-05 tommi@tntnet.org
 - define %args-variables before scoped variables, so it is possible to use
    %args variables to initialize scoped variables.
 - fix shutdown

2008-04-04 tommi@tntnet.org
 - default output for ecppc -M is stdout, not the basename of the source
 - don't set content-type- and keep-alive-headers when switching to direct
    mode

2008-03-29 tommi@tntnet.org
 - fix error and timeout handling in gnutls
 - improve gnutls performance by letting handshake happen in parallel
    between sockets

2008-03-23 tommi@tntnet.org
 - fix error handling in accept; accept in gnutls may throw exceptions,
    which tntnet did not catch. This resulted in a break of the accept-
    loop.

2008-03-19 tommi@tntnet.org
 - support certificate chains in openssl

2008-03-17 tommi@tntnet.org
 - clear username and password between keep-alive requests

2008-02-07 tommi@tntnet.org
 - simplify handling of scoped variables

2008-01-03 tommi@tntnet.org
 - openssl fixes
 - remove warnings when shutting down
 - make timersleep configurable

2007-12-28 tommi@tntnet.org
 - set FD_CLOEXEC on listener socket and accepted connections

2007-12-09 tommi@tntnet.org
 - tnt::Tntnet::forkProcess and runProcess to start processes.
    with a simple fork the child process inherits the listener ports
    and prevents restarting tntnet while the child process runs.
 - pass application object to request

2007-12-02 tommi@tntnet.org
 - named arguments from urlmapping to components, e.g.
    request.getArgs("DocumentRoot")

2007-11-18 tommi@tntnet.org
 - fixed cookie handling (did not work in some cases on IE)
 - reply.uout() for printing url encoded data

2007-11-04 tommi@tntnet.org
 - allow initialization of scope variables in ecpp with "type = value;"

2007-10-25 tommi@tntnet.org
 - move class tnt::Dispatcher::CompidentType to tnt::MapTarget
 - fix some warnings and errors produced by gcc when using -pedantic

2007-10-21 tommi@tntnet.org
 - search components in pkglibdir

2007-10-17 tommi@tntnet.org
 - set content-type also in other than POST requests

2007-10-15 tommi@tntnet.org
 - move most of tntnet into libtntnet to ease embedding tntnet in
    applications

2007-08-22 tommi@tntnet.org
 - allow underscore in name of scoped variables

2007-08-19 tommi@tntnet.org
 - rebuild epoll-fd after detecting inconsistency instead of failing

2007-08-11 tommi@tntnet.org
 - new feature: pass named parameters of any class to subcomponents

2007-07-14 tommi@tntnet.org
 - prefix classname in generated components with "_component_" to reduce
    possible naming-conflicts and allow components to have reserved c++-words
    as names (like "template")

2007-07-10 tommi@tntnet.org
 - generate macro SET_LANG to set language inside components

2007-07-08 tommi@tntnet.org
 - new methods request.setLocale(std::locale) and
    reply.setLocale(std::locale)

2007-07-07 tommi@tntnet.org
 - restructure HttpMessage/HttpRequest/HttpReply and pass additional
    http-headers with HttpError-exceptions
 - make HttpReply::notAuthorized and HttpReply::redirect throw an exception,
    so that it can be called in subcomponents easily

2007-07-03 tommi@tntnet.org
 - allow "char *var;" in scoped-variables
 - don't listen on 0.0.0.0:80 if only ssl-listeners are configured

2007-06-30 tommi@tntnet.org
 - support for http-basic-authentification
 - new tag <%doc>...</%doc> (long form of comment-tag)

2007-06-20 tommi@tntnet.org
 - use C-locale if standard-locale ($LANG) is unknown

2007-06-17 tommi@tntnet.org
 - add debug-statements in dispatcher for easier debugging of
    MapUrl-statements
 - set cookie-path in session-scope to extend sessions to all pages

2007-05-29 tommi@tntnet.org
 - fix typo in redirect-component (name is redirect, not redired)

2007-05-27 tommi@tntnet.org
 - don't warn about unknown mime-type for ecpp-files
 - fix internationalization in subcomponents

2007-05-23 tommi@tntnet.org
 - use requestname as base filename in multibinary-generation by default
 - document option --mimetypes in ecppc

2007-05-20 tommi@tntnet.org
 - make content-type-detection in ecppc working again (broken since
    AddType-fix on 2007-05-16)

2007-05-17 tommi@tntnet.org
 - fix minor protocol-error when sendfile is used (connection was closed
    after request although the header specified to use keep-alive)

2007-05-16 tommi@tntnet.org
 - AddType-configuration-variable fixed

2007-05-13 tommi@tntnet.org
 - removed method isTop() from components, since it is not reliable in all
    circumstances. The feature is replaced with a additional virtual
    operator()-variant in tnt::Component.

2007-05-11 tommi@tntnet.org
 - change newsdb-demo to use built in connectionpool of tntdb
 - build-improvements (port to solaris/SunStudio)

2007-05-08 tommi@tntnet.org
 - allow cookie-values to have commas

2007-05-07 tommi@tntnet.org
 - fix gnutls
 - fix componentloader (crashed sometimes under load)

2007-05-04 tommi@tntnet.org
 - fix tntnet-config-script for Mac-OS-X

2007-05-03 tommi@tntnet.org
 - make tnt::MimeDb non-case-sensitive
 - building tntnet-server and cgi-lib is now optional and on by default
    for sdk-only-builds (useful for cross-builds)
 - make setting user and group working again

2007-04-29 tommi@tntnet.org
 - send gz-file in static@tntnet when gzip-encoding is accepted and a gz-file
    is available
 - use sendfile(2) in static@tntnet when possible

2007-04-25 tommi@tntnet.org
 - remove support for non-singleton components (it is useless now)

2007-04-16 tommi@tntnet.org
 - 2 other serious bugs fixed: epoll was not always waked up on new jobs.
    After this, idle-jobs where queued until system-resources were
    exhausted. Another problem was a race-condition when the http-date-header
    was generated. After these fixes tntnet runs stable under high load.

2007-04-15 tommi@tntnet.org
 - fixed serious bug: don't delete thread-scope in request - worker-thread
    does this

2007-04-11 tommi@tntnet.org
 - new option -L for ecppc to disable generation of #line-directives
 - add missing includes and rename some variables to suppress warnings from
    Sun Studo 11 (thank you Mark)

2007-03-27 tommi@tntnet.org
 - fix race-condition in scope-handling, which caused a crash on MP-boxes
    under high load
 - check for enough worker-threads to handle all sockets (tntnet now needs at
    least one per listen-socket after removing listener threads)
 - make thread-sleep-time configurable (default: 10s)

2007-03-25 tommi@tntnet.org
 - use TCP_DEFER_ACCEPT if available
 - remove listener-threads - worker threads now accept connections,
    which removes on context-switch on each accepted connection

2007-03-24 tommi@tntnet.org
 - new demo calci18n

2007-03-21 tommi@tntnet.org
 - change license from GPL to LGPL
 - new configure-option --with-epoll=yes|no|probe

2007-03-20 tommi@tntnet.org
 - look for LANG-settings also in sub-query-parameters

2007-03-18 tommi@tntnet.org
 - be more tolerant about whitespace in http-header

2007-03-13 tommi@tntnet.org
 - fix bug, which caused tntnet sometimes to fail loading components
 - new feature: tnt::HttpReply::resetContent

2007-03-11 tommi@tntnet.org
 - url-decode non-ascii-characters in path-info

2007-03-10 tommi@tntnet.org

 - revert signalhandlers for SIGPIPE and SIGABRT, which were lost when
    modularized
 - standard-components static and unzip set mime-type now

2007-01-24 tommi@tntnet.org

 - move process-handling from class Tntnet to a separate class Process

2006-12-03 tommi@tntnet.org

 - print full path of dependencies in ecppc -M
 - debug-log when fetching scoped variables

2006-11-23 tommi@tntnet.org

 - Option "-I dir" for ecppc, ecppl, ecppll

2006-11-20 tommi@tntnet.org

 - use epoll-interface when available

2006-11-18 tommi@tntnet.org

 - make sdk and demos optional in build-system
 - fix bug, which made keep-alive-timeout unnecessary short

2006-11-17 tommi@tntnet.org

 - Remove global factory-symbol from shared libraries. This makes it possible to
    have components with identical names in different libraries.

2006-11-16 tommi@tntnet.org

 - VMapUrl (virtual host specific mapping)

2006-11-05 tommi@tntnet.org

 - changed some less informative log-entries from info to debug
 - added logging of file-size in static pages
 - reading tntnet.conf from current directory in non-root accounts
 - using port 8000 as default-port in non-root accounts

2006-09-22 tommi@tntnet.org

 - major bugfix: MaxRequestSize was not checked for 0 in POST-requests.
    the result was, that POST-requests did not work in the default
    configuration at all.
 - Version 1.5.3

2006-09-09 tommi@tntnet.org

 - fix crash in cgi-library when using thread-scope in cgi-programs

2006-08-22 tommi@tntnet.org

 - tntnet has now a complete set of man-pages

2006-08-19 tommi@tntnet.org

 - increase maximum limits for better default scalability

2006-07-09 tommi@tntnet.org

 - thread-scope variables
 - new demo "alldemos", which links to all other demos

2006-07-03 tommi@tntnet.org

 - cookies are case-insensitive (see rfc 2109)

2006-06-25 tommi@tntnet.org

 - make http-headers case-insensitive as per spec
 - don't delete components any more - they don't eat so much memory
    and it is impossible to know, when components aren't needed any more

2006-06-20 tommi@tntnet.org

 - graceful shutdown of ssl-connections (gnutls and openssl)

2006-06-16 tommi@tntnet.org

 - new demo-applications calcmvc, which shows a simple mvc-pattern, and
    calcajax, which demonstrates, how to use ajax with tntnet

2006-06-10 tommi@tntnet.org

 - port to gnutls

2006-06-08 tommi@tntnet.org

 - take first commandline-argument as configurationfile
 - remove unnecessery virtual destructors (although this triggers some
    compiler-warnings)

2006-05-24 tommi@tntnet.org

 - fix linking with openssl for Open-BSD (and possibly others)
 - try harder to shut down listener

2006-05-08 tommi@tntnet.org

 - send charset in content-type-header with HTTP/1.1

2006-04-29 tommi@tntnet.org

 - improved namespace-support for components

2006-04-26 tommi@tntnet.org
 - support for IPv6

2006-04-12 tommi@tntnet.org

 - new demo newsdb, which reads news from a database using tntdb
 - add openssl-license and allow tntnet to be linked with openssl
 - fix names of standard-components (components in tntnet.so)

2006-04-04 tommi@tntnet.org

 - ANSI-C++-fixes
 - make SIGTERM a graceful shutdown

2006-03-24 tommi@tntnet.org

 - include #line-directives into generated code to help finding
    syntax errors in components

2006-03-23 tommi@tntnet.org

 - fix ssl
 - delay closing standard-handles for better error-reporting at startup
 - fix internationalization

2006-03-02 tommi@tntnet.org

 - locale-cache
 - poll before read, which reduces system calls even more

2006-02-16 tommi@tntnet.org

 - dramatic performance-improvement by optimization of locale-handling

2006-01-25 tommi@tntnet.org

 - add support for locales

2006-01-15 tommi@tntnet.org
 - Simplified constant data-handling for i18n
 - i18n is now controled with <%i18n>-tags

2005-12-31 tommi@tntnet.org

 - components can be compiled into cgi-programs

2005-12-09 tommi@tntnet.org

 - new demo "controls" to demonstrate usage of end-tags
 - new configuration-variables ListenBacklog, ListenRetry, EnableCompression

2005-12-08 tommi@tntnet.org

 - tntnet now supports gzip-encoding

2005-12-02 tommi@tntnet.org

 - end-tags for component-calls
 - documentation-updates and converted to open-document-format

2005-12-01 tommi@tntnet.org

 - fixed SSL-problems - need to mutex-lock SSL-read and -write-calls

2005-11-08 tommi@tntnet.org

 - store comploader in objectpool for later reuse.
 - derive workerthread from DetachedThread and delete itself on exit

2005-11-04 tommi@tntnet.org

 - new health-check - if a thread takes too long for processing (default: 10
    minutes), the thread is considered hanging and tntnet is restarted
    automatically.

2005-10-22 tommi@tntnet.org

 - delay initialization of logging after changing user and group. This ensures
    that logfiles are created with the right permissions.
 - increase defaults for MinThreads from 5 to 10 and MaxThreads from 10 to 100.
    Threads are not that expensive and it should not hurt to create much more.

2005-10-18 tommi@tntnet.org

 - components with compressed data did not work any more - fixed

2005-09-26 tommi@tntnet.org

 - one level of indirection of factory-pointer removed.
 - detection of cxxtools- and zlib-headers fixed. Missing headers trigger a
    error at configure-time.

2005-09-15 tommi@tntnet.org

 - components are created with a factory instead of a create-method.
    This way there is no need to convert a void* to a function-pointer, what
    is not defined in c++.

2005-08-23 tommi@tntnet.org

 - documentation update (see doc/tntnet.sxw)
 - initscript update - tntnet reload

2005-08-22 tommi@tntnet.org

 - new namingconventions: classfiles start with uppercase, methods with lowercase
 - use cxxtools-1.4.0

2005-06-27 tommi@tntnet.org

 - fixed ssl-threading problem

2005-06-22 tommi@tntnet.org

 - dependencygeneration fixed (no *.h-dependency any more unless requested)
 - no escape of '&' in sout()
 - fixed upload.ecpp-demo
 - fixed ecppl/ecppll

2005-06-13 tommi@tntnet.org

 - components are generated in .cpp-files only by default (no .h-files)
 - bugfix: component-type was not filled
 - unsave html-character-output in <$...$> and <?...?...?> is escaped

2005-06-02 tommi@tntnet.org

 - scope-variables
 - automatic session-handling
 - removed boost dependency

2005-05-17 tommi@tntnet.org

 - version 1.3.1 released

2005-05-17 tommi@tntnet.org

 - monitor-process calls listen before fork of worker instead of worker.

2005-05-03 tommi@tntnet.org

 - better startup-handling: parent-process wait for child to start
    successfully and listen to ports

2005-05-09 tommi@tntnet.org

 - Bug: peeraddress was cleared at keep-alive
 - init-scripts starts tntnet on restart even when not running

2005-03-03 tommi@tntnet.org

 - logs remote ip-address in category debug

2005-02-10 tommi@tntnet.org

 - new syntax for calling subcomponents

2005-01-23 tommi@tntnet.org

 - better scalability by creating a poller-thread, which monitors
    multiple idle connections instead of having a worker-thread
    for each connection.
 - worker-threads are dynamically stopped and started
 - Version 1.3.0 released

2005-01-12 tommi@tntnet.org

 - version 1.2.3 released
 - some protection against DoS-attacks (MaxRequestSize, MaxBodySize,
    MaxHeaderSize)
 - support for Cookies
 - tnt::savepoint

2004-12-14 tommi@tntnet.org

 - version 1.2.2 released
 - Bug in Keep-Alive fixed

2004-12-05 tommi@tntnet.org

 - version 1.2.1 released
 - Content-MD5-header
 - moved logging-wrapper to cxxtools (1.2.1)
 - typed arguments

2004-11-25 tommi@tntnet.org

 - version 1.2.0 released
 - use cxxtools-1.2.0

2004-11-24 tommi@tntnet.org

 - add missing CR in HTTP-Header

2004-11-22 tommi@tntnet.org

 - init-script checks, if tntnet is really running when pid-file is found

2004-11-12 tommi@tntnet.org

 - version 1.1.3 released
 - generate tntnet.conf with autoconf to get autoconf-parameters in

2004-11-11 tommi@tntnet.org

 - added missing tntnet.so.*

2004-11-03 tommi@tntnet.org

 - version 1.1.2 released
 - improved autoconf/automake-buildsystem
 - minor feature-improvements and bugfixes

2004-10-25 tommi@tntnet.org

 - version 1.1.1 released
 - buldsystem changed to autoconf/automake

2004-09-20 tommi@tntnet.org

 - resolved: server might crash under high load, because I linked it
    with the non-multithreaded regex-library

2004-09-16 tommi@tntnet.org

 - new build for compatibility with cxxtools 1.1

2004-09-07 tommi@tntnet.org

 - fixed HTTP-header

2004-08-31 tommi@tntnet.org

 - version 1.1 released
 - ecpp-components read LANG from request first.

2004-03-25 tommi@tntnet.org

 - initial release 1.0