File: CHANGES

package info (click to toggle)
http-analyze 2.4-2.1
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 3,344 kB
  • ctags: 924
  • sloc: ansic: 11,678; perl: 241; sh: 215; makefile: 214
file content (905 lines) | stat: -rw-r--r-- 38,333 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
http-analyze 2.4 - A log analyzer for web servers
=================================================

--------------------------------------------------------------------------
Changes in version 2.4pl3 / November, 3rd 1999
--------------------------------------------------------------------------

Bug fixes:
        o Added code to link to the GIF versions of the graph icons
	  if no PNG version is available.

	o Fixed a bug in the sorting routines.


--------------------------------------------------------------------------
Changes in version 2.4pl2 / November, 2nd 1999
--------------------------------------------------------------------------

Enhancements:
        o Added messages 187 and 188, corrected GD license terms.


--------------------------------------------------------------------------
Changes in version 2.4pl1 / November, 1st 1999
--------------------------------------------------------------------------

IMPORTANT CHANGE:

	o From version 2.4 on http-analyze now uses the latest version of
	  the GD library, which - due to patent issues with Unisys - now
	  produces PNG images instead of GIF images.

	o During installation, your old http-analyze directory will be
	  saved and the new buttons will be installed right in place.
	  It is very important to copy the GIF buttons back to the
	  HA_LIBDIR/btn directory if (and only if) you use symlinks
	  for the buttons in the HTML pages of the statistics report.
	  Otherwise the GIF images in HA_LIBDIR are not needed anymore.

	o To get new PNG registration images for the freeware version,
	  please re-register through our web site. Our robot then sends
	  back the new registration images to the email address given in
	  the registration form.

	o To get new PNG registration images for the commercial version,
	  please visit the knowledge base as described in the update
	  description we did sent to all customers.


--------------------------------------------------------------------------
Changes in version 2.3pl4 / October, 30th 1999
--------------------------------------------------------------------------

Bug fixes:
	o Fixed a bug in function isHiddenItem which breaks lookup of
	  URLs when the base URL is added as hidden item automatically.


--------------------------------------------------------------------------
Changes in version 2.3pl3 / October, 28th 1999
--------------------------------------------------------------------------

Enhancements, new features:

	o Introduced collection of URLs under their base directory when
	  option "-k" is given (will become default in 2.4). This also
	  fixes the bug with "Noise" not appearing in the URL list when
	  no HideURLs were defined.

	o Changed the "unknown" request method into "extension-method"
	  according to new RFC2616 standard. Removed "BROWSE", added
	  "CONNECT" as known request methods.

	o Now detects disorder of logfile entries more strictly. The Top
	  hours, Top minutes, and Top seconds lists may not be accurate
	  if disorder is detected during a day. Entries are ignored
	  completely if disorder is detected during the change of days.

	o Added a fourth parameter (in brackets [/Text/]) to HideURL to
	  allow to specify the target of an item in hypertext links.

	o Added message catalogs and several files for English, German,
	  French, Italian, Brazilian Portugese and Russian (incomplete).

Bug fixes:

	o Modified handling of message catalogs (catopen needs a second
	  parameter now for old semantics of opening message catalogs).

	o Corrected localized message number 84 (enoacc, was 82).

	o Fixed broken links in overviews if more hidden items with same
	  description were defined.

	o Fixed non-working IgnURL directive.


--------------------------------------------------------------------------
Changes in version 2.3pl2 / June, 10th 1999
--------------------------------------------------------------------------

Enhancements, new features:

	o Speed improvements: http-analyze runs significantly faster
	  on many platforms due to an increased I/O buffer size.

	o The analyzer now can create an up-to-date configuration file
	  automatically. Use the option `-i sample.cfg' to create a
	  sample config file. Specify the name of the old config file
	  with `-c' to have http-analyze create a new one (`-i') by
	  copying all old settings and adding the new ones.

	o Introduced multi-national language support using message
	  catalogs according to X/Open and SVR4. See the directive
	  `Language' in the config file and the `-L' option. Note
	  that different languages require separate installation of
	  the corresponding message catalogs. See the instructions
	  in the file `INSTALL' for more information.

	o New configuration directives allow definition of the items
	  to be displayed in the various tables and lists. See the
	  directive `TblFormat' in the config file.

	o All files and buttons are now installed only once in a central
	  directory (HA_LIBDIR, usually /usr/local/lib/http-analyze)
	  during installation of the software. If http-analyze then is
	  run the first time and it detects missing buttons or older
	  buttons in the specified statistics output directory, it will
	  copy all required buttons into this directory automatically.
	  To only install buttons, use the option `-B'.

	o Using the configuration directive 'BtnSymlink', http-analyze
	  can be instructed to use symbolic links into HA_LIBDIR instead
	  of copying the files into each output directory. This can help
	  to save disk space on installations with a large number of
	  virtual servers.

	o The size of the I/O buffer for reading the logfile now can be
	  defined via the command line option `-b bufsize'. Previously,
	  http-analyze did use the value of the `st_blksize' member of
	  the file's stat(2) structure for the size of the I/O buffer.
	  Solaris and Linux report a very small number for `st_blksize'
	  (4 / 8 KB), while http-analyze performs best with values as
	  big as 64 KB for regular disk files and 16 KB for pipes.
	
	o The number of subdomains for a "second-top-level" domain now
	  can be configured, so that hostnames like `host.company.co.uk'
	  will get mapped to `company.co.uk' instead to just `co.uk'.
	  See the directive `ShowDomain' and the option `-Z'.

	o Added some new HTTP/1.1 response codes, which have been
	  introduced by W3C since previous version of http-analyze.

	o Added support for case-insensitive URL matching for MS IIS.
	  Note that this violates the standard. See the option `-M' and
	  the directive `MSIISMode'.

	o Made the code more robust:
		- Check for zero size images resulting from running out
		  of disk space temporarily while http-analyze is running.
		- Check for dis-order of date and for situations in which
		  http-analyze has been told to skip each and any logfile
		  entry (such as setting DocRoot to something by accident).
		- Try to better detect overflows in the chronological order
		  of the logfile entries such as running into the next month
		  when analyzing the previous month due to a few entries
		  recorded just before the logfile has been rotated.
		- Added snprintf() function to prevent possible buffer
		  overflow attacks when formatting strings in memory.

	o Changed directory layout for source and binary distribution of
	  http-analyze. See the file FILELIST for a list of all files.
	  Source files, manpages, message catalogs etc. are now grouped
	  together in separate subdirectories to simplify handling.
	  Added a top-level "Makefile" and made the "makeinstall"
	  script for the binary distribution more robust.


Bug fixes:

	o Fixed a nasty bug in the readLine() function which occasionally
	  caused http-analyze to dump core on logfile entries which were
	  exact `best_io_size' bytes in size on systems where `st_blksize'
	  is considerably smaller than 16KB.

	o Fixed a bug in the native message catalog implementation which
	  caused escape sequences to be taken literally. Cleaned the
	  language specification for native MNLS by using an own HA_LANG
	  environment variable for passing the language.

	o Fixed a bug in the Pageview mechanism which prevented certain
	  URLs from being checked against a pageview suffix.

	o Fixed a bug which caused a core dump in the VRML part if less
	  than 7 hits were recorded for a whole week.

	o Fixed a bug in the 'getopt' replacement function which caused
	  http-analyze to not recognize '-' for stdin.

	o Fixed a bug with the NavWinSize directive.

	o Fixed a bug which caused headers (legend) in the overviews to
	  disappear.

	o Fixed some minor bugs, typos and unclear error messages.


--------------------------------------------------------------------------
Changes in version 2.2 / September, 14th 1998
--------------------------------------------------------------------------

Enhancements, new features:

	o Changed version numbering to Version.Release.Patchlevel for
	  the official versions and Version.Release.Customer.Patchlevel
	  for customized branches. Version and Release are the major
	  version number (for example 2.2), while Patchlevel (if any)
	  is the string `pl' followed by a number, which is increased
	  by one for every patch.

	o Changed handling of document title in order to prepare for
	  upcoming multi-national language versions. ReportTitle is
	  now output literal as the title of every HTML output page.
	  If unset, the title defaults to
		Access Statistics for ServerName

	  like in the previous versions. If undefined, ServerName
	  defaults to the hostname of the local system.  Despite to the
	  previous version, if a ReportTitle is defined, the ServerName
	  now is not concatenated to it anymore.  However, even if it
	  isn't used anymore in ReportTitle, you should set ServerName
	  to something meaningful (for example `www.mycompany.com').

	o Changed `VirtualNames' directive to automatically include both,
	  the 'http' and 'https' protocol specifiers in self-referrer URLs
	  unless one of those protocol specifiers is explicitely given in
	  a `VirtualNames' directive (requested by Michael Dickey).  The
	  name of the local host (derived from ServerURL or ServerName)
	  is automatically added as a VirtualName, but only with the 'http'
	  protocol specifier, if none is given explicitely in ServerURL.
	  (Note that ServerURL may be an URL, while ServerName should not.)

	o Changed the PageView mechanism to be able to define certain
	  prefixes (directories) in addition to suffixes (file types).
	  This allows to count dynamic HTML pages created by CGI scripts
	  as Pageviews, if the CGI scripts are located in one or more
	  separate directories. This is needed, because CGI scripts
	  do not necessarily have a file type suffix.

	o Added option `-q' and configuration directive `StripCGI',
	  which control whether CGI arguments in URLs are left intact
	  or stripped away from the URL (default). Retaining the
	  arguments will display more details for dynamic HTML pages
	  produced by CGI scripts if they use the GET method to pass
	  arguments. If the POST method is used instead, no argument
	  list is logged by the server.

	o Added option `-g', which allows to create the conventional
	  (1.9e style-) interface without the separate JavaScript-
	  enabled navigation window (requested by Chris Fryburger).

	o Added configuration directives, which allow to define the
	  style (fonts and sizes) of the statistics report.

	o Added environment variables HA_CONFIG and HA_LIBDIR, which
	  allow to specify alternate pathnames for the hard-wired
	  defaults, so that the software can be installed permanently
	  without root permissions. If used with the source distribution,
	  make sure to install the required files at the correct place,
	  which means you have to change the LOCALLIB macro in the
	  Makefile before doing a "make install". If used with the
	  binary distribution, the "makeinstall" script will auto-
	  matically use the correct directory defined in HA_LIBDIR.

	o Added code to recognize virtual hosts by looking at the
	  virtual hostname, which is sometimes logged in the second
	  (normally unused) field of a logfile entry. If the value of
	  DocRoot doesn't start with a slash (or a exclamation point
	  followed by a slash), it is used as the name of a virtual
	  server which is compared against the second field of the
	  logfile entry. The entry then is processed further only
	  if both names match.

	o Now performs stricter checking of the `PrivateDir' setting,
	  which must contain a pathname relative to the OutputDir and
	  may not contain any slashes.

	o Now displays a message if all logfile entries have been skipped
	  due to some restriction defined in the configuration file or by
	  using command line options to ignore certain URLs/sites.

	o Now performs stricter checking on the timestamp of a logfile
	  entry, since we learned of another case of a Netscape Enterprise
	  server, which did log accesses between 24:00 and 25:01. This lead
	  me to the conclusion, that Netscape Software works correctly even
	  if the server is accessed by users out of some paralle universe.

	o Now tests for MSIE 4.x in addition to the test for Netscape
	  Navigator 3.x in the JavaScript to enable image switching in
	  the frames-based interface.

	o Tested http-analyze for compliance with the gd library 1.3.
	  This update is needed in preparation of a multi-national
	  language version, since gd1.3 supports ISO 8859 character
	  sets in string functions.

	o Tested all output files for HTML 3.2 compliance (with Netscape
	  extensions) using weblint.

	o Tested all C source files for ANSI compliance using lint.
	  For further information about compiling the software, see
	  the file INSTALL included in the source distribution.

	o Tested http-analyze for Year 2000 compliance. For further
	  information, see our Year 2000 Compliance Statement at:

		http://www.netstore.de/Supply/http-analyze/year2000.html

Bug fixes:

	o Fixed a bug in conversion of the history file from version 1.9e
	  which caused the analyzer to dump core on certain platforms.
	  If this bug appears during upgrade from 1.9e to 2.01, use the
	  "cvt_files" script from this distribution.

	o Fixed a bug where self-referrer URLs inadvertedly showed up
	  in the list of referrer URLs, cluttering up those lists.

	o Fixed a bug where comparison of self-referrer URLs was
	  case-sensitive.

	o Fixed and revised non-working '-a' option and AuthReq directive
	  (skip autheticated requests). Save authuser only if response
	  was Code 200 or 304 for servers which log the name even for
	  unauthorized accesses.

	o Fixed non-working '-t' option to specify dimensions of lists.

	o Fixed parseDate function, which inadvertedly did interpret
	  year 00 as the current year, not the year 2000.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 15 / April, 2nd 1998
--------------------------------------------------------------------------

Bug fixes:

	o Fixed a bug introduced in pl14 where Country list disappeared.

	o Fixed a bug with relative pathname for executing http-analyze
	  in ha-setup in the branding function.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 14 / March, 31th 1998
--------------------------------------------------------------------------

Enhancements:

	o Added counters for HTTP/1.1 request methods other than GET and
	  POST which cause no document to be transmitted by the server.
	  Those requests are now separated from the file/pageview/session
	  accounting, although it is still accounted for in the hits count.

	o Added support for Windows NT/Netware by Andre Schild: Changed the
	  names max/avg into max_day/avg_day to avoid name clashes. Added
	  macro ISFULLPATH to test for full pathnames on different platforms.
	  Use faked uname(2) entries for determining platform/OS. Andre also
	  contributed a manual in PDF format for Windows users.

	o Added a bug reporting form which fills in the required
	  registration information automatically if the software
	  has been branded. NOTE: This requires usernames and
	  passwords for access to our support site at
		http://support.netstore.de/
		(http://www.netstore.de/support/ for older browsers)
	  which are sent to you in a following private email soon.

	o Added links to the main pages in the two navigation windows.

	o Added missing link to the short statistics in the frames UI.

	o Added new TLD CD for Democratic Republic of Congo (former Zaire).
	  The old TLD ZR should still remain present for a transition period.

Bug fixes:

	o Fixed bug where links to previous months were created, although
	  there was no record for this month in the history.
	o Fixed a bug where links were insereted for empty files although
	  the number of total hits for items/URLs, sites/domains,
	  agents/agent types, referrer hosts/referrer URLs was zero.
	  Now, no empty files are created if no hits have been detected
	  in the appropriate category.

	o Check for zero denominator in PERCENT macro to avoid FPE DIVZERO
	  exception when counters for totals remain zero as can happen with
	  the new HTTP/1.1 server responses. This caused a core-dump on
	  certain platforms.

	o Fixed a bug with not strict-ANSI compatible handling of varargs
	  parameter list in function dfpr().

	o Fixed a bug where empty lines were seen as binary garbagge.

	o Fixed a bug in the NavWin configuration setting.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 13 / March, 8th 1998
--------------------------------------------------------------------------

Bug fix:
	o Fixed bug in new code for determining version number.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 12 / March, 8th 1998
--------------------------------------------------------------------------

Enhancements:
	o Now determines the version number automatically.

	o Cosmetic changes to keep gcc on Solaris 2.5 happy (warning-free).

Bug fix:
	o Fixed wrong data object type in debugging message.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 11 / March, 6th 1998
--------------------------------------------------------------------------

Bug fixes:
	o The 'totals' page now is created everytime, not only when
	  option -f (create a frames UI) was given.

	o A bug has been fixed which caused the analyzer to dump core
	  on certain platforms if no frames UI was specified.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 10 / March, 2nd 1998
--------------------------------------------------------------------------

Bug fix:
	o The link to the 3D model on the summary page in the statistics
	  summary didn't work when JavaScript was enabled.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 9 / February, 24th 1998
--------------------------------------------------------------------------

Enhancements:
	o The user name and password is now removed in referrer URLs.

	o The new option '-O virtnames,...' allows to set virtual names
	  as with the VirtualNames directive on the command line.

	o The analyzer now tries to detect and to skip binary data.

Bug fix:
	o The option '-R docroot' did not work correctly.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 8 / February, 9th 1998
--------------------------------------------------------------------------

Enhancements:
	o The directives in the configuration files have been changed
	  sligthly to avoid mis-interpretations. This seemed to be
	  necessary because some people did get confused about the
	  meaning of certain directives. For example, they casually
	  used "DocRoot" to specify the place for the statistics report
	  instead of "HTMLDir" therefore overwriting their hompage with
	  the statistics report, so this particular directive now has
	  been renamed "OutputDir". Of course, the directive names from
	  previous versions of http-analyze are also still valid.

	o The conventional (non-frames) interface navigation has been
	  simplified. The idea is that if you have enabled JavaScript
	  in your browser anyway, there will be a small navigation panel 
	  which contains all links to the reports and updates the main
	  window (instead of popping up a new one). If you have disabled
	  JavaScript, all reports are displayed in the same window except
	  for the detailed lists, which in every case (JavaScript disabled
	  or enabled) are still displayed in a separate window to minimize
	  loading time when following links in the overview reports.

	o The analyzer now has a pageview rating which is enabled by
	  default. All files ending with a particular suffix are rated
	  as text files. The suffix ".html" is pre-defined already.
	  You can add more pageview suffixes with the PageView directive
	  in the configuration file. You can suppress pageviews with the
	  "Pageviews" suppress option (-s or "Suppress" directive).  If
	  disabled, the analyzer displays 304's (Not Modified) instead.
	  The pageview feature requires an additional field in the
	  history file. http-analyze will automatically convert an
	  older history file into the new format.

	o The duration, after which accesses from the same host are
	  counted as "Sessions", is now configurable between 0 seconds
	  and 31 days.  If for example, the time-window is set to one
	  hour, all accesses from the same host are counted only once
	  until this hosts accesses your server again at least one hour
	  after the first access. In previous releases, the time window
	  was a hardcoded default of one day.

	o The handling of top-level domains (TLDs) has been enhanced.
	  First, the code now handles TLDs up to 6 characters in length
	  (not counting the dot). The TLD file now contains all valid
	  TLDs, not only the ISO two-letter codes. This has been changed
	  to cover the new CORE domains (.firm, .info, .shop, .arts,
	  .web, .rec, .nom) which will become active in March 1998.
	  Second, the country table now is looked up for using a binary
	  search thus greatly reducing the number of steps to find a
	  given country. (The table of "virtual" countries made up with
	  the AddDomain directive still uses a linear search.)

	o The average load now includes a bar chart of the average hits
	  per weekday, a bar chart of the avergae hits for the last
	  week, and a table with the top 5 days in addition to the
	  hits per hour chart and top N hours, minutes, and seconds.

	o The response codes supported by http-analyze have been
	  changed to fully support the HTTP/1.1 standard (RFC2068).

	o Added new directives NavWinSize and VirtualNames, see the
	  online manual (included as pre-formatted ASCII text and
	  PostScript booklet) for more information.

Bug fixes:
	o A bug has been fixed where http-analyze would core-dump when
	  collecting referrer URLs.

	o A bug has been fixed where the hits for the previous day
	  were accumulated over the invocations of the analyzer in
	  the short statistics report.

	o A bug in cntrycode.c where the code for countries from the TLD
	  file was not computed correctly has been fixed.

	o The ha-setup utility did not copy all required files. It now
	  asks for the LIBDIR so it will install all required files
	  instead of the buttons only.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 7 / January, 24th 1998
--------------------------------------------------------------------------

Enhancements:
	o Added 3DWinSize directive to configuration file to allow
	  for definition of the 3D window.

Bug fixes:
	o Now prints an error message if registration ID couldn't
	  be saved in the registration ID file if -r was given.

	o Fixed bug which caused Netscape Navigator 3.X to show
	  only two buttons in the frames-based UI.

	o Fixed bug which caused the analyzer to crash when no
	  custom logos where defined in the registered version.

	o Fixed bug in JavaScript (frames-based UI) where the year
	  button did select the wrong statisitics subdirectory for
	  the last 12 months report and the yearly 3D model.


--------------------------------------------------------------------------
Changes in 2.01 patchlevel 2-6 / January, 17th 1998
--------------------------------------------------------------------------

New features:

	o The manpage has been updated.

	o Tailoring http-analyze to your Corporate Identity:
	  Customers which registered for a commercial service license
	  now can add their logo to the reports and suppress the
	  Copyright note (except for the main page).

	o Now handles user-agent and referrer URL:
	  The logfile format is automatically determined by looking at
	  the first 100 logfile entries. If you analyze mixed logfiles,
	  the analyzer uses the format detected in the first file.

	o Improved "conventional" (non-frames) interface:
	  Some of our customers did request splitting up the output files
	  to make them smaller. We now have three levels of detail for the
	  list of URLs, sites, agents, and referrer URLs. Please see the
	  description about the window management in the manpage if you
	  are confused by the windows popping up the first time you look
	  at the new reports.  As far as possible, the output format is
	  compatible to not only 2.0beta, but also to 1.9e.

	o Better consistency in reports, suppressing "noise":
	  The reports now are structured equally into a Top Ten
	  list, an overview and a detailed list. There is one
	  such report for filenames, sites, user-agents and
	  referrer URLs. The Top N URLs, sites, agents, and
	  referrer URLs now have a pie chart each. A "noise level"
	  parameter has been introduced to suppress detailed reports
	  for all files, sites, agents, and referrer URLs below a
	  certain hit rate.  This way, the size of the detailed reports
	  will be reduced by a significant amount.

	o Sites are now listed under their second-level domain, which
	  is determined automatically. Similar, the algorithm to determine
	  the browser type and the referrer hostname has been enhanced again.

	o The AddAgent/AddRefer directives in the configuration file has
	  been renamed to HideAgent/HideRefer for consistency with the
	  other directives. The old directives are also recognized.

	o The HideRefer directive has a mechanism to extract keywords
	  from CGI parameters. With an appropriate setup in the
	  configuration file (see the sample.conf file), the keywords
	  used in search engines are now extracted in the list of
	  referrer URLs.

	o All tables are now built using dynamic memory allocation.
	  There are no limits for those tables other than the total
	  virtual memory of your system.

	o Lookups for the URLs, sites, agents, and referrer URLs
	  are done using a binary search algorithm rather than a
	  linear search to speed up those lookups.

Bug fixes:
	o A bug which caused core-dumps on 486 platforms due
	  to byte-wise alignment has been fixed.

	o A bug with signed comparison of unsigned types in
	  isHidden* functions has been fixed.

	o Comparison of referrer URLs and browser types now is
	  case-insensitive.

	o A bug which did cause the graphs going crazy on sites
	  with huge amount of data sent ( >100,000,000 KBytes)
	  has been fixed.


--------------------------------------------------------------------------
Changes in 2.01beta (patchlevel 1)
--------------------------------------------------------------------------

This is a completely rewritten version of http-analyze. There are
lot of new data structures, many enhancements, bug fixes, etc.
The most important new features are:

	- Optional frames-based interface
	  Allows for easy navigation and faster load time
	  of the full statistics report.

	- Optional VRML model
	  Integrated 3Dstats functionality generates a 3D model of the
	  statistics summary (requires a VRML plug-in such as CosmoPlayer
	  for Netscape/MSIE from SGI, available for IRIX and Windows).
	  
	- Improved handling of logfile and history
	  Recognizes Extended and Combined Logfile Format, generates
	  user-agent and referrer statistics. Allows specification
	  of start and end date of a period. Allows use of history to
	  skip logfile entries which have been processed already now
	  also in full statistics ("monthly") mode.

	- Support for (software) virtual servers
	  Restricts statistics for given document root. Certain
	  URLs and/or sites now can be ignored (slows http-analyze
	  down by a considerable amount).

	- New directory structure
	  Separate locations for global files, which now may be
	  shared between periods, and yearly summaries for WWW,
	  FTP and RealMedia access statistics.

	- Improved handling of cmdline interface
	  Made options more consistent, allow more than only one logfile.
		-m is now default if neither -d nor -m is given.
		-3 creates a VRML model if the code is compiled in.
		-a ignores requests which required authentication.
		-e allows to skip previous periods already processed
		-I igndate and -E expdate allow to skip for certain periods.
		-f creates a Frames-based user interface.
		-V prints version and platform information.
		-F format defines the format of the logfile (auto/clf/dlf/elf)
		-P prolog creates a VRML model for a whole year.
		-R docroot allows you to restrict analysis to this DocRoot.
		-T TLD uses TLD for the two-letter ISO Top-Level-Domains.
		-U srvurl defines the suffix for hot links in the URL lists.
		-s <opt> allows to switch off parts of the statistics.
		-N <num> allows to define the size of the Top Ten lists.


--------------------------------------------------------------------------
Changes in 1.9e
--------------------------------------------------------------------------

Bug fixes:
	o Fixed a bug which caused the size of documents to be added
	  to the total amount of data transferred for HEAD requests.
	  But why the hell do servers fill in the `reqsize' field in
	  logfile entries if actually no data has been transferred?!?

	o Removed the colors for text in table headings due to popular
	  demand. If you use older navigators, which do not support
	  background colors in table cells, you will again see black
	  colored text on white background (as it happened to be in
	  older versions of ha).

New features:
	o Added provisions to skip the first line in the logfile which
	  is used by Netscape's new server generation to determine the
	  format which should be used for log entries. To enable this
	  functionality, define the macro NS_FASTTRACK in the Makefile.

--------------------------------------------------------------------------
Changes in 1.9d
--------------------------------------------------------------------------

New features:
	o Added a new entry "DefaultMode" in the configuration file
	  to allow specification of the default operation mode of
	  http-analyze (daily/monthly mode).

	o Now prints a detailed list for hidden items in the "Transfers
	  by files" summary.

	o Added code for time measuring which can be activated by
	  compiling http-analyze with the macro TIME_STATS defined.
	  The undocumented option `-y' turns on time measurement.

Bug fixes:
	o Fixed bugs in sort_by_item() and c_chart(), which caused
	  http-analyze to dump core sometimes.

	o Now prints a warning if a third parameter is missing in
	  an HideSys/HideURL entry in the configuration file instead
	  of just dumping core :-)

	o Fixed a bug in addCountry() which caused .int and .nato being
	  accounted for as unresolved sites. The function now uses
	  separate counters for unresolved and unknown hostnames.

	o Raised size of input buffer to 10KB (again) to process even
	  huge logfile entries like CGI scripts with thousands of
	  parameters.

	o Now trailing slashes are not removed from URLs anymore. Since
	  an incomplete URL causes a Code 302 (Redirect) response sent
	  by the server, it does not get saved in the urltab. Therefore
	  we do not need to take care for URLs without trailing slashes.

--------------------------------------------------------------------------
Changes in 1.9c
--------------------------------------------------------------------------

New features:
	o Added key colors to the header cells of the tables.

Bug fixes:
	o Fixed a bug in the calculation of totals on last 12 month page
	  (again). Fixed a bug where the graph on the same page always
	  started at origin 0,0 regardless of the results for previous
	  summary periods.

	o Changed the image functions to reserve a fix amount of space
	  for the padding between the upper border of the image and the
	  graphs and bars (4 pixels).

--------------------------------------------------------------------------
Changes in 1.9b
--------------------------------------------------------------------------

Bug fixes:
	o Now computes the correct totals in the last 12 month page,
	  which got corrupted when code to smooth out the graph on
	  the same page had been added.

	o Fixed a bug which caused core dumps on some platforms due
	  to invalid text addresses.


--------------------------------------------------------------------------
Changes in version 1.9
--------------------------------------------------------------------------

New features:
	o Added code for computation of average/max hits per day/hour.

	o Moved the list of countries from the list by Client domain into
	  the monthly statistics page. Added a pie chart for the 12 top
	  countries accessing the server.

	o Added code for accounting of user agents. See the note below.

	o The URLs in the top 30 URL list are now hot links, except
	  for hidden items.

	o The macro PR_ROW has been splitted into independent macros to
	  not exceed the ANSI C limit for a compilation unit anymore.

	o Now ignores noise resulting from entries of the next month's
	  period caused by rotating the logfiles at 00:00 on the first
	  day of a new month.

New options:
	o The number of sites and URLs in the top lists now can be
	  changed with an option (-N) or an entry in the config file.

	o The detailed lists of sites/URLs can now be created in a
	  separate, private directory. You can deny access for the
	  public by turning on authorization for this private directory.
	  A private directory may be specified with the option `-p' or
	  an entry in the config file.

Speed enhancements mostly:
	o Removed all calls to functions in time-critical sections
	  to gain maximum speed on RISC-based platforms. Added re-
	  placements of more general, but slower stdlib functions.

	o To avoid redundant function calls, values which are
	  computed already are now remembered.  This avoids a lot
	  of calls to strlen(3) and consorts.

	o Completely rewrote the logfile parsing algorithm to avoid
	  strcmp(3), strtol(3) and friends (special thanks to
	  <Lars-Owe.Ivarsson@its.uu.se> for his suggestions to optimize
	  the parser algorithm and the code he provided as an example).

Bug fixes:
	o Fixed a bug which caused the list of countries to
	  disappear when analyzing more than one month at once.

	o Fixed a bug in the calculation of total unique URLs.
	  Items are now hidden after the computation of unique
	  URLs and therefore each hidden item will now be
	  accounted for separately. Thus, the number of unique
	  URLs does not decrease with an increasing number of
	  hidden items anymore. On the other hand, you can't
	  comprise URLs under another URL anymore (this was an
	  undocumented feature).

	o Fixed a bug in the calculation for the total hits of
	  unresolved hosts. Instead of the number of total hits,
	  http-analyze did summarize the unique number of sites
	  for all unresolved hostnames.

	o Fixed a bug in the calculation of total kilobytes saved
	  by cache. Previously, the amount of data saved by caches
	  wasn't computed correctly for hidden items.

	o Fixed a bug where images (.gif, .jpg etc.) have not been
	  added into the list of hidden items by default as intended.
	  Images are now hidden by default under the item "[All images]".
	  The `[' prevents the display in the top 30 URL list. You can
	  turn off this feature with the new option `-x' (cmd line only).

	o Fixed a bug where homepages like "/some_dir/index.html"
	  have been reduced to "/some_dir/" and didn't therefore
	  merge with their equivalent "/some_dir".

	o Fixed a lot of minor bugs, added many explicit type casts
	  to make lint shut up and all compiler warnings go away.


--------------------------------------------------------------------------
Changes in 1.8 (first official release)
--------------------------------------------------------------------------

	o http-analyze now correctly obeys the -H homepage option.

	o The -D option has gone, since it doesn't make much sense
	  to ignore logfile entries which are already ignored because
	  http-analyze keeps track of the recent history.

	o Fixed a bug in the code which caused creation of the small
	  icons with a wrong aspect ratio.

	o Fixed a bug in the conversion of hex codes in URLs which
	  caused repetition of last few characters in URL lists.

	o Creates a monthly summary for a new month after the data
	  for the first day has been collected. Previously, http-analyze
	  did create a monthly summary not before the 4th of a new month.

	o http-analyze now conforms fully to the System V command line
	  syntax rules (see intro(1)). The name of the logfile now may
	  be specified as an optional argument (without -i). If no name
	  is given, http-analyze reads stdin. If a default name is
	  defined in the configuration file, a `-' may be used to
	  ignore the default name and process the standard input.

--------------------------------------------------------------------------
Version 1.7 was the first alpha version which had been released to testers
outside RENT-A-GURU(TM). I think that there is no need to list the history
of releases prior to this.
--------------------------------------------------------------------------