"Fossies" - the Fresh Open Source Software Archive

Member "sarg-2.4.0/ChangeLog" (16 Jan 2020, 66272 Bytes) of package /linux/privat/sarg-2.4.0.tar.gz:

As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "ChangeLog": 2.3.11_vs_2.4.0.

    1 SARG ChangeLog
    3 Jan-16-2020 Version 2.4.0
    4         - Update translations.
    6 Dec-24-2019 Version 2.4.0-pre3
    7 		- Useragent report is produced if information is available.
    8 		- Don't abort if DNS resolution is failing to resolve a host IP address.
    9 		- xz compressed log files are supported.
   10 		- Compressed redirector logs are now supported.
   11 		- Filter converted and split logs using -t command line option.
   12 		- Add many new buffer overflow checks.
   13 		- Use random temporary directory name by default.
   14 		- Many bug fixed.
   15 		- Many new features added.
   17 Jul-16-2012 Version 2.3.3-pre2
   18 		- Don't abort the report generation due to an error in a squidGuard error (wrapped over log lines).
   19 		- Support for gd, ldap and iconv can be disabled during configuration.
   20 		- Suppress the blank line breaking the header of the e-mail report.
   21 		- Add many debug messages to help understanding why some parts of the report are not produced. Considering all the options and various conditions that are involved in the creation of a report, that help is welcome.
   22 		- Fix the report generation if users_sites is disabled.
   23 		- Avoid a possible name clash among the temporary files if a user happen to have the same name as one of the files sarg generates.
   24 		- Fix various links and reports when some options are disabled.
   25 		- Accept regular expressions in the hostalias file.
   26 		- URL in SquidGuard logs sometime don't have a scheme. This is now handled properly.
   27 		- Exclude hosts based on the IPv4 address even if a port number is suffixed after the IP address. (thanks to Mark Easter for reporting the bug).
   28 		- IP addresses can be resolved to host names using an external program.
   29 		- Limit the maximum line length read from the input log to avoid consuming all the memory when reading a corrupted or invalid file. The limit is set to 10MB per line.
   30 		- Protect the temporary directory against unsafe deletion (if the temporary path is set to a wrong location, sarg won't blindly wipe the directory).
   31 		- The smartfilter might be fixed (I need test logs to validate this change. If you have some, please send them to fmarchal at users.sourceforge.net).
   32 		- The top sites report can be sorted according to the number of users who visited each site.
   34 Dec-07-2011 Version 2.3.2
   35 		- Add support for sorttable.js (http://www.kryogenix.org/code/browser/sorttable/) to dynamically sort some tables (thanks to Éric).
   36 		- Add the two command line options --lastlog and --keeplogs to set the number of reports to keep or to keep all the reports respectively (thanks to Emmanuel Lacour for the suggestion).
   37 		- Report the user ID in the e-mail report.
   38 		- Add an option to sort the top sites by time.
   39 		- Delete unused files from the directory containing the user report (thanks to alf-man).
   40 		- Add the index_fields option to hide the directory size column in the index sorted by date.
   41 		- Split the input log file in several files each containing one day worth of data (thanks to Mauricio Silveira).
   42 		- Take the date_format into account when converting a log file.
   43 		- Accept IPv6 addresses in the realtime report.
   44 		- Don't fail for an empty report directory when building the index.
   45 		- Fix a read error when parsing the time of a common log format (thanks to Richard P Scott).
   46 		- Use anonymous file and directory names in the report to hide the identity of the user whose report is displayed and shorten the total path length.
   47 		- More robust calls to external sort commands (guard against buffer overflows and use tab as column separator).
   48 		- Replace host names by aliases and group identicaly aliased host names.
   49 		- IPv6 is accepted in the hosts exclusion list.
   50 		- Discriminate between users whose name produce the same mangled temporary file name.
   51 		- Write a note about the number of entries ignored in the reports (thanks to Iain Lopata).
   52 		- Command line option -z output some messages to explain why the reports are not generated due to the configuration.
   53 		- The Sites & Users report page links to the user's page if the user is listed in the Top Users page.
   55 Sep-18-2010 Version 2.3.1
   56 		- Remove the distinct printf for the alpha architecture as it doesn't work anymore and is not necessary anyway.
   57 		- Don't abort if "onload" or "script" is found in the user agent string.
   58 		- Take the configured locale path into account when installing sarg.
   59 		- Fix the realtime and e-mail reports.
   60 		- Allow for the translation of the sort criterion on the report pages.
   61 		- The mail_utility command isn't quoted any more so it is possible to add some command line arguments.
   62 		- Fix a wrongly reported error if the two "hours" and "weekdays" options are enabled in sarg.conf (thanks to guyizsolt).
   63 		- Add a link on the denied page to link the page to the corresponding user.
   64 		- Fix a problem with the progress indicator when reading from a compressed log file.
   65 		- Report an error if the output directory is a subdirectory of the temporary directory.
   66 		- Use a more robust protection against an attack using javascript in the useragent string.
   67 		- Prevent a segfault if the parameter passed to command line option -d is invalid (thanks to ItalianPenguin).
   68 		- Check for the return code of the tail command to generate the realtime report.
   69 		- Escape the invalid characters in the LDAP search string instead of truncating it at the first invalid character (thanks to mouchar for reporting the problem and testing the fix).
   71 Jun-21-2010 Version 2.3
   72 		- LDAP usertab added. 
   73 		  Now you can have your users in a LDAP Server.
   74 		  Use these tags in sarg.conf: LDAPHost, LDAPPort, LDAPBindDN, LDAPBindPW,
   75 		                               LDAPBaseSearch, LDAPFilterSearch
   76 		- Parse the string flags from sarg.conf once during the reading of sarg.conf instead of manipulating and duplicating the tests of the strings where they are used.
   77 		- Useragent report limited to requested date range.
   78 		- Link to external css file instead of including it verbatim in each HTML file (thanks to Maxim Britov).
   79 		- Enable gettext configuration for autotools.
   80 		- Use gettext translations instead of the custom languages files.
   81 		- Keep the user name unchanged in the report (suppress the replacement of some characters by underscores).
   82 		- Try to resolve a user's IP address only once and store the result. It can speed up the processing a lot.
   83 		- Resolve IPv6 addresses (to be tested).
   84 		- Don't limit the maximum length of a URL (the only limit is that a single line of text from the log file must fit in memory).
   85 		- The creation of the datafile is working again.
   86 		- Use a template to build the .htaccess file of each report.
   87 		- Accept spaces in the replacement label of the usertab file (thanks to Alex Sav).
   88 		- Change the version number of the release candidate to conform to the numbering of the translationproject.org.
   89 		- Store the period internaly and get rid of the sarg-period file.
   90 		- Display the period using the locale's month name in the HTML files.
   91 		- Check the correct writing of the HTML files (thanks to Markus Elfring).
   92 		- Use the word "Redirector" instead of mentioning explicitly squidGuard in the reports as at least Rejik is compatible with sarg (thanks to Maxim Britov).
   93 		- The date range passed as argument is not restricted to the actual range covered by the log files any more.
   94 		- Fix the exclusion of status codes to exclude more than one code.
   95 		- Accept date ranges for -d command line option as day-n, week-n and month-n where n is the number of backward days, weeks and months to report.
   96 		- Strengthen the making of the report file name to drastically limit the characters from the user ID that can appear in the file name. The presence of an unescaped backquote in the user ID would execute the rest of the name as a shell command (fixes bug #2997707 reported by anonymous).
   97 		- Purge the content of sarg-general to free a lot of disk space.
   98 		- Use parameteric dimensions in the graph creation instead of hard coded constants.
   99 		- Remove the temporary file and sorting in graph creation.
  100 		- Add the redirector_log option in sarg.conf to read a log file created by squidGuard or Rejik (thanks to Maxim Britov for pointing out this missing option).
  101 		- Allow up to 64 redirector log files to be passed through the command line option -L and the sarg.conf option redirector_log.
  102 		- Configuration option squidguard_log_format renamed into redirector_log_format for equity with the various redirectors that can be used with sarg.
  103 		- Read a compressed log file through a pipe.
  104 		- The graph was wrong. The bars were not reaching the correct height with respect to the Y axis.
  105 		- Use a computed logarithmic scale for the Y axis when plotting bytes data instead of a fixed scale.
  106 		- Show the time when plotting the elapsed time.
  107 		- Fix the reporting of only one user with command line option -u.
  108 		- Output both date/time textual and graphical reports.
  109 		- Sarg log file now stores the date in the format dd/mm/yyyy and doesn't change it depending on the current date representation selected in sarg.conf. It will break existing sarg log files.
  110 		- Intermediary log files store the date as dd/mm/yyyy irrespective of the current date representation in sarg.conf.
  111 		- Fix a regression to accept any directory name length in the index.
  112 		- Change the CSS template file and cleanup of the hardcoded styles (thanks to Maxim Britov).
  113 		- Accept unlimited line length when converting or splitting the log file.
  114 		- Use long options on the command line.
  115 		- Sarg can output the internal css inlined in the reports. It replaces the css.tpl distributed with the sources.
  116 		- Command line option -l is optional. The input log files may be named on the command line without prefixing them with -l. It allows the use of wildcards in the command line.
  117 		- Accept unlimited URL length in the redirector log (thanks to Joseph L Casale).
  118 		- Replace redirector_ignore_date by redirector_filter_out_date that behave as the name implies.
  119 		- Replace dansguardian_ignore_date by dansguardian_filter_out_date that behave as the name implies.
  121 Feb-10-2010 Version
  122 		- Fixed compilation error reported by some compilers due to an sizeof in a fprintf (thanks to Maxim Britov and Renato Botelho).
  123 		- The path to the font used to create the graphs can be set in sarg.conf.
  124 		- The installation of our fonts can be disabled with --disable-fontdir.
  126 Feb-05-2010 Version 2.2.7
  127 		- Extra compile and run time protection (FORTIFY_SOURCE) fixed in configure.
  128 		- Use tabulations as columns separator in intermediary files to avoid problems when a field of the log contains a space.
  129 		- Input log file type detection partly rewritten to clearly distinguish which type is processed where.
  130 		- Read the input log file from standard input if log file name is -.
  131 		- Use string pointers in getword instead of copying the strings over and over.
  132 		- Use LC_TIME to format some dates and times in the report according to the selected locale.
  133 		- Sarg.conf can list up to 255 access.log files.
  134 		- Downloaded files suffixes are matched against a sorted list and use a dichotomic search.
  135 		- Added getword_atoll to read a number directly from a file without an intermediary string storage.
  136 		- Use boolean to enable the options instead of string compares.
  137 		- Accept an absolute path for the language file in sarg.conf.
  138 		- Experimental: Can show the backtrace of the program when a getword loop is detected to help in locating the origin of the error.
  139 		- Protect the creation of the index against invalid directories.
  140 		- Only copy the files (not the subdirs) when creating the directory with the images to include in the reports.
  141 		- Directories deleted without using the rm system command.
  142 		- Index created using an internal sort algorithm instead of a system call.
  143 		- Fixed Debian bug #408577 (changed exclude_hosts to exclude subdomains and IPv4 subnets).
  144 		- Replace --enable-htmldir by --enable-sargphp to avoid confusion on the name (thanks to Peter Nixon).
  145 		- Installation of sarg-php can be disabled with --disable-sargphp.
  146 		- Fixed empty entries in squidGuard log when the URL doesn't start with protocol://.
  147 		- Fixed regressions in creation and reading of a sarg parsed log (thanks to Joao Alves).
  148 		- Does not report URLs consisting of only a host name ending with .com as a downloaded file.
  149 		- Mangle the $ and @ signs in user ID to make the resulting file name valid in shell commands.
  150 		- Fixed a regression in the default value of --enable-sargphp.
  151 		- Increase the maximum size of a line read from access.log and detect longer lines that were silently splitted in previous versions.
  153 Jan-06-2010 Version
  154 		- Remove unnecessary dependency on off_t.
  155 		- Configuration doesn't fail if rlim_t is not available.
  156 		- Test for the availability of -Werror=implicit-function-declaration and -Werror=format flags in gcc (thanks to Murilo Moreira de Oliveira and pjetko).
  157 		- Fix sort delimiter when reading useragent log (thanks to Maxim Britov).
  158 		- Fix user agent report font size and statistics on user agent.
  159 		- Test for the availability of -Werror=format-security in gcc (thanks to Maxim Britov).
  160 		- Test the existence of bzero with autoconf and don't redefine it (thanks to Maxim Britov).
  161 		- Remove warnings if libgd is not available.
  162 		- The date stored in sarg-date is now stored in a more machine readable form (thanks to rcastanheira for pointing this out).
  163 		- The date read from sarg-date was not properly parsed and would produce a wrongly sorted index across a year change (thanks to rcastanheira for pointing this out).
  164 		- my_mkdir changed to avoid the use of getword, be simpler and, maybe, work reliably on windows.
  165 		- Makefile supports DESTDIR for easy package creation (thanks to Erjo).
  166 		- Real time report honour the user_ip flag of the configuration file and the -l and -n passed on command line.
  167 		- Fix usage of -Werror and detection of fopen64 with old compilers not supporting -Werror=implicit-function-declaration.
  169 Oct-14-2009 Version 2.2.6
  170 		- Protection against buffer overflows in getword and friends and report the origin of the error instead of always blaming access.log.
  171 		- Patch #2224623 applied.
  172 		- Updated to autoconf 2.61.
  173 		- Detect external commands failures and print the exact command that produced the error. The offending file is kept for debugging if possible.
  174 		- The format of the date written in sarg-date is forced to prevent a failure if the locale is not en_US.
  175 		- Removed the duplicate file opening that resulted in a resource leak.
  176 		- Patch #1945235 applied.
  177 		- Patch #1918397 applied.
  178 		- Limit the content of the squidguard log file to the date of the day being processed.
  179 		- Removed fscanf that is prone to buffer overflows.
  180 		- Size of buffers increased.
  181 		- Protect ip2name against buffer overflows.
  182 		- Replace characters that are valid in URL but not in file names when building a file name from a URL.
  183 		- Patch #2657320 applied.
  184 		- Fix #else #if into #elif.
  185 		- Remove all the compilation warnings (inspired from patch #1771501).
  186 		- Fixed the real time report.
  187 		- Fixed the same bug as patch #1733337 but in a cleaner way.
  188 		- All the sprintf/fputs have been replaced by fprintf to avoid an intermediary buffer and possible buffer overflow.
  189 		- Moved all the functions declarations from conf.h to defs.h for consistency.
  190 		- Fixed bug #2089451.
  191 		- Fixed Debian bug #444845.
  192 		- Replaced the ifdef FOPEN64 by a single call to MY_FOPEN for code clarity.
  193 		- User IP/ID is searched only in the first column of the usertab file.
  194 		- Some of indentation fixes.
  195 		- Speed up by removing two unnecessary ip resolutions.
  196 		- Applied debian patches: sarg-polish.patch, sarg-turkish.patch
  197 		- Applied debian patch: opensuse_2_enlarge_report_buffers.patch
  198 		- Applied debian patch: opensuse_3_too_small_font_buffer.patch
  199 		- Applied debian patch: opensuse_4_enlarge_log_buffer.patch
  200 		- Applied and extended debian patch: opensuse_5_limit_sprintf.patch
  201 		- Function debuga format the output string itself, so there is no need to use sprintf.
  202 		- Applied debian patch: opensuse_7_year_assertion.patch
  203 		- Removed a few unnecessary strings copy.
  204 		- Embryo of documentation for the code with doxygen.
  205 		- Changed subs to replace the string in place and avoid allocating a memory that was freed on only one occasion.
  206 		- A few improvements on strings manipulations.
  207 		- Fixed debian bug #504749.
  208 		- Detect downloaded suffix bigger than 3 characters, don't match the cases and don't stop on a partial match.
  209 		- Fixed bug #2716729.
  210 		- Sanitized a little bit the generated HTML.
  211 		- Don't reject URL without directories.
  212 		- Use the correct format for off_t on amd64.
  213 		- Use the mechanism provided by configure to set the directories of the application instead of the custom variables.
  214 		- Fixed bug #1814212.
  215 		- Fixed bug #1847374.
  216 		- Partly applied advice of bug #1659784.
  217 		- Fixed bug #1740268.
  218 		- Applied suggestion of bug #2830643.
  219 		- Fixed bug #2216451.
  220 		- Fixed bug #2000178.
  221 		- Protect the reading of the configuration file against buffer overflows.
  222 		- Logo image height taken into account.
  223 		- Accept longer mail utility name.
  224 		- Fixed e-mail report (may also fix bug #2153024).
  225 		- Fixed total and percentages of topuser page.
  226 		- Applied Gentoo patch 10_all_sarg-2.2.5-enlarge-day-mon-buffers.patch.
  227 		- Applied Gentoo patch 12_all_sarg-2.2.5-enlarge-ntemp.patch.
  228 		- Open only once the denied.log and authfail.log when parsing more than one access.log.
  229 		- Use configurable paths for the files that used to reside in SYSCONFDIR.
  230 		- Add cmake configuration files.
  231 		- Compute the report date without resorting to the system command.
  232 		- Allow the use of spaces in the temporary directory.
  233 		- Fixed bug #2863485.
  234 		- Removed misplaced off_t as suggested in bug #2864425.
  235 		- Z files are uncompressed by zcat to avoid deleting the original log file.
  236 		- Compressed log files are uncompressed in /tmp/sarg to delete the file when the process completes.
  237 		- Fixed several memory leaks.
  239 Mar-03-2008	Version 2.2.5
  240 		- new fix to the script insertion vulnerability via user-agent
  241 		  report. javascript can still be executed via e.g. the "<BODY onload=function();>" scheme
  242 		     Thanks to Alin Rad Pop, Security Specialist, Secunia, Denmark
  244 Mar-02-2008	version 2.2.4
  245 		- security issues can be exploited to execute arbitrary code when sarg
  246 		  is used with malicious input files.
  247 		  The vulnerability within the processing of the useragent.log is rather
  248 		  critical, as this can be exploited by passing a long user agent string
  249 	          when browsing via a squid proxy. the manipulated GET request in the
  250 	          access log would not be accepted by squid, so that file has to be specially crafted.
  251 		     Thank you to L4teral l4teral@gmail.com
  253 		- French language fixed.
  254 		    Thanks to Nicod <smlpnicod@orange.fr>
  255 		- Fixed: Segfault in x86_64
  257 Jan-02-2007     version
  258 		- fixed -m option to show all the used tags
  259 		- date period invalid in download reports
  260 		- wrong results when userid contain '%20' character
  261 		- previous reports info wrong in index.html
  263 Dec/23/2006	Version 2.2.3
  264 		- gd graph font change from FreeSans.ttf to DejaVuSans.ttf
  265 		- minor fixes when only denied records in access.log file.
  266 		- ulimit tag changed. If you run sarg with a low privilege user, 
  267 		  set to 'none' to disable ulimit.
  268 		     Thanks to Jorge Morgado <jorge@morgado.ch>
  269 		- Russian_UTF-8 language fixed by Igor Ageikin <iageikin@lipen.elektra.ru>
  270 		- realtime_unauthenticated_records tag changed to show by default.
  271 		- chmod 755 in sarg-php due to errors in rpmbuild.
  272 		     Thanks to Davide Madrisan <davide.madrisan@gmail.com>
  273 		- when the keyword "anonymous" is used in squidGuard.conf, Sarg does
  274 		  not find the log-files anymore. 
  275 		     Thanks to Daniel Vogel <daniel_vogel@t-online.de>
  276 		- after reading the squidGuard configuration, the data read from the
  277 		  usertab file was corrupted. 
  278 		     Thanks to Daniel Vogel <daniel_vogel@t-online.de>
  279 		- millisec values showed as bytes. Thanks to Carlos <ke09@terra.com.br> 
  280 		- with squidGuard, you can log groups in only one log file.
  281 		  We must parse each log files only one time. 
  282 		     Thanks to Christophe BADINA <christophe.badina@ch-moulins-yzeure.fr>
  283 		- error message(removetmp) Cannot open /tmp/sarg_tmp/../general
  284 		  when sending report by email. Thanks to Peter Volkov <pva@gentoo.org>
  285 		- incorrect off_t size in printf. In FreeBSD off_t is 64bit long long,
  286 		  but sarg always use %d to display off_t in log processing. This cause garbage
  287 		  while reading log files on a freebsd, and possible crash.
  288 		     Thanks to Alex Samorukov <samm@os2.kiev.ua>
  289 		- squid24 on/off tag added in sarg.conf to implement compatibility if using
  290 		  squid <= 2.4 and using squid common logs.
  291 		     Thanks to Valter Dal Bo <dalbo@tesco.it>
  292 		- exclude_hosts and some code errors fixed by 
  293 		     Alexander Kozlov <avk@post.eao.ru>. Many thanks.
  294 		- temporary file names changed to sarg-... to avoid conflicts
  295 		  with usernames. Thanks to Ukrainian Elephant <superlamer@users.sourceforge.net>
  296 		- SARG support Japanese wordset but not support charset.
  297 		     submitted by anonymous at sourceforge.net  Many thanks.
  298 		- support for utf-8 character set added by Peter Warasin
  299 		     <peter-endian@users.sourceforge.net>. Many thanks.
  300 	        - if all the data is at the hour each day, totaliza_day() treats it all as being 
  301 		  on the last day. This is observed for users which only download via a cron job
  302 		  at the same time each day. Now the date and time will be
  303 		  checked to see if changed. 
  304 		     Thanks to Ian Dall <iandall@users.sourceforge.net>
  305 		- greport_day() doesn't add the volume for the first hour of each day to the total.
  306 		     Thanks to Ian Dall <iandall@users.sourceforge.net>
  307 		- Russian_koi8 and Russian_windows1251 languages updated by 
  308 		  Stas Degteff <stas.grumbler@gmail.com>. Many thanks
  309 		- realtime reporting is sorted by URL, and not by Date/Time.
  310 		    Thanks to Puce-Xcit <puce-xcit@users.sourceforge.net>
  312 Aug/29/2006	Version 2.2.2
  313 		- malloc test implemented to avoid high-memory consuming.
  314 			Thanks to Rodrigo Rubira Branco <rodrigo@kernelhacking.com>
  315 		- Czech UTF8 language added by Josef Karliak <karliak@ajetaci.cz>
  316 		- fixed: parsed mismatch in realtime_access_log_lines and 
  317 			access_log_lines tags.
  318 			Thanks to Kuznetsov Andrey <pm_kan@mail.ru>
  319 		- changed: realtime report sort changed by date/time
  320 			Thanks to Leonardo Buonsanti <leonardo.buonsanti@gmail.com>
  321 		- GD minor fixes added.
  322 		- bug fixed. *** buffer overflow detected ***: sarg terminated
  323 		  in Fedora Core 5 when using -D FORTIFY_SOURCE in gcc or in kernel.
  325 May/19/2006	Version 2.2.1
  326 		- iconv problems fixed in Freebsd and Slackware.
  327 			Thanks to Grigory Trenin <gtrenin@gmail.com>.
  328 		- new word added to languages: Topuser
  329 		- missing fclose fp-in in css.c
  330 			Thanks to Renato Botelho <rbgarga@gmail.com>.
  331 		- index.c fixed. Missing -r in reverse sort.
  332 			Thanks to Fernando Lemes da Silva <fernando@koho.com.br>
  333 		- wrong values in columns in-cache and out-cache.
  334 			Thanks to Hugo P S Costa <hpcosta@nutron.com.br>
  336 May/17/2006	Version 2.2
  337 		- sarg ported to 64 bits.
  338 		 	Thanks to Antonio F. Zago <zagolinux@uol.com.br>
  339 			to share your Fedora Core 5 64 bits with me. 
  340 		- fixed conflict types for 'saverecs2' in .configure
  341 		- fixed no index.html when lastlog tag is greater then 0,
  342 		  caused by some debug messages.
  343 		- removed some development debug message
  344 		- user_limit_block script added to block users when limit exceeded
  345 		- fixed wrong sort in index.html
  346 		- removed '+' argument to sort utility.
  347 		  	Thanks to Julio Cesar Covolato <julio@psi.com.br>
  348 		- fixed "file too long" messages when using long_url
  349 			Thanks to Fabio Lo Votrico <fabio@link.it>
  350 		- fixes and improvements from Oleg <xsov@mail.ru> - Tanks.
  351 		  . fprintf faster than sprintf+fputs (fixed in some places);
  352 		  . strcpy+strcat is faster than sprintf (fixed in some places);
  353 		  . unused variables removed;
  354 		  . fixed headers look and feel (<th class="header3">);
  355 		  . fixed word 'BYTES' localization for datetime user report;
  356 		  . fixed corrupted top header on index, denied, download and tt-reports;
  357 		  . fixed "No" table header in topsites;
  358 		  . fixed user report table look;
  359 		  . fixed floating point exception on long url (added checks 
  360 		    for division by zero);
  361 		  . fixed incorrect long url view;
  362 		  . fixed too wide table entries in user report by adding url_limit 
  363 		    internal parameter in html.c (default 40);
  364 		  . fixed charset.c file (was in MS-DOS text format);
  365 		  . also included all previous fixes by other people (from 
  366 	            datafile.patch and lastlog.patch files).
  368 Nov/29/2005	version 2.1
  369 		- index_tree tag added.
  370 			Look at TAG: index_tree in sarg.conf file
  371 			default is file - old format.
  372 		- realtime report added. sarg -r option
  373 			Look at these tags ion sarg.conf file:
  374 				TAG: realtime_refresh_time num sec
  375 				TAG: realtime_access_log_lines num
  376 				TAG: realtime_types: GET,PUT,CONNECT,ICP_QUERY,POST
  377 				TAG: realtime_unauthenticated_records: ignore|show
  378 		- garbage in topuser report with uninitialized variable.
  379 			Thanks to Craig Brockmeier <craig@ppco.com>
  380 		- memory leaks caused by a wrong variable size
  381 			Fixed by Klaus Singvogel <kssingvo@suse.de>. Thanks.
  382 		- ignoring users with '.' in password file.
  383 			Thanks to Emerson Valdir Pellis <webmaster@marisol.com.br>
  384 		- error with "resolve_ip" with "user_authentication yes"
  385 			Fixed by Grigory Trenin <gtrenin@gmail.com>. Thanks.
  386 		- long url causing fault.
  387 			Thanks to Vassily Andin <vasya@avitalight.com>
  388 		- hanging on a log file containing space.
  389 			Thanks to Fabio Lo Votrico <fabio@link.it>
  390 		- bug fixed in squidguard report module
  391 		- squidguard_ignore_date on|off tag added to sarg.conf file
  392 			You can ignore the squidguard log record date if outside of
  393 			date range in squid access.log file.
  394 		- alternate squidguard log added using -L option on sarg command line.
  395 			Thanks to Dave Karlson <dkarlson@r9esd.k12.or.us>
  396 		- fixed malloc without free.
  397 		- datafile-url ip|name added to sarg.conf file - saves ip address or name
  398 		  in url when using datafile tag.  Thanks to Calvin Muller <calvin@siryn.co.za>
  399 		- wrong link point in Generated by sarg-2..
  400 			Thanks to Markus Hoffmann <ipcop@mh-lantech.de> 
  401 		- Russian_UTF-8 language added by Alex Deiter <tiamat@komi.mts.ru>
  403 Aug/04/2005	version 2.0.9
  404 		- dansguardian_report_limit missing in sarg.conf file.
  405 		- ntlm domain+user format added.
  406 		- index date sort fixed by Olivier JAVAUX. Thanks
  407 		- Improve broken record detection
  408 			Thanks to Artem Korneev <akorneev@intelsysus.com>
  409 		- sort open failed causing an empty topuser report
  410 		- sarg losslessly size optimized images
  411 			Thanks to Tonda M��ek <tonda.misek@post.cz> and Luigi Gangitano.
  412 		- sarg calling sort without quoting filenames
  413 			Thanks to Luigi Gangitano.
  414 		- download_report_limit tag added.
  415 			Thanks to Leonardo Rodrigues <leonardo@solutti.com.br>
  416 		- logo css class defined but never used.
  417 			Thanks to Roger Favero <favero@sparkenergy.it>
  419 May/29/2005	version 2.0.8
  420 		- verdana.ttf font removed to avoid patent infringement issues.
  421 		  Now sarg uses a GPL FreeSans font from http://savannah.gnu.org
  422 		- ISA report with wrong date in date/time report.
  423 			Thanks to Richard Berndt
  424 		- connect records ignored when using emulate_http_log on in squid.conf file.
  425 			Thanks to Dusan Woletz
  426 		- bug that prevents the correct usage of switch -d <date1-date2> when using
  427 			an "emulate_httpd_log on" logfile and some performance improvements
  428 			added.
  429 			Thanks to Filippo Grassilli
  430 		- Spanish language fixed by Jos� Luis Hern�ndez L�pez. Thanks.
  431 		- url variable size changed to accommodate big urls with coded symbols and some
  432 		  minor changes in util.c file.
  433 			Thanks to Oleg <xsov@mail.ru>
  434 		- download suffixes improved by Oleg <xsov@mail.ru>. Thanks.
  435 			Now sarg uses these suffixes:
  436 			   7z,ace,arj,avi,bat,bin,bz2,bzip,cab,com,cpio,dll,doc,dot,exe,gz,iso,
  437 			   lha,lzh,mdb,mov,mp3,mpeg,mpg,mso,nrg,ogg,ppt,rar,rtf,shs,src,sys,tar,
  438 			   tgz,vcd,vob,wma,wmv,zip
  440 May/02/2005	version 2.0.7
  441 		- DansGuardian report added.
  442 			Thanks to Adolfas Kupliauskas for the access.log
  443 		- Slovak language added by Dusan Woletz
  444 			Thank you		
  445 		- wrong usertab user on topuser report.
  446 			Thanks to Marcos Favoretto
  447 		- ntlm_user_format added to sarg.conf. Now you can choose the following formats
  448 		  for the username on reports: user|domainname+user
  449 			Suggested by Roger Favero
  450 		- exclude_users ignored in some situations.
  451 		- Fixes by Sapon Oleg from Russia:
  452 		   . there are two equal lines about Evren Yurtesen in CONTRIBUTORS file.
  453 		   . Internationalization of SARG user graph added, using iconv function, which
  454 		     is presented only in Linux, so I add required #ifdef and other stuff to clean
  455 		     compile code on other platforms.
  456 		   . Fixed two issues:
  457 			- '?' symbol problems for apache and other cgi-supporting web server which
  458 			  doesn't support '?' symbol in links (all of them interpret this like 
  459 			  parameter to cgi script);
  460 			- some good optimization to all three similar cicles in these files by 
  461 			  reducing false checks in 'if ...' strings.
  462 		   . Fixes segfault, produced by improper use of strncpy functions, look - strncpy 
  463 		     doesn't copy leading '\0' symbol!
  464 		   . Just localization support for repday report.
  465 		   . Support usertab IP->USERNAME change in siteuser report.
  466 		   . Just proper Russian koi8 localization.
  468 Apr/22/2005	version 2.0.6
  469 		- Greek language by Antonis Maglaras <vegos@magla.gr>
  470 			Thank you.
  471 		- time period added to -t option. Now you can use -t HH-HH, HH:MM-HH:MM
  472 		- support to isa proxy 2004 log added.
  473 			Thanks to William da Rocha Lima <wrochal@linuxit.com.br>
  474 		- French language fixed by Alexey Znamerovskiy <alexz@everys.com>
  475 			Thanks
  476 		- internal LC_ALL=C removed to avoid errors on Solaris.
  477 			Thanks to Hraska, Frantisek <frantisek.hraska@hupro.sk>
  478 		- non authenticated records removed from Topuser report.
  479 			Thanks to Brian <brian@reginachristianschool.org>
  480 		- Compilation error on FreeBSD > 5 - log.c:645: error: `RLIMIT_OFILE' undeclared
  481 		- Sarg abbreviation values improved.
  483 Mar/21/2005	version 2.0.5
  484 		- fixed: some changes to avoid segmentation fault.
  485 		- fixed: some changes to avoid compilation errors on freeBSD.
  486 		- fixed: exclude_hosts not excluding correctly.
  488 Feb/17/2005	version 2.0.4
  489 		- exclude hosts not excluding correctly.
  490 			Thanks to Oleg
  491 		- download report showing jpeg files.
  492 		- support to Microsoft isa proxy log files added.
  493 			Thanks to Trankov Vladislav <vtrankov@kb-obibank.ru>
  494 		- fixed: error when using relative paths in -o and -w options. Just absolute paths
  495 			can be used now.
  496 			Thanks to Andreas Grosse <andi@majestyk.de>
  497 		- fixed: segfault fix in vrfydir() in util.c
  498 			 Prevent buffer overflow in subs(); replace one constant with sizeof() in my_lltoa().
  499 			 vrfydir(): fix segfault if sub-directory "images" is not exists
  500 			 function builddia() don't check the parameters. Result: segmentation fault in some cases.
  501 			Thanks to Stas Degteff stas_degteff@users.sourceforge.net for the fixes.
  502 		- fixed: wrong date period in squidguard_log when using European date format.
  503 			Thanks to Guenther Mair <gunnyst@users.sourceforge.net>
  504 		- ulimit tag added on sarg.conf to avoid "Too many open files" error.
  505 			Thanks to Paulo Pires <paulo.pires@vodafone.pt>
  508 Feb/02/2005	version 2.0.3
  509 		- squidguard parse logs method changed.
  510 			Thanks to Joao Mendes <jmendes@credibom.pt>
  511 			Thanks to Guenther Mair <gunnyst@users.sourceforge.net>
  512 		- wrong results in -v option.
  513 		- fixed: error when using -u (include user)
  514 			Thanks to Bochkarev Vladimi <bochkarev@expocentr.ru>
  515 		- export LC_ALL=C will be issued before sort to avoid high cpu usage
  517 Nov/22/2004:    version 2.0.2
  518 		- grepday with invalid font path.
  519 			Thanks to Marcelo Ricardo Leitner <mrl@conectiva.com.br>
  520 		- -v option added to display Sarg version on console
  521 		- Segmentation fault caused by an unclosed file.
  522 			Thanks to Pustovalov Leonid
  523 		- SquidGuard log formats added.
  524 			Thanks to Kolotov Alexandr
  525 		- time field added to topsites report
  526 			Thanks to Miles Roper <mroper@westcoastdhb.org.nz>
  527 		- fixtime function with wrong definition, changed to long long
  528 			Thanks to Valery from Russia
  529 		- Solaris 9 compiling error: error: conflicting types for 'my_mkdir'
  530 			Thanks to Brad Larden <Brad.Larden@alphawest.com.au>
  531 		- segfaults if the denied report is disabled in sarg.conf.
  532 			Thanks to Filippo Carletti <filippo.carletti@nethesis.it>
  533 		- reading performance improved by Francesco Perrillo <fperillo@totalfax.it>
  534 			Thanks
  535 		- Russian sarg-php translation added.
  536 			Thanks to Michael Stepanenko <mistic@ecolines.ru>
  539 Oct/04/2004:    version 2.0.1   
  540 		- configure error with no gd installed.
  541 		- graph with no text when using --enable-sysconfdir
  542 		- graph day incorrect when using dd/mm/yy date format
  543 		- show_sarg_logo yes|no added
  544 		- site_user_time_date with wrong patch. 
  545 			Thanks to Ricardo R. Hoffmann <hoffmann@uninet.com.br>
  548 Sep/29/2004: -  version 2.0
  549 			- Internal/External css implemented
  550 			- User authentication access (htaccess) implemented
  551 			- large file support added
  552 			- Report limits implemented
  553 			- Download report implemented
  554 			- Sarg logo by Osamu Matsuzaki <matsu_o@robata.org> added.
  555 			- Internal mkdir added to easy port to various platform.
  556 			- long url now show only accessed site and module name.
  557 			- now you can add a user report url to a flat file to be blocked
  558 		          by some Squid acl. 
  559 				Request by Francesco Collini <collini@colliniconsulting.it>
  560 			- remove temporary files, if already exist, to avoid conflicts with a 
  561 			  previous sarg process..
  562 				Thanks to Renato Leon <rl_sita@hotmail.com>
  563 			- squidGuard improved
  564 				- now only records with the same period from access.log
  565 				  will be in squidGuard report.
  566 				- squidGuard limit report
  567 				- now you can save some urls in squidGuard db using
  568 				  sarg-squidguard PHP utility.
  570 		bug fixed: fault caused by rewinddir after closedir. 
  571 			Thanks to Lucas Bocchi <challado@ibocchi.com.br>
  572 			   and to Freek
  573                 Fixed:  - missing </body> tags in all HTML pages
  574                         - missing </html> tag in some HTML pages
  575                         - missing DOCTYPE in all HTML pages
  576                         - grammar in man page
  577                         - URL Links to SourceForge http://sarg.sourceforge.net/
  578                 Added:  - Included more detailed information in man the page
  579                            Thanks to Billy Newsom of U.S.
  580                 To Do:  - There are still major validation problems in the HTML generated
  583 Apr/25/2003: -  fixed:  - link error to denied site in squidGuard report 
  584                         - resolve name error in squidGuard report 
  585                         - some fixes to HPUX. Thanks to Miles Roper <mroper@westcoastdhb.org.nz>
  586                         - index_sort_order tag don't work correctly.
  587                         - too many open files fixed. Thanks to Francesco Perrillo <fperillo@totalfax.it>
  588                         - Ukrainian_windows1251 included in sarg.conf file
  589                         - exclude_string don�t work correctly. Thanks to Modric Kristijan 
  590 					<Kristijan.Modric@pliva.hr>
  592 Mar/17/2003: -  Release 1.4
  593 		Added:  Now you can choose the fields that will be in User Reports.
  594 			Look at user_report_fields tag in sarg.conf file
  595 			Implementation requested by Daniel T. Joye <daniel@dragontail.com>
  597                 Added: 	Now sarg saves the processed log in a sarg format after parsing
  598 			the squid log file. This allow futures sarg reprocess and data 
  599 			will be smaller than Squid the log files
  600                         Look at parsed_output_log directory and
  601 			        parsed_output_log_compress tags in sarg.conf file
  602 			Implementation requested by Joe Cooper <joe@swelltech.com>.
  603 				Many thanks for the donation.
  605                 Added:  Now sarg can display the report values in abbreviation format.
  606 			Look at displayed_values in sarg.conf
  608 		Added:  Ukrainian_windows1251 language by Roman Vynar <rvynar@icqmail.com>
  609 			Thank you.
  611 		Added:  Catalan language by Andreu Sanchez <tanis@lleida.com>
  612 			Thank you.
  614 Nov/16/2002: -  Fixed: squidGuard report fail with non authenticated users.
  615 			Thanks to Dan Ratzlaff <norb@norbysoft.com>
  616                 Fixed: Turkish language by Evren Yurtesen 
  617                		<yurtesen@ispro.net.tr>. Thanks
  618                 Fixed: English language by Luigi Gangitano
  619 		       	<gangitano@lugroma3.org>. Thanks
  620                 Fixed: "CONNECT" average values are incorrectly calculated.
  621                         Arvids <arvids@vendomar.lv>. Thanks
  623 Oct/15/2002: -  Added: sarg man page created by Luigi Gangitano 
  624 			<gangitano@lugroma3.org>
  625 	        Added: Reading statistics, show_read_statistics tag
  626                 Added: Index sort order. See index_sort_order tag
  627 		Added: squidGuard report - squidguard_log_path tag
  628 		Added: show_sarg_info on report bottom optional - show_sarg_info tag
  629 		Changed: gzipped file will be decompressed using zcat
  630 		         bzipped file will be decompressed using bzcat
  631                 Changed: new sort routine added.
  632 		Changed: strsep changed to getnumlist function by Robert Tiismus
  634 Jun/02/2002: -  Added: save the results in a flat file to use to populate some
  635     		       database. Look at these tags in sarg.conf file:
  636                          TAG: datafile file
  637 	                 TAG: datafile_delimiter ";"
  638                          TAG: datafile_fields all
  639 		Added: logic to detect a broken record in access.log file
  640 		       and ignore it.
  641 		Added: now you can select the records to be processed by
  642 		       week and/or time using these tags in sarg.conf file:
  643 			 TAG: weekdays
  644 			 TAG: hours
  645 	               Thanks to Robert Tiismus from Institute of Physics, 
  646 		              University of Tartu, Estonia. 
  647 			      <robert@fi.tartu.ee>, and for the repday.c
  648 			      improvements.
  650 Apr/03/2002: -  bug fixed: cannot create temporary file when url contain '/'
  651                    and using long_url
  652 		   Thanks to Enrico Sorge <enrico.sorge@activevr.it>
  654 Dez/10/2001: -  Added: sarg now shows statistics when reading the log file
  655 		       if running with -x option
  657 Dez/05/2001: -  bug fixed: - loop process when using "tmp" chars in usernames
  658 		   Thanks to Jasper vd Heijden <extern@midkemia.nl>
  659 		new tag added: show_successful_message yes
  660 		   Show "Successful report generated on dir" message at end of process.
  661 			Requested by: Wendell Schubert <wendell@webeworld.com>
  662 				      Mauricio Felizardo dos Santos <mfelizardo@ansett.com.br>
  663 		bug fixed: core dump when removing auth_failures report from
  664 			   report_type tag.
  665 	           Thanks to Leonardo Rodrigues <coelho@persogo.com.br>
  666 		bug fixed: core dump with a big number of users.
  667 		   Thanks to Zverev, Alexandr V. <AVZverev@rtc.tnk.ru>
  668 		new tags added: topuser_fields
  669                                 topuser_num
  670 		   Now you can choose which fields must be in Topuser report and how many users.
  671 		   Requested by Hidde Beumer <Hidde.Beumer@cmg.nl>
  672 		bug fixed: auth_failures report missing
  673 		   Thanks to Clary Harridge <clary@csee.uq.edu.au>
  674 		Polish language added by Wszebor Boksa <Wszebor_Boksa@koncept.pl>
  675 	           Thank you.
  676 		Romanian language added by Adi Cretu <adi@usv.ro>
  677 	           Thank you.
  679 Jul/03/2001: -  new report added: site/user/date/time
  680                   Now report_type tag has the following default setup:
  681 		    report_type topsites sites_users date_time denied auth_failures site_user_date_time
  682              -  bug fixed - error when using squid-ntlm authenticator (domain\user)
  683 				Thanks to Jakob Curdes <jc@info-systems.de>
  684 	                  - ignoring changes in report_type tag
  685 			  - Site&Users report with users shifted down one row.
  686 				Thanks to Jason Urkow <jaque@telusplanet.net>
  687                          - some temporary files not removed.
  688                          - site/user/date/time report without </table> and </html>
  690 May/30/2001: - bug fixed: - user table garbage
  691 			  - chmod 644 removed from makefile
  692 			  - ignoring first user in usertable
  693 			  - ignoring users names with dots (".")
  694 			  	Thanks to Daniel Malmgren <daniel@leeloo.lund.se>
  695 			  - same values for connect and bytes fields in reports on Solaris 8
  696 			  	Thanks to Craig Brockmeier <craig@ppco.com>
  697 	       New tag added: user_invalid_char "&/"
  698 			  To avoid core dumps, records that contain invalid characters 
  699 			  in userid will be ignored by Sarg.
  700 	       New tag added: privacy yes|no
  701 	                      privacy_string "***.***.***.***"
  702 	                      privacy_string_color blue
  703 	       		  In some countries the sysadm cannot see the visited sites by a restrictive law.
  704 	       	          Using privacy yes the visited url will be changed by privacy_string and 
  705 			  the link will be removed from reports.
  706 			     Requested by Diaolin <diaolin@diaolin.com> (Natali Giuliano) 
  707                New tag added: include_users "user1:user2:...:usern"
  708 	                  Reports will be generated only for listed users.
  709 	       		     exclude_string "string1:string2:...:stringn"
  710 	       		  Records from access.log file that contain one of listed strings will be ignored.
  711 			     Requested by Michael Koptyaev <mk@aney.ru>
  714 Apr/02/2001: - implementation of --enable-bindir and --enable-sysconfdir in configure script.
  715 			Thanks to Sergei Dushenkov <dusha@dnttm.ru>
  716 	     - bug fixed: getword excessive long string detection function fixed.
  717 			Thanks to Junghausz Norbert <nigga@nigga.hu>
  718 	     - bug fixed: wrong charset for windows-1251 and koi8 Russian languages.
  719 			Thanks to Alexey Zhigayev <murphy@fio.samara.ru>
  720 	     - bug fixed: - Help page (-h) is empty because at start (log.c) program doesn't
  721 	                    load definitions to text[][] array.
  722 	                  - Definitions for Russian language doesn't have last 2 lines.
  723                           - Definitions of Charset field for Russian language is not so correct.
  724                             Better is 'windows-1251' or 'koi8-r'
  725 			  - I think in topuser.c the definition of wheader[] is too short for words
  726 			    on some languages
  727 			  - Initialization and use of variables TopuserSortField and
  728                             TopuserSortOrder is mismatch
  729 			Thanks to Alex Voronin <al_vg@mail.ru>
  730              - bug fixed: core dump with big user table.
  731 			Thanks to Jorge Cuellar Martinez <jorge.cuellar@sat.gob.mx>
  732 	     - Latvian languages by Juris Valdovskis <juris@auce.lv>
  733 			Thank you
  735 Mar/22/2001: - Now the user can choose the language using the language TAG in /usr/local/sarg/sarg.conf file.
  736                There is no more --enable-language in configure script.
  737              - New report added: Authentication Failures
  738 			Requested by Sergei Dushenkov <dusha@dnttm.ru>
  739              - NONE/400 (bad request) is excluded by default (/usr/local/sarg/exclude_codes)
  740              - Now sarg support big numbers (64 bits) in any platform.
  741              - Date/Time report now use bytes or elapsed time as specified in date_time_by tag in sarg.conf
  742                		Requested by Inters <inters@mailbox.riga.lv>
  743 	     - bug fixed: sites&users report sorted on the User field rather than the Site field
  744 	       		Thanks to Simon Bryan <sbryan@olmc.nsw.edu.au>
  745              - sites&users report was changed.
  746              - Russian_windows125 language fixed.
  747 			Thanks to Dima I. Allaverdov <allav@ur.rags.ru>  (rasa)
  748              - bug fixed: getconf was catching a wrong value in replace_index tag
  749 			Thanks to vrush_22@softhome.net
  750              - bug fixed: per_user_limit file with duplicate users.
  751              - Russian languages fixed by Nikolai V. Ivanyushin <koko@infocenter.bryansk.ru>. Thank you.
  752              - charset TAG added to sarg.conf file. The following charsets are available:
  753 			Latin1 (West European), Latin2 (East European), Latin3 (South European)
  754 			Latin4 (North European), Cyrillic, Arabic, Greek, Hebrew
  755 			Latin5 (Turkish), Latin6 (Nordic)
  756              	    Requested by Nikolai V. Ivanyushin <koko@infocenter.bryansk.ru>
  757              - configure now accept only two options:
  758 			--enable-bindir     - where sarg binary will be saved
  759 			--enable-sysconfdir - where the configuration directory is
  761 Mar/09/2001: Sqmgrlog has gained a new name: SARG - Squid Analysis Report Generator.
  762              Many people have asked me about why sqmgrlog. I really don�t know.
  763              No inspiration I think.
  764              SARG was suggested by an user from Philippines, but, I lost his email
  765              and don�t remember his name.
  767              Thank you anyway.
  771 sqmgrlog ChangeLog
  773 Feb/06/2001: Version 3.0 released:
  774              - Denied report added.
  775 			Request by Jason Staudenmayer <JasonS@NJAQUARIUM.ORG>
  776 	     - User table added. You can override your userid or IP Address with
  777 	       a real user name.
  778 			TAG usertab added to sqmgrlog.conf
  779              - Now you can have the long url in reports
  780 			TAG long_url added to sqmgrlog.conf
  781              - Now you can choose the report types
  782 			TAG report_type added to sqmgrlog.conf
  783 	     - sqmgrlog.conf file now will be in 644 mod.
  784 			Request by Michail Vidiassov <master@iaas.msu.ru>
  785 	     - sqmgrlog coredumps if there is a very long line in the config file.
  786 			Thank you to Michail Vidiassov <master@iaas.msu.ru>
  787              - Url parser changed to get connect records from a better way
  788 			Thanks to Sergey Erokhin <esl@vechnost.com>
  789 	     - Michail Vidiassov <master@iaas.msu.ru> made gcc -Wall ... happy on FreeBSD 4.1
  790 			Thank you
  791              - Russian_Koi8 language fixed by 
  792 			Andrew Okhmat <andy@crgu.com>. Thank you.
  793 			Maks Nefedchenko <maks@viaduk.net>. Thank you.
  794              - Russian and Bulgarian language fixed by 
  795 			Nikolai V. Ivanyushin <koko@infocenter.bryansk.ru> 
  799 Nov/09/2000: Two patches form Brad Guillory <proxyadm@baileylink.net> added:
  800               1. max-elapsed tag added to sqmgrlog.conf file:
  801                  # TAG: max_elapsed milliseconds
  802 	         #      If elapsed time is recorded in log is greater than max_elapsed use 0 for elapsed time.
  803   	         #      Use 0 for no checking
  804                  #
  805                  #max_elapsed 0
  806                  # 8 Hours
  807                  max_elapsed 28800000
  808               2. day report (the one that looks like a calendar) changed:
  809 	         Every minute that a request is logged your time is incremented by the smaller
  810                  of 1 minute or the total time for the requests.
  812                  Thank you Brad. Brad Guillory is the newest sqmgrlog contributor.
  814               Changed: sort now compare according to arithmetic value.
  816 Jul/11/2000: Dutch language fixed by Pieter Kooistra <pkooistra@hr.nl>
  817        		Thank you.
  818              Changed: Russian_koi8 changed to Russian_Koi8.
  819 		Thank you to Eugene AKA Kevin Kevin <kevin@id.ru> 
  820              Slightly changed Czech language
  821              Added: TAG: replace_index
  822                 Replace "index.html" in the main index file with this string
  823                 Vladimir Smelhaus <smelhaus@atlas.cz>
  824              Bug fixed: For some reason, Squid occasionally logs a blank line. Running sqmgrlog
  825 		against a log containing a blank line causes sqmgrlog to take 99+% CPU
  826 		Thanks to Giese, Bill <bill@gieses.com> 
  827 	     Added: now every squid code that contain the MISS word will be counted as out cache.
  828          	Thanks to Kostya Panov <twin@beep.ru> 
  830 Jun/09/2000: Bug fixed: abnormal end if userid contain ';'
  831 		Thanks to Victor Feoktistov <feoktist@triniti.ru>
  832              Japanese language fixed by
  833                 Akira Kitamura <click@anet.ne.jp> Takamatsu-City Kagawa Japan
  834              Bug fixed: Wrong date when setting date_format u in sqmgrlog.conf file
  835                 Thanks to Dale Perkel <dale@think.co.za, Nuno Almeida <nalm@vanguarda.com>, 
  836 		          Marcio Rodrigo Bordignon <mrbordignon@uol.com.br> 
  838 Mar/15/2000: Japanese language added by 
  839 		Akira Kitamura <click@anet.ne.jp> Takamatsu-City Kagawa Japan
  840                 Thank you.
  841              Serbian language added by 
  842 		Radovan Drobnjakovic <admin.rts@rts.co.yu>
  843                 Thank you.
  844              Bug fixed: wrong sort field when lower case used in
  845 		sort tags.
  846 		Thanks to Scott Larsen <slarsen@cascorp.com>
  847                   and to WOLETZ, Dusan <woletz@globtel.sk>
  848              Abuse report removed.
  849              Changed: report1_sort_field TAG in sqmgrlog.conf 
  850 			changed to topuser_sort_field
  851              Changed: report2_sort_field TAG in sqmgrlog.conf 
  852 			changed to user_sort_field
  853              Added: topsites sort field options added:
  854                # TAG: topsites_sort_order CONNECT|BYTES A|D
  855                #      Sort for topsites report, where A=Ascendant, D=Descendant
  856                #
  857                #topsite_sort_oder CONNECT D
  858              Implementation requested by
  859 		 Michael G. Koch <Michael.G.Koch@globalknowledge.de>
  861 Feb/26/2000: Bulgarian-windows1251 language added by
  862 	      Ivan Minchev <vanko@uni-svishtov.bg>.
  863                Thank you.
  864              French language updated by 
  865 	      Olivier Rousselot <olivier.rousselot@ssti.fr>
  866                Thank you.
  868 Feb/15/2000: SmarfFilter report added.
  869                Implementation requested by Andrew Bradshaw <andyb@excite.co.uk>
  870              Bug fixed: files created with 09Feb2000-09022000 instead 09Feb2000-09Feb2000
  871                Thanks to Andy Parfenov <andy@nursat.net>
  872              Changed: ignore records with HTTP/0.0 string.
  873                Implementation requested by Bernd Kossmann <bko@shd.de>
  874              Changed: some code added to ignore broken records in access.log file
  875              Bug fixed: removing old file with lastlog dont work.
  876                Thanks to Evren Yurtesen <yurtesen@ispro.net.tr>
  878 Jan/20/2000: Indonesian language added by V Gatut Harijoso  <gatut@student.unpar.ac.id>
  879 	       Thank you.
  880              Fixed: change in conf.h to compile on OpenBSD 2.6 system.
  881 	       Thanks to Kenneth Ingham <ingham@i-pi.com>
  882              Fixed: small bug, which fills the "periodo" with 
  883 		    "01Jan2000-20000101" instead of "01Jan2000-01Jan2000".
  884                Thanks to Schlosser, Carsten ECOFIS <c.schlosser@ecofis.de>
  885              Fixed: After calling system function malloc, variable excludecode 
  886 		    have some symbols inside (excludecode wasn't zeroed).
  887                Thanks to Andrew Katkov <askat@crimea.net>
  889 Dec/29/1999: Czech language added by Milos Prudek <prudek@nembv.cz>
  890                Thank you.
  891              Russian-windows1251 language added by Dima I. Allaverdov <allav@ur.rags.ru>
  892                Thank you.
  893              Changed: Russian language changed to Russian_koi8 language.
  894              Bug fixed: Sites&Users report dont resolve ip address.
  895                Thanks to Pavel Jezek <Pavel.Jezek@i.cz>
  897 Nov/29/1999: Bug fixed: DENIED word translated to another language never printed.
  898                Thanks to Rodolphe SIBERT <rsi@kyxar.fr>
  899              New report added: Sites & Users
  900                Implementation requested by Rodolphe SIBERT <rsi@kyxar.fr>
  901              Added: The date format now also has the option "w" for week.
  902                     The report is then 1999.47-1999.47 for instance.
  903                Implemented by Seth Mos <stimpy@stimpy.multiweb.nl>, thank you for the patch.
  904              Dutch language added by Seth Mos <stimpy@stimpy.multiweb.nl>
  905                Thank you.
  906              Added: new tag on sqmgrlog.conf, named user_ip, for setting a system wire -p, use ip address
  907                     instead userid.
  908                Implemented by Carlo Marcelo Arenas Belon <carenas@chasqui.lared.net.pe>
  909                Thank you for the patch.
  910              Added: new tag on sqmgrlog.conf, exclude_codes pointing to a file with codes to be
  911                     ignored by sqmgrlog. Eg.: NONE/400
  912                Implementation asked by Doug Burks <DBurks@Augserv.com>
  914 Sep/28/1999: Bug fixed: -split and -convert dont work with multiples -l options.
  915                Thanks to G. Kelana Sudibyo" <kelana@inn.bppt.go.id>
  916              Bug fixed: Bytes and Average corrupted in index.html after second execution.
  917                Thanks to Rob Glasser <orso@onelist.com>
  919 Sep/13/1999: Bug fixed: get wrong access.log file when using access_log in sqmgrlog.conf file.
  920                Thanks to Michael G. Koch <Michael.G.Koch@globalknowledge.de>
  922 Sep/10/1999: Spanish language added by Leonardo A. D'Angelo <ldangelo@san-cayetano.com>
  923                Thank you.
  924              New report added: topsites. This report show the top n sites accessed.
  925                     You can set the top num sites in topuser_num tag in sqmgrlog.conf file.
  926              Bug fixed: wrong userid when using Samba authenticator.
  927 	       Thanks to klaubert@bcb.gov.br (Klaubert Herr da Silveira)
  928 	     Changed: -v option removed. No more support for Squid-1 log format.
  929                Thanks to Nik Oxley <nik.oxley@iholland.co.uk>
  931 Aug/18/1999: New fields added to sqmgrlog.conf: 
  932                - lastlog n
  933                    With lastlog you can tell to sqmgrlog to remove old reports files.
  934                    Usage: lastlog 0  - no remove nothing
  935                           lastlog 10 - maintain only the last 10 reports
  936                    Implementation requested by Evren Yurtesen <yurtesen@ispro.net.tr>
  937                       Thank you for your help.
  938                - remove_temp_files yes|no
  939                    Remove temporary files: geral, usuarios, top, periodo from root report directory.
  940                    Implementation requested by Fred Pacquier <fredp@dial.oleane.com>
  941                - index yes|no|only
  942                    Usage: index yes  - will generate the main index.html in reports
  943                           index no   - dont generate the main index.html in reports
  944                           index only - generate only the main index.html in reports
  945                    Implementation asked by Fred Pacquier <fredp@dial.oleane.com>
  946                - overwrite_report yes|no
  947                    If yes and the report already exist for that date, the reports will be overwritten.
  948                    If no and the report already exist, that report will be renamed to filename.n, filename.n+1
  949                      Implementation requested by Eugeny Kuzakov <CoreDumped@CoreDumped.null.ru>
  950                - records_without_userid ignore|ip|everybody
  951                     What can I do with records without user id (no authentication) in access.log file ?
  952                       ignore - This record will be ignored.
  953                           ip - Use ip address instead. (default)
  954                    everybody - Use "everybody" instead.
  955                - use_comma
  956                    Use comma instead point in reports.
  957                      Eg.: use_comma yes => 23,450,110
  958                           use_comma no  => 23.450.110
  959                - mail_utility mail|mailx
  960                    Which mail command must I use to send reports ?
  962              Added: now every squid code that contain the MISS word will be counted as out cache. 
  963                 Implementation requested by Eugeny Kuzakov <CoreDumped@CoreDumped.null.ru>
  964                    Thank you for your help and for share your FreeBSD with me.
  965              Changed: the field url was changed to 8192 bytes to support big urls.
  966                 Thanks to Eugeny Kuzakov <CoreDumped@CoreDumped.null.ru>
  967              Changed: the header "TIME SPENT" changed to "USED TIME" in topuser report.
  968              Changed: no more nouser will be in reports but IP address instead.
  969              Changed: no more squid 1 log format supported.
  970              Bug fixed: wrong reports when using common log format (emulate_http on).
  971                 Thanks to Patrick LIN <patrickl@cst.ca>  
  973 Aug/06/1999: French language added by Fred Pacquier <fredp@dial.oleane.com>
  974                 Thank you
  975              Bug fixed: negative percentage in IN-CACHE-OUT.
  976                 Thanks to brad@baileylink.net
  977              Bug fixed: wrong directory name created when using -g e and -d
  978                 Thanks to Fred Pacquier <fredp@dial.oleane.com>
  979              Changed: atol use to get total bytes changed to atoll.
  980                 Thanks to brad@baileylink.net for the patch.
  981              Changed: now use ',' as separator instead '.' when using US date (-g u)
  982                 Implementations requested by brad@baileylink.net
  983              Changed: added -convert and -split to usage help (-h)
  984                       new messages added to easy translation.
  985                 Implementations requested by Fred Pacquier <fredp@dial.oleane.com>
  987 Jul/29/1999: Changed: convert userid to lowercase to disable username case-sensitivity
  988                 when using auth_smb.
  989                 Implementations requested by Doug Burks <DBurks@Augserv.com>               
  990              Changed: the sqmgrlog.conf now installs into /usr/local/etc
  991                 Implementations requested by Daniel L Sjvsvdrd <daniel.sjosvard@paals.se>
  993 Jul/06/1999: Y2K bug fixes.
  994                 Thanks to askat@crimea.net  (JSC CRELCOM)
  995              Bug fixed: special character in userid cause core dump.
  996 	        Thanks to Rick_Barzilli@xircom.com
  997 	     Splitlog function added:  -split will split the log file by date in -d parameter.
  998                 Eg.: sqmgrlog -split -d 01/07/1999-02/07/1999 [-convert] [-g e]
 1000 Jun/14/1999: German language added by Andreas Piesk <a.piesk@gmx.net>
 1001                 Thank you
 1002              Some minor changes made by Andreas Piesk, thanks for the patches.
 1004 Jun/09/1999: Bug fixed: to send reports via mail, use mail instead mailx in FreeBSD.
 1005                 Thanks to Evren Yurtesen <yurtesen@ispro.net.tr> to share your FreeBSD with me.
 1006              Bug fixed: wrong userid when using smb_auth authenticator.
 1007                         The userid will be changed from NTDOMAIN\username to NTDOMAIN.username.
 1008                 Thanks to Jouko Ylikulju <Jouko.Ylikulju@pkcables.com>
 1010 Jun/04/1999: Y2K compliance implemented.
 1011              Bug fixed: wrong report created when using common log format.
 1012                 Thanks to Carlos Santillana <Carlos@los-fresnos-cons.k12.tx.us>
 1013              Bug fixed: wrong fopen with "rt", must be "r".
 1014                 Thanks to Wayne Bastow <wbastow@ccahs.health.nsw.gov.au>
 1016 May/31/1999: Turkish language added by Evren Yurtesen <yurtesen@ispro.net.tr>
 1017                 Thank you
 1018              Bug fixed: users in exclude_users file were not removed from reports.
 1019                 Thanks to Arthur S. Petrossian <arthur@ipia.sci.am>
 1020                 Thanks to Evren Yurtesen <yurtesen@ispro.net.tr>
 1021              Bug fixed: core dump when using output_email parm and mailx not installed.
 1022                 Thanks to Evren Yurtesen <yurtesen@ispro.net.tr>
 1023              Thanks to Evren Yurtesen <yurtesen@ispro.net.tr> to share your FreeBSD with me.
 1025 May/20/1999: New report field added: IN CACHE and OUT CACHE. 
 1026                 This field show how many bytes (percent) was retrieved from the cache.
 1027   	        Implementations requested by Arthur S. Petrossian <arthur@ipia.sci.am>
 1029 May/14/1999: Bug fixed. Abnormal End when using -i option
 1030                 Thanks to Carlos Canau <canau@ionia.EUnet.pt> for the patch.            
 1031              Bug fixed. Sqmgrlog freeze if some records are broken in access.log file.
 1032                 Thanks to Rick_Barzilli@xircom.com
 1033              Bugfix that prevents sqmgrlog from freezing up if a log file has "holes" (sequences of zeros) 
 1034              (caused by filesystem crash).
 1035                 Thanks to drdivano@mail.axon.ru for the patch.
 1037 Apr/14/1999: Per user limit added.
 1038                  If the user exceed the limit, userid will be saved in a file that can
 1039                  be used in squid acl.
 1040 	         Field per_user_limit added to sqmgrlog.conf: per_user_limit file limit
 1041                     file : where userid must be saved
 1042                     limit: in MB   Eg. 40 will limit in 40 MB.
 1043 	         Implementation requested by Csaba Kabai <ckabai@icnpharm.com>
 1045 Mar/11/1999: Field exclude_users now accept indexonly to create only index.html report.
 1046                 Implementation requested by Hanni Daniel <daniel.haenni@softlab.ch>
 1047 	     Bug fixed for FreeBSD. Missing \n on topuser.
 1048                 Thanks to Andrew <andrew@extrim.ru> for share your FreeBSD-3.1
 1049              Some minors fixes and changes in html layout.
 1050                 Thanks to Andrew Barnes <a.barnes@kaldor.com.au>
 1052 Mar/03/1999: Bug fixed. Wrong href link if userid in format userid.name...
 1053                 Thanks to Manon Goo <manon@manon.de>
 1054              Some changes on variable translations.
 1055                 Thanks to Matteo Colombo <matteo@calcol.it>
 1056              Russian language (KOI8-R) added by Palamarchuk Eugen <eugen@cit.od.ukrtel.net>
 1057                 Thank you
 1058              Field exclude_users added to sqmgrlog.conf. 
 1059 	        Users within the file will be excluded from reports.
 1060                 Implementation requested by Hanni Daniel <daniel.haenni@softlab.ch>
 1062 Feb/26/1999: New date/time report added.
 1063 	        Look at http://www.orso.x5.net/squid-reports/1999Feb01-1999Feb08/duser24.html
 1064 	     -d option now accept from-until (dd/mm/yy-dd/mm/yy) dates.
 1065 	        Requested by Eric V. Pino <ericvp@roadrunner.com.ph>
 1067 Feb/10/1999: Italian language added by Matteo Colombo <matteo@calcol.it>
 1068              Thank you.
 1069              -convert option added. Convert the access.log file to a legible date
 1070              and time format. May be used with -l and/or -g options.
 1072 Feb/05/1999: Field date_format added to sqmgrlog.conf.
 1073                 date_format u: reports with USA format mm/dd/yy
 1074                 date_format e: reports with Europe format dd/mm/yy
 1075                 Implementation requested by Matteo Colombo <matteo@calcol.it>
 1076              Bug fixed: temporary file cannot be created if not run in root.
 1077                 Thanks to Carlos Canau <canau@ionia.EUnet.pt> for the patch.
 1078              Changes from Tony Lorime <alorimes@csc.com>: use atoll instead atol in Solaris
 1079 			                                : ignore .htaccess when selecting files
 1080 	        Thank you.
 1082 Dec/21/1998: -b option added. Generate useragent report. 
 1083                 field useragent_log added to sqmgrlog.conf
 1084     	        Implementation requested by Alp <support@x5.net>
 1085              -j option added. Generate a kind of abuse report.
 1086     	        Implementation requested by Alp <support@x5.net>
 1087                 To use this feature you must apply a patch (http://www.orso.x5.net/patches) on Squid.
 1088              -c exclude option improved. Now you can exclude B classes
 1089     	        Implementation requested by Yin Jun <yinj@mars.ahu.edu.cn>
 1090              Bug fixed for Solaris. Must user -lsocket and -lnsl to resolve names.
 1091                 Thanks to Ryan Roehrich <ryanscott@mindless.com>
 1093 Dec/11/1998:  Bug fixed for long long int in Alpha Digital
 1094    	        Thanks to Ilya V. Komarov <mur@mur.lynx.ru> for share your Digital server.
 1096 Dec/10/1998:  Version 2.2 released
 1097 	     -n option added. Resolve domain name for reports with IP Address.
 1098                 Field resolve_ip added to sqmgrlog.conf
 1099              Sort report by header fields implemented
 1100                 Fields report1_sort_field and report2_sort_field added to sqmgrlog.conf 
 1101              -f option added. Allow config file override
 1102              Exclude hosts implemented            
 1103                 Field exclude_hosts file added to sqmgrlog.conf. Exclude ips, names, subnets
 1104                   from reports.
 1105   	        Implementations requested by Arthur S. Petrossian <arthur@ipia.sci.am>
 1107 Dec/07/1998:  Version 2.1 released
 1108              sqmgrlog now can read log file in gzip or compress format.
 1109     	        Implementation requested by Alp <support@x5.net>
 1111 Nov/09/1998:  Version 2.0 released
 1112              -p option added. Allow redirect output report to email address.
 1113              sqmgrlog.conf with colors, headers, title, font size, background color, text color,
 1114                 background image, font face, etc... added.
 1115              Reports will be generated only for users in passwd file (tag password in sqmgrlog.conf).
 1116              Many changes in html output layout.
 1117                 Thanks to Alp <support@x5.net>
 1119 Oct/19/1998:  Bug fixed by Maxim Berlin <mak@unesco.mitht.rssi.ru> for long long int in FreeBsd.
 1120              Many thanks.
 1121              Thanks to Ilya V. Komarov <mur@mur.lynx.ru> to share your FreeBSD 3.0 server to help on fixing.
 1123 Sep/28/1998:  Bug fixed for log with emulate http on (Squid 1.2.beta)
 1124                 Thanks to Alp <support@x5.net>
 1125 	     -p option added. Generated reports with IP Address instead Userid.
 1126 	     Use this option if you do not use Proxy authentication on Squid.
 1127     	        Implementation requested by Szalma Zoltan <zszalma@file.matav.hu>
 1129 Aug/11/1998:  Bug fixed for memory slack. 
 1130 		Thanks to kevin@mcpeake.net
 1131 		 	  Jose Luiz <jluiz@projesom.com.br>
 1132 			  Patrick Darden <darden@server2.armc.org>
 1133 			  Steve Chan <Steve.Chan@lucasfilm.com>
 1135 Jul/07/1998:  Spent time added for native Squid log format (emulate_httpd_log off).
 1136 	     Connect added.
 1137 	     Layout change in html reports.
 1139 Jun/02/1998:  -o option added. Allow output dir override.
 1140 	     Implemented index.html on root output dir.
 1141 	     Implemented auto rename if output dir already exist.
 1142 	     bug fixed, link error if user change output dir in conf.h
 1143 	     Thanks to Alp <cybergulf@cybergulf.net>
 1145 May/28/1998:  -v option added. Allow Squid version override.
 1147 May/28/1998:  Bug fixed in common log format
 1148 	     Thanks to Tony Lorimer <tlorimer@health.csc.com.au>
 1149                        Alp <cybergulf@cybergulf.net>
 1150 	               Carlos Santillana <carlos@los-fresnos-cons.k12.tx.us
 1152 May/21/1998:  Implemented Squid version verification because common log 
 1153 	     from 1.1 differ from 1.2 version.
 1154 	     -i option added (report by user and IP address)
 1156 May/19/1998:  configure script implemented.
 1158 May/18/1998:  Implemented auto log format recognize (Squid and Common log)
 1160 Apr/15/1998:  bug fixed. Some garbage on period.
 1161              Thanks to Lee Shakespeare <lee@webfoundry.co.uk>
 1163 Apr/15/1998:  -z option added (debug)
 1165 Apr/07/1998:  top.html changed to index.html
 1167 Mar/31/1998:  index.html added
 1169 Mar/25/1998:  sqmgrlog was created