public
Description: AllegroServe, a web server written in Common Lisp
Homepage: http://opensource.franz.com
Clone URL: git://github.com/franzinc/aserve.git
Click here to lend your support to: aserve and make a donation at www.pledgie.com !
Kevin Layer (author)
Thu Oct 15 10:32:43 -0700 2009
commit  cc55501d77dd2e84de60b10545d4e5b6c194a13a
tree    9672cc984a2953ff1ce32892124197e54a7a7e0d
parent  8de460847696dea2969f728368b90f409d9843f4
aserve / ChangeLog
100644 1412 lines (1053 sloc) 47.122 kb
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
*******************************************************************************
** Please increment the version if you change anything user-visible.
** See *aserve-version* in main.cl.
** Please leave this at the top of the file. Thanks.
*******************************************************************************
 
2009-10-15 Marijn Haverbeke <marijnh@franz.com>
 
* test/t-aserve.cl: bug18668: fix http-copy-file test for SSL
 
2009-10-11 Kevin Layer <layer@gemini.franz.com>
 
* makefile: make 8.1 the default on Windows (like it is on UNIX)
* test/t-aserve.cl: tweak the http-copy-file tests to not
depend on being on the Franz local network, and to use the
server instance created during the tests
 
2009-10-08 Robert Rorschach <rfr@franz.com>
1.2.64
 
* macs.cl: track recent changes in the smp macros
 
* macs.cl: fix a package error in a macro; defvar-nonbindable
replaces defvar-nobind
* proxy.cl: restore a dropped #+ignore
 
2009-10-08 Kevin Layer <layer@gemini.franz.com>
1.2.63
(really from Marijn)
* main.cl: reduce warnings ("Maximum socket file descriptor...")
 
2009-10-05 Kevin Layer <layer@gemini.franz.com>
1.2.62
* main.cl: get-request-body: only call string-to-octets on
result if it's non-nil
 
2009-09-15 <layer@HOBART128>
 
* test/t-aserve.cl: fix test suite for Windows
 
2009-09-11 Marijn Haverbeke <marijnh@franz.com>
1.2.61
* Fix bug that caused every keep-alive time-out to log a
disconcerting warning. (Unintended interaction of
with-timeout-local and ignore-errors.)
 
2009-09-11 Marijn Haverbeke <marijnh@franz.com>
 
* Add read-response-body, a client function for reading the whole
response body. (Also added to reference docs.)
* Fix bug in client-request-read-sequence and do-http-request, which
interpreted content-length as a character length, would get
confused by multi-byte characters.
* Make sure client requests always sent a content-length for PUT and
POST requests, since the aserve server gets confused when it
doesn't.
 
2009-07-24 Kevin Layer <layer@gemini.franz.com>
1.2.60
* decode.cl: uriencode-string: use uppercase hex chars for
EC2. Amazon's EC2 requires that uppercase characters (A-F)
be used, otherwise the signing of EC2 requests via the REST
API won't match.
 
2009-07-01 <layer@HOBART128>
 
* makefile: dribble test output to "test.out" (mainly for windows)
 
2009-06-30 Kevin Layer <layer@gemini.franz.com>
 
* load.cl: remove removed files from *aserve-other-files*
 
2009-06-18 Robert Rorschach <rfr@franz.com>
 
* client.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
* examples/chat.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
* macs.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
* main.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0; bump version
* parse.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
* proxy.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
 
2009-05-11 Kevin Layer <layer@gemini.franz.com>
1.2.59
* main.cl (request-query): rfe8332: make request-query-value
work on PUT requests
 
2009-05-04 Kevin Layer <layer@franz.com>
 
* test/t-aserve.cl: turn on cgi tests for Windows
 
2009-02-19 John Foderaro <jkf@max.verada.com>
1.2.58
* fix problem introduced in 1.2.57 where the response date
is always the zero universal time.
 
2009-01-23 <jkf@duo.verada.com>
1.2.57
* proxy.cl - correctly send out the comment after the result
code. Turns out that Microsoft's ISA actually reads it.
 
2009-01-13 Kevin Layer <layer@gemini.franz.com>
 
* main.cl (http-request): fix typo (reply-protocol-sring =>
reply-protocol-string)
 
2008-07-08 John Foderaro <jkf@tiger.franz.com>
1.2.56
* [from David Cooper] - store in the request object the time at
which a request came and and when it was finshed being handled.
- when parsing multipart bodies, handle multipart content type
that has additional info as well
 
2008-07-07 John Foderaro <jkf@tiger.franz.com>
* main.cl: fix bug where getting a large request body would
fail due to array not being adjustable
 
2008-05-22 Kevin Layer <layer@gemini.franz.com>
1.2.55
* publish.cl: set mime type of dmg files to
application/x-apple-diskimage
 
2008-02-16 Kevin Layer <layer@gemini.franz.com>
 
* makefile: add `tags' rule
 
2008-02-07 John Foderaro <jkf@tiger.franz.com>
 
* if during the accept loop a sleep is necessary 4 times,
a new thread will be created anyway. This will allow
the worker threads to grow in more situations.
 
* add backlog argument to net.aserve:start
 
2008-01-28 John Foderaro <jkf@tiger.franz.com>
1.2.54
* fix bug where if aserve as a proxy did get-basic-authorization
it would cause two authorization headers to be sent by the proxy
 
2007-12-26 John Foderaro <jkf@tiger.franz.com>
1.2.53
* to enable zoom on error do (net.aserve::debug-on :zoom-on-error)
and it will no longer act like you added :notrap as well.
 
2007-12-13 <jkf@MINI>
 
* do-http-request: have timeout apply to the socket connection
operation as well.
 
2007-10-23 Kevin Layer <layer@gemini.franz.com>
1.2.52
 
* main.cl: new debug type for 8.1 or later, :zoom-on-error,
allows easier debugging of errors. Do
(push :zoom-on-error net.aserve::*debug-current*)
to enable this feature.
 
2007-09-12 Kevin Layer <layer@gemini.franz.com>
1.2.51
 
* main.cl: incf version
* makefile: use 8.1
* publish.cl: update *file-type-to-mime-type*
 
2007-04-08 Kevin Layer <layer@gemini.franz.com>
 
* client.cl: move httpcopy.cl contents into client.cl
* (REMOVED) httpcopy.cl
* load.cl: back out previous change
 
2007-04-08 Kevin Layer <layer@gemini.franz.com>
 
* (NEW) httpcopy.cl: implements new http-copy-file client
          function
* load.cl: add httpcopy file
* makefile: default mlisp to /fi/cl/8.0/bin/mlisp
* packages.cl: export http-copy-file
* test/t-aserve.cl: add tests for http-copy-file
 
2007-04-06 Kevin Layer <layer@gemini.franz.com>
 
* makefile: make default lisp in the presence of ../dcl.dxl be
that; add `test' rule
* test/t-aserve.cl: allow to be run from this directory
 
2007-03-27 Charles A. Cox <cox@gemini.franz.com>
 
* examples/urian.cl: spr31997 suggestion
 
2007-03-21 Ahmon Dancy <dancy@dancy>
1.2.50
 
* rfe6834: SSL peer verification support. Also, 'start' function
now allows the SSL certificate key file to be specified separately
from the certificate.
 
* bug16677: aserve could leak file descriptors if SSL (https)
connection fails.
 
2006-12-22 John Foderaro <jkf@tiger.franz.com>
1.2.49
* when response needed a string output stream and
also specified an external format we would
incorrectly add a null to the end of the response
 
* ignore body for *response-not-modified* as well
 
2006-12-20 Kevin Layer <layer@gemini.franz.com>
1.2.48
 
    rfe6669: Changes to handle "204 No Content" from Vebjorn Ljosa
    <ljosa-franz-opensource@ljosa.com>. Handling 204 responses is
    important because some web services (e.g., Amazon.com's "Simple
    Storage Service," S3) use them.
* packages.cl: export *response-no-content*
* client.cl: handle *response-no-content*
* main.cl: define *response-no-content*
 
2006-07-24 John Foderaro <jkf@tiger.franz.com>
1.2.47
* the cookies added by set-cookie-header will now appear in
the same order as the set-cookie-header calls.
* when cookies are retrieved and processed by do-http-request
they will be processed in the same order they appear in the
header
 
2006-07-14 John Foderaro <jkf@tiger.franz.com>
 
* publish.cl - if process-entity does a redirect then
            set the location to an absoluteURI. [spr31830]
 
 
2006-06-29 <jkf@max.verada.com>
1.2.46
* add content type of "text/html" when sending the
response not authorized message
 
2006-06-07 <jkf@max.verada.com>
 
* accept a bogus first response line that doesn't include
the space after the response code.
 
2006-05-16 Kevin Layer <layer@gemini>
 
* packages.cl: add defpatch for 8.0
 
2006-04-19 John Foderaro <jkf@tiger.franz.com>
1.2.45
* client.cl: added :proxy-basic-authorization to
do-http-request so you can give your basic credentials to a
proxy
 
2006-03-29 John Foderaro <jkf@tiger.franz.com>
1.2.44
* cgi.cl - add terminate argument to run-cgi-program
 
2006-03-24 <jkf@max.verada.com>
 
* main.cl - handle a client request that includes a chunked body.
(not tested yet since I can't find a client making such a request).
 
* proxy.cl - create appropriate Host header.
 
*******************************************************************************
*** ACL 8.0 release
*******************************************************************************
 
2005-03-06 John Foderaro <jkf@max.verada.com>
 
* client.cl - handle single line set-cookie lines that end in a semicolon
 
2005-02-21 John Foderaro <jkf@max.verada.com>
1.2.43
* add digest-authorization to the aserve client code
 
2005-01-13 John Foderaro <jkf@tiger.franz.com>
1.2.42
* main.cl - track whether characters have been read in a
          request in order determine whether a "400 Bad Request"
response should be made.
 
2005-01-13 John Foderaro <jkf@tiger.franz.com>
1.2.41
* htmlgen/htmlgen.cl - fix call to macroexpand for acl7.0
where the use of the compiler's environment can cause
infinite macroexpansion loops unless you're careful.
 
2004-12-15 John Foderaro <jkf@tiger.franz.com>
1.2.40
* remove debugging format statement in webactions
 
2004-12-14 John Foderaro <jkf@tiger.franz.com>
1.2.39
* with with-standard-io-syntax to prevent #n= printing.
 
2004-11-18 John Foderaro <jkf@tiger.franz.com>
 
* use &body in macro definitions to help indenters
* use response code 307 for redirects rather than 301 since
browsers are now starting to consider 301 redirects as
permanent (and since browsers now handle 307 correctly).
 
2004-09-08 John Foderaro <jkf@tiger.franz.com>
 
* publish.cl - handle international characters
emitted by a page where aserve's strategy was
to use a string output stream as an intermediary
storage device.
 
 
2004-10-19 John Foderaro <jkf@tiger.franz.com>
1.2.38
* cgi.cl (parse-cgi-script-data): fix bug where find
was used instead of position.
 
Thu Jul 22 23:03:43 PDT 2004 Duane Rettig <duane@gemini>
 
* load.cl: Remove streamc dependencies
* packages.cl: Remove streamc require
* publish.cl: Remove streamc dependencies
 
2004-06-09 John Foderaro <jkf@tiger.franz.com>
1.2.37
* main.cl - return a 400 response if there's an error reading
the request.
Use process locks when allocating sresources rather
then without-scheduling.
 
2004-04-29 John Foderaro <jkf@tiger.franz.com>
 
* main.cl - http-worker-thread don't expect the stream
to process to be the first and only thing on the
run-reasons list. Acl7.0 will add things as well.
 
2004-03-04 John Foderaro <jkf@tiger.franz.com>
 
* main.cl - ensure that get-request-body always reads from
a stream with the :octets external format so that the
content-length header value is meaningful.
 
2004-03-03 <jkf@main.verada.com>
1.2.36
* main.cl: add request-variable-value (moved from webactions)
 
2004-01-09 John Foderaro <jkf@tiger.franz.com>
1.2.35
* publish.cl, main.cl, test/t-aserve.cl: add a slot to
all entities holding
the extra headers to add to the response. Add a :headers
argument to all publish functions that allows one
to store a value in the new headers slot.
 
2003-12-23 John Foderaro <jkf@tiger.franz.com>
1.2.34
* fix typo in exports wserver-io-timeout
 
2003-12-12 Kevin Layer <layer@relay.known.net>
 
* makefile: set base version to 6.2
* proxy.cl: fix typo in proxy-failure-response, include requested
uri, too
 
2003-10-31 John Foderaro <jkf@tiger.franz.com>
 
* cgi.cl - transfer data from script back to http client
immediately rather than buffering it up.
 
2003-10-27 John Foderaro <jkf@tiger.franz.com>
1.2.33
* webactions/ files - change headers to include lgpl copyright info
 
2003-10-22 John Foderaro <jkf@tiger.franz.com>
1.2.32
* add webactions subdirectory of code
 
2003-09-22 John Foderaro <jkf@tiger.franz.com>
1.2.31
 
* authorize.cl: send back some text with failed response
* publish.cl: fix html sent back to with failed responses
 
 
2003-09-22 <jkf@main.verada.com>
 
* decode.cl: fix multiline base64 decoding.
 
2003-09-12 <layer@HOBART>
1.2.30
 
* load.cl: fix problem building on acl 7.0 on windows
 
2003-09-10 Kevin Layer <layer@crikey>
1.2.29
 
* load.cl,
* examples/examples.cl,
* examples/urian.cl: use *load-pathname* instead of
*load-truename* since truename in ACL 7.0 goes through symbolic
links and this doesn't work in the way aserve is built at franz
(via symlinks to source code)
 
2003-09-04 John Foderaro <jkf@tiger.franz.com>
1.2.28
* non-standard http headers are again supported in all
functions, including proxying (where they are just passed on
or passed back as the case may be).
 
2003-08-12 John Foderaro <jkf@tiger.franz.com>
 
* move the require of :uri to before the first
reference to it in packages.cl
 
2003-05-09 <jkf@main.verada.com>
1.2.27
* added a hook argument to most publish functions. documented
as 'entity hook function'
* chat.cl - use cookies to get around security problem
* add compute-request-headers (an internal fucntion at the
moment, I may export it in the future)
 
 
2003-05-08 John Foderaro <jkf@tiger.franz.com>
 
* doc/aserve.html - clarify that you can have a list of
authorization objects in an entity.
 
* main.cl - make the uri-scheme of (request-uri req) correctly
reflect if this is an https or http request.
 
2003-02-26 John Foderaro <jkf@tiger.franz.com>
1.2.26
* doc/aserve.html - new get-request-body argument
 
2003-02-24 Charles A. Cox <cox@ultra>
New file: examples/locale.cl.
 
* load.cl: add locale example.
* main.cl: add external-format argument to
get-request-body for spr27296.
* examples/examples.cl: Minor home page cleanup for ics
examples.
* examples/urian.cl: Add extra smarts for determining a
page's charset.
* test/t-aserve.cl: Add spr27296 test.
 
2003-02-06 John Foderaro <jkf@tiger.franz.com>
 
* main.cl - added (setf request-query-value)
 
2003-01-10 John Foderaro <jkf@tiger.franz.com>
1.2.25
* publish.cl (get-cookie-values): handle case of a cookie parameter
not having value, i.e name2; Pretend it was name2=;
 
2003-01-07 John Foderaro <jkf@tiger.franz.com>
 
* client.cl - when sending character data obey external formats
* main.cl - initialize log stream to *initial-terminal-io* since
*standard-output* could be bound to something during the loading
process.
* [htmlgen changes, see it's ChangeLog]
 
2002-09-06 John Foderaro <jkf@tiger.franz.com>
 
* detect connection reset by peer on the AIX operating system
* [change made in htmlgen ChangeLog]
 
2002-08-09 John Foderaro <jkf@tiger.franz.com>
1.2.24
* change #\newline to #\linefeed in the source for portability
* fix :comment in htmlgen
* put aserve package definitions and exports in new file:
          packages.cl
 
2002-04-10 John Foderaro <jkf@tiger.franz.com>
 
* main.cl - fix bug in get-multipart-sequence when used
in an International Lisp with multibyte character input.
In certain rare cases it could get stuck decoding the last
bits of a buffer.
 
- add :ssl-password argument to net.aserve:start to
specify the password for decrypting the private key
in the file with the ssl certificate. [requires
acl feature introduced in acl 6.2]2
 
* client.cl - if the content passed to do-http-request
is a list of vectors, each vector in the list will
be sent to the server.
 
 
2002-02-28 John Foderaro <jkf@tiger.franz.com>
1.2.23
>>> * incompatible change:
The path part of a uri can't contain certain characters
unless they are escaped like %xx. Even characters that
needn't be escaped *can* be escaped. Thus to canonicalize
the uri path and to allow it to be easily mapped to filenames
we now decode the uri path (convert %xx to the actual character)
before processing it (looking for matches in the published
entities). If you had published a path like "foo%20bar"
then you must change it to "foo bar".
* cgi.cl - add default for :script-name arg
* various - open socket in nodelay mode to maximize performance
 
 
 
2002-02-13 John Foderaro <jkf@tiger.franz.com>
1.2.22
* authorize.cl - add new authorizer: function-authorizer
 
* cgi.cl - run-cgi-program takes a :env arguemnt to allow
additional environment variables to be specified.
 
2002-01-15 John Foderaro <jkf@tiger.franz.com>
1.2.21
* main.cl - fix bug where the value of
*default-aserve-external-format* was captured at macroexpansion
time rather than run time. All code using with-http-body
should be recompiled.
 
* publish.cl - allow mime types to be specified for filenames that
don't have a type component (e.g. ReadMe files).
* publish.cl - set-cookie-header takes an encode-value argument
to control whether it does encoding of its argument.
 
2002-01-07 John Foderaro <jkf@tiger.franz.com>
 
* main.cl - fix problem of restarting aserve in non-ssl mode
after starting it is ssl mode.
 
2002-01-06 John Foderaro <jkf@tiger.franz.com>
 
* add :nofile return code to parse-multipart-header
 
2002-01-04 John Foderaro <jkf@tiger.franz.com>
1.2.20
* main.cl - add two higher level functions to aid retrieving
multipart data: parse-multipart-header and get-all-multipart-data.
The examples now show using both the low level and higher
level functions for retrieving multipart form data.
 
2001-12-03 John Foderaro <jkf@tiger.franz.com>
1.2.19
* main.cl: add ensure-stream-lock function to put a lock object
on a stream that the logging functions then can use.
 
2001-11-30 <jkf@CROW>
 
* doc/aserve.html - add documentation on using AllegroServe as
an NT service, and a description of how to write
web pages that handle international characters
* main.cl - add :external-format argument to request-query-value
 
2001-11-28 John Foderaro <jkf@tiger.franz.com>
 
* log.cl - use locking around writes to the log if the
stream has a lock on it's property list.
 
2001-11-28 <jkf@main.verada.com>
 
* add :binary type to publish-multi
* chat.cl - add the ability to upload pictures
 
2001-11-26 John Foderaro <jkf@tiger.franz.com>
1.2.18
* decode.cl - handle character set decoding inside uri queries
* publish.cl - access file caching
 
 
2001-11-15 John Foderaro <jkf@tiger.franz.com>
1.2.17
* added new publish fcn: publish-prefix
>>> * incompatible changes:
redid the way access files are processed, see the
document for the latest spec.
notable changes:
:ignore is now :deny
:block is gone from :subdirectories but I've added
:allow and :deny for fine tuned blocking
:inherit now defaults to nil
you can have multiple forms of the same kind of
information in a single access file and they will
all be used.
 
2001-11-06 John Foderaro <jkf@tiger.franz.com>
 
* fix bug causing infinite loop when reading truncated form body
 
2001-11-05 John Foderaro <jkf@tiger.franz.com>
1.2.16
* failed request now identifies AllegroServe as the server
and gives its version number
* if AllegroServe isn't setup to proxy it will not match proxy
requests with local web pages.
 
2001-11-05 <jkf@main.verada.com>
 
* log.cl - write to log files under the protection of a process
lock found on the stream-property-list of the stream associated
with the :lock indicator. If no such lock is found, write
to the streame anyway.
* examples/chat.cl - improve the speed of deleting messages by
binary searching the existing messages.
 
2001-10-31 John Foderaro <jkf@tiger.franz.com>
1.2.15
* start now takes a host argument to allow you to bind the server
to a specific host
* publish-multi will not return 304 (not modified) unless the
request is a get or a head
* files published with publish-file will now obey a single
range specifier so they will be download accelerator friendly
 
2001-10-26 John Foderaro <jkf@tiger.franz.com>
 
* add entity-plist slot to entities and use it to link
file entities to their parent directory entities with
the :parent indicator
* add map-entities function
* print vhosts in a why that shows their host names
 
2001-10-24 John Foderaro <jkf@tiger.franz.com>
1.2.14
* added access files for publish-directory. These allow
.htaccess-like controlling of what publish-directory publishes.
>>> * incompatible change: added an extra argument to the
publish-directory filter function and publisher functions.
 
2001-10-19 John Foderaro <jkf@tiger.franz.com>
1.2.13
* added publish-multi
* while debugging (:notrap) we ignore connection reset by peer errors
by default since they are frequent and not errors in most
cases. You can have them recognized by setting
*debug-connection-reset-by-peer* to t.
 
 
2001-10-18 John Foderaro <jkf@tiger.franz.com>
 
* The initial log stream (which is used then to initialize vhost
log streams) is now *initial-terminal-io* and not
*standard-output*.
* random messages (written by logmess) are now sent to the
vhost-error-stream of the default-vhost of the server.
This allows one to separate these random messages from the
the request logs
* logs of proxy activity is now sent to the vhost-error-stream
of the default-vhost of the server. we may rethink this later.
* support vhost specific request filters
 
2001-10-17 John Foderaro <jkf@tiger.franz.com>
 
* cgi.cl: redo cgi so that it doesn't buffer data... also
can now process standard error from scripts
 
2001-10-16 John Foderaro <jkf@tiger.franz.com>
1.2.12
 
>>> * incompatible change: the format argument to with-http-body
has been moved to with-http-response.
The format argument to with-http-body was ignored, but on
with-http-response it will be obeyed and will override
the format specified in the entity.
 
The internal generic function compute-strategy now takes
three arguments. This function isn't part of the
external interface to AllegroServe but some users have
specialized it.
 
2001-10-15 John Foderaro <jkf@tiger.franz.com>
 
* add timeout value to each entity object to serve as a default
that's checked before the wserver-response-timeout.
* add a timeout argument to publish functions to set this
entity timeout value.
* add a publisher argument to publish-directory so users can
control what kind of entity is created when the real file is
eventually found.
 
2001-10-12 John Foderaro <jkf@tiger.franz.com>
 
* using socket stream i/o timeouts in acl6.1
* moved the *http-response-timeout* to a slot in the wserver
object so it can be server dependent.
* documented timeouts in aserve.html
* added timeout test to t-aserve.cl but disabled running them
by default since they take a long time.
 
2001-10-10 John Foderaro <jkf@tiger.franz.com>
1.2.11
* upgraded support for virtual hosts, introducting
an object to denote a virtual host so that each
virtual host can do its own logging.
See aserve.html for details on Virtual Hosts.
 
2001-10-08 John Foderaro <jkf@tiger.franz.com>
 
* publish.cl - publish-directory must pass on host info
to the publish-files that it does.
- unpublish takes a :server argument
 
2001-09-29 John Foderaro <jkf@tiger.franz.com>
 
* cgi.cl - fix bug where content-length was specified wrong
 
2001-09-21 John Foderaro <jkf@tiger.franz.com>
1.2.10
* added ability to run cgi programs
new file cgi.cl
 
2001-09-20 John Foderaro <jkf@tiger.franz.com>
 
* examples/examples.cl - add commentary to some of the links
to make them clearer
 
2001-09-20 Kevin Layer <layer@crikey>
 
* makefile: split `clean' into `clean' and `cleanall', the latter
which removes aserve-src.
* makefile (clean): add `r' to `rm'
 
2001-09-18 Kevin Layer <layer@crikey>
1.2.9
 
* makefile: add build and srcdist rules; have make clean remove
aserve-src
* load.cl: parameterize make-src-distributions's directory name
 
2001-09-12 John Foderaro <jkf@tiger.franz.com>
1.2.8
* client.cl: add :skip-body to do-http-request. add test for this.
* decode.cl: fix form-urlencoded-to-query so that it can
handle a non simple string (which can be returned under
certain circumstances from get-request-body)
 
2001-08-28 John Foderaro <jkf@tiger.franz.com>
1.2.7
* take the default value for the external-format
argument from *default-aserve-external-format*.
net.aserve:start sets the value of *default-aserve-external-foramt*
in worker threads.
 
* parse.cl (split-string): don't get confused by commas inside
a double quoted header parameter value.
 
2001-08-24 John Foderaro <jkf@tiger.franz.com>
 
* when an error occurs in the worker thread print the command line
for the request that got the error.
 
2001-08-16 John Foderaro <jkf@tiger.franz.com>
1.2.6
* main.cl - try harder to prevent debug output from multiple
threads from getting jumbled up on the console
* publish.cl - do a keep-alive connection if the data is a binary
stream as long as we know the content length.
Add a new internal entity type so that returns of
"304 - Not Modified" can do keep alives too.
 
2001-08-15 John Foderaro <jkf@tiger.franz.com>
1.2.5
* main.cl - incf version number for new release
 
2001-08-09 John Foderaro <jkf@tiger.franz.com>
 
* publish.cl - added :filter functionality to publish-directory
* test/t-aserve.cl - test filters in publish-directory
 
2001-08-08 John Foderaro <jkf@tiger.franz.com>
 
* publish.cl - allow list of index files to be specified in
for each directory-entity.
- specify a catch-all compute-response-stream method so
users adding new entity type don't have to do so.
 
2001-08-08 jkf <jkf@main.verada.com>
 
* publish.cl - fix for when no body is given with-http-body
and thus a string-output-stream is not created.
 
2001-07-30 <jkf@DEEDEE>
1.2.4
* main.cl: fix get-multipart-* to correspond to rfc2046
and thus it will work with the Opera browser which
generates legal (but unusual) kinds of boundary markers
 
2001-07-19 John Foderaro <jkf@tiger.franz.com>
1.2.3
* publish.cl
- If publish-file file is changed then invalidate
the cached information on it.
- remove extraneous slots in classes.
 
         * test/t-aserve.cl
test cache invaldation in publish-file
 
2001-07-18 <jkf@CROW>
 
* doc/publish.html - update publish-file doc for preload and
cache-p args
* doc/htmlgen.html - make first example clearer
* doc/tutorial.html - add note to help Windows users
 
2001-07-18 jkf <jkf@main.verada.com>
 
* publish.cl - add cache-p argument to publish-file which will
cache the file contents on first use
* chat.cl - add support for removing selective private messages
after a certain amount of time.
* test/t-aserve.cl - test cache-p argument to publish-file
 
2001-07-09 John Foderaro <jkf@tiger.franz.com>
 
* example/chat.cl - add chat transcript feature
 
 
2001-06-27 jkf <jkf@main.verada.com>
1.2.2
* added the ability to filter requests before they get
processed. see Request-Filters in aserve.html
 
2001-06-26 John Foderaro <jkf@tiger.franz.com>
1.2.1
* main.cl - don't get blocked on a force-output that will
never return due to the other side of the connection
going away.
* examples/chat.cl - support private chats amoung groups of
people. Support deleting messages. Support levels
of users. Support redirecting
people at certain IP addresses away from the chat if
they cause problems.
 
2001-06-05 John Foderaro <jkf@tiger.franz.com>
1.2.0
* main.cl - update version to 1.2.0 to mark acl 6.1 release.
 
2001-04-04 John Foderaro <jkf@tiger.franz.com>
 
* changed how publish-directory deals with urls that
point to directories and not files. It used to
pretend that you specified an index.html or index.htm
file in that directory. This was bad since relative urls
in the index file would not be processed correctly. with
the change it now redirects to the index.html or index.htm
file so that the browser knows what it's getting.
 
2001-03-22 John Foderaro <jkf@tiger.franz.com>
1.1.41
* add os-processes argument to net.aserve:start
which causes aserve to fork (on unix only) and create
multiple operating system processes listening on the
same port.
 
 
2001-02-08 John Foderaro <jkf@tiger.franz.com>
1.1.40
* added the proxy-proxy argument to net.aserve:start that
permits you to specify that the allegroserve proxy should
sent its requests through another proxy.
 
2001-02-06 John Foderaro <jkf@tiger.franz.com>
1.1.39
* proxy and scanning fixes
 
2001-01-22 John Foderaro <jkf@tiger.franz.com>
1.1.38
* main.cl: incf version. Also hooks added for links scanning.
 
2001-01-18 John Foderaro <jkf@tiger.franz.com>
 
* examples/urian.cl - new international character set demo
(reachable from the main aserve examples page)
 
2001-01-02 jkf <jkf@main.verada.com>
1.1.37
* main.cl, proxy.cl - add the ability to save and restore
the whole state of the proxy cache. (see docs for start
and shutdown in the manual).
    
        * ensure that proxy cache threads are killed off when a shutdown
is done.
 
>>> incompatible change: the net.aserve:shutdown function used to
take an optional argument. Now it takes keyword arguments.
 
2000-12-27 John Foderaro <jkf@tiger.franz.com>
1.1.36
* client.cl: handle illegal set-cookie headers sent by Netscape's
v3 web server. In a client request Split the single large
Cookie line into muliple Cookie lines so that Netscape's v3
web server can understand them.
Add a redirect-methods argument to do-http-request to support
more user control of redirection.
* proxy.cl - many enhancements including connection caching
 
2000-11-06 Kevin Layer <layer@ultra>
1.1.35
* log.cl: make logmess a method, so I can define an after method
on it in my own code
* main.cl: maybe-universal-time-to-date and
universal-time-to-date: take time-zone optional argument, so my
redefined version of log-request can specify the local time zone
 
2000-10-31 John Foderaro <jkf@tiger.franz.com>
1.1.34
* add to the list of characters to escape in form-urlencoding
those that must be escaped so that the result can be put
in the query string of a uri
 
* in proxy code write request and headers in one big block
to get around bug in IP redirectors (such as found in www.cbs.com)
 
2000-10-25 jkf <jkf@main.verada.com>
1.1.33
* hooks for link checking and experimenting with caching
 
2000-10-19 John Foderaro <jkf@tiger.franz.com>
1.1.32
* add ssl arguments to net.aserve.start and
net.aserve.client:do-http-request so that a secure server
can be started and secure http requests can be made.
Make the aserve test suite test run though the tests using ssl.
Note: the ssl module is only present in certain acl6 distributoins.
 
* add examples/puzzle.cl - a demo featuring the use of international
characters in acl6.
 
2000-10-15 John Foderaro <jkf@tiger.franz.com>
1.1.31
* support caching requests with cookies
 
2000-10-12 John Foderaro <jkf@tiger.franz.com>
1.1.30
* proxy and cache facilty added.
 
2000-09-22 Charles A. Cox <cox@pie>
 
* decode.cl: Add :external-format to to uriencode-string.
* publish.cl: Add :external-format to set-cookie-header.
* test/t-aserve.cl: Add :external-format tests for
uri{en,de}code-string.
 
2000-09-07 Charles A. Cox <cox@delta>
1.1.29
 
>>> Note: Many of the functions listed in this log entry have had
the :external-format argument added. Documentation has been
updated
 
Note 2: All changes intended to be upward compatible. Allegro
specific changes are marked with #+(and allegro (version>= 6 0)).
 
* client.cl: make-http-client-request: add/use external-format
argument.
* decode.cl: uridecode-string, query-to-form-urlencoded,
encode-form-urlencode, form-urlencoded-to-query: add/use
external-format argument.
* main.cl: with-http-body, request-query: add/use external-format
argument.
* publish.cl: get-cookie-values: add/use external-format
argument.
* examples/examples.cl: Add new international character examples.
* test/t-aserve.cl: Add tests for external-format additions.
 
 
2000-08-28 John Foderaro <jkf@tiger.franz.com>
1.1.28
* client.cl - before doing a redirect close down the existing
connection.
 
2000-08-25 John Foderaro <jkf@tiger.franz.com>
 
* fix bug which caused file descriptors to remain open
forever if a "connection reset by peer" error occured.
Added the ability to track sockets opened by aserve to
ensure that they were closed before being gc'ed away.
 
2000-08-24 John Foderaro <jkf@tiger.franz.com>
1.1.27
* rewrote the get-multipart-xxx functions to use an
(unsigned-byte 8) buffer since character buffers have
issues with international code. This eliminates the
extra <cr><lf> at the end problem with get-multipart-sequence.
The file transfer should be faster, especially if you
pass get-multipart-sequence a 4096 byte (unsigned-byte 8) vector.
 
!! Eliminte the raw argument from get-multipart-sequence. Now
transfers are all 'raw'
If a character array is passed to get-multipart-sequence then
we just copy into each character the code-char of the
item in the buffer (which corresponds to the latin1-base
external format). We will allow external-format select
soon.
 
 
2000-08-21 John Foderaro <jkf@tiger.franz.com>
 
* add :proxy arg to net.aserve:start so you can enable the proxy
when you start the server.
* fix test suite to report only legit errors
 
2000-08-20 jkf <jkf@main.verada.com>
1.1.26
* Added a proxy capability. enable-proxy will turn it on.
Currently it acts an http/1.0 client and server since that
makes it easier to debug. However this does cause 12 test
set errors to be reported since it expects to see http/1.1
responses.
 
2000-08-17 jkf <jkf@main.verada.com>
 
* implement generalized cons-free header parsing and use it
in both the client and server.
 
* change the header info returned by do-http-request to
also use keywords to describe headers
!! non upward compatiable change !!
 
2000-08-15 John Foderaro <jkf@tiger.franz.com>
 
* fix bug where certain headers were sent twice
 
2000-08-12 John Foderaro <jkf@tiger.franz.com>
 
* name headers by keyword symbols rather than strings
!! this change is not upward compatible !!
 
    
2000-08-10 John Foderaro <jkf@tiger.franz.com>
1.1.25
* decode.cl: request-query will now convert items in query
strings without values into ("keyname" . "") in the resulting
alist.
* doc/aserve.html - update doc of request-query and
request-query-value to reflect what happens with null valued
query elements
 
2000-08-09 jkf <jkf@main.verada.com>
 
* publish.cl: write the transfer encoding as all lowercase 'chunked'
since a bug in Mozilla M17 means it will only understand this form.
* htmlgen/htmlgen.cl - add the <caption> tag
 
2000-08-04 jkf <jkf@main.verada.com>
1.1.24
* examples/chat.cl - add user logins and private messages
between users.
 
2000-07-31 jkf <jkf@main.verada.com>
 
* main.cl: if a multipart-mixed body was being sent then
note that the request-body has been grabbed.
 
2000-07-25 jkf <jkf@main.verada.com>
 
* example/chat.cl - enhanced to support logging into the chat
 
2000-07-17 John Foderaro <jkf@tiger.franz.com>
1.1.22
 
* main.cl: incf version
 
2000-07-15 John Foderaro <jkf@tiger.franz.com>
 
* examples/chat.cl - sample program that does web based chat
 
2000-07-14 John Foderaro <jkf@tiger.franz.com>
 
* client.cl - now do-http-request will always return a uri object
(previously it would return its uri arg unless a redirect
             was done in which case it would return a uri object)
 
2000-07-01 John Foderaro <jkf@tiger.franz.com>
 
* client.cl - handle the "100 continue" response we seem to
get from IIS whenever we do a post.
 
2000-06-25 jkf <jkf@main.verada.com>
 
* keep track all of all ip addresses by which the server
is contacted (this is simpler than trying to figure them
out in advance).
* add function to find a response object given the code.
* keep track of the raw uri by which a request was made
(as distinguished from the uri in which we've added the
host and port values). This is necessary to distriguish
when we must proxy.
* in html-print assume that attribute values are already html escaped
 
2000-06-12 John Foderaro <jkf@tiger.franz.com>
 
* main.cl: add utility function request-query-value to
combine getting the query info via request query
and locating the particular value with assoc
 
2000-06-08 John Foderaro <jkf@tiger.franz.com>
1.1.21
* client.cl - do-http-request:
1. give the redirect arg a numeric
value to prevent infinite redirect loops.
2. handle two other redirect codes
3. autoredirect only for get and head
4. return the uri accessed as the fourth value
* main.cl - add more response codes
- handle calls to request-query specifying different
uri and post values.
* examples.cl - add redirect test
* t-aserve.cl - test redirection
* doc/aserve.html - update for changes above
* doc/tutorial.html - don't be so cookie centric
 
2000-05-30 John Foderaro <jkf@tiger.franz.com>
1.1.20
* macs.cl - add note about where to find the if* macro
* main.cl - cache result of get-request-body so that it can
safely be called more than once inside a response
function. Also be sure to call get-request-body
if the connection is keep-alive and there might
be a body following the headers.
* t-aserve.cl - test enhancment to get-request-body
* doc/aserve.html - fix do-http-request documentation to
reflect change made in 1.1.18
 
 
 
Fri May 26 22:42:12 PST 2000 Duane Rettig <duane@beta>
1.1.19
* makefile: set SHELL variable
* main.cl: incf version
 
2000-05-16 John Foderaro <jkf@tiger.franz.com>
1.1.18
* ! Non upward-compatiable change ! - the function
do-http-request returns arguments in a different
order, it now returns the body value first, then the
response code and then the headers.
* fixed bug in publish-directory (sourceforge bug 105426)
* added query and content-type arguments to do-http-request
and make-http-client-request. These make it even easier
to send form data to web servers
 
 
2000-05-16 John Foderaro <jkf@tiger.franz.com>
1.1.17
 
 
* in order to make portions of the LGPL license meaningful
for a Lisp program we've added a prequel to the license
agreement in the file license-allegroserve.txt.
 
2000-05-16 jkf <jkf@main.verada.com>
 
* client.cl
- increase header reading buffer size - but we should
make this growable.
- handle cookies with = signs embedded
* decode.cl
- in query-to-form-urlencoded all the values to
be non-strings and in that case use ~a format to stringify them
        * parse.cl
- add arg to utility function
 
2000-05-04 John Foderaro <jkf@tiger.franz.com>
1.1.16
* request-query can now read from uri and/or post'ed body
see doc/aserve.html for details
 
2000-04-26 John Foderaro <jkf@tiger.franz.com>
1.1.15
* ! Non upward-compatible change ! -- the function
decode-form-urlencoded has been renamed
form-urlencoded-to-query so as to match its new inverse
function: query-to-form-urlencoded
 
* added query-to-form-urlencoded to allow one to encode
query to strings for use by client code.
 
2000-04-24 John Foderaro <jkf@tiger.franz.com>
1.1.14
* verify that it works in acl501 trial (Linux)
 
2000-04-24 <jkf@CROW>
 
* load.cl: make aServe load in acl5.0.1 Lite (Windows) but
be advised that it doesn't work very well due to socket
problems that can be patched in the Lite version.
 
* main.cl: the default timeout for a with-http-response
now comes from *http-response-timeout* and it
now defaults to 120 seconds rather than 60.
 
* some documention updates
 
2000-04-23 jkf <jkf@main.verada.com>
 
* client.cl - added proxy argument so that client requests
can go through a proxy
* various doc fixes
 
2000-04-17 John Foderaro <jkf@tiger.franz.com>
1.1.13
* rename Allegro iServe to AllegroServe.
As a result where iserve was used before we now use aserve.
For example the package is now called net.aserve.
 
 
2000-04-17 John Foderaro <jkf@tiger.franz.com>
1.1.12
 
* add test/t-iserve.cl to the list of files in the ftp distribution
 
2000-04-16 <jkf@DEEDEE>
 
* debug-on and debug-off are no longer exported symbols.
They continue to exist but you have to use
          net.iserve::debug-on and net.iserve::debug-off to reach them.
 
* added two new response type symbols to aid in doing redirections:
*response-moved-permanently*
*response-temporary-redirect*
note that netscape 4 doesn't understand *response-temporary-redirect*
          as that's a http/1.1 thing.
 
* request-query takes a :handle-post keyword arguments. When true
(and that's the default) it will automatically read,
extract, parse and cache the query string from the entity body
when the request is a post request.
 
2000-03-28 John Foderaro <jkf@tiger.franz.com>
 
* move htmlgen.html from htmlgen/ to doc/ so that it's in
a consistent place regardless of distribution type.
 
2000-04-08 <jkf@DEEDEE>
1.1.11
* make the debugging output feature based rather than
numeric. see net.iserve:debug-on
* properly do client queries
* use setfable reply-header-slot-value to read and set
headers for the reply that will be sent
* always send back HTTP/1.1 as our protocol
 
 
2000-03-27 John Foderaro <jkf@tiger.franz.com>
1.1.10
* add headers argument to do-http-request and make-http-client-request
to allow you to add headers
* fix client requests for :head so it doesn't wait for a body
to be returned
* fix debugging output when running inside emacs
* add client info to documentation.
 
2000-03-27 John Foderaro <jkf@tiger.franz.com>
1.1.9
 
* mainly documentation fixes
 
2000-03-22 John Foderaro <jkf@tiger.franz.com>
1.1.8
* fix http/0.9 processing
 
* make errors in http worker threads, if uncaught (see below)
and if the emacs-lisp interface is running, cause a new
emacs window to appear in which you can debug the problem
 
* add net.iserve::*trap-errors* (default t). If set to
nil then errors in http processing by iserve will result
in error break loops.
 
* fixed errors in publish-directory. Also prevent user from
passing ../ in urls to access above the published directory
 
2000-03-22 John Foderaro <jkf@tiger.franz.com>
1.1.7
* make initial lisp listerner of standalone version sleep
so that the process can be put in the background.
* add t-iserve.cl and begin to add automated tests
* add cookies and authorization to client module
* load client module into iserve
 
2000-03-20 John Foderaro <jkf@tiger.franz.com>
1.1.6
* convert references to neo to iserve
* minor fixups in tutorial
 
2000-03-20 John Foderaro <jkf@tiger.franz.com>
1.1.5
* include iservelogo.gif in the ftp distribution
* fix problem where the response to a file entity request
for a file that doesn't exist would cause browser to hang
until the socket was closed
 
2000-03-17 John Foderaro <jkf@tiger.franz.com>
1.1.4
* change source-readme.txt and load.cl so that
it will build on Windows without the unix tools
 
*******************************************************************************
join from acl50 branch
- cvs command: cvs update -d -j acl50
- next merge tag: acl50_merge2
*******************************************************************************
 
2000-03-15 John Foderaro <jkf@tiger.franz.com>
1.1.3
* switch to lgpl license.
* add source-readme.txt to describe what to do with
the source
 
2000-03-14 John Foderaro <jkf@tiger.franz.com>
1.1.2
* add authorizer objects to support checking for valid
access to pages
 
2000-03-07 John Foderaro <jkf@tiger.franz.com>
1.1.1
* load.cl - lisp need not be in the directory containing this
file in order to load it (and iserve)
* main.cl - get-request-body will not get fooled by :get requests
* publish.cl - make virtual hosts work for prefix handlers
* doc/iserve.html - update to describe :remove arg to pubilsh
          functions
* doc/tutorial.html - lots more added
* examples/tutorial.cl - add sample methods
 
2000-03-02 jkf <jkf@main.verada.com>
 
* added setuid, setgid args to start
* changed the names of the worker processes
* changed the names of the slots and accessors holding the
commonly used request header info
* allowed the :host arg to publish to be a list of host names
* for publish-file compute the content-type automatically if
not provided
 
2000-02-25 John Foderaro <jkf@tiger.franz.com>
 
* added code to the examples so that the pubished url
handlers will find the files they reference (if any)
no matter what the current directory is when the examples
file is loaded.
 
2000-02-18 John Foderaro <jkf@tiger.franz.com>
 
* moved examples and doc to their own directories
 
2000-02-08 John Foderaro <jkf@tiger.franz.com>
1.1.0
renamed neo to Allegro iServe
changed neo package to net.iserve
changed htmlgen package to net.html.generator
 
2000-02-08 John Foderaro <jkf@tiger.franz.com>
1.0.9
 
* main.cl - added exports
* examples.cl - show how to publish a generated jpg file
* neo.html - more documentation
 
2000-01-28 John Foderaro <jkf@tiger.franz.com>
1.0.8
* renamed accessors
 
2000-01-25 John Foderaro <jkf@tiger.franz.com>
 
* partially added logging
 
2000-01-25 jkf <jkf@main.verada.com>
 
* use uri package
 
2000-01-18 John Foderaro <jkf@tiger.franz.com>
1.0.7
* changed :url to :path in the publish functions
* added a locator class to expose the search for a matching
entity
 
2000-01-11 John Foderaro <jkf@tiger.franz.com>
 
* document accessors.
get timedout-response working
 
1999-12-15 John Foderaro <jkf@tiger.franz.com>
1.0.6
* cookie support added and documented
 
1999-12-14 jkf <jkf@main.verada.com>
 
* added new file decode.cl to hold all decode/encode functions
 
1999-12-11 John Foderaro <jkf@tiger.franz.com>
1.0.5
* add shutdown command
 
1999-12-02 John Foderaro <jkf@tiger.franz.com>
1.0.4
* do case insensitive comparison of mime separation strings.
It may not be necessary but it seemed to be for IE.
 
1999-11-02 John Foderaro <jkf@tiger.franz.com>
1.0.3
* fixed chunking output calls so it works again
 
1999-10-15 jkf <jkf@main.verada.com>
1.0.2
 
* added multipart info grabbing and updated the documentatoin
 
1999-10-13 John Foderaro <jkf@tiger.franz.com>
1.0.1
* start changelog