]> git.ipfire.org Git - thirdparty/sarg.git/log
thirdparty/sarg.git
11 years agoUpdate dates in the manpage v2.3.3-pre1
Frédéric Marchal [Sun, 27 May 2012 18:32:10 +0000 (20:32 +0200)] 
Update dates in the manpage

11 years agoUpdate po files
Frédéric Marchal [Sun, 27 May 2012 07:47:26 +0000 (09:47 +0200)] 
Update po files

11 years agoUpdate help
Frédéric Marchal [Sun, 27 May 2012 07:46:17 +0000 (09:46 +0200)] 
Update help

The manpage is up to date.

So is the help displayed by sarg with command line options -h or --help.

11 years agoAdd --help to the command line to display the help
Frédéric Marchal [Sun, 27 May 2012 05:48:08 +0000 (07:48 +0200)] 
Add --help to the command line to display the help

That syntax is more user friendly.

Old -h is still accepted.

11 years agoKeep the excluded files out of the archive
Frédéric Marchal [Sun, 27 May 2012 05:42:50 +0000 (07:42 +0200)] 
Keep the excluded files out of the archive

The tar.gz archive created to release the sources included the ignored
files if they were located in a subdirectory.

11 years agoUpdate the translation files
Frédéric Marchal [Sun, 27 May 2012 05:20:19 +0000 (07:20 +0200)] 
Update the translation files

Update the content of the po files for the translators.

11 years agoAdd 3 missing files to gettext
Frédéric Marchal [Sun, 27 May 2012 05:19:55 +0000 (07:19 +0200)] 
Add 3 missing files to gettext

The content of three files was not processed by gettext and was therefore
untranslated.

11 years agoUpdate ChangeLog
Frédéric Marchal [Tue, 22 May 2012 18:36:09 +0000 (20:36 +0200)] 
Update ChangeLog

Include some previously overlooked changes.

11 years agoFix a printf-like format specifier
Frédéric Marchal [Tue, 22 May 2012 06:35:43 +0000 (08:35 +0200)] 
Fix a printf-like format specifier

Reminder for myself: a sizeof must be cast to a int and formated with %d.

11 years agoIP address resolution using one external program
Frédéric Marchal [Mon, 21 May 2012 19:55:47 +0000 (21:55 +0200)] 
IP address resolution using one external program

It is now possible to resolve an IP address using an external program.
Only one external program can be configured but it may do anything
including attempting several strategies to resolve the IP address.

The module may be chained after the standard dns module to get the name of
a computer not registered with the DNS.

Executing an external program is exceedingly slow so it is best to try
the DNS first!

11 years agoFix compilation error on Windows
Frederic Marchal [Mon, 21 May 2012 10:46:43 +0000 (12:46 +0200)] 
Fix compilation error on Windows

The variable h_errno is an alias to WSAGetLastError() which must not be
declared as was to be done on Linux.

11 years agoUpdate the po files with the new messages
Frédéric Marchal [Mon, 21 May 2012 08:37:16 +0000 (10:37 +0200)] 
Update the po files with the new messages

11 years agoInclude .gitignore in the repository
Frédéric Marchal [Mon, 21 May 2012 08:31:59 +0000 (10:31 +0200)] 
Include .gitignore in the repository

It contains the build files to exclude from git.

11 years agoUpdate the release date embedded in the program
Frédéric Marchal [Mon, 21 May 2012 08:11:19 +0000 (10:11 +0200)] 
Update the release date embedded in the program

This is the release date printed in the report and in the output in verbose
mode.

11 years agoTake the port number into account when processing IPv4 addresses
Frédéric Marchal [Mon, 21 May 2012 08:10:37 +0000 (10:10 +0200)] 
Take the port number into account when processing IPv4 addresses

The port number is ignored from IPv4 addresses read from the log file. It
allows to compare IPv4 addresses against the host exclusion list.

Prior to that change, it was not possible to filter out IPv4 ranges if a
port number was reported in the log file as the address was not recognized
as an IPv4 address and therefore was not compared to the correct exclusion
list.

Thanks to Mark Easter for reporting this bug.

12 years agoDon't process the download report if no entry was written in the log file
Frédéric Marchal [Wed, 14 Mar 2012 06:41:24 +0000 (07:41 +0100)] 
Don't process the download report if no entry was written in the log file

If the download.int_unsort file doesn't exist, the sort command fails and sarg
abort the process.

With this patch, it simply continues the processing optionaly printing an
information message.

Now, it is an error if the sorted file doesn't exists. In previous versions, it
was just a warning.

12 years agoDisplay the offending regular expression if an error is detected
Frédéric Marchal [Mon, 12 Mar 2012 09:14:25 +0000 (10:14 +0100)] 
Display the offending regular expression if an error is detected

If a regular expression is invalid, the actual regular expression is displayed
in the error message in addition to the error message from libpcre. The user
will know what regular expression failed.

12 years agoDeal with url without scheme or path in a squidGuard log
Frédéric Marchal [Sat, 10 Mar 2012 14:37:11 +0000 (15:37 +0100)] 
Deal with url without scheme or path in a squidGuard log

Some url in a squidGuard log don't start with a scheme:// and may not
even contain a path. Those bare minimum url are not parsed correctly
by the redirector_log_format suggested in sarg.conf.

To parse those log entries correctly, we grab the whole url in the
buffer and strip it down to keep the host name.

12 years agoAccept subpatterns in the host alias
Frédéric Marchal [Sat, 10 Mar 2012 11:01:25 +0000 (12:01 +0100)] 
Accept subpatterns in the host alias

Both the sed (\1) and perl ($1) subpatterns are accepted. Only 9
subpatterns are taken into account.

12 years agoAvoid empty file name for the user's report file
Frédéric Marchal [Fri, 9 Mar 2012 13:40:02 +0000 (14:40 +0100)] 
Avoid empty file name for the user's report file

If an empty user name creeps up to the name manufacturing function, the name
generated to store the user's files is empty and it leads to the deletion of
the whole report directory during the process. The visible results is that sarg
ends up with an error because its output directory is missing.

This patch makes sure no empty file name is used. It is still necessary to
avoid empty user names in the first place.

12 years agoAdd a cache to store the resolved IP addresses
Frédéric Marchal [Sun, 26 Feb 2012 19:12:12 +0000 (20:12 +0100)] 
Add a cache to store the resolved IP addresses

The cache is based on a dichotomic search in an array. I plan to compare
the speed of the dichotomic search with the btree.

12 years agoMake a module out of the DNS IP resolving
Frédéric Marchal [Sat, 18 Feb 2012 08:19:45 +0000 (09:19 +0100)] 
Make a module out of the DNS IP resolving

The code was changed to accommodate module names in resolve_ip instead of
just yes or no. The named modules are tried in sequence until one returns
a positive result.

Currently, only the dns module is available.

12 years agoPrepare the ip resolving for other resolving methods
Frédéric Marchal [Fri, 17 Feb 2012 17:05:59 +0000 (18:05 +0100)] 
Prepare the ip resolving for other resolving methods

The ip resolving is moved into a distinct function that will be called
based on the configured options.

12 years agoReport the full downloaded url again
Frédéric Marchal [Fri, 17 Feb 2012 17:00:36 +0000 (18:00 +0100)] 
Report the full downloaded url again

Due to a bug, the download report only showed the host name instead of the
full url as it used to do prior to version 2.3.2.

Thanks to Kryol for reporting that bug.

12 years agoMerge branch 'v2.3' of ssh://sarg.git.sourceforge.net/gitroot/sarg/sarg into v2.3
Frédéric Marchal [Tue, 14 Feb 2012 16:58:57 +0000 (17:58 +0100)] 
Merge branch 'v2.3' of ssh://sarg.git.sourceforge.net/gitroot/sarg/sarg into v2.3

12 years agoUpdate the ChangeLog
Frédéric Marchal [Mon, 13 Feb 2012 20:02:48 +0000 (21:02 +0100)] 
Update the ChangeLog

Record the more prominent changes.

12 years agoDisplay an error message if a regex is used in the hostalias
Frédéric Marchal [Mon, 13 Feb 2012 08:03:00 +0000 (09:03 +0100)] 
Display an error message if a regex is used in the hostalias

If libpcre was not compiled in sarg and regex are used in the hostalias
file, an error message is displayed and sarg exits.

12 years agoAdd support for regular expressions in aliasing the hosts
Frédéric Marchal [Sun, 12 Feb 2012 18:52:03 +0000 (19:52 +0100)] 
Add support for regular expressions in aliasing the hosts

If libpcre is found on the system, a regular expression can be defined
in the hostalias file to replace the matching host names in the report.

A regular expression is formated in the host alias file as
re:/regexp/ alias

The alias is mandatory. The regexp may be delimited by another character.

12 years agoFix the permissions in the archive file
Frédéric Marchal [Sun, 12 Feb 2012 15:42:35 +0000 (16:42 +0100)] 
Fix the permissions in the archive file

The archive to distribute a release had the wrong permissions. Every
directory was missing the x permission preventing the user from entering
into the directory.

12 years agoAvoid a possible name clash in the temporary directory
Frédéric Marchal [Thu, 9 Feb 2012 20:10:54 +0000 (21:10 +0100)] 
Avoid a possible name clash in the temporary directory

As all the temporary files are generated in the same directory and some of
them may be named after the user's ID found in the log file, it is possible
that a user's file ends up with the same name as an internal file such as
the downloads.

To avoid that name clash, the temporary files created for any auxiliary
report are suffixed with a distinct extension.

12 years agoNo links in the denied page if the user is not on the topusers list
Frédéric Marchal [Tue, 7 Feb 2012 18:23:46 +0000 (19:23 +0100)] 
No links in the denied page if the user is not on the topusers list

The report with the denied accesses contains links to the user report page
but the user report page is not generated if the user is not on the
topusers list.

This patch hide the link if the user's page doesn't exists.

12 years agoChange the year in the header of every C file
Frédéric Marchal [Fri, 3 Feb 2012 21:11:05 +0000 (22:11 +0100)] 
Change the year in the header of every C file

12 years agoAdd a note about the sorting of the downloaded files
Frédéric Marchal [Fri, 3 Feb 2012 21:03:31 +0000 (22:03 +0100)] 
Add a note about the sorting of the downloaded files

The doxygen comment tells what columns are used in the sorting of the file.

12 years agoSort the user's log just before using it
Frédéric Marchal [Fri, 3 Feb 2012 21:02:55 +0000 (22:02 +0100)] 
Sort the user's log just before using it

It is cleaner to group the sorting with the code using it. Moreover, it is
safer as we don't risk sorting a file that is not a user's file.

The doxygen documentation of sort.c was included into the source file
instead of keeping it in a separate file.

12 years agoSort the downloaded log just before using it
Frédéric Marchal [Fri, 3 Feb 2012 20:49:33 +0000 (21:49 +0100)] 
Sort the downloaded log just before using it

It is cleaner to group the download stuff in the same file and at the same
place.

Moreover, it frees the sorting routine up to be included where it belong
too.

The documentation of download.c has been merged within the source code.

12 years agoDon't use an intermediate file for the hourly statistics
Frédéric Marchal [Fri, 3 Feb 2012 20:21:46 +0000 (21:21 +0100)] 
Don't use an intermediate file for the hourly statistics

The data are grouped in memory and later written to the file that will
be read to produce the hourly and graph reports.

12 years agoProduce the time and graphs reports if users_sites is disabled
Frédéric Marchal [Fri, 3 Feb 2012 18:25:04 +0000 (19:25 +0100)] 
Produce the time and graphs reports if users_sites is disabled

If the topusers report is requested but not the users_sites report, the
links to the time and graphs reports are included in the topusers list but
the files were not generated. Now, they are.

12 years agoFix the links of the URL in the reports
Frédéric Marchal [Wed, 1 Feb 2012 20:12:34 +0000 (21:12 +0100)] 
Fix the links of the URL in the reports

Some URL are stripped of the scheme and others are not. Some have a scheme
in the access.log while others don't.

The function writing the URL in the report detects the presence of the
scheme and add "http://" before the link if no schemes are detected.

12 years agoCleanup the use of a supernumerary url variable
Frédéric Marchal [Wed, 1 Feb 2012 19:47:37 +0000 (20:47 +0100)] 
Cleanup the use of a supernumerary url variable

Two redundant pointers were making the code more confusing.

12 years agoRequire a compiler compatible with C99
Frédéric Marchal [Wed, 1 Feb 2012 18:53:24 +0000 (19:53 +0100)] 
Require a compiler compatible with C99

The LLONG_MAX constant is only declared on some systems if gcc is ran in
a mode compatible with C99.

This commit requires C99 (-std=gnu99 in fact) and check that LLONG_MAX is
properly defined. At least, the user will be informed about the problem as
soon as possible if such a problem occurs again.

The bug describing this problem is here:
http://sourceforge.net/tracker/index.php?func=detail&aid=3482261&group_id=68910&atid=522791

12 years agoMention that autoreconf can be used to create the configure script
Frédéric Marchal [Wed, 1 Feb 2012 16:14:21 +0000 (17:14 +0100)] 
Mention that autoreconf can be used to create the configure script

The comment on the first line of configure.in tells to use autoconf to
build the configure script but autoreconf is more likely to do the job.

12 years agoExplain why the graphs are not produced
Frédéric Marchal [Wed, 1 Feb 2012 13:30:08 +0000 (14:30 +0100)] 
Explain why the graphs are not produced

Some messages have been added to explain what are the consequences of not
building sarg with libgd.

In addition, some more messages explain why the graphs are not rendered
along with the report.

It should help the users to track the graphs problems by themselves.

12 years agoRemove the obsolete cc option
Frédéric Marchal [Wed, 1 Feb 2012 10:34:45 +0000 (11:34 +0100)] 
Remove the obsolete cc option

If sarg is compiled with cc, the old configure script would add the -Aa
option to the CFLAGS but that option produces an error on modern cc. The
error is about a missing argument. I could not find the new syntax nor the
purpose of that option but it was reported that removing the whole
condition was solving the problem.

Bug report here:

http://sourceforge.net/tracker/?func=detail&aid=3467463&group_id=68910&atid=522791

12 years agoSpeed up the second stage of the report generation
Frédéric Marchal [Wed, 1 Feb 2012 10:27:25 +0000 (11:27 +0100)] 
Speed up the second stage of the report generation

A lot of temporary files are produced after the log is split into several
files each containing the data of the users but those temporary files were
constantly being opened and closed for each line to be written into. It
was a small waste of time.

The new processing opens the temporary user's files once per user, process
the data of the corresponding user and generate the temporary file with
those data. The gain is roughly 10% on my data set.

12 years agoAdd a double check on the data at the user's level
Frédéric Marchal [Wed, 1 Feb 2012 10:21:37 +0000 (11:21 +0100)] 
Add a double check on the data at the user's level

There already was a check on the global data collected from the access log
to ensure no data was lost.

There is now a check on the amount of bytes download by the user and the
time elapsed. The detection of a failure is therefore more accurate and
make it easier to locate the leak.

12 years agoSuppress a false warning
Frédéric Marchal [Wed, 1 Feb 2012 10:18:48 +0000 (11:18 +0100)] 
Suppress a false warning

During the creation of the topusers report, if the the report consist
entirely of failed connection without any byte downloaded, the incache
and outcache are both zero and don't sum up to 100%. This is expected and
should not output a warning about corrupted data.

12 years agoReport any error while reading the day summary file
Frédéric Marchal [Wed, 1 Feb 2012 10:17:18 +0000 (11:17 +0100)] 
Report any error while reading the day summary file

Sarg generates a temporary file containing the downloaded bytes and the
elapsed time to produce the user's hourly report. While that temporary
file is read and processed into yet another temporary file, any error
found is reported and the processing is aborted instead of being silently
ignored. It ensure no data are missing from the reports.

12 years agoDon't fail if report_type doesn't request for topusers
Frédéric Marchal [Tue, 31 Jan 2012 19:49:47 +0000 (20:49 +0100)] 
Don't fail if report_type doesn't request for topusers

The topusers page is always generated and now serves as an index for the
other report pages instead of promoting the topsites pages as the main
page.

12 years agoUpdate the build date
Frédéric Marchal [Fri, 6 Jan 2012 14:00:52 +0000 (14:00 +0000)] 
Update the build date

12 years agoFix the formating of the e-mail subject
Frédéric Marchal [Fri, 6 Jan 2012 14:00:35 +0000 (14:00 +0000)] 
Fix the formating of the e-mail subject

The date in the subject line of the e-mail was produced with asctime.
But that function append a \n at the end of the date. The subject line
was therefore followed by a blank line as mailx was concerned and that
would mess with the header of the e-mail.

This patch render the subject line using strftime. It avoid the line
break and allow mailx to add additional headers from the command line.

12 years agoPrint a debug message when purging the temporary directory
Frédéric Marchal [Fri, 6 Jan 2012 14:00:20 +0000 (14:00 +0000)] 
Print a debug message when purging the temporary directory

The temporary directory used by sarg is purged before the report is
generated and it can take some time if a previous directory was left
from a previous run.

A debug message is printed to tell the user about the delay that's
occuring.

12 years agoFix the version number
Frédéric Marchal [Fri, 6 Jan 2012 13:15:59 +0000 (13:15 +0000)] 
Fix the version number

This is version 2.3.3-pre1 and not 2.3.3 as mentioned in the
configuration script!

12 years agoUpdate the building date
Frédéric Marchal [Fri, 6 Jan 2012 13:09:14 +0000 (13:09 +0000)] 
Update the building date

12 years agoFix the link to the URL in some reports
Frédéric Marchal [Fri, 6 Jan 2012 13:08:58 +0000 (13:08 +0000)] 
Fix the link to the URL in some reports

Some URL are stripped of the scheme while others are not. Yet they were
all printed using the same function that prefixed a http:// in front of
the URL even if the original scheme was stil present.

To make the links clickable without error in the report, the scheme may
be provided by the caller when it requests the printing of the URL in a
HTTM link.

The affected reports were the authentication failures, the denied
accesses and the downloaded files.

Thanks to budsz for reporting this problem.

12 years agoDelete legacy file.
Frédéric Marchal [Fri, 6 Jan 2012 13:08:34 +0000 (13:08 +0000)] 
Delete legacy file.

The content of squidguard_report.c ended up in report.c a long time ago.

12 years agoInclude the Danish translation
Frédéric Marchal [Mon, 2 Jan 2012 09:18:33 +0000 (09:18 +0000)] 
Include the Danish translation

Thanks to Joe Hansen

12 years agoFormat the help of the configure script
Frédéric Marchal [Thu, 29 Dec 2011 16:18:19 +0000 (16:18 +0000)] 
Format the help of the configure script

The help messages of the configuration script is formated with
AS_HELP_STRING instead of using a hardcoded layout.

12 years agoSupport for gd, ldap and iconv can be disabled during configuration
Frédéric Marchal [Thu, 29 Dec 2011 15:05:52 +0000 (15:05 +0000)] 
Support for gd, ldap and iconv can be disabled during configuration

The configuration script support the three command line switches
--without-gd, --without-ldap and --without-iconv to build sarg without
one of those external module.

12 years agoDon't abort on squidGuard log errors
Frédéric Marchal [Thu, 29 Dec 2011 15:05:34 +0000 (15:05 +0000)] 
Don't abort on squidGuard log errors

squidGuard sometime wraps the url in the log file and sarg used to abort
the whole report generation. This patch merely issue a warning but keep
producing the report.

The report contains a warning indicating how many lines were ignored
from the original log file.

12 years agoPrepare version 2.3.3
Frédéric Marchal [Thu, 29 Dec 2011 15:05:19 +0000 (15:05 +0000)] 
Prepare version 2.3.3

12 years agoDanish translation by Joe Hansen
Frédéric Marchal [Sun, 27 Nov 2011 19:04:22 +0000 (19:04 +0000)] 
Danish translation by Joe Hansen

12 years agoUpdate the po files
Frédéric Marchal [Wed, 23 Nov 2011 19:27:31 +0000 (19:27 +0000)] 
Update the po files

12 years agoFix some errors introduced by the previous patch for windows v2.3.2
Frédéric Marchal [Wed, 23 Nov 2011 19:26:47 +0000 (19:26 +0000)] 
Fix some errors introduced by the previous patch for windows

The changes made to make the realtime report compatible with windows
produced some errors on linux. This patch fixes those problems.

This fix also correctly sorts the entries by date and time whatever the
requested output date format is.

12 years agoFixes to compile sarg with mingw32
Frédéric Marchal [Wed, 23 Nov 2011 08:31:15 +0000 (08:31 +0000)] 
Fixes to compile sarg with mingw32

The mkstemp function isn't available on mingw32 so it is replaced by the less
safe mktemp/open calls.

mkstemp is used whenever possible. The weaker code is only used if mkstemp is
not available.

12 years agoRemove one more unused variable
Frédéric Marchal [Wed, 23 Nov 2011 07:49:05 +0000 (07:49 +0000)] 
Remove one more unused variable

12 years agoRemove unused variables
Frédéric Marchal [Wed, 23 Nov 2011 07:18:42 +0000 (07:18 +0000)] 
Remove unused variables

The variables were not detected as unused because they were assigned a value
but the value was never actually used.

12 years agoAdd missing \n on several debug messages
Frédéric Marchal [Thu, 10 Nov 2011 19:59:17 +0000 (19:59 +0000)] 
Add missing \n on several debug messages

Some messages were missing the carriage return. The consequence was a
concatenation of the following message with the previous one potentially
letting it go unnoticed.

12 years agoAdd the xml manpage to the archive
Frédéric Marchal [Fri, 4 Nov 2011 19:29:22 +0000 (19:29 +0000)] 
Add the xml manpage to the archive

That file is required to generate the manpage.

12 years agoRename the file to better suit its purpose
Frédéric Marchal [Wed, 2 Nov 2011 05:52:36 +0000 (05:52 +0000)] 
Rename the file to better suit its purpose

12 years agoUpdate the PO files
Frédéric Marchal [Tue, 1 Nov 2011 12:56:55 +0000 (12:56 +0000)] 
Update the PO files

12 years agoDelete the unused user's directories
Frédéric Marchal [Tue, 1 Nov 2011 12:56:16 +0000 (12:56 +0000)] 
Delete the unused user's directories

Some directories are created to store the user's data but if they end up
not being used, they are deleted along with their content. It saves
space on the disk.

A nicer fix would be not to create the directories and their content in
the first place but I'll keep that for the next release.

12 years agoAdd a script to prepare the archive to distribute
Frédéric Marchal [Tue, 1 Nov 2011 07:57:37 +0000 (07:57 +0000)] 
Add a script to prepare the archive to distribute

The shell script builds a list of the files to include in the archive,
build the archive and compute the checksums.

12 years agoUpdate the po files
Frédéric Marchal [Tue, 1 Nov 2011 07:45:26 +0000 (07:45 +0000)] 
Update the po files

12 years agoAdd a note about sorttable.js to README
Frédéric Marchal [Tue, 1 Nov 2011 07:31:07 +0000 (07:31 +0000)] 
Add a note about sorttable.js to README

Now, sorttable.js is distributed along with sarg.

12 years agoDon't link the download report to users not in the topusers list
Frédéric Marchal [Tue, 1 Nov 2011 07:30:48 +0000 (07:30 +0000)] 
Don't link the download report to users not in the topusers list

If the topusers list is truncated, don't link the download page to the
missing users.

12 years agoDon't process the details of the users that are not listed
Frédéric Marchal [Sun, 30 Oct 2011 19:04:54 +0000 (19:04 +0000)] 
Don't process the details of the users that are not listed

When the topusers list is limited to some users, the details of those
users are not processed and the corresponding files are not generated.

Some files are still generated but the changes needed to remove those
files are too intrusives for this release.

12 years agoAdd links on the Sites & Users page to the user's page
Frédéric Marchal [Sun, 30 Oct 2011 19:04:33 +0000 (19:04 +0000)] 
Add links on the Sites & Users page to the user's page

The page listing the links visited and who visited them contains links to
jump directly to the page of each user provided they are on the top
users page.

12 years agoUse a function to safely copy the strings
Frédéric Marchal [Sun, 30 Oct 2011 19:04:12 +0000 (19:04 +0000)] 
Use a function to safely copy the strings

Some calls already used strncpy to copy strings but, now, we are using a
function to encapsulate the code and it is used to copy the arguments
passed to sarg by the user.

12 years agoFix some translations
Frédéric Marchal [Sun, 30 Oct 2011 19:03:41 +0000 (19:03 +0000)] 
Fix some translations

The messages were produced through strings manipulations that are
incompatibles with the translation process.

12 years agoUpdate ChangeLog
Frédéric Marchal [Sun, 30 Oct 2011 14:43:41 +0000 (14:43 +0000)] 
Update ChangeLog

12 years agoUpdate the po files
Frédéric Marchal [Sun, 30 Oct 2011 14:43:25 +0000 (14:43 +0000)] 
Update the po files

12 years agoDisplay some messages to understand why sarg isn't doing something
Frédéric Marchal [Sun, 30 Oct 2011 14:42:42 +0000 (14:42 +0000)] 
Display some messages to understand why sarg isn't doing something

One common class of questions from users is to ask why sarg isn't
producing some kind of report. Considering the number of configuration
parameters, it is not surprising that some users get lost.

To help the users help themselves, the -z command line option has been
enhanced to print messages indicating why sarg don't produce a report.

12 years agoProtect a few buffers against overflows
Frédéric Marchal [Sun, 30 Oct 2011 14:42:07 +0000 (14:42 +0000)] 
Protect a few buffers against overflows

Use snprintf instead of strcpy, strcat or sprintf.

12 years agoDecouple the denied and authentication failure reports
Frédéric Marchal [Sun, 30 Oct 2011 14:41:46 +0000 (14:41 +0000)] 
Decouple the denied and authentication failure reports

Both reports were produced if only one of them was requested in the
report_type option and there were enough material to produce the other
report.

12 years agoFix a sorting issue in the DansGuardian log
Frédéric Marchal [Wed, 14 Sep 2011 07:35:05 +0000 (07:35 +0000)] 
Fix a sorting issue in the DansGuardian log

Times with a one digit hour must be sorted before the times with two
digits. To fix this issue, a padding zero is prefixed to the hour if it
contains only one digit.

Thanks to Iain Lopata for the patch.

12 years agoFix the computing of the date to filter out in the dansguardian log
Frédéric Marchal [Sun, 4 Sep 2011 14:19:30 +0000 (14:19 +0000)] 
Fix the computing of the date to filter out in the dansguardian log

The date to filter out when reading a dansguardian log is computed
through a string manipulation that fails when the day is encoded over
one digit.

This patch should fix the computation of the date value.

Thanks to Iain Lopata for reporting this bug.

12 years agoCheck for an integer overflow in getword_atoll
Frédéric Marchal [Sun, 4 Sep 2011 14:19:12 +0000 (14:19 +0000)] 
Check for an integer overflow in getword_atoll

Just to be sure we are reading correct data, the number build by
getword_atoll is checked for any overflow.

12 years agoFix the date range exclusion while reading the dansguardian log
Frédéric Marchal [Sun, 4 Sep 2011 14:18:58 +0000 (14:18 +0000)] 
Fix the date range exclusion while reading the dansguardian log

The exclusion of the entries in the dansguardian log based on the
selected date range was not working.

Thanks to Iain Lopata for fixing this bug.

12 years agoWrite a note about the ignored items in the reports
Frédéric Marchal [Fri, 2 Sep 2011 10:21:34 +0000 (10:21 +0000)] 
Write a note about the ignored items in the reports

Several parameters of sarg.conf can limit the number of lines written in the
reports but, so far, only the denied report was reporting how many entries were
left out.

Now, the authentication failure, the dansguardian and the redirector reports do
write the number of ignored lines.

That change should spare some headaches to the users trying to understand the
reports.

Thanks to Iain Lopata for reporting this problem.

12 years agoAttempt to fix a FreeBSD IP address resolution
Frédéric Marchal [Thu, 4 Aug 2011 06:10:43 +0000 (06:10 +0000)] 
Attempt to fix a FreeBSD IP address resolution

According to this post:

http://lists.freebsd.org/pipermail/freebsd-standards/2005-July/000948.html

Some old version of FreeBSD requires that the sa_len of the sockaddr_in
structure be initialized with the exact length passed to getnameinfo.

As Linux doesn't have the sa_len member, it is not initialized in sarg.
Therefore the IP address resolution fails when sarg is compiled on FreeBSD.

12 years agoUpdate version number and release date
Frédéric Marchal [Mon, 1 Aug 2011 05:40:48 +0000 (05:40 +0000)] 
Update version number and release date

The ChangeLog is updated too and the po files have been rebuild for this
version.

12 years agoCorrectly append a suffix to the mangled temporary file name
Frédéric Marchal [Thu, 28 Jul 2011 15:21:20 +0000 (15:21 +0000)] 
Correctly append a suffix to the mangled temporary file name

When two users end up with the same mangled temporary file name, a suffix is
supposed to be added at the end of the new file name to make it distinct from the
previous one but the suffix was added one byte too far making it useless.

The result was that the log entries of two or more users were written into the
same file overwritting each other's data and corrupting the report.

Thanks to Mark Dennison for reporting this bug.

12 years agoReplace tabs by spaces in the URL and the code
Frédéric Marchal [Thu, 28 Jul 2011 13:07:03 +0000 (13:07 +0000)] 
Replace tabs by spaces in the URL and the code

Any tab encountered in a field of the input log file will send sarg off track
as it uses a tab to delimit columns in its temporary files.

To prevent this problem, the URL and the HTML code found in the input log file
are processed to replace any tab character by a single space.

12 years agoDon't abort if topusers is not in report_type
Frédéric Marchal [Fri, 22 Jul 2011 08:19:14 +0000 (08:19 +0000)] 
Don't abort if topusers is not in report_type

If topusers is not set in report_type, sarg fails with a message indicating
that it can't open sarg-users.

This is expected as the file is not created if the top users list is not
generated.

Thanks to Peter for reporting this bug.

12 years agoProtect the columns sorting against missing or invalid dates
Frédéric Marchal [Mon, 4 Jul 2011 11:55:43 +0000 (11:55 +0000)] 
Protect the columns sorting against missing or invalid dates

Sorttable.js fails on columns containing a date on the first row but not on
subsequent rows. This patch assumes a zero date for any missing or invalid date
sorting those rows at the top of the table.

12 years agoUse locale aware comparison when sorting tables
Frédéric Marchal [Mon, 4 Jul 2011 11:55:27 +0000 (11:55 +0000)] 
Use locale aware comparison when sorting tables

12 years agoConvert sorttable.js to UTF-8
Frédéric Marchal [Mon, 4 Jul 2011 11:55:11 +0000 (11:55 +0000)] 
Convert sorttable.js to UTF-8

Original script was in ISO8859-1.

12 years agoAdd the javascript to dynamically sort the tables in the reports
Frédéric Marchal [Mon, 4 Jul 2011 11:54:51 +0000 (11:54 +0000)] 
Add the javascript to dynamically sort the tables in the reports

This is the original script written by Stuart Langridge and downloaded on
http://www.kryogenix.org/code/browser/sorttable/. It is included here as the
script contains some bugs and the author doesn't seem to be supporting his
script any more.

12 years agoUpdate the po files for translation
Frédéric Marchal [Mon, 4 Jul 2011 08:35:16 +0000 (08:35 +0000)] 
Update the po files for translation

12 years agoUpdate the list of the sources files to include in the po files
Frédéric Marchal [Mon, 4 Jul 2011 08:34:27 +0000 (08:34 +0000)] 
Update the list of the sources files to include in the po files

The translation files did not include the replacement of squidguard_log.c
and squidguard_report.c by redirector.c.