Free-SA / News: Recent posts

Free-SA 2.0.0b6

All users who fail to run deprecated 2.0.0b5p15 are highly recommended to use this one.

Full list of changes between 2.0.0b5 and 2.0.0b6:
* 53 (w_config.c)
Unexpected exit and debug code removed.
* (configs/cygwin-native-gcc3.mk)
PREFIX variable cleared to avoid errors during installation.
* (configs/.mk)
-mrelax flag removed from ADDLDFLAGS veriable for better compatibility with modern GCC versions.
* FR47 (w_config.c)
Support for 'today', 'yesterday', 'thisweek', 'lastweek', 'thismonth', 'lastmonth', 'thisyear', 'lastyear' as date has been added.
* (w_internal.
, w_config.c, w_system.c)
Small code cleanup: GetDW removed, SAlocaltime rewritten, CS2TT replaced with more universal CS2TP.
* 50 (w_log_operations.c, r_users.c)
https:// URLs in access.log are supported now.
* (w_config., w_internal.c, free-sa.conf)
Experimental option 'username_remove' for removing substring from username added. See man page for more details on limitations and usage.
* (w_log_operations.c)
Significant speed up as well as lower DNS traffic and memory consumption when 'username_resolve_ip' option is enabled.
* (w_config.)
Overall better options handling and parsing implemented. This will also help to avoid crashes in SVG related code.
* (w_config.c, r_users.c)
Do not show local filters statistics empty header in users report when no local filters are defined or if user did not hit local filters.
* (free-sa.cgi.c)
Show real IPs instead of ones remembered some time ago.
* FR3293551 (w_config.
, r_users.c, w_log_operations.c, share/.in, rsa.css)
Option 'users_show_ips' for showing all IP addresses used by user in user report added.
* (share/
.in, themes//.css, r_index.c, w_config., themes/sa.js)
Index report's calendar was complemented with search box for filtering configuration names.
* FR2795267 (w_config.
. l_local_filter.c, r_users.c)
Support for per user total bytes for local filter report (LFR) added as well as grand total for local filter reports as well as new option 'users_show_local_filters' to show user's statistics in users report for every local filter with links to user entry in local filter report.
* (themes/Makefile)
Default theme changed to blues.
* Some internal code optimisations: BC structures added, 'name' replaced with 'id' in HTML, removed quotes from 'id' value since it is allowed by HTML specifications, SAbzero fuction added.

Posted by Oleg S. 2013-11-13

Free-SA 2.0.0b5

Dear Free-SA users,

We are very close to stable 2.0.0 version though we all wait for it too long.

2.0.0b5:
* All potential moderate level bugs detected by Coverity Scan were fixed.
* 3483106 (r_index.c)
Fixed incomplete list of years in calendar report.
* (w_internal.*, w_log_operatons.c, r_topusers.c, r_privacy.c)
Improved const correctness and return code handling.
* (free-sa.conf.sample)
Default value of 'index_sort' option was set to proper one.
* (l_postfix_syslog.c)
Corrected unknown status reporting.
* FR3382143 (l_postfix_syslog.c)
Added support for 'undeliverable' status.
* FR3380904 (l_postfix_syslog.c)
Added support for Postfix 'virtual' delivery agent.
* (global.mk, README)
Some tiny corrections for copyright notice.
* (free-sa-centos-5.spec, redhat-*-gcc4.mk)
Added support for all CentOS 5.x.
* (configs/*.mk)
'--relax' ld flag removed since it is not supported by recent gcc.
* (w_internal.c)
Unused variable removed.
* FR3024195 (w_config.c)
You may use TAB for separating usertab entries.
* (w_svg.*)
Several improvements in SVG code.
* (free-sa.1.in)
W3C standards conformance defined more precisely with version number.
* (r_users.c)
Tiny corrections for file open function call.
* (r_efficiency.c, r_topsites.c, r_topusers.c, w_config.*, free-sa.conf*)
New options for customizable SVG graphics reports 'users_graphics_svg', 'top_sites_svg', 'top_users_svg', 'server_efficiency_svg' were added.
Additional 'reports_svg_width' option has been introduced for optimizing SVG graphics reports to specific screen resolution.
* (w_config.*, r_topusers.c, free-sa.conf*)
New options 'users_excess' and 'users_excess_limit' were added for generating plain text report file with users exceeding specified limit.
* FR3137680 (w_log_operations.c)
Clear cache directory in case if no records were found and exit with good return code.
* FR2135539 (w_config.*, r_index.c, free-sa.conf*)
New option for calendar navigation menu has been added.

Posted by Oleg S. 2012-03-04

Free-SA 2.0.0b4p8

Dear Free-SA Users, please test this and further 2.0.0 betas and provide your feedback at forums and support/bug/feature request sections. It is required because I would release 2.0.0 final version soon.

Changelog from 2.0.0b4p6 to 2.0.0b4p8:
* FR3137680 (w_log_operations.c)
Clear cache directory in case if no records were found and exit with good return code.
* FR2135539 (w_config.*, r_index.c, free-sa.conf*)
New option for calendar navigation menu has been added.

Posted by Oleg S. 2011-05-14

Free-SA 2.0.0b4p6

2.0.0b4p6:
* FR3024195 (w_config.c)
You may use TAB for separating usertab entries.
* (w_svg.*)
Several improvements in SVG code.
* (free-sa.1.in)
W3C standards conformance defined more precisely with version number.
* (r_users.c)
Tiny corrections for file open function call.
* (r_efficiency.c, r_topsites.c, r_topusers.c, w_config.*, free-sa.conf*)
New options for customizable SVG graphics reports 'users_graphics_svg', 'top_sites_svg', 'top_users_svg', 'server_efficiency_svg' were added.
Additional 'reports_svg_width' option has been introduced for optimizing SVG graphics reports to specific screen resolution.
* (w_config.*, r_topusers.c, free-sa.conf*)
New options 'users_excess' and 'users_excess_limit' were added for generating plain text report file with users exceeding specified limit.

Posted by Oleg S. 2011-05-02

Free-SA 2.0.0b4

Here is changelog for 2.0.0b4:
* (pt.iso88591.in, lt.iso885913.in)
Added Portuguese and Lithuanian translations.
* 2981012 (w_log_operations.c)
Incorrect logs seeking under some circumstances fixed.
* 2980403 (es.iso88591.in)
Typo in translation fixed.
* FR2027428
Support for conversion of usernames in top sites report has been added. Unfortunately this breaks usernames sorting in local filter and top sites report though it should not be a real problem.
* (r_privacy.*, w_config.*, free-sa.conf.5.in)
Privacy options were added.
* (w_config.*, w_log_operations.c, etc/*.filter.sample)
Added substring ending policy for URLs, internal names and IP addresses. It should be faster and simpler for downloads like reports.
* FR2890580 (w_config.*, w_log_operations.c, free-sa.conf*)
Option 'recipient_tolower' for converting recipient name (URL) to lower case has been added. It should be useful for mail logs where recipient's e-mail address may appear in different cases thus not allowing to collate these e-mail addresses as one and unique recipient.
* (r_users.c)
Duplicate recipients in user report (UR) has been fixed.
* 2993405 (w_log_operations.c)
Fixed issue with growing top sites report.
* (*/Makefile, configs/*)
Added MANDIR variable for systems where it differs from PREFIX/man.
* (de.iso88591.in)
Applied some fixes.
* (opensuse-native-gcc4.mk)
Fixed MANDIR and DOCDIR.
* (l_clf_native.c, l_logformats.*)
Continue logs processing if cfg.log_skip_errors option is enabled and date in CLF format is incorrect.
* (w_log_operations.*)
BSC structure introduced for better code look.
* (archlinux-i686-gcc4.mk)
Added configuration file for ArchLinux.
* (r_index.c, r_reports.c, w_config.*, free-sa.conf.5)
Added experimental preliminary support for sorting in index report via 'index_sort' variable.
* (w_config.c)
Better const correctness.
* (r_email.c)
Some minor corrections. Report is broken in case of unicode charset.

Posted by Oleg S. 2011-04-23

Regarding current Free-SA status

Dear Free-SA Users,

Due to big amount of feature requests I worked on multiple ideas and most of them were implemented. However, now I have around 10 Free-SA 2.x code branches which are separated from each other. So, I will work on their merge and publish merged updates at Files section.

Thank you for patience.

Posted by Oleg S. 2010-10-17

Free-SA 2.0.0b3

Finally I decided to move forward with 2.x branch. Please test this beta carefully and provide bug reports if you'll find something inappropriate. For me it is quite stable and could be used in production. Thank you in advance.

List of all changes:
* 2815675 (w_svg.c)
Incorrect charset in SVG files fixed.
* FR2810486 (w_config.*, r_efficiency.c)
New option 'server_efficiency_bytes_divisor' for enabling bytes divisor in server efficiency report added.
* (global.mk)
Default value of DEBUG variable changed to 0.
* (w_log_operations.c, l_logformats.*)
Automatic FIFO file detection added. The rest of the code adopted to situations when FIFO pipe is used as a log file.
* 2800864 (w_log_operations.c, w_internal.c)
Seriously corrupted logs are completely declined now.
* FR2831521 (w_config.c)
Support for comments and empty lines in username_file (usertab) added.
* (r_reports.c, r_list.c)
If there are no records for UR and TSR then do not produce these reports.
* (global.mk, src/Makefile)
Now it is ok to change OSTYPE in global.mk on the fly.
* (solaric-native-cc)
Corrections for SARCH and CC variables.
* (share/*)
Added Hungarian translation.
* Switched to secure strlcpy and strlcat functions everywhere.
* (netbsd-i386-gcc4.mk, ubuntu-i586-gcc4.mk, opensuse-native-gcc4.mk)
Added configuration files for NetBSD, Ubuntu and OpenSuSE.
* (logformats/*)
Switched to strncmp instead of (const int *).
* (w_internal.c)
LimitedURL function re-writed.
* (w_config.c)
Fixed warning about putenv.
* (r_reports.c)
Added support for running multiple instances of free-sa.
* Thanks to bli.
Several typos fixed.
* (configs/altlinux*)
Added support for x86_64, DESTDIR and LDADD.
* (w_config.*, w_log_operations.c)
Better const correctness.

Posted by Oleg S. 2010-03-09

Free-SA 1.5.1 "More POSIX correctness Edition"

This release introduces a lot of fixes for bugs which appear on Solaris and FreeBSD platforms. It should also improve Free-SA portability to other platforms as well.

Solaris port improved. Bug with non working '-d' option on FreeBSD platform fixed as well as "sh: environment corrupt" bug. Double compilation with non GNU make fixed. Small documentation and configuration file updates.

Posted by Oleg S. 2008-12-13

Free-SA: 1.5.0

Free-SA is statistic analyzer for daemons log files similar to SARG. Its main advantages over SARG are much better speed (7x-20x times), more reports support, crossplatform work and W3C compliance of generated HTML/CSS reports code.

I am continuing support of 1.x.y Free-SA branch and work on 2.0.0b2 which will have all features whose appear on 1.x.y branch.

Changes from 1.4.5 to 1.5.0:
* License changed to GPLv3+.
* Incorrect ha and gz extensions removed.
* DOCDIR variable added.
* Unified copyright string everwhere via PROGCOPYRIGHT variable added.
* Experimental support of NetCache and Blue Coat logs via Squid 2.x native log format added.
* Now you may use true/false or yes/no or enable/disable or 1/0 as boolean value in configuration file.
* Log format autodetection removed due to its useless and slowness. By default Squid 2.x native log format is chosen.
* 'skip_errors' experimental option for skipping erroneous log file records added. Earlier program just stopped when seen error on log.
* Other small fixes.
* To specify year value for syslog based log formats a SYSLOGYEAR macro was added.
* Additional checks for small int values specified at config file added.
* '-V' command line option for output of advanced information about current program build added.
* Debug message about last date seen added for debug level 1.
* Other small fixes.

Posted by Oleg S. 2008-11-25

Free-SA 1.4.5

Free-SA 1.4.5 introduces few changes that are necessary for Win32 port which is coming soon. Let me also confirm hereby that work on 2.0.0b2 is in progress, it will introduce a lot of Free-SA architecture changes.

Changes from 1.4.4 to 1.4.5:
* Due to different case of usernames at log files all usernames are converted now to lower case, this will also symplify filtering and improve cygwin porting (filenames at Win32 are case insensitive).
* Sort order at user fullurl report (UFR) is correct now.
* 'ufr_split' option for placing every site into separate file in user fullurl report (UFR) implemented.
* If month and year of start and end of the period is same, then build user graphics reports (UGR) using month scale, not year. Earlier we just check if period is not longer than 30 days, but there is months which are 31 days.
* Minor code optimisation of sort order string in reports.

Posted by Oleg S. 2008-09-13

Free-SA 1.4.4

Changes from 1.4.3 to 1.4.4 include:
* I got a lot of messages about following error when parsing Squid logs:
"SAERROR: [work/w_log_operations.c:247] Unknown code: 999, please contact developers". Now limit is increased from 621 to 1024. Hope it's enough. It is not and never was Free-SA bug. HTTP code 999 is not documented.
* Many people asked for option to specify target reports directory, therefore long waited '-o' is implemented.
* Old and strange bug which produce "No records found" message when parsing Postfix logs on FreeBSD platform fixed.

Posted by Oleg S. 2008-06-28

2.0.0b "Initial SVG Edition"

!!! Please read SVG related questions and answers at FAQ first !!!

This is first beta of 2.0.0 branch with major changes. This one announces SVG bar/pie graphics support. Man pages were not updated, please read FAQ. During code write i've discovered that many SVG features are still not supported by modern browsers (except Mozilla and Opera).

Changes from 1.4.3 to 2.0.0b:
* Added SVG bar/pie graphics support with still undocumented 'svg', 'svgpie', 'svgmode' options support;
* Added SAsetlocale call;
* Removed mode parameter from SAfopenH call;
* Added aac, amr extensions to downloads-audio list;
* Added 3gp, flv extensions to downloads-video list.

Posted by Oleg S. 2008-02-17

Free-SA 1.4.3

Changes from 1.4.2 to 1.4.3 include:
* Added note about definition of SORT variable for RedHat/Fedora/CentOS to global.mk;
* Horisontal axis at user graphs report (UGR) will be automatically scaled to best fit period (hours of day, days of month and months of year);
* Added support for filtering by method, code, stat and bytes fields;
* Added more const correctness;
* Some macros rework: added SAHOUR, SADAY, SAWEEK, SAMONTH, SAQUARTER, SAYEAR, SALONGDATE macros, PROGNAME, PROGVERSION, PROGURL macros are defined inline now;
* Some other speed and correctness related tiny changes made.

Posted by Oleg S. 2008-01-27

Free-SA 1.4.2

New smallfix version release (take a note on introduced regexp support for filters). Changes from 1.4.1 to 1.4.2:
* Fixed bug with incorrect parameters parsing on apache server;
* Background color for icons at TOTAL/AVERAGE rows changed to 'th' class;
* Added color interlacing for table rows via JavaScript routine (it may be disabled by setting SAinterlace to "false" at sa.js);
* Extended POSIX regular expressions support added to filters policies;
* Added meta robots with "noindex,nofollow" content to meet recomendations of squid developers;
* Static year 2006 replaced with 2007, still not found way for correct syslog year detection;
* Dropped EXPERIMENTAL status for 'user_unescape' option;
* Count of supported codes expaned up to 620, codes array overflow check added.

Posted by Oleg S. 2007-12-10

Free-SA 1.4.1

This release introduces yet more feature enhancements and little fixes.

Changes from 1.4.0 to 1.4.1 include:
* Now 'divisor' option is applied also to 'Bytes' field of TT reports;
* Added ape extension to audio downloads list;
* Added mkv extension to video downloads list;
* Added 'ts_limit' option to free-sa.conf for limiting number of sites in top sites report (TSR);
* Added 'dld_min' option to free-sa.conf for filtering out from downloads both indicator and report links with size lesser than this option value;
* Added EXPERIMENTAL 'user_unescape' option to unescape user names (useful for squid with NTLM auth module configuration);
* Tiny improvements made to makefiles and man pages.

Posted by Oleg S. 2007-11-13

Free-SA 1.4.0 "Response Edition"

It's nice that you use Free-SA, thank you all. For your pleasure this release tries to add/fix many requested features/installation questions.

I also want remind you, that you not need to download free-sa-1.4.0.patch.gz file if you already downloaded free-sa-1.4.0.tar.gz. That patch file is provided for patching previous version sources only (for current release i mean Free-SA 1.3.4 sources), so you may download free-sa-1.4.0.patch.gz only if you wish to patch previous version, not to patch Free-SA 1.4.0 sources.... read more

Posted by Oleg S. 2007-10-03

Free-SA 1.3.4

This is small fixes release.

Changes from 1.3.3 to 1.3.4:
* (man/*.in)
Added description of lost 'week' word as period word;
* (w_internal.c)
Fixed return value: 0 -> 0L;
* (global.mk, global.h)
CMDSORT is defined via global.mk now;
* (etc/Makefile)
Command sort replaced with already defined SORT at global.mk;
* (src/Makefile)
free-sa.cgi will be installed now to WWWDIR/cgi-bin;
* (downloads-audio.sample)
Added tta and flac extensions;
* (INSTALL)
Added some postinstall recommendations and note about free-sa.cgi install;
* (w_config.c)
Fallback to internal English if system locale is set to strange value;
* (FAQ)
Added 'USING FREE-SA' section with 'hidden' features description.

Posted by Oleg S. 2007-08-19

Free-SA 1.3.3

Some fixes upon users requests for portability and better postfix logs support.

Changes from 1.3.2 to 1.3.3:
* (downloads-*.sample)
Added m2v extension to video, cgz (it's cpio.gz) to archives, wv to cddvd;
* (*.c, *.h)
Added unified structure BSC: Bytes, Seconds, Count, some old structures
replaced with this one;
* (l_postfix_syslog.c)
Improved support of different postfix logs (with delays and dsn fields);
* (global.mk)
Commented all lines with \ at the end for better portability.

Posted by Oleg S. 2007-07-22

Project needs your help (NOT money)

Right now i'm developing new version of Free-SA project, and of course i have some sort of my BIG todo list. But i need your help for choosing most wanted features and fixes for next Free-SA version. So, can you submit to this project wanted by you feature requests? If yes, then follow this link to post it to project tracker: http://sourceforge.net/tracker/?group_id=191513&atid=937682

P.S. I'll choose some submitted features for including to currently developing version and some i'll leave for next versions.

Posted by Oleg S. 2007-06-05

Free-SA 1.3.2 "SpeedUp Edition"

All changes since 1.3.1:
* (free-sa.cgi.c)
Added wide stop/continue button to real time report (RTR) between table
and header, added stop/continue icons to all themes;
* (r_userdatetime.*, r_users.c)
tlyBytes, yBytes moved to r_users, thus giving speed up;
* (w_system.h)
All SA*(x...) replaced by C99 SA*(...) and __VA_ARGS__;
* (w_internal.c)
fprintf replaced by SAfwrite1 at Indics and IndicsByIndex functions;
* (global.h)
Added SAnumcmp macro for comparing numceric in similar to strcmp way.
* (global.mk)
Some portability changes;
* (*.c, *.h)
elements in structures rearranged to avoid padding, strncmp replaced by
faster and good looking strcmp;
* (w_config.c, free-sa.1.in, free-sa.conf.5.in)
Added support for specifiyng period as words for '-d' command line option
and 'rotate' free-sa.conf option;
* (w_config.c, w_internal.c)
SAB3 function optimized.
* FR1704089 (w_config.c, w_internal.c, r_*.c):
Added 'divisor' option to free-sa.conf for bytes field represence in all
reports, except server efficiency;
* FR1704310 (w_config.c, w_log_operations.c, r_reports.c, r_users.c, r_topuser.c):
Added 'users' option to free-sa.conf for disabling users report;
* (w_topsites.c)
Added thousands separator to requests field.

Posted by Oleg S. 2007-05-20

Free-SA 1.3.2b2

No bugs was reported/found in 1.3.2b, so this beta version fixes nothing. Introduced features such as ability to specify period via words not only dates/numbers as before, some little perfomance and portability fixes.

Changes from 1.3.2b to 1.3.2b2:
* (global.mk)
Some portability changes;
* (*.c, *.h)
elements in structures rearranged to avoid padding, strncmp replaced by
faster and good looking strcmp;
* (w_config.c, free-sa.1.in, free-sa.conf.5.in)
Added support for specifiyng period as words for '-d' command line option
and 'rotate' free-sa.conf option;
* (w_config.c, w_internal.c)
SAB3 function optimized.

Posted by Oleg S. 2007-05-07

Free-SA 1.3.2b

This is first entry in free-sa-dev branch. As already was noted here will appear only beta versions for testing not production use (it may be unstable). Enjoy it and feel free to submit bug reports! :-)

Changes between 1.3.1 and 1.3.2b:
* FR1704089 (w_config.c, w_internal.c, r_*.c):
Added 'divisor' option to free-sa.conf for bytes field represence in all
reports, except server efficiency;
* FR1704310 (w_config.c, w_log_operations.c, r_reports.c, r_users.c, r_topuser.c):
Added 'users' option to free-sa.conf for disabling users report;
* (w_topsites.c)
Added thousands separator to requests field.

Posted by Oleg S. 2007-05-05

free-sa-dev - new project branch

At Download page 'free-sa-dev' package will appear soon. It's intended for all development versions of Free-SA (including beta). After successful testing development versions will became stable and appear in existing 'free-sa' package.

The 'package' term used here is defined by sourceforge engine.

Posted by Oleg S. 2007-05-04

Free-SA 1.3.1 "RealTime Edition"

Most important for someone feature added: real-time reporting via web CGI. Also some perfomance related things done, actual for installations with many users.

Changes from 1.3.0 to 1.3.1 "RealTime Edition":
* (w_log_operations.c)
Speed improvements, separate user vname resolution;
* (w_system.c)
Unification of exit/warning/debug functions;
* (w_fs.c)
Fixed non-working SArm function;
* (free-sa.cgi.c, w_log_operations.c, w_config.c, share/*.in)
Added realtime report (RTR) via CGI, option 'rtr_timeout' to free-sa.conf;
* (*/Makefile)
Little customisations;
* (w_log_operations.c)
Added internal ShowLogI function for CGI, SeekLog is more universal now;
* (FAQ)
Perfomance notes updated.

Posted by Oleg S. 2007-05-02

Free-SA 1.3.0 "Advanced Edition"

Important notice: 1.3.x versions is incompatible with latest stable 1.2.4 (for example 1.3.0 will raise warning and not handle 1.2.4 reports directories).

Key changes from 1.2.4 to 1.3.0:
- Changed format of description file, it's now more international, no more problems with dates in index report and different runtime locales;
- Report directory name changed to old 1.00.0000 format, now it's period in your locale format, with fixes for incorrect filename symbols (you may rename it to any other name, Free-SA will handle it at next run);
- Auto localisation file selection and load depending on locale lang/charset, free-sa.conf 'localisation' option removed;
- Added graphs and datetime reports for average/total fields;
- Added e-mail topuser report, option 'email' to free-sa.conf and '-e' command line option;
- Added reports rotation, option 'rotate' to free-sa.conf;
- free-sa.conf 'overwrite' option now have 2 different modes (check free-sa.conf(5) manual);
- Added strict free-sa.conf options checking;
- New themes added: 'qbiq' theme (it's something average between silver and rbsec) and 'blues' theme (idea got from financial reports);
- Removed transparency from png icons for correct IE browser support;
- Improved support of common log format (CLF), combined log format and postfix over syslog log format;
- Fixed bug in top sites report, user identification behaviour;
- Fixed stack smashing when autodetection of log format is enabled;
- Fixed serious bug with non/incorrect working '-r' option;
- Fixed incorrect sort order in index report (IR);
- Fixed incorrect view of P/T/G/M/k in multibyte charsets at graphs reports;
- Extended CD/DVD downloads extensions list;
- Changed localisation file name and format, now you need only one localisation file for all log formats (mail, proxy, web);
- Other small fixes and changes.

Posted by Oleg S. 2007-04-29