forked from aolserver/aolserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
4598 lines (3325 loc) · 145 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
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
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2009-12-24 Jeff Rogers <[email protected]>
* include/nsthread.h: added pre-8.6 compatibility define
for Tcl_GetErrorLine
* nsd/adpeval.c:
* nsd/tclloop.c: removed direct access to TclInterp->errorLine
for tcl api change in TIP #336
* nsd/init.tcl: added _ns_genensemble to recreate ensemble
commands in interpreter init script
2009-12-08 Jim Davidson <[email protected]>
* include/ns.h: Changed definition of Ns_QueueWait, added
NS_FILTER_READ and NS_FILTER_WRITE constants and definition
for new Ns_ConnContentAvail.
* nsd/Makefile: Added tclstore.o.
* nsd/conn.c: Added Ns_ConnContentAvail routine and "avail"
option to ns_conn command.
* nsd/connio.c: Add call to invoke new write filters.
* nsd/driver.c: Fixed bugs with the pre-queue filter and
que-wait callback interfaces, added calls to read filters,
and added a socket state transition debug log message.
* nsd/queue.c: Moved some connection setup/cleanup to the
driver to make pre-queue and read filters safer.
* nsd/tclrequest.c: Added "read" and "write" options to
ns_register_filter.
* nsd/tclstore.c (new file):
* nsd/tclsock.c:
* nsd/tclcmds.c: New ns_tls, ns_cls, and ns_quewait commands.
* tcl/pools.tcl: Changed default timeout from 0 (no longer
supported) to 30.
* doc/Ns_TempFile.3:
* doc/Ns_Filter.3: Added detail to what were man page stubs.
* doc/Ns_ConnContent.3: Added detail on Ns_ConnContentAvail
command and notes on usage in pre-queue and read filters.
* doc/ns_filter.n: Re-wrote man page to include new options
and a file upload progress example.
* doc/ns_cls.n (new file):
* doc/ns_tls.n (new file):
* doc/ns_quewait.n (new file): Man pages for new commands.
* doc/Ns_Cleanup.3 (new file):
* doc/Ns_RegisterServerTrace (new file): New man pages for
routines previously documented in Ns_Filter.3.
2009-05-15 Gustaf Neumann <[email protected]>
* nsd/pools.c:
Allowing maxconns to be set to 0
2009-05-14 Gustaf Neumann <[email protected]>
* nsd/httptime.c:
Made output of ns_httptime independent of locale setting.
The change is based on a patch of Alexey Pechnikov,
fixing an incorrect patch in the debian source tree.
* tcl/stats.tcl:
Fix typo
2009-03-08 Gustaf Neumann <[email protected]>
* Fix of two bugs with nsproxy:
a) The initialize Tcl to avoid crash with Tcl8.5, when the
nsproxy binary is started (see
http://groups.google.com/group/aolserver/browse_thread/thread/28113c5324a6747e)
b) Truncate name of proxy_id to avoid buffer overflows,
increase allowed length of proxy name from 16 to 64 (and
provide constant MAX_PROXY_ID_LEN to ease maintenance)
2009-02-01 Gustaf Neumann <[email protected]>
*** AOLserver 4.5.1 RELEASED ***
2009-02-01 Gustaf Neumann <[email protected]>
* nsd/pools.c:
2009-02-01 tag aolserver_v45_r1
2009-01-29 Gustaf Neumann <[email protected]>
* nsd/pools.c:
Fixed error message for 'ns_pools set' command
* nsd/tclcache.c: Fixed behavior such that 'return' in
'ns_cache eval' works like described in the documentation
and in the old nscache module. Example:
ns_cache eval mycache mykey { return [expr {1+1}] }
Before, 'return' raised a tcl error.
* doc/ns_cache.n: added documentation of optional 'pattern'
argument for 'ns_cache names'.
* Updated Changelog.
2009-01-29 Gustaf Neumann [email protected]
* nsssl/ssltcl.c:
Remove direct access to interp->result
* Changelog: Completed Changelog entries from commits after
the 4.5.0 release.
2009-01-19 Gustaf Neumann [email protected]
* tcl/fastpath.tcl,
* tcl/file.tcl:
* tcl/form.tcl:
* tcl/http.tcl:
* tcl/nsdb.tcl:
* tcl/packages.tcl:
* tcl/sendmail.tcl: Use Tcl 8.4 non-numeric comparison
operators where appropriate
2008-12-27 Gustaf Neumann [email protected]
* nsd/nsd.h:
* nsd/pools.c:
* nsd/queue.c:
* tcl/pools.tcl:
New configure parameter "spread" for ns_pools:
Background: Requests are distributed to idle threads via
CondSignal, which delivers subsequent signals to idle
threads in a circular manner (i.e. t1, t2, .. tn, then t1
again) determined by the scheduling policy of the operating
system. This round robin behavior has the disadvantage that
multiple threads terminate about at the same time, based on
the maxconnections (or maxconns) value. The idle timeout
will never be used on a sufficiently busy server.
The mass termination of threads is performance-wise bad,
especially when many connections threads are configured,
since it is likely that about the same amount of threads
will be recreated. The "spread" parameter introduces a
random factor into threadtimeout and maxconnections to avoid
these termination cycles. It adds +/- the specified
percentage to maxconnections and threadtimeout (e.g. a
spread of 20 means a random value between 0.80 to 1.20 of
the specified value of maxconnections and threadtimeout for
every connection thread).
2008-12-05 Gustaf Neumann [email protected]
* include/ns.h:
* nsd/limits.c:
* nsd/pools.c:
* nsd/server.c:
* nsext/nsext.c:
- Provide names for all Ns_Mutex to report meaningful output
in aolserver statistics
- Set version number to 4.5.0p1 to differentiate from 4.5.0
unpatched release
2008-10-12 Gustaf Neumann [email protected]
* tcl/stats.tcl: Fixed Tcl expressions such they can be
compiled into Tcl byte code
2008-09-24 Gustaf Neumann [email protected]
* nsd/queue.c: Fixed boundary condition for starting threads
(there was a problem at least with keepwait > 0 and
minthreads = 0)
2008-06-20 Gustaf Neumann [email protected]
* nscp/nscp.c:
* nsd/tclloop.c:
* nsd/tclshare.c:
* nsproxy/nsproxylib.c:
Remove direct access to interp->result
* Initializing potentially uninitialized variables
in nsproxy/nsproxylib.c:
2008-05-13 Jeff Rogers <[email protected]>
* configure.in: Add -nostartfiles flag to link line when -shared
is already there. Without this, build fails against tcl8.5
* configure: Regenerated
2008-05-10 Daniel P. Stasinski [email protected]
* nsperm/nsperm.c:
Fixed bug with netmask parsing
2008-05-06 Gustaf Neumann [email protected]
* nsd/tclfile.c:
Adding missing variable declaration
2008-04-24 Gustaf Neumann [email protected]
* nsd/tclfile.c:
Fix ns_tmpnam for WIN32 environments to return a path in the
TMP directory.
2008-03-22 Gustaf Neumann [email protected]
* nsd/fd.c: Fix for Mac OS X Leopard: setrlimit with
RLIM_INFINITY fails and causes Ns_Log to crash (fix was
sketched by David Caruso on the aolserver mailing list on
Jan 10, 2008)
2008-01-24 Dossy Shiobara <[email protected]>
* nscgi/nscgi.c: Added Tcl command "ns_register_cgi" which
effectively does the same as "ns_param map" at startup, as
it takes the same argument, the map string. Also,
REQUEST_URI is now properly set in the env. for CGI
executables.
* nscgi/nscgi.c: Backported nscgi.c rev 1.33 change to
aolserver_v40_bp branch.
* nscgi/nscgi.c: Backported nscgi.c rev 1.34 change to
aolserver_v40_bp branch.
* nscgi/nscgi.c: Oops, REQUEST_URI should have only been the
Request-URI, not including the query string.
* nscgi/nscgi.c:
Untabified source, no code changes.
2007-10-26 Gustaf Neumann [email protected]
* nsd/nsd.h:
* nsd/pools.c:
* nsd/queue.c: Keep track of connection thread state. Two new
variables are introduced:
- starting: keeps the number of currently
starting threads
- waiting: the number of threads in the cond waiting state
These variables help to get a more precise understanding and
allow for better knowledge for thread creation (especially
under heavy load)
2007-10-22 Gustaf Neumann [email protected]
* nsd/queue.c: Remove old code for allowing to run more than
maxconns requests in one thread (replaced by thread
creation); Maintain min-threads threads when threads are
exiting.
2007-10-21 Gustaf Neumann [email protected]
* nsd/queue.c:
Protect poolptr condition by mutex
2007-10-20 Gustaf Neumann [email protected]
* nsd/nsd.h:
* nsd/pools.c:
* nsd/queue.c:
Continuing work on BUG #1615787; instead of performing in
boundary situations in the worst case more than the
configured maxconns requests, a new connection thread is
created automatically after the exit of a thread coming to
the end of it work cycle, when jobs are pending and no other
thread is able to process these.
* tcl/util.tcl:
using Tcl 8.4 string comparison operators
2007-10-19 Tom Jackson [email protected]
* nsd/queue.c: Previous versions of AOLserver included the
threadpool name in the name of the thread. This commit
simply adds back that making it easier to figure out what
threadpool was used for a request.
2007-10-19 Gustaf Neumann [email protected]
* nsd/driver.c:
* nsd/queue.c:
Better fix for BUG #1615787 in aolserver 4.5. Although the
original fix apparently helped for www.openacs.org, it
appears to simply change the timing, but did not fix the
problem itself. The problem was that under limited resource
configurations (e.g. maxthreads 5, maxconnections 3) and
heavy traffic, incoming requests were queued but not
processed in new connection threads. The situation was
especially bad, when the number of queued requests was
larger than maxconnections, since after processing n
requests the server was idling with a high number of queued
requests. New requests were put to the end of the queue
while old (maybe already timed-out) requests are being
served. The server appeared to hang. The current fix cares
for queued requests even when maxconns is exceeded. A maybe
better approach is to limit the number of queued requests or
to restart automatically threads when a thread exists due to
maxconns exceeded.
2007-09-29 Gustaf Neumann [email protected]
* nsd/conn.c:
Extend ns_conn by two commands:
- ns_conn channel: Return a Tcl channel from the current
connection. This channel can be used to talk via Tcl I/O
to the remote client afterwards. "ns_conn channel" was
originally written by Zoran.
- ns_conn contentsentlength ?number?: Query or set the
number of octets sent to the client. This command can be
used in connection with "ns_conn channel" to adjust the
length entry in a log file in cases, the file was sent via
Tcl I/O.
* tcl/charsets.tcl:
fix unbraced expressions and old style comparisons
2007-08-24 Michael Andrews [email protected]
* tcl/packages.tcl:
Modified log message to better conform to AOLserver standards.
2007-08-17 Michael Andrews [email protected]
* tcl/packages.tcl:
I changed the way this file works. It now reads the
following from the server config:
ns_section "ns/server/${serverName}/packages"
ns_param library /some/path/here
ns_param library /some/path/here
ns_param library /some/path/here
ns_param library /some/path/here
ns_param require packageNameHere
ns_param require packageNameHere
ns_param require packageNameHere
All "library" values are added to the ::auto_path All
"require" values are executed by "ns_ictl package require" The
"nsinit" and "nspostinit" procs are then run for each package.
This allows you to specify packages to load at start up.
2007-08-01 Michael Andrews [email protected]
* tcl/packages.tcl:
- Added License info
- changed init commands to all lower case.
* tcl/pools.tcl:
Added pools.tcl file to set default pool params from server
config.
* tcl/pools.tcl:
Changed caps in debug notice.
* tcl/pools.tcl:
Changed debug to notice
* tcl/pools.tcl:
Changed maxconns to maxconnections as it was in old
AOLserver.
* examples/config/base.tcl:
Changed maxconns to maxconnections to be backward compatible
2007-06-13 Michael Andrews [email protected]
* examples/config/base.tcl:
Added nscp to the base.tcl (We need to redo the filesystem
layout and configs for the out of the box install).
2007-05-11 Nathan Folkman <[email protected]>
* nsproxy/nsproxylib.c: Fixed crash bug that occurred when
trying to create more then one proxy pool. The proxy id now
takes the form of:
<pool>-proxy-<number>
2007-05-08 Michael Andrews [email protected]
* tcl/init.tcl:
No longer adds $AOLSERVER/lib to the auto_path if it already
exists.
* tcl/packages.tcl:
Optimized the code.
* tcl/packages.tcl:
removed hard return used for testing.
2007-05-07 Michael Andrews [email protected]
* tcl/packages.tcl:
Added packages.tcl:
1) Reads config to set lib paths.
2) Reads config to load packages using ns_ictl.
3) Runs nsInit procs.
4) Runs nsPostInit procs.
2007-03-12 Nathan Folkman <[email protected]>
* nsd/tclhttp.c: Preliminary support added for getting and
retrieving binary data.
2007-01-22 Tom Jackson [email protected]
* nsd/tclresp.c:
Bug where Tcl_SetBooleanObj accesses shared object, fixed
with copy of obj
2006-12-15 Dossy Shiobara <[email protected]>
* nsd/driver.c: [BUG #1615787] Fix deadlock bug when driver
thread stalls under specific conditions. Thanks to Jeff
Rogers and Gustaf Neumann.
2006-08-17 Bas Scheffers [email protected]
* nsd/tclfile.c: Changed file permissions of mkdir to 777 so
it works properly with the system's umask.
2006-08-08 Dossy Shiobara <[email protected]>
* include/nsattributes.h: Provide default no-op defines for
gcc attributes correctly to enable builds on older gcc to
work. Previously, "may_alias" attribute resulted in gcc
older than 3.3 to no longer build. This minor change fixes
this.
2006-07-07 Jim Davidson <[email protected]>
* include/ns.h:
* nsd/return.c: Added Ns_RegisterRedirect as a replacement to
Ns_RegisterReturn which did not require a virtual server
argument as expected.
* nsd/server.c: Updated to call new Ns_RegisterRedirect,
fixing bug #1518426
* doc/Ns_ConnReturnStatus.3: Updated to document the new
Ns_RegisterRedirect, removing reference to
Ns_RegisterReturn.
2006-06-28 Nathan Folkman <[email protected]>
* nsd/adpeval.c: Fixed crash bug in NsAdpLogError() when a
NULL adp->framePtr is encountered.
2006-06-27 Dossy Shiobara <[email protected]>
*** AOLserver 4.5.0 RELEASED ***
2006-06-27 tag aolserver_v45_r0
2006-06-27 Jim Davidson <[email protected]>
* Makefile:
* util/install.sh (new file): Restored pre-4.5 Unix install
script installed in bin/ directory again.
* include/ns.mak.in: Restored various pre-4.5 Unix install
variables.
* nsd/adpeval.c: Removed some dead code.
2006-06-25 Jim Davidson <[email protected]>
* RELEASE (new file): Release notes.
* include/ns.h: Update for version 4.5 final.
* nsd/adpcmds.c:
* nsd/tclcmds.c: Added ns_adp_compress command present in
version 4.0.x.
* nsd/compress.c: Added Ns_Compress and Ns_CompressGzip
routines present in version 4.0.x
* nsd/driver.c: Fixed bug with pre-HTTP/1.0 request parsing.
* tcl/sendmail.tcl: Updated with fixes in 4.0.x from
* util/nsinstall.tcl: Updated to support installing from a
lndir-created symbolic-link tree build directory and fixed
bug logging file modes of installed files.
* nsproxy/ns_proxy.n:
* nsproxy/nsproxylib.c: Added the "send", "wait", and "recv"
options to the ns_proxy command to support async requests.
Also, updated the extended error response info.
* doc/man.macros (deleted)
* include/man.macros (new file): Moved man pages include
file to the include directory where it's installed for use
by extension man pages.
* doc/Ns_ConnReturnStatus.3: Added details on the
Ns_RegisterReturn(3) routine.
2006-06-22 Nathan Folkman <[email protected]>
* nsd/adprequest.c: Fixed bug preventing ns_adp_stream
from working correctly due to NsAdpReset() being called
when it should not have been.
2006-06-19 Jim Davidson <[email protected]>
* nsd/adprequest.c:
* nsd/adpeval.c:
* nsd/adpcmds.c: Fixes for bug #1389389 where calls to ADP
outside a normal ADP request (e.g., within an ns_register_proc
callback) caused the connection to close.
* nsd/adpparse.c: Based on a patch from Alastair Young,
restored the AOLserver 3.x ADP parsing order where registered
tags, <% ... %> scripts, and <script> ... </script> tags
all have the same precedence. Also, fixed the parser to
handle nested sequences, e.g.:
<% ns_adp_puts [ns_adp_eval {<% ... %>} %>
2006-06-02 Jim Davidson <[email protected]>
* configure:
* configure.in: Added check for Darwin (OS/X) to disable
detection of poll which appears broken. Result is select
is used instead.
* nsd/driver.c: Fixed spurious "recv failed" messages when
clients dropped which should only have shown up when the
"debug" flag was set for a comm driver.
* nsd/tclinit.c:
* nsd/tclloop.c: Minor edits to silence compiler warnings.
2006-05-01 Zoran Vasiljevic <[email protected]>
* nsproxy/nsproxylib.c: CloseProxy() did not set "once" after
creating the cleanup thread, resulting in many cleanup threads
(needlessly) created.
2006-04-28 Jim Davidson <[email protected]>
* nsd/adpcmds.c:
* nsd/adprequest.c: Fixed crash bug with NsAdpAppend being
called without an active ADP execution frame.
* doc/Makefile:
* util/nsinstall-man.sh: Makefile now installs man.macros
into the AOLserver include/ directory. The install script
will search there and other common locations to support
installing man pages located outside the doc/ directory.
2006-04-19 Nathan Folkman <[email protected]>
* include/ns.mak.in: Fixed to better support building 64-bit
on Mac OS X. Assuming Tcl is built with 64-bit extensions
enabled, it is no longer necessary to explicitly set CC.
* nszlib/Makefile: Added optional ZLIB environment variable
to allow user to define location of libz. Default is /usr/lib.
2006-04-19 Jim Davidson <[email protected]>
* configure:
* configure.in: Removed check for zlib now loadable by
nszlib module.
* doc/Ns_Conn.3:
* doc/Ns_ConnClose.3 (new file):
* doc/Ns_ConnContent.3:
* doc/Ns_ConnCopy.3:
* doc/Ns_ConnDriver.3:
* doc/Ns_ConnFlush.3 (new file):
* doc/Ns_ConnHeaders.3 (removed):
* doc/Ns_ConnQuery.3:
* doc/Ns_ConnQueueHeaders.3 (new file):
* doc/Ns_ConnRead.3:
* doc/Ns_ConnRedirect.3 (new file):
* doc/Ns_ConnReturn.3:
* doc/Ns_ConnReturnData.3 (new file):
* doc/Ns_ConnReturnFile.3 (new file):
* doc/Ns_ConnReturnOpen.3 (new file):
* doc/Ns_ConnReturnStatus.3 (new file):
* doc/Ns_ConnSend.3:
* doc/Ns_ConnSetHeaders.3 (new file):
* doc/Ns_ConnStatus.3 (new file):
* doc/Ns_ConnType.3 (new file):
* doc/Ns_ConnWrite.3 (removed):
* doc/Ns_Gzip.3 (new file):
* doc/Ns_Info.3:
* doc/Ns_Pathname.3: Update various man pages.
* include/ns.h: Added Ns_Gzip, Ns_SetGzipProc, and Ns_BinPath.
* nsd/compress.c: Changed from Ns_Compress to Ns_Gzip and
moved code to new nszlib module.
* nsd/connio.c: Updated to call Ns_Gzip, added Ns_ConnFlushDirect,
and fixed bug reading final line in Ns_ConnReadLine.
* nsd/fastpath.c: Fixed bug with mapped content.
* nsd/modload.c: Removed legacy pre-10.4 OS/X module loading
code as dlopen, etc. is now supported.
* nsd/pathname.c: Added Ns_BinPath.
* nsd/return.c: Now uses Ns_ConnFlushDirect in ReturnData
and changed Ns_ConnReturnHtml to call Ns_ConnReturnCharData
to ensure text is encoded as needed.
* nproxy/Makefile (new file):
* nsproxy/nsproxy.c (new file):
* nsproxy/nsproxy.h (new file):
* nsproxy/nsproxylib.c (new file):
* nsproxy/nsproxymod.c (new file): New AOLserver/Tcl
pipe-based proxy support.
* nszlib/ChangeLog (new file):
* nszlib/Makefile (new file):
* nszlib/README (new file):
* nszlib/example.tcl (new file):
* nszlib/ns_zlib.n (new file):
* nszlib/nszlib.c (new file):
* nszlib/nszlib.h (new file): New zlib extension for
AOLserver 4.5. Provides both the "ns_zlib" command and
enables the Ns_Gzip routine. Based on work by Vlad Seryakov
2006-04-14 Nathan Folkman <[email protected]>
* nsthread/reentrant.c: Updated ns_inet_ntoa() to be 64-bit safe.
2006-04-13 Jim Davidson <[email protected]>
* include/Makefile.global:
* include/Makefile.module: Backwards compatible makefiles
which map variables and include the new ns.mak.
* Makefile: Added install-tcl, install-skel, install-util,
install-bins, and install-docs directives.
* configure:
* configure.in: Uses CC var on OS/X which can be set for
64bit build. Regenerated configure from configure.in
* nscgi/nscgi.c: Removed minor memory leak when no CGI
mappings are present.
* nsd/Makefile:
* nsd/tclloop.c: Added new ns_for, ns_foreach, ns_while,
and ns_loop_ctl commands to support monitored Tcl loop
structures.
* nsd/adpparse.c: Clarified difference between script, proc,
and adp registered tags.
* nsd/conn.c: Added optional arg to ns_conn status to set
result status if present.
* nsd/connio.c: Switch to memchr to avoid running off the
end of mmap'ed content.
* nsd/driver.c:
* nsd/queue.c: Moved free of various conn structures to
driver where they were allocated to avoid illusion of driver
constantly leaking memory freed in conn threads.
* nsd/init.tcl: Init and interp dup code now makes better
use of ns_ictl.
* nsd/nsd.h:
* nsd/server.c: Added support for ns_ictl package and once
in the NsInterp struct.
* nsd/nsmain.c: Added call to Tcl_Finalize on exit.
* nsd/sockcallback.c: Switched to NsPoll from direct poll.
* nsd/tclcmds.c: Added ns_adp_registerscript, ns_for,
ns_foreach, and ns_while commands and removed the dummy
ns_init and ns_cleanup commands.
* nsd/tclinit.c: Updated trace execution order to be FIFO
and LIFO for init and cleanup callbacks and moved more of
the interp dup code to the bootstrap script. Also, added
the ns_ictl package and once commands.
* nsd/tclobj.c: Removed panic when compiling on 64bit
machines and simplified int to time conversion code.
* doc/Ns_Alloc.3:
* doc/Ns_Exec.3:
* doc/ns_addr.n
* doc/ns_at.n
* doc/ns_cache.n
* doc/ns_chan.n
* doc/ns_init.n
* doc/ns_urlencode.n: Updated some man pages (much more to do).
* doc/ns_adp.n: Modified to be an ADP overview only with
commands in separate files.
* doc/ns_proc.n (removed): Moved to ns_register_proc.n.
* doc/ns_crash.n (removed): Not implemented.
* doc/Makefile: Uses new simple man page install independent
of section and added install of index.adp html browser.
* doc/index.adp (new file):
* doc/ns_adp_ctl.n (new file):
* doc/ns_adp_debug.n (new file):
* doc/ns_adp_exception.n (new file):
* doc/ns_adp_include.n (new file):
* doc/ns_adp_mimetype.n (new file):
* doc/ns_adp_puts.n (new file):
* doc/ns_adp_registertag.n (new file):
* doc/ns_adp_stats.n (new file):
* doc/ns_ictl.n (new file):
* doc/ns_lctl.n (new file):
* doc/ns_register_proc.n (new file): New man pages.
* include/ns.mak.in: Simplified man page install and added
support to convert man pages to html.
* util/nsinstall-man.sh: Added -h option to generate html
pages with groff instead of man pages and removed the -e,
-s, and -z options not used.
2005-10-25 Nathan Folkman <[email protected]>
* tcl/return.tcl (new file): Implements ns_returnmoved
command. More information can be found here:
http://panoptic.com/wiki/aolserver/Ns_returnmoved
2005-10-24 Daniel P. Stasinski <[email protected]>
* nsd/compress.c: Fixed gzip compression of ADP
files.
2005-10-09 Jim Davidson <[email protected]>
* nsd/init.c: Fixed bug with NsInitFd called before
NsInitLog.
* nsd/fd.c:
* nsd/nsmain.c: Moved code to increase open fd limit to
NsInitFd and
* nsd/sock.c: Added comments for NsPoll and renamed poll
emulation function to ns_poll.
* nsd/driver.c: Simplified code to reset a Conn after a
connection, simply zero'ing all fields except the I/O
buffers. This fixed a bug with recursionCount not being
reset.
* nsd/nsd.h: Fixed bug with large responses caused by
'sendwait' fields in Ns_Driver and Driver not being aligned
due to addition of 'fullname' field in Ns_Driver alone.
2005-10-06 Dossy Shiobara <[email protected]>
* nsd/: op.c (1.15), return.c (1.48), tclcmds.c (1.54), tclresp.c
(1.20): Add ns_internalredirect Tcl command to make
Ns_ConnRedirect available from Tcl. Moved recursion detection
into Ns_ConnRunRequest. Closes SF RFE #1315460.
2005-09-26 Nathan Folkman <[email protected]>
* nsd/mimetypes.c: Updated with additional MIME types.
2005-08-24 Nathan Folkman <[email protected]>
* examples/config/README (new file):
* examples/config/base.tcl (new file):
* examples/config/nscp.tcl (new file):
* examples/config/stats.tcl (new file): Examples showing
various configuration options for the core AOLserver,
as well as other standard AOLserver modules.
* sample-config.tcl (removed): This file has been replaced
by examples/config/base.tcl.
* full-config.tcl (removed): This file is being replaced
by smaller, more specific, configuration example files.
* Makefile: Updated to install examples/config/base.tcl
as the default configuration example.
* README: Updated to reflect changes made to default
configuration file.
2005-08-23 Jim Davidson <[email protected]>
* include/ns.h:
* nsd/fastpath.c:
* nsd/nsd.h:
* nsd/server.c:
* nsd/tclcmds.c:
* nsd/tclrequest.c: Applied patch from Stephen Deasey for
new ns_register_fastpath command.
2005-08-23 Jim Davidson <[email protected]>
* include/ns.h:
* include/nsattributes.h (new file):
* include/nsthread.h:
* nsd/info.c:
* nsd/log.c:
* nsd/queue.c:
* nsd/tclfile.c:
* nsd/tclinit.c:
* nsd/tcljob.c:
* nsd/tclmisc.c:
* nsd/tclthread.c:
* nsd/tclvar.c:
* nsthread/thread.h: Applied patches from Stephen Deasey
for better compile time error checking.
* nsd/driver.c:
* nsd/exec.c: Fixed bugs found by new compile time checks.
* nsthread/error.c: Silence compiler warning from new
compile time checks.
2005-08-21 Jim Davidson <[email protected]>
Several updates to simplify maintenance of the build process.
Basically, the makefiles support both gmake on Unix and
nmake on Windows by including a platform-specific include/ns.mak
created by the nsconfig.tcl script. See comments README
for instructions.
README: Updated with new build instructions.
include/Makefile.global.in (removed):
include/Makefile.module.in (removed):
include/Makefile.build (removed):
include/ns.mak.in (new file):
include/ns-mak.inc (new file): Unix and Windows templates
for include/ns.mak, replacing the previous include/Makefile.*
files.
nsconfig.tcl (new file): Tcl configure script which calls
configure on Unix and creates include/ns.mak directly on
Windows.
util/nsinstall.sh (removed):
util/nsmakeall.tcl (new file):
util/nsinstall.tcl (new file):
util/nsremove.tcl (new file): Tcl shell utility scripts
called by include/ns.mak.
ini2tcl.tcl (removed):
tcl2ini.tcl (removed):
util/ini2tcl.tcl (new file):
util/tcl2ini.tcl (new file): Moved files from top level.
util/nsinstall-man.sh: Updated to create directories as
needed (Unix only).
Makefile:
aclocal.m4:
configure.in:
configure:
doc/Makefile:
nscgi/Makefile:
nscgi/Makefile:
nscp/Makefile:
nsd/Makefile:
nsdb/Makefile:
nslog/Makefile:
nsperm/Makefile:
nssock/Makefile:
nsthread/Makefile:
nstclsh/Makefile: Updated to build using include/ns.mak.
win32/ (removed): Removed previous Windows build enviornment.
sample-config.tcl: Updated to change module file extension
to .so on Windows to match Unix.
include/nsdb.h:
nsdb/db.h:
nsthread/thread.h: Updated to export public functions on
Windows.
2005-08-19 Nathan Folkman <[email protected]>
* full-config.tcl (new file): Currently just a copy
of the original sample-config.tcl. Over time this file
will contain all of the configurable options for
AOLserver along with detailed comments.
* sample-config.tcl: Stripped away as much as possible
in order to simplify the default configuration example.
Also update to enable the Web statistics interface by
default, as well as also enabling the control port.
You should be sure to update the default user names and
passwords for both the stats interface and control port
before installing in a production environment.
2005-08-11 Jim Davidson <[email protected]>
* include/ns.h:
* nsd/conn.c: Added Ns_ConnGet/SetGzipFlag API's.
* nsd/adpeval.c
* nsd/adprequest.c:
* nsd/nsd.h:
* nsd/server.c: Added autoabort config/flag to raise adp
abort exception when a flush fails.
* nsd/tclresp.c: Cleaned up error message on no conn.
* nstclsh/nstclsh.c: Added call to fully initialize Tcl
shell.
* include/nsmodinit.c:
* nsd/nswin32.c: Minor fixes for Win32.
2005-08-09 Jim Davidson <[email protected]>
* nsd/adpeval.c: Updated to suppress multiple error log
messages in stricterror mode
* nsd/driver.c:
* nsd/nsd.h:
* nsd/request.c:
* nsd/return.c: Updated to match response http version
with client version.
* nsd/init.tcl:
* nsd/tclcmds.c: Removed ns_adp_include proc now in
tclcmds.c.
2005-08-08 Jim Davidson <[email protected]>
* include/ns.h:
* nsd/conn.c:
* doc/Ns_ConnContent.3: Incorporated patch from Fred Cox
to add the Ns_ConnContentOnDisk API.
* include/nsmodinit.c (new file):
* include/nslibinit.c (new file):
* include/Makefile.global.in:
* include/Makefile.module.in: New stubs and makefile targets to
support building a library or module in a consistent way which
separates the library code installed as both a static archive and
dynamic lib from the library and/or module init calls.
* nscp/Makefile:
* nscp/nscp.c:
* nsdb/Makefile:
* nsdb/nsdb.c:
* nslog/Makefile: