Parser/Sendmail.pm: Added a parser for sendmail.
[yaala.git] / CHANGELOG
1  yaala - CHANGELOG 
2 ===================
3 http://yaala.org/
4
5   0.7.3 - More bugs fixed
6  =========================
7  - A bug in the debug-system has been fixed: Data::Dumper would not be
8    loaded, though it might be neccessary in the selected debug-level.
9  - A bug with the disabling of persistency has been fixed. Thanks to qMax.
10
11
12  
13   0.7.2 - Potential bug fixed
14  =============================
15  - The modules have been moved and rename, since a conflict with other
16    installed modules could appear in old versions of perl (<= 5.005).
17
18
19  
20   0.7.1 - Bug fixed
21  ===================
22  - A bug in the persistency-code has been fixed: If the persistency-file
23    had to be created no checksum was included causing it to be overwritten
24    with the next run. The second run did set the checksum which is
25    propably why noone complained about this..
26
27
28
29   0.7.0 - Persistent data is here
30  =================================
31  - yaala now dumps it's data into a file and may use it in subsequent
32    runs. This way you don't have to keep all your old logfiles.
33
34  - A tiny fix allows yaala to run under Microsoft Windows.
35
36
37
38   0.6.8 - Workaround implemented
39  ================================
40  - A workaround for what seems to be a bug in some versions of Perl 5.8
41    has been added.
42  
43  
44
45   0.6.7 - Some more cosmetics
46  =============================
47  - yaala now changes into it's own directory before execution. This is
48    useful for cron-scripts and the like.
49
50  - The config option ``print-graphs'' has been added for two reasons:
51    a) People who have GD::Graph installed can prevent yaala from
52       generating graphs now.
53    b) People who do neither have GD::Graph installed nor read the readme
54       will hopefully find this option and will get a detailed error
55       message.
56
57
58
59   0.6.6 - Bug fixed
60  ===================
61  - A bug which would not let ``host_width'' to be set to zero (infinite
62    length) has been fixed. Thanks to Rafael Santiago for reporting it.
63
64
65
66   0.6.5 - More aggregations
67  ===========================
68  - More than one aggregation can be selected. This works with both, the
69    Combined and the Classic output module.
70
71  - Elapsed time (from the squid logfiles) is now being printed in
72    hh:mm:ss.f format.
73
74  - The y-Axis of graphs is plotted in percent of the total now.
75
76
77
78   0.6.4 - Don't die on me, man!
79  ===============================
80  - yaala doesn't die anymore, if you select more than three fields with
81    the combined output module. An error message is printed instead.
82
83  - Empty cells are not printed any longer by default when using the
84    Classic output. You can re-enable this behavior with a config-option.
85
86
87
88   0.6.3 - ...
89  =============
90  - Chimera has been renamed to Camino; MultiZilla and Safari have been
91    added.
92
93  - The sub-indizes in the Classic output now provide a bit more
94    information..
95
96  - A robots-metatag has been added to prevent search engines from indexing
97    yaala's reports.
98
99
100
101   0.6.2 - New/Old parser and bugfixes
102  =====================================
103  - The (old) bind9 parser has been fixed and works fine.
104
105  - A parser for the "xferlog" (used by wu-ftpd, proftpd and maybe other
106    FTP-Daemons).
107
108  - Selections with where-clauses should work better now.
109
110
111
112   0.6.1 - The return of the graphs
113  ==================================
114  - Support for GD::Graph is finally back again. yaala checks wether
115    GD::Graph is installed or not and behaves accordingly. You don't have
116    to do anything.
117
118  - All tables now print percentages as well.
119
120  - A parser for postfix entries in the maillog has been added.
121
122  - A bug in Data::Setup has been fixed. It wasn't possible to select more
123    than three keys with the Classic output module, which is perfectly
124    legal..
125
126    
127
128   0.6.0 - New code, less bugs, less features
129  ============================================
130  - Huge parts of yaala's internals have been rewritten. The data-storage
131    is completely new and works better than in the 0.5.x line.
132
133  - General code cleanup. A lot of variables have been renamed.
134
135  - The debug-system has been unified.
136
137  - The Classic-output plugin emulates the ``old'' (0.4.x) output.
138
139
140
141   0.5.4 - Patches by qMax
142  =========================
143  - Input Module for method file:// has been added.
144  
145  - Fixes in Format.pm
146
147  - Changes in qmax.css
148
149
150
151   0.5.3 - Reverse lookups
152  =========================
153  - Ability of reverse lookups has been added.
154
155  - Browsers and OSes are recognized better. The code should also be faster
156    now.
157
158
159
160   0.5.2 - Now comes the command line
161  ====================================
162  - Every option from the config file has been made available from the
163    command line.
164
165  - The recognition of Windows 2000 has been fixed.
166
167
168
169   0.5.1 - Changes in config-reading and -parsing
170  ================================================
171  - config-reading and -parsing have been moved out of the main program and
172    into lib/Config.pm. Modules have been updated.
173
174  - The config syntax has changed slightly. See POD in lib/Config.pm
175
176  - webserver.config has been created.
177
178  - A bug in lib/parser/Ncsa.pm has been fixed.
179
180  - WebserverTools::detect_referer has been rewritten.
181
182
183
184   0.5.0 - yaala in the metamorphosis
185  ====================================
186   Changes by octo
187  -----------------
188  - Modules use the Exporter mechanismn now to import subroutines and
189    variables. Renamed modules in the process.
190
191  - Output is nearly XHTML kompliant. I'm working towards total XHTML 1.1
192    compatibility.
193
194  - Added logo.png, dot-dark.png, dot-light.png
195
196  - Removed logo.gif, dot0.gif, dit1.gif
197
198  - Added new stylesheet and set as default. The old stylesheet has been
199    renamed to "qmax.css"
200
201  - Graphics cannot be generated with this release. This option might come
202    back in some later release.
203
204  - Recognition of nimbda/codered attacks has been removed.
205
206  - few obvious bugs found but not yet fixed. See TODO.
207  
208   Changes by qMax
209  -----------------
210     * yaala
211       Added new config options, removed old for backward incompatibility;
212       Changed some defaults;
213       Removed 'color' options - and defined them in html/style.css;
214       Made preserving spaces, semicolons and capital letters in quoted
215       config parameters (for date/time formats and filenames);
216       Added 'is_list' options to preserve order of parameter appearence
217       (for 'select' directive).
218       Added 'configtest' run mode to test configuration.
219       Added some debugging.
220       Wrote dependences for all my modules in top comment.
221
222     * config
223       Changed to use new options, added sections HTML and i18n.
224       User level comments about new options.
225       Fixed some typos, have made new :)
226
227     * README.grouping
228       Description of grouping expressions used in 'select' directive.
229
230     * contrib/
231       Several supplemental scripts. Like that, simulating passing
232       comand line parameters to yaala, processing batch reports,
233       ome testing.
234
235     * html/
236       Contains *.gif and style.css - a thin cyan document style.
237
238     * reports/
239       Default directory for reports.
240       I suggest to do not use html to avoid occasional remove of
241       *.gifs and style.css.
242       Actually, 'reports' should be symlink to some www directory.
243
244     * lib/
245       Placed all (new) modules here.
246
247     * /dev/null
248       Placed all old modules there.
249
250     * lib/parser/*
251       Directory for parser modules.
252       TODO: parsers should pass month/date/time as UNIX-time
253             to make them properly sorted and formated.
254             Currently they should work w/out i18n handling
255             dates and times.
256
257     * lib/html.pm
258       A pair of common output utilities.
259       Only to generate common HTML head and foot.
260       Common header contains stylesheet link
261       and optional META http-equiv with charset.
262       Footer contains copyright notice and advertisements.
263       Top-page index is report-dependant.
264
265     * lib/utils.pm
266       Some common utilities kinda cmp_arrays.
267
268     * lib/setup.pm
269       Setup-parsing utilities. To keep them all in single place.
270       Includes index calculator for grouping expressions and all
271       that stuff.
272
273     * lib/debug.pm
274       A pair of debugging and profiling utils.
275       Enabled with $main::debug|=32;
276
277     * lib/data.pm
278       Data storage module.
279       Supports random key grouping, several functions:
280       SUM, MAX, MIN, AVG, COUNT(*), COUNT(field).
281       Allows association of function with separate index.
282       Incapsulates all access to data hash.
283
284     * lib/i18n/format.pm
285       Localized data formatting.
286       Formats date, time, datetime, bignumbers, elapsed time,
287       properly sorts host and domain names.
288       POD documented to use.
289
290     * lib/i18n/trans.pm
291       Enhanced translating module.
292       POD documented.
293       There also dictionary description in en.pm.
294
295     * lib/i18n/en.pm
296       English template dictionary.
297       Contains all messages from reports, data labels from all parsers
298       and labels of extra info.
299       Used to translate internal data labels to printable titles.
300       There're translation suggestions in comments inside.
301
302     * lib/i18n/ru.pm
303       Russian translation with several variations of words.
304       Makes reports to look as they were natively russian and
305       natively for selected configuration.
306       Really.
307
308     * lib/report/core.pm
309       Common part for report modules. Namespaced.
310       Contains setup and table-generation subroutines.
311       Features for crossreferenced tables.
312       POD documented inside.
313
314       NB: all tables generated, except top-page index,
315           contain borders to be viewable in links the browser.
316           Lynx takes a rest anyway.
317
318     * lib/report/combined.pm
319       Generates combined reports: 1D, 2D, 3Dimentional.
320       POD inside.
321
322     * lib/report/top.pm
323       Generates usual top-N report, but with key grouping.
324       POD inside.
325
326
327
328   0.4.2 - Added BIND9 support
329  =============================
330  - David Augros sent me a parser for BIND9 logfiles which I added.. Easy
331    tasks get done quick ;)
332
333
334
335   0.4.1 - security hole fixed
336  =============================
337  - An exploidable "bug" was fixed: It was possible to fake the referer to
338    contain HTML and/or JavaScript code which would show up in the generated
339    file(s) and eventually would be interpreted by the browser.
340    Thanks to Liviu Daia (Liviu.Daia@imar.ro) for the hint :)
341
342
343
344   0.4 - netacct and wnserver support
345  ====================================
346  - Two new parsers provide netacct and wnserver support.
347    Thanks to M. Feenstra for the wnserver support.
348
349  - The parser modules now have to initialize their data structure before they
350    start parsing. This allows for different types of logfiles to be supported.
351    The data-structures understood are:
352    count: Count each appearance of a unique value (eg. Browser, Date, etc)
353    sum:   Build the sum of all the (numeric) values. (eg. Package Count)
354    byte:  Basically the same as sum, but print as a byte-value
355
356  - Use of CSS (Cascading Style Sheets) in the HTML output. Results are smaller
357    files and the source is easier to read.
358
359  - You can specify a directory to create the output files in.
360    Be sure to copy logo.gif, dot0.gif and dot1.gif into this directory!
361
362
363
364   0.3 - Clean(er) code and squid support
365  ========================================
366  - The modules are now a lot cleaner and easier to understand. Various routines
367    have been moved and renamed so the namespaces are used in a more organizing
368    maner.
369
370  - There's a new input (parse) module for squid logfiles.
371
372  - The routines which save the data in a huge hash have been altered so they
373    don't depend on the type of data that is parsed at all. This was neccessary
374    in order go get squid to work.
375
376  - The graph module now generates PNG graphics; it's configuration hash was
377    moved into the main configuration.
378
379  - The main page has some stats about CodeRed and and Nimba attacks now. You may
380    choose to not include these requests in your stats..
381
382  - Correction of some regexps and therefore (hopefully) a better performance.
383
384
385
386   0.2 - More modules - more comfort
387  ===================================
388  - The structure is now _very_ modular
389
390  - A config file makes customization really easy
391
392  - Apache's access-logs and NCSA-conform logfiles now understood
393
394  - Another module provides another look (Top10)
395
396  - CHANGELOG looks nicer ;)
397
398  - Some changes in the makegraph.pm make the graphs look a lot better now.
399
400
401
402   0.1 - Initial version
403  =======================
404  - No config-file
405
406  - Parsing of multiple files
407
408  - Support for apache's combined-log-format
409
410  - Modular structure provides an easy way to code support for other formats.