Cleanup ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE, all platforms support it so far as I can...
[ACE_TAO.git] / ACE / ChangeLogs / ChangeLog-JAWS
blob79562d051a90b931d9605000a1e06ad34ae68049
1 Tue Feb 17 16:15:16 UTC 2009  William R. Otte  <wotte@dre.vanderbilt.edu>
3         * server/HTTP_Server.h:
5           Updated to reflect movement of the svc_export.h file. 
6         
7 Fri Dec  7 22:00:18 UTC 2007  Will Otte  <wotte@dre.Vanderbilt.Edu>
9         * server/HTTP_Helpers.cpp:
10           Replaced format strings passed sscanf as char arrays to be
11           string literals instead, to address a gcc warning.
13 Wed Jul 17 14:40:28 UTC 2007  Johnny Willemsen  <jwillemsen@remedy.nl>
15         * clients/Caching/http_handler.cpp:
16           Fixed gcc warning
18 Fri Jul 13 20:21:08 UTC 2007  Ossama Othman  <ossama_othman at symantec dot com>
20         * clients/Blobby/Blob_Handler.cpp (receive_reply):
22           Instead of casting an unsigned value to a signed one, check if
23           the signed value is less than zero, and then cast the signed
24           value to unsigned.  Prevents wrap-around errors caused by
25           casting a negative value to an unsigned type from occuring.
27 Thu Jul 12 15:54:28 UTC 2007  Johnny Willemsen  <jwillemsen@remedy.nl>
29         * clients/Blobby/Blob_Handler.cpp:
30         * clients/Caching/http_handler.h:
31           Fixed 64bit warnings
33         * stress_testing/benchd.cpp:
34           Use ACE_DEBUG instead of cout
36 Tue Jul  3 10:56:28 UTC 2007  Johnny Willemsen  <jwillemsen@remedy.nl>
38         * clients/Blobby/Blob_Handler.cpp (ACE_Blob_Writer::receive_reply):
39           Don't use the return value of recv_n to set the last byte to zero, but
40           use the optional argument num_recvd
42         * server/HTTP_Response.cpp:
43           Fixed typo in error message
45         * server/IO.cpp (ACE_Blob_Writer::receive_reply):
46           Close the file handle after we have send the file
48 Mon Jul  2 12:24:28 UTC 2007  Johnny Willemsen  <jwillemsen@remedy.nl>
50         * server/HTTP_Handler.cpp:
51           Layout changes and initialise some pointers with 0
53         * server/HTTP_Server.cpp:
54         * server/IO.h
55           Layout changes
57         * server/IO.cpp:
58           Layout changes, fixed memory leak
60         * server/JAWS_Concurrency.cpp:
61           Initialiser pointer with 0
63 Mon Jul  2 10:48:28 UTC 2007  Johnny Willemsen  <jwillemsen@remedy.nl>
65         * server/*.{h,cpp}:
66           Converted to doxygen format and replaced NULL with 0
68 Fri Oct 28 03:23:18 UTC 2006  Ossama Othman  <ossama_othman at symantec dot com>
70         * server/IO.cpp:
72           Addressed 64-bit conversion warnings.
74 Mon Feb  6 01:00:55 UTC 2006  William Otte  <wotte@dre.vanderbilt.edu>
76         * server/HTTP_Server.h
78           Surrounded a proactor forward declaration with versioned
79           namespace macros.
81 Thu Jan  5 00:42:28 UTC 2006  J.T. Conklin  <jtc@acorntoolworks.com>
83         * ChangeLog:
85           Untabify.
86           Delete-trailing-whitespace.
88 Wed Jan  4 22:57:37 UTC 2006  J.T. Conklin  <jtc@acorntoolworks.com>
90         * ChangeLog:
92           Added "Local Variables" section defining "add-log-time-format"
93           to a really ugly lambda expression that formats changelog
94           timestamps in UTC and works with both GNU Emacs and XEmacs.
96 Fri Apr 22 21:42:30 2005  Ossama Othman  <ossama@dre.vanderbilt.edu>
98         * server/HTTP_Helpers.cpp (HTTP_mktime):
100           Made rfc1123_date, rfc850_date and asctime_date strings into
101           string literals.  Allows g++ format specifier argument checking
102           to work, and addresses a related g++ 4.0 warning.
104         * server/IO.h (~JAWS_IO_Handler):
105         * server/IO.cpp (~JAWS_IO_Handler):
107           Added virtual destructor to silence g++ 4.0 warnings.
109 Thu Aug 26 08:13:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>
111         * clients/Caching/http_client.cpp:
112         * server/HTTP_Response.cpp:
113           Added include of ace/os_include/os_ctype.h to fix compile problems
114           in our daily builds.
116 Tue Feb 25 18:58:26 2003  Carlos O'Ryan  <coryan@atdesk.com>
118         * clients/WebSTONE/src/cgi-send:
119           Removed pre-compiled binary for MIPS (R3000 of all things!)
121 Wed Dec 26 09:35:35 2001  Douglas C. Schmidt  <schmidt@ace.cs.wustl.edu>
123         * clients/Blobby/Options.cpp
124           server/HTTP_Server.cpp
125           stress_testing/benchd.cpp
126           JAWS2/JAWS/Server.cpp: Replaced all uses of getopt.optarg
127           with getopt.opt_arg().
129 Thu Dec  6 09:00:31 2001  Douglas C. Schmidt  <schmidt@macarena.cs.wustl.edu>
131         * clients/Caching/http_client.cpp (main): Make sure to remove the
132           trailing '\n' so the example works properly.  Thanks to Andrey
133           Shkinev <andreyshkinev@rogers.com> for reporting this.
135 Wed Nov 14 16:21:46 2001  Douglas C. Schmidt  <schmidt@macarena.cs.wustl.edu>
137         * clients/Blobby/Blob.{h,cpp},
138         * clients/Blobby/Blob_Handler.{h,cpp},
139         * clients/Blobby/blobby.{h,cpp},
140         * clients/Blobby/Options.{h,cpp}:
141           Fixed the code to be Unicode-compliant.  Thanks to Johnny
142           Willemsen for contributing this.
144 Fri Aug 24 18:39:39 2001  Douglas C. Schmidt  <schmidt@macarena.cs.wustl.edu>
146         * server/HTTP_Response.cpp (normal_response),
147         * server/HTTP_Helpers.cpp (HTTP_decode_base64): Use delete [] buf
148           rather than delete buf.  Thanks to Don Hinton for reporting
149           this.
151 Thu Aug 16 09:57:15 2001  Balachandran Natarajan  <bala@cs.wustl.edu>
153         * */Makefile: Updated dependencies.
155 Mon Aug 13 14:04:44 2001  Douglas C. Schmidt  <schmidt@ace.cs.wustl.edu>
157         * Applied the following fixes courtesy of Blair Zajac
158           <blair@gps.caltech.edu>:
160           1) Allow a static libHTTPU.a to be built when
161              "make static_libs_only=1" is used.
163           2) When I try to build both JAWS and JAWS2 with the same
164              ACE_ROOT, the libJAWS.* that is built and installed first
165              prevents the other JAWS from properly compiling.  This
166              resolves this problem by renaming the JAWS2 library to
167              libJAWS2.*.
169           3) The JAWS2 subdirectory is now descended into by
170              apps/Makefile.
172           4) The Makefile in JAWS2 now descends into HTTPU and JAWS to
173              build those libraries.
175 Tue Jun 12 20:35:26 2001  Krishnakumar B  <kitty@cs.wustl.edu>
177         * clients/Blobby/Blob_Handler.cpp:
179           Fixed a size_t printf to make gcc happy on IA-64 Linux.
181 Sun Feb 18 09:33:33 2001  Douglas C. Schmidt  <schmidt@ace.cs.wustl.edu>
183         * server/IO.cpp (handle): Added a const to the handle() method
184           to make compilers happy.  Thanks to Kitty for reporting this.
186 Mon Jun 12 14:22:35 PDT 2000 James Hu <jxh@entera.com>
188         * server/HTTP_Response.cpp: Added content length support.
189           Thanks to Greg Gallant (gcg@micrografx.com) for the fixes!
191         * server/HTTP_Helpers.cpp: Fix date handling for NT.
192           Thanks to Greg Gallant (gcg@micrografx.com) for the fixes!
194 Sun Jun  4 14:57:04 2000  Darrell Brunsch <brunsch@uci.edu>
196         * clients/WebSTONE/bin/WebStone-common.pl:
197         * clients/WebSTONE/bin/WebStone-manage.pl:
198         * clients/WebSTONE/bin/WebStone-run.pl:
199         * clients/WebSTONE/bin/WebStone-setup.pl:
200         * clients/WebSTONE/bin/killbench.pl:
201         * clients/WebSTONE/bin/mine-logs.pl:
202         * clients/WebSTONE/bin/move-filelist.pl:
203         * clients/WebSTONE/bin/move-runs.pl:
204         * clients/WebSTONE/bin/runbench.pl:
205         * clients/WebSTONE/bin/view-results.pl:
206         * clients/WebSTONE/bin/webstone-gui.pl:
207         * clients/WebSTONE/bin/write-testbed.pl:
208         * clients/WebSTONE/bin/wscollect.pl:
209         * clients/WebSTONE/conf/paths.pl:
210         * clients/WebSTONE/doc/FAQ-webstone.html:
211         * clients/WebSTONE/doc/LICENSE.html:
212         * clients/WebSTONE/doc/WebStone.html:
213         * clients/WebSTONE/doc/webstone2.html:
214         * clients/WebSTONE/src/acconfig.h:
215         * clients/WebSTONE/src/bench.c:
216         * clients/WebSTONE/src/bench.h:
217         * clients/WebSTONE/src/cgi-send.c:
218         * clients/WebSTONE/src/config.h:
219         * clients/WebSTONE/src/debug.h:
220         * clients/WebSTONE/src/errexit.c:
221         * clients/WebSTONE/src/genrand.c:
222         * clients/WebSTONE/src/get.c:
223         * clients/WebSTONE/src/get.h:
224         * clients/WebSTONE/src/getopt.c:
225         * clients/WebSTONE/src/gettimeofday.c:
226         * clients/WebSTONE/src/nsapi-send.c:
227         * clients/WebSTONE/src/parse_file_list.c:
228         * clients/WebSTONE/src/parse_file_list.h:
229         * clients/WebSTONE/src/rexec.c:
230         * clients/WebSTONE/src/statistics.c:
231         * clients/WebSTONE/src/statistics.h:
232         * clients/WebSTONE/src/sysdep.c:
233         * clients/WebSTONE/src/sysdep.h:
234         * clients/WebSTONE/src/timefunc.c:
235         * clients/WebSTONE/src/timefunc.h:
236         * clients/WebSTONE/src/webclient.c:
237         * clients/WebSTONE/src/webmaster.c:
238         * clients/WebSTONE/src/nsapi-includes/netsite.h:
239         * clients/WebSTONE/src/nsapi-includes/base/buffer.h:
240         * clients/WebSTONE/src/nsapi-includes/base/cinfo.h:
241         * clients/WebSTONE/src/nsapi-includes/base/crit.h:
242         * clients/WebSTONE/src/nsapi-includes/base/daemon.h:
243         * clients/WebSTONE/src/nsapi-includes/base/dll.h:
244         * clients/WebSTONE/src/nsapi-includes/base/ereport.h:
245         * clients/WebSTONE/src/nsapi-includes/base/eventlog.h:
246         * clients/WebSTONE/src/nsapi-includes/base/file.h:
247         * clients/WebSTONE/src/nsapi-includes/base/minissl.h:
248         * clients/WebSTONE/src/nsapi-includes/base/net.h:
249         * clients/WebSTONE/src/nsapi-includes/base/nodelock.h:
250         * clients/WebSTONE/src/nsapi-includes/base/nterrors.h:
251         * clients/WebSTONE/src/nsapi-includes/base/objndx.h:
252         * clients/WebSTONE/src/nsapi-includes/base/pblock.h:
253         * clients/WebSTONE/src/nsapi-includes/base/sem.h:
254         * clients/WebSTONE/src/nsapi-includes/base/session.h:
255         * clients/WebSTONE/src/nsapi-includes/base/shexp.h:
256         * clients/WebSTONE/src/nsapi-includes/base/shmem.h:
257         * clients/WebSTONE/src/nsapi-includes/base/systems.h:
258         * clients/WebSTONE/src/nsapi-includes/base/systhr.h:
259         * clients/WebSTONE/src/nsapi-includes/base/util.h:
260         * clients/WebSTONE/src/nsapi-includes/frame/conf.h:
261         * clients/WebSTONE/src/nsapi-includes/frame/dnfilter.h:
262         * clients/WebSTONE/src/nsapi-includes/frame/func.h:
263         * clients/WebSTONE/src/nsapi-includes/frame/http.h:
264         * clients/WebSTONE/src/nsapi-includes/frame/httpact.h:
265         * clients/WebSTONE/src/nsapi-includes/frame/ipfilter.h:
266         * clients/WebSTONE/src/nsapi-includes/frame/log.h:
267         * clients/WebSTONE/src/nsapi-includes/frame/object.h:
268         * clients/WebSTONE/src/nsapi-includes/frame/objset.h:
269         * clients/WebSTONE/src/nsapi-includes/frame/protocol.h:
270         * clients/WebSTONE/src/nsapi-includes/frame/req.h:
271         * clients/WebSTONE/src/nsapi-includes/frame/servact.h:
273           Added missing CVS Id strings.
275 Wed Mar 22 12:36:00 2000  James Hu  <jxh@cs.wustl.edu>
277         * stress_testing/connection.h:
279           Fixes to class declaration.  Method return types should never
280           be implicit.  Thanks to Craig Rodrigues (rodrigc@mediaone.net)
281           for the heads up.
283         * stress_testing/Makefile:
285           Fixed it so that the programs actually link.  Thanks to Craig
286           Rodrigues (rodrigc@mediaone.net) for the heads up.
288 Tue Sep 21 11:47:00 1999  Ossama Othman  <othman@cs.wustl.edu>
290         * server/HTTP_Server.cpp (init):
292           Changed cast style to make gcc 2.95.1 happy.  Thanks to Jeffrey
293           Franks <Jeffrey_Franks@i-o.com> for reporting the problems.
295 Tue Aug 31 05:10:32 1999  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
297         * server/HTTP_Handler.cpp (destroy_http_handler): Switched
298           the order in which handler and io were deleted since the current
299           order seems to destroy handler first, which is problematic since
300           io is contained within handler!  Thanks to Yosi Sarusi
301           <yosi@appstream.com> for reporting this.
303 Wed Aug 18 16:00:46 1999  David L. Levine  <levine@cs.wustl.edu>
305         * server/Makefile,client/Caching/Makefile: don't build if
306           ACE_COMPONENTS is FOR_TAO, because we now exclude Filecache
307           from the ACE library in that case.
309 Thu Jul 29 16:05:59 1999  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
311         * PROTOTYPE/JAWS/IO.cpp (transmit_file): Added some fixes so this
312           code will compile on NT.  Thanks to Brian Jones
313           <bjones@edgemail.com> for reporting this problem and to James Hu
314           for fixing it.
316 Tue Jun 22 13:42:51 1999  David L. Levine  <levine@cs.wustl.edu>
318         * remora/app/Makefile: replaced rm -f with $(RM).
320 Tue Mar 16 01:08:05 1999  Nanbor Wang  <nanbor@cs.wustl.edu>
322         * server/Makefile:
323         * server/jaws.dsp: Updated makefiles to build shared library.
325         * server/svc.conf: Added example settings for using HTTP_Server as
326           a dynamic service.
328         * server/HTTP_Server.{h,cpp}: Added macros to build dynamic
329           HTTP_Server service.
331         * server/main.cpp (main): Since we use static service in JAWS, we
332           must open the service configure without ignoring the static
333           svcs.  Thanks to Bill Rizzi <rizzi@softserv.com> for pointing
334           this out.
336 Mon Feb 01 17:04:39 1999  David L. Levine  <levine@cs.wustl.edu>
338         * clients/WebSTONE/conf/paths.{pl,sh}.old:
339           removed these apparently useless files.
341 Sat Jan 02 08:44:48 1999  David L. Levine  <levine@cs.wustl.edu>
343         * server/HTTP_Request.cpp,Parse_Headers.cpp: initialized
344           third param to strtok_r with 0.  DU 4.0 cxx was complaining
345           about it, with ACE_NDEBUG.  According to the strtok_r
346           man page on DU 4.0, it must be initialized to 0 on the
347           first call to strtok_r.
349 Fri Sep 25 23:29:14 1998  David L. Levine  <levine@cs.wustl.edu>
351         * server/IO.cpp (receive_file,transmit_file): changed
352           NOMAP to ACE_NOMAP.  Thanks to Dann Corbit
353           <DCorbit@SolutionsIQ.com> for reporting this.
355 Thu Sep 17 18:53:05 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
357         * server/IO.cpp:
358         * PROTOTYPE/JAWS/IO.cpp:
359           Revert back to iovec. Also added some missing casts.
361 Wed Sep 16 22:53:06 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
363         * server/IO.cpp:
364         * PROTOTYPE/JAWS/IO.cpp:
365           Use ACE_IO_Vector instead of iovec, because it is more
366           protable.
368 Tue Aug 25 10:18:16 1998  David L. Levine  <levine@cs.wustl.edu>
370         * clients/Caching/URL_Properties.cpp: removed explicit
371           ACE_Auto_Basic_Array_Ptr <char> instantiation because it's
372           now in libACE.  This file doesn't compile with g++/Solaris,
373           but the Makefile doesn't build it anyways.
375 Fri Jul 31 18:31:32 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
377         * PROTOTYPE/HTTP_10.cpp
378         * PROTOTYPE/HTTP_10_Parse.cpp
379         * PROTOTYPE/HTTP_10_Read.cpp
380         * PROTOTYPE/HTTP_10_Request.cpp
381         * PROTOTYPE/HTTP_10_Write.cpp
382         * PROTOTYPE/HTTP_Policy.cpp
383         * PROTOTYPE/main.cpp
384         * PROTOTYPE/JAWS/Assoc_Array.cpp
385         * PROTOTYPE/JAWS/Concurrency.cpp
386         * PROTOTYPE/JAWS/Data_Block.cpp
387         * PROTOTYPE/JAWS/IO.cpp
388         * PROTOTYPE/JAWS/IO_Acceptor.cpp
389         * PROTOTYPE/JAWS/IO_Handler.cpp
390         * PROTOTYPE/JAWS/Pipeline.cpp
391         * PROTOTYPE/JAWS/Pipeline_Handler.cpp
392         * PROTOTYPE/JAWS/Pipeline_Tasks.cpp
393         * PROTOTYPE/JAWS/Policy.cpp
394         * PROTOTYPE/JAWS/Reaper.cpp
395         * PROTOTYPE/JAWS/Server.cpp
396         * PROTOTYPE/JAWS/Waiter.cpp
397         * clients/Blobby/Blob.cpp
398         * clients/Blobby/Blob_Handler.cpp
399         * clients/Blobby/Options.cpp
400         * clients/Blobby/blobby.cpp
401         * clients/Caching/ID_Generator.cpp
402         * clients/Caching/Local_Locator.cpp
403         * clients/Caching/Locator_Request_Reply.cpp
404         * clients/Caching/URL_Array_Helper.cpp
405         * clients/Caching/URL_Locator.cpp
406         * clients/Caching/URL_Properties.cpp
407         * clients/Caching/http_client.cpp
408         * clients/Caching/http_handler.cpp
409         * clients/Caching/test_URL.cpp
410         * server/HTTP_Config.cpp
411         * server/HTTP_Handler.cpp
412         * server/HTTP_Helpers.cpp
413         * server/HTTP_Request.cpp
414         * server/HTTP_Response.cpp
415         * server/HTTP_Server.cpp
416         * server/IO.cpp
417         * server/JAWS_Concurrency.cpp
418         * server/JAWS_Pipeline.cpp
419         * server/JAWS_Pipeline_Handler.cpp
420         * server/Parse_Headers.cpp
421         * server/main.cpp
422         * stress_testing/benchd.cpp
423         * stress_testing/connection.cpp
424         * stress_testing/cp.cpp
425         * stress_testing/http_tester.cpp
426         * stress_testing/stats.cpp
427         * stress_testing/util.cpp
428         Added ACE_RCSID to these files.
430 Thu Feb 19 22:14:09 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>
432         * server/JAWS_Concurrency.cpp (put): Modified line number 11 to
433         get away with a compilation error.
435 Wed Feb 18 12:31:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
437         * server/JAWS_Pipeline.cpp:
438           Removed extra definitions for default arguments.
440 Sun Feb 15 08:05:28 1998  David L. Levine  <levine@cs.wustl.edu>
442         * server/JAWS_Pipeline.h: added missing ; at end of constructor
443           declaration.
445 Wed Jan  7 17:26:43 1998  James C Hu  <jxh@cs.wustl.edu>
447         * server/Pipeline.cpp: Put base class initialization of
448           JAWS_Protocol_Filter ahead of data members.
450 Fri Jan  2 16:28:00 1998  Nanbor Wang  <nw1@cs.wustl.edu>
452         * clients/Caching/http_handler.cpp:
453         * clients/Blobby/Blob.cpp: Added missing explicit template
454           instantiations.
456 Mon Dec 29 20:20:36 1997  James C Hu  <jxh@cs.wustl.edu>
458         * clients/Caching/http_handler.cpp: Idem to previous change.
460 Mon Dec 29 18:50:02 1997  James C Hu  <jxh@cs.wustl.edu>
462         * server/IO.cpp: Idem to previous change, but fixes to improve
463           compatibility and portability to Windows NT.
465 Thu Dec 18 15:37:36 1997  James C Hu  <jxh@cs.wustl.edu>
467         * server/IO.cpp: Modified to account for changes in ACE_Filecache
468           to not map file on NT.
470 Tue Dec 16 09:29:11 1997  David L. Levine  <levine@cs.wustl.edu>
472         * server/Makefile: expanded rules.bin.GNU, but without
473           $(VOBJS), to avoid make warnings.
475         * client/WebSTONE/src/nsapi-includes/base/systems.h:
476           #ifdef linux, not LINUX.
478 Fri Dec 12 03:06:16 1997  James C Hu  <jxh@cs.wustl.edu>
480         * server/Parse_Headers.cpp:  Many things have been touched, but
481           only a few things have significantly changed.  I originally
482           attempted to change the implementation entirely to use
483           Hash_Map_Manager instead, but it was getting more complicated
484           than I wanted, so I went back to debugging.
486           - Trailing whitespace has been removed.
487           - A couple of debug messages have been added the
488             Headers::parse_header_line ().
489           - Method declarations had to be changed to account for the
490             fact that the Map_Item class (which had previously
491             been declared inside of Headers_Map) is now in global
492             scope and has been renamed to Headers_Map_Item.
493           - The no_value_ data member and the char* cast operator of
494             Map_Item have been removed.
495           - The assignment operator for Map_Item has been made a bit
496             tidier in its memory management (say no to memory
497             leaks!).
498           - Debugged the Headers_Map data structure.  This involved
499             the following:
500             . Re-implementation of strcasecmp (red-herring).
501             . Re-implementation of Headers::compare ().  This is
502               needed because empty table entries need to compare as
503               infinity against real strings, so that real strings get
504               inserted correctly.
505             . Debugging the Headers_Map::find () method by
506               implementing first a linear search, and then my own binary
507               search.  It turns out the C library ::bsearch() does work,
508               but I will leave in my implementation for now, since
509               ::bsearch () is not in ACE_OS yet.
510             . Re-implementation of Headers::place ().  The old one
511               was badly written.  The new one is more efficient, and
512               less error prone.  This method turned out to be the main
513               problem.  It was the reason that binary search was
514               previously failing (but linear search worked).  The
515               reason?  It was corrupting memory, believe it or not.
516               No longer!
518           In addition, Headers::place () had a serious bug in which a call
519           to ACE_OS::free () was added, but included the ++ operator on
520           the pointer from the previous line.  Ug.
522         * server/Parse_Headers.h: See comments for HTTP_Request.cpp.
524         * server/HTTP_Request.cpp: Removed extraneous whitespace.  It's
525           not what you think Doug!  Just trailing whitespace at the end of
526           lines that somehow get added on when people use LoseNT editors.
527           Also, changes were made to Parse_Headers which made it necessary
528           to explicitly use the value () accessor method when examining
529           parsed headers.  There use to be a operator char* () method.
531         * server/HTTP_Response.cpp: See comments for HTTP_Request.cpp.
533         * server/HTTP_Helpers.cpp: Added a comment to
534           HTTP_Helper::fixyear ().
536 Tue Dec  9 01:19:09 1997  James C Hu  <jxh@cs.wustl.edu>
538         * stress_testing/util.cpp: Off by one errors when parsing a URL.
539           Did I write this code?  I don't think so.  Thanks to Valik
540           Solorzano Barboza <valik@geodan.nl> for pointing this out.
542 Thu Nov 20 00:36:34 1997  James C Hu  <jxh@cs.wustl.edu>
544         * server/Pipeline.h: Added methods and members so that the
545           pipeline can be both push and pull driven.
547         * server/Pipeline.cpp: Made the pipeline a doubly linked list of
548           components, so that it can be operated as push-driven or
549           pull-driven pipelines.
551 Wed Nov 19 05:10:38 1997  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
553         * server/HTTP_Handler.h: Added the keyword "virtual" on the open()
554           method which is inherited from ACE_Sevice_Handler.  Perhaps this
555           will fix a bug with BORLANDC reported by Valik Solorzano Barboza
556           <valik@xs4all.nl>.
558 Mon Nov 17 07:34:09 1997  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
560         * server/Parse_Headers.cpp (end_of_line): Replaced a const char *
561           with a char * to work with the new ACE_OS::strchr() signature.
562           Thanks to James for finding this.
564 Tue Nov 11 19:52:38 1997  James C Hu  <jxh@cs.wustl.edu>
566         * server/Pipeline.{h,cpp}: The beginning of a new Pipeline
567           framework has been added.
569 Sun Oct 12 16:21:32 1997  Carlos O'Ryan  <coryan@macarena.cs.wustl.edu>
571         * clients/Caching/Makefile:
572         * stress_testing/Makefile:
573           There is no need to set LDLIBS to add local object files
574           anymore, using FILES is enough.
576 Fri Oct 10 18:41:47 1997  Carlos O'Ryan  <coryan@macarena.cs.wustl.edu>
578         * clients/Blobby/Makefile:
579           Fixed problem that made compilation fail.
581 Thu Sep 11 10:40:38 1997  Carlos O'Ryan  <coryan@polka.cs.wustl.edu>
583         * server/HTTP_Request.cpp:
584           I checked the use of MAXNAMELEN vs. MAXPATHLEN; all buffers
585           intended to keep full filenames should have at least
586           MAXPATHLEN+1 chars.
587           Only buffers that will keep basenames (without any directories)
588           should have MAXNAMELEN+1 bytes.
589           I also added a new macro ACE_MAX_FULLY_QUALIFIED_NAME_LEN which
590           is the maximum number of characters for a fully qualified
591           internet hostname.
592           There remain one obscure usage of these macros in ace/Malloc.h
593           and Local_Naming_Space_T.{h,cpp}, but a quick fix broke
594           something, I will try again soon.
596 Tue Sep  9 22:08:36 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
598         * server/HTTP_Server.{cpp,h}:  Changes which answer questions
599           brought up in design review.  Mostly additional comments.  Also
600           changes to have a task spawn a number of threads rather than
601           iterating through calls to the activate method.
603 Fri Aug 29 11:07:43 1997 James C Hu  <jxh@lambada.cs.wustl.edu>
605         * server/*.{cpp,h}:  Changes to make JAWS comply with ACE
606           coding standards.  In particular, broke up CGI method in
607           HTTP_Request, remove dependency on static object in
608           HTTP_Config, and answered all questions from Doug.
610 Tue Aug 26 21:34:11 1997  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
612         * clients/Caching/ID_Generator.h: Made some minor changes to
613           the programming style.
615 Sun Aug 10 13:44:14 1997  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
617         * server/HTTP_Helpers.cpp (HTTP_date): We can't use
618           ACE_Thread_Mutex directly in the code since that breaks
619           platforms that lack threads.
621 Wed Aug  6 16:45:48 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
623         * server/main.cpp: Added another signal handler so I can kill JAWS
624           when purifying.
626 Mon Aug  4 00:07:24 1997  Nanbor Wang  <nw1@cumbia.cs.wustl.edu>
628         * server/main.cpp (main): Service configurator now doesn't return
629           -1 when errors occur.  Therefore, we check for not success
630           instread of fail when opening the service contifurator.
632 Mon Jul 28 04:54:01 1997  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
634         * server/Parse_Headers.cpp (place): Reformatted the same
635           stuff again...
637 Mon Jul 28 01:48:40 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
639         * server/README: Updated the README file to reflect new features
640           and server flags.
642         * server/Parse_Headers.cpp (place): Fixed a compile error found by
643           David Levine.  I don't know why this was compiling for me.
645 Sun Jul 27 21:56:12 1997  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
647         * server/Parse_Headers.cpp (place): Reformatted a few things
648           to make them easier to read.
650 Fri Jul 25 02:05:20 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
652         * server/HTTP_Server.cpp: Changes to allow the thread creation
653           flags to be specified from the command line.  Removed some code
654           that was used to track down memory leaks.
656         * server/HTTP_Helpers.{h,cpp}: Added another method
657           HTTP_date (char *), so that a buffer to which the date will be
658           written to can be passed into the HTTP_date routine.
660         * server/HTTP_Response.cpp: Changed some code so that the baseline
661           implementation can be created at compile time.
663         * server/IO.cpp: Changed some code so that the baseline
664           implementation can be created at compile time.
666         * server/main.cpp: Changed the signal handler to wait for threads
667           to die.  However, this code will remain dormant for now, until
668           we design a nice way to shut down a thread pool.
670         * server/svc.conf: Changes to add some other entries people can
671           try.
673         * server/Makefile: Changes to allow JAWS to be built with static
674           linking only, to ease the process of using Purify and Quantify.
675           Dynamic linking will be re-configured in the future when we have
676           all the memory leaks worked out.
678 Mon Jul 22 16:55:00 1997  Chris Cleeland <cleeland@cs.wustl.edu>
680         * Changed references to WRAPPER_ROOT to ACE_ROOT in every
681           place except ChangeLog entries.
683 Mon Jul 21 15:09:03 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
685         * server/HTTP_Server.{h,cpp}: Got rid of Solaris specific
686           debugging code (thr_create, thr_join).
688 Fri Jul 11 02:15:12 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
690         * server/HTTP_Response.cpp: Changes so that the HEADER is not
691           rebuilt all the time.
693         * server/IO.cpp (JAWS_Synch_IO::transmit_file): Changed to use
694           writev () instead of multiple send ()s.
696 Thu Jul 10 01:53:48 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
698         * server/HTTP_Helpers.{h,cpp}: Changed so that creating the date
699           header is less expensive.
701         * server/HTTP_Response.cpp: Changes to match above.
703         * clients/Caching/README: Added to the repository.
705         * clients/Caching/http_handler.{h,cpp}: Added some comments to the
706           code.  Also, moved the code to check to see if the file is in
707           cache already into the connector, so that a connect is not
708           done if the file is cached.  This required a filename ()
709           accessor method to be added to the handler.
711 Wed Jul  9 13:08:00 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
713         * clients/Caching/http_handler.cpp (svc): Added code to check to
714           see if the file is already cached before trying to cache it.
716         * clients/Caching/http_client.cpp (main): Added a comment block at
717           the top of the file.
719         * server/HTTP_Handler.cpp and IO.cpp: Changes that were needed
720           since JAWS_File is now integrated into ACE (as ACE_Filecache).
722         * server/HTTP_Server.*: Attempting to track down memory leak.
723           This code may be in a state a flux for the next week or so.
725 Mon Jul  7 23:40:13 1997  Nanbor Wang  <nw1@cumbia.cs.wustl.edu>
727         * clients/WebSTONE/src/webclient.c: Removed a bunch of THREAD
728           storage class decorators from function makeload() because auto
729           variables can't be declared as TSS.  Also #ifdef random number
730           generation code so it uses rand_r on Solaris() and rand() on NT.
732         * clients/WebSTONE/src/rexec.c: Modified prototypes for
733           PassOutputThread() and PassErrorThread() to avoid warnings from
734           MSVC.  Still need more refinement on this one. ;(
736         * clients/WebSTONE/src/webmaster.c: Added prototype for
737           HostEntCpy() and a null statement to avoid warning from MSVC.
739         * clients/WebSTONE/src/gendata/genrand.mak:
740         * clients/WebSTONE/src/master/webmaster.mak:
741         * clients/WebSTONE/src/client/webclient.mak: Updated file paths
742           and dependencies.
744 Sat Jul  5 14:19:20 1997  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
746         * Renamed the client directory "clients" to reflect the fact that
747           we've got multiple client tests now.  Also, moved the original
748           contents of the client directory into a new clients/Blobby
749           directory and added Caching and WebSTONE.
751         * Moved the ChangeLog from the ./server directory into the ./JAWS
752           directory since we want to apply ChangeLog entries to all
753           aspects of JAWS, not just the server.
755         * HTTP_Server.cpp (open): Added THR_DETACHED as a flag to
756           activate().  This should prevent a memory leak that was
757           occurring since no thread was ever "joining" the threads that
758           were spawned.
760 Thu Jul  3 23:33:47 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
762         * HTTP_Response.cpp (~HTTP_Response): changed delete to delete [],
763           removing a major memory leak from JAWS.  Still to find is a
764           memory lead associated with thread per request.  Nanbor's fix is
765           about what I did to EMPTY_HEADER too.
767         * JAWS_File.cpp: David points out I need to add specializations
768           for the GNU C++ compiler.
770 Thu Jul  3 22:38:04 1997  Nanbor Wang  <nw1@cumbia.cs.wustl.edu>
772         * HTTP_Response.cpp (build_headers): Added explicit cast for
773           EMPTY_HEADER from (const char *) to (char *) in order to make
774           MSVC happy.  This is probably very badly styled.  But
775           HTTP_HEADER is only used in places that require (const char *),
776           so I think it's safe to do so.
778 Thu Jul  3 15:34:30 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
780         * HTTP_Response.cpp (HTTP_Response): Moved a call to delete out of
781           constructor into the destructor where it belongs.
783 Thu Jul  3 12:28:44 1997  Sumedh Mungee  <sumedh@lindy.cs.wustl.edu>
785         * Parse_Headers.cpp: Line 137, Changed pt to ptr (it was a typo)
787 Wed Jul  2 22:33:52 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
789         * JAWS_File.{h,cpp}: Fixed deadlock bug, since RW_MUTEX's are not
790           recursive (drat!).
792 Wed Jul  2 21:03:12 1997  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
794         * Made a major pass through all the code and made the style
795           consistent with that found in ACE.
797 Wed Jul  2 14:33:27 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
799         * JAWS_File.cpp: Added double check locking pattern to the fetch
800           routine of the virtual filesystem.  This slows things down
801           considerably for files which change frequently and for cache
802           misses in general, but it should be correct.
804 Wed Jul  2 14:59:29 1997  Nanbor Wang  <nw1@cumbia.cs.wustl.edu>
806         * HTTP_Helpers.cpp (HTTP_decode_string): Added cast from strtol to
807           char explicitly to prevent NT from complaining.
809 Wed Jul  2 14:33:27 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
811         * JAWS_File.{h.cpp}: Modifications to support RW_MUTEX for both
812           the virtual filesystem and the low level ACE_File.  Next major
813           change will be to re-implement the virtual filesystem to use a
814           hash table ala ACE_Hash_Map_Manager.
816 Wed Jul  2 00:23:22 1997  James C Hu  <jxh@polka.cs.wustl.edu>
818         * HTTP_Server.{h,cpp}: Changed parsing of options to use
819           mnemonic names rather than numbers.  Added a new thread
820           strategy, THROTTLE.  This is thread-per-request until some
821           maximum number.  Unfortunately, it does not become thread-pool
822           at this point... yet :-).  Added a new option to pass in a
823           backlog value.
825         * svc.conf: adjusted to account for the changed options.
827         * README: changed to explain new svc.conf options.
829         * JAWS_File.cpp: Changed it so that when the file is added to the
830           cache, it is also acquired.  When it is removed from the cache,
831           it is released.  This is so that the reference count is at least
832           one while the file is in the cache.  Also, fixed the virtual
833           filesystem by giving it a simple replacement strategy if the
834           table is full.  For now, it will replace the largest file in the
835           cache with the request for the current file.
837 Tue Jul  1 19:13:44 1997  Nanbor Wang  <nw1@cumbia.cs.wustl.edu>
839         * JAWS_File.cpp (JAWS_File): Changes the creation method of a
840           cached copy from using plain file copy to using mmap and memcpy.
841           This avoid the extra complexity caused by FILE_FLAG_OVERLAPPED.
843 Sat Jun 28 11:55:38 1997  James C Hu <jxh@tango.cs.wustl.edu>
845         * HTTP_Handler.cpp (open): fixed a typo
847         * HTTP_Handler.cpp (cgi): fixed a bug, strdup fails on NULL
849 Sat Jun 28 16:14:38 1997  Sumedh Mungee  <sumedh@cumbia.cs.wustl.edu>
851         * HTTP_Handler.cpp (open): Changed socket send-buffer to 64k
853 Wed Jun 25 01:11:50 1997  Nanbor Wang  <nw1@dingo.wolfpack.cs.wustl.edu>
855         * JAWS_File.cpp: Removed initialization of vfs_ (see below) and
856           changed all references of vfs_ to
857           JAWS_Virtual_Filesystem::instance ().  Thanks to Detlef Becker
858           <detlef.becker@med.siemens.de> for pointing this out.
859           (init): Added initialization of reference_count_ to 0.
861         * JAWS_File.h: Removed private member JAWS_Virtual_Filesystem vfs_
862           since JAWS_Virtual_Filesystem is a singleton already.  Caching
863           it doesn't seem to win much and depends on the order of static
864           variables initialization, which is non-portable.
866 Fri Jun 13 02:42:39 1997  Nanbor Wang  <nw1@dingo.wolfpack.cs.wustl.edu>
868         * jaws.{mdp,mak}: Updated to incoporate latest changes.
870 Thu Jun  5 14:13:22 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
872         * HTTP_Server.cpp: Added more informative comments to the
873           asynch_thread_pool() method due to comments posed by Mehul
874           (MehulM@spa-marketing.com).
876 Wed Jun  4 23:00:47 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
878         * JAWS_File.cpp (JAWS_File): Fixed a bug where JAWS_File wanted
879           the file to have write permissions before openning it.  This is
880           now only true if the file is to be written to.
882 Wed Jun  4 22:30:41 1997  Nanbor Wang  <nw1@dingo.wolfpack.cs.wustl.edu>
884         * main.cpp (main): Changed SIGCLD to SIGCHLD for better
885           portability.
887         * IO.cpp (transmit_file): The third argument passed
888           ACE_Asynch_Transmit_File::Header_And_Trailer() should be an
889           address (&).
891 Mon Jun  2 16:35:18 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
893         * HTTP_Helpers.cpp: Serious bug in base64 decoder routine
894           squashed.  Didn't initialize an array with 0's.  The original
895           source had them declared static.  Also, changed sizeof alphabet_
896           to strlen (alphabet_), because original code had alphabet_ as an
897           array, but my translation has alphabet_ as a pointer.
899         * HTTP_Response.cpp: Added some code to check to see if the
900           decoder returns 0.  If it does, flag this as a failed
901           authorization attempt.
903         * HTTP_Handler.cpp: Added a "\r\n" to the confirmation message in
904           receive_file_complete () method.
906         * HTTP_Request.cpp: In parse_request_line (), created conditional
907           expressions in the debugging print statement so that a null
908           string will not cause the server to crash.
910         * HTTP_Response.cpp:
911           (1) cgi_resposnse () no longer has to wait for the process to
912           die.  The fix to ACE_Process of closing down child handles was
913           enough to get the connection to die on its own.
914           (2) Mike (mrm@cisco.com) pointed out that the output for CGI
915           responses was not create.  The fix was to output a small header
916           before execing the CGI program.
918         * test.cgi: a sample cgi program to use when testing the JAWS
919           server.
921 Sat May 31 13:34:14 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
923         * *.h, *.cpp: Changed include lines from "apps/JAWS/server/..." to
924           "..." to avoid dependencies on the WRAPPER_ROOT tree.
926         * jaws.auth:  This file is added to be a sample authorization
927           file.  This is the file which JAWS is currently hardcoded to use
928           to verify authenticated PUT requests.
930         * HTTP_Response.cpp:  Added code to normal_response () and to
931           error_response () to better handle authentication.  Now, all PUT
932           methods are required to be authenticated.  The strategy now is
933           very simple, there is only one authorization file and only one
934           realm of authorization.  This will be easy to bring up to spec
935           later, though.
937         * HTTP_Helpers.h:  Added alphabet_ data member for the
938           decode/encode base64 methods.
940         * HTTP_Helpers.cpp:  Added HTTP_decode_base64 and
941           HTTP_encode_base64 methods.  HTTP_encode_base64 is currently not
942           used, but HTTP_decode_base64 is being used for Basic
943           authentication.
945         * *.h, *.cpp: Changed include lines from "JAWS/server/..." to
946           "apps/JAWS/server/..." to fix an error reported by Rob Payne
947           <repayne@jeeves.net>.  This was really due to a bug in the
948           platform_macros.GNU file not adding INCLDIRS to the CCFLAGS
949           during compilation, but in the case other platforms have the
950           same problem, changing the source is a better fix.
952 Fri May 30 23:19:03 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
954         * README: updated to better reflect the status of JAWS.
956         * main.cpp (handler): Added a signal handler for SIGINT, and also
957           set SIG_IGN for SIGCLD.  The first handler calls exit (0) if
958           SIGINT is received, so that static destructors are called.  The
959           second is so that zombies are not formed.
961         * HTTP_Response.cpp (cgi_response): Debugging.  (1) The CGI
962           program spewed output on the server side instead of the client.
963           (2) The CGI program had environment variable being set even
964           though there was no associated value.  (3) The client connection
965           was not being closed after the CGI program executed.  Problem
966           (1) was fixed by using set_handles () in cgi_options.  Problem
967           (2) was fixed by testing to see if the header had an associated
968           value before assigning it to the environment.  Problem (3) was
969           fixed by sending an empty confirmation message after waiting for
970           the CGI process to exit.
972         * HTTP_Request.cpp (cgi): Debugging.  It was not looking for a
973           ".cgi" extension during the stage of determining if a URI is a
974           CGI script.  This will later be fixed when a full mime-type
975           facility is implemented.
977 Fri May 23 00:45:24 1997  James C Hu  <jxh@lambada.cs.wustl.edu>
979         * JAWS/server: Debugged HTTP/0.9 GET requests, and HTTP/1.0 PUT
980           requests.  Both work now, with minor problems: e.g. the
981           Content-type header doesn't really work (always sends text/html
982           as the content type).  What it should do is see if the request
983           included a content type header, and use it, otherwise, resort to
984           some file suffix and mimetype matching algorithm.
986         * Parse_Headers.h (complete_header_line): Added comments
987           explaining the new return values of -1, 0 and 1 (see comments
988           for Parse_Headers.cpp below).
990         * Parse_Headers.cpp (complete_header_line): modified so that it
991           returns three values instead of two.  -1 means that an end of
992           line was encountered, but nothing after it yet to verify if it
993           is really a complete header line.  0 means the read cut off in
994           the middle of a line (no end of line character found).  1 means
995           the line is verified to be a complete header line.
997         * HTTP_Request.cpp (parse_request): Changed the test so that an
998           HTTP/0.9 request would be sent immediately after being issued.
999           This involved changes to Parse_Headers.
1001         * JAWS_File.cpp (acquire): Changes involved adding some debugging
1002           statements to understand why PUT was not working.  Discovered a
1003           bug in how ACE_Mem_Map was being used.
1005         * HTTP_Request.cpp (content_length): Changed to extract value from
1006           the headers, if available.
1008 Thu May 22 16:22:03 1997  James C. Hu  <jxh@pride.cs.wustl.edu>
1010         * HTTP_Request.cpp (cgi_env): Added a cast so that a warning
1011           generated by SGI C++ compiler goes away.
1013         * Makefile: Reordered the way the files are compiled/linked so
1014           that useless warnings about object files not resolving any
1015           symbols go away.
1017 Wed May 21 15:33:33 1997  James C Hu  <jxh@polka.cs.wustl.edu>
1019         * JAWS_File.{h,cpp}: Added some comments.  Will add a copy ()
1020           method soon, after I move my workspace over to lambada.
1022         * JAWS_Tilde.{h,cpp}: This class is being implemented but has not
1023           been added to the repository yet, since JAWS as yet does not use
1024           it, and it is still being developed.  This will be a cache of
1025           the expansions from ~foo to the home directory of foo.
1027 Tue May 20 22:49:24 1997  James C Hu  <jxh@polka.cs.wustl.edu>
1029         * JAWS_File.{h,cpp}: New class created to replace the old kludgy
1030           VFS thingy.  This new cached virtual filesystem is way cool: a
1031           file which is being retrieved can be simultaneously replaced
1032           without causing either reader or writer to wait.  Reference
1033           counts are maintained now, which was missing in VFS.  Also,
1034           there is no longer a dependency on the JXH_List template now,
1035           which is a plus.
1037         * IO.cpp: Changes to adapt to the new virtual filesystem.  The
1038           changes all involved simplifications to the programming
1039           interface.
1041         * HTTP_Handler.cpp: Changes required to deal with the more
1042           generic error responses returned from the JAWS_File/JAWS_IO
1043           interface.  This generality will make it easier to adapt
1044           JAWS_File and JAWS_IO into ACE.
1046         * test_JAWS_File.cpp: A test program written to see if the new
1047           virtual filesystem works the way I expect it to.
1049 Local Variables:
1050 mode: change-log
1051 add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
1052 indent-tabs-mode: nil
1053 End: