* Mon Sep 15 2008 Johannes Weberhofer <linux@weberhofer.at> 2.2.1

- Fixed attributes
- Cleaned spec
- Updated to latest version
* Sat Apr 14 2007 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.3.4
- Added CentOS 5 i386 support
- Added CentOS 5 x86_64 support
* Fri Feb 23 2007 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.3.3
- Fix ownership of cron.sh to root:root
* Wed Nov 01 2006 Erik A. Espinoza <espinoza@forcenetworks.com> 2.1-1.3.2
- Added Fedora Core 6 support
* Mon Jun 05 2006 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.3.1
- Add SuSE 10.1 support
- Set apacheuser and apachegroup correctly in cron.sh
* Sat May 13 2006 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.10
- Add Fedora Core 5 support
* Sun Nov 20 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.9
- Add SuSE 10.0 and Mandriva 2006.0 support
* Sat Oct 15 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.8
- Add Fedora Core 4 x86_64 support
* Sat Oct 01 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.7
- Add CentOS 4 x86_64 support
* Fri Sep 22 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.6
- Remove automake config for Mandrake acct build failures
* Fri Jul 01 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.5
- Add Fedora Core 4 support
* Fri Jun 03 2005 Torbjorn Turpeinen <tobbe@nyvalls.se> 2.1-1.2.4
- Gnu/Linux Mandrake 10.0,10.1,10.2 support
* Fri May 27 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.3
- Remove doc rpm
* Sun Feb 27 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.2
- Add Fedora Core 3 support
- Add CentOS 4 support
* Thu Jun 03 2004 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.1
- Add Fedora Core 2 support
* Wed Feb 11 2004 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.1.5
- Fix Trustix 2.0 crontab call to fcrontab
- Define crontab
- Define appacheuser and apachegroup
* Mon Dec 29 2003 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.1.4
- Add Fedora Core 1 support
* Tue Nov 25 2003 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.1.3
- Add Red Hat 9 support
- Add Trustix 2.0 support
- Add Mandrake 9.2 support
- Fix images to images-toaster
* Sun Mar 30 2003 Miguel Beccari <miguel.beccari@clikka.com> 2.1-1.1.2
- Toaster HTML templates (alpha status)
* Sat Mar 29 2003 Miguel Beccari <miguel.beccari@clikka.com> 2.1-1.1.1
- First rpm: everything is OK. Templates are NOT ok.
This commit is contained in:
2025-09-24 17:01:16 -04:00
parent 8f3d8f3a91
commit 5ca50bcbc8
104 changed files with 23209 additions and 85 deletions

View File

@@ -1,43 +0,0 @@
#!/usr/bin/perl -w
use esmith::Build::CreateLinks qw(:all);
use esmith::Build::Backup qw(:all);
# our event specific for updating with yum without reboot
$event = 'isoqlog-update';
#add here the path to your templates needed to expand
#see the /etc/systemd/system-preset/49-koozali.preset should be present for systemd integration on all you yum update event
# Maybe need ths in here as well:
# /etc/dar/DailyBackup.dcf - if backup requested
foreach my $file (qw(
/etc/systemd/system-preset/49-koozali.preset
))
{
templates2events( $file, $event );
};
#action needed in case we have a systemd unit
event_link('systemd-default', $event, '10');
event_link('systemd-reload', $event, '50');
#services we might need to restart
#event_services($event, 'xxxx' => 'restart', 'yyyy' => 'restart');
#Backup contrib files
# backup_includes("isoqlog", qw(
# files(s) to be backed up
#));
#Other possible entries:
#Server manager entry
#panel_link("isoqlog", 'manager');
#Events to isoqlog
#$event = 'isoqlog-isoqlog';
# safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/isoqlog");
# templates2events("/etc/isoqlog/isoqlog.conf", $event);

259
isoqlog.spec Normal file → Executable file
View File

@@ -1,55 +1,230 @@
%define name isoqlog #
%define version 1.0 # spec file for package isoqlog
%define release 1 #
Summary: This is what isoqlog does. # This file and all modifications and additions to the pristine
Name: %{name} # package are under the same license as the package itself.
Version: %{version} #
Release: %{release}%{?dist} # norootforbuild
Source: %{name}-%{version}.tar.gz
License: GNU GPL version 2
Group: SMEserver/addon
BuildRoot: %{_tmppath}/%{name}-buildroot
Prefix: %{_prefix}
BuildArchitectures: noarch
BuildRequires: smeserver-devtools
Requires: smeserver-release >= 11.0
AutoReqProv: no
Name: isoqlog
Summary: Isoqlog is an MTA log analysis program written in C.
Version: 2.2.1
Release: 1.2%{?dist}
License: BSD
Group: Monitoring
URL: http://www.enderunix.org/isoqlog/
Source0: isoqlog-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
Obsoletes: isoqlog-toaster-doc isoqlog-toaster
Provides: isoqlog-toaster
Requires: qmail
%define qmailtools_share_dir %{_datadir}/qmailtools
%define package_share_dir %{_datadir}/isoqlog
%define package_var_dir /var/lib/qmailtools/isoqlog
%if 0%{?suse_version}
Requires: apache2 cron
BuildRequires: apache2 cron
%define apache_confd %{_sysconfdir}/apache2/conf.d
%else
Requires: cronie crontabs
BuildRequires: crontabs
%define apache_confd %{_sysconfdir}/httpd/conf.d
%endif
%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora_version}
Requires: httpd
BuildRequires: httpd
%endif
%if 0%{?mandriva_version}
Requires: apache-base
BuildRequires: apache-base
%endif
#----------------------------------------------------------------------------
%description %description
Isoqlog is an MTA log analysis program written in C. It designed to scan qmail, postfix, sendmail and exim logfile and produce usage statistics in HTML format for viewing through a browser. It produces Top domains output according to Sender, Receiver, Total mails and bytes; it keeps your main domain mail statistics with regard to Days Top Domain, Top Users values for per day, per month and years. Isoqlog is an MTA log analysis program written in C. It is designed to
scan qmail, postfix, sendmail logfiles and produce usage statistics in
%changelog HTML format. for viewing through a browser. It produces Top domains
* Day MMMM DD YYYY <brianr@koozali.org> 1.0-1.sme output according to Incoming, Outgoing, total mails and bytes, it keeps
- Initial code - create RPM [SME:99999] your main domain mail statistics with Days Top Domain, Top Users values
for per day, per month, and years.
#----------------------------------------------------------------------------
%prep %prep
%setup -q -n %{name}-%{version}
%setup -q for i in `find . -type d -name CVS` `find . -type f -name .cvs\*` `find . -type f -name .#\*`; do
if [ -e "$i" ]; then rm -r $i; fi >&/dev/null
done
#----------------------------------------------------------------------------
%build %build
perl createlinks %{configure} \
--sysconfdir=%{_sysconfdir} \
%{__make}
#----------------------------------------------------------------------------
%install %install
rm -rf $RPM_BUILD_ROOT %{__mkdir_p} \
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) %{buildroot}%{_sysconfdir}/cron.d \
rm -f %{name}-%{version}-filelist %{buildroot}%{_docdir}/%{name} \
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \ %{buildroot}%{package_var_dir}/htdocs \
> %{name}-%{version}-filelist %{buildroot}%{package_share_dir}/include \
#echo "%doc COPYING" >> %{name}-%{version}-filelist %{buildroot}%{_defaultdocdir}/isoqlog
#--dir <dir> 'attr(755,user,grp)' \
#--file <file> 'attr(755,root,root)' \
%{makeinstall}
if [ "/usr/share/doc/isoqlog" != "%{_defaultdocdir}/isoqlog" ] ; then
mv %{buildroot}/usr/share/doc/isoqlog/* %{buildroot}%{_defaultdocdir}/isoqlog/
fi
mv %{buildroot}/usr/etc/* %{buildroot}%{_sysconfdir}
rm -f %{buildroot}%{_sysconfdir}/isoqlog.domains-dist
cp -ar %{buildroot}%{package_share_dir}/htmltemp/images %{buildroot}%{package_var_dir}/htdocs
# cronjob to run
echo "SHELL=/bin/sh
MAILTO=root
58 * * * * root (ls /home/vpopmail/domains | grep -v '^\.') > %{package_var_dir}/isoqlog.domains && \
%{_bindir}/isoqlog -f %{_sysconfdir}/isoqlog.conf 2>&1 > /dev/null
" > %{buildroot}%{_sysconfdir}/cron.d/isoqlog
# default configuration
echo "
# isoqlog 2.1 Toaster Configuration
logtype = \"qmail-multilog\"
logstore = \"/var/log/qmail/send\"
domainsfile = \"%{package_var_dir}/isoqlog.domains\"
outputdir = \"%{package_var_dir}/htdocs\"
htmldir = \"%{package_share_dir}/htmltemp\"
langfile = \"%{package_share_dir}/lang/english\"
hostname = \"localhost\"
maxsender = 100
maxreceiver = 100
maxtotal = 100
maxbyte = 100
" > %{buildroot}%{_sysconfdir}/isoqlog.conf
# module to be inserted into toaster-web-admin
echo "
<!-- isoqlog.module -->
<tr>
<td align=\"right\" width=\"47%\">Usage Statistics per Domain</td>
<td width=\"6%\">&nbsp;</td>
<td align=\"left\" width=47%\"><input type=\"button\" value=\"%{name}-%{version}\" class=\"inputs\" onClick=\"location.href='qlogs';\"></td>
</tr>
<!-- isoqlog.module -->
" > %{buildroot}%{package_share_dir}/isoqlog.module
# apache configuration file
mkdir -p %{buildroot}/%{apache_confd}
echo "# configuration to serve qmailmrtg
Alias /qmail/log %{package_var_dir}/htdocs
<Directory %{package_var_dir}/htdocs>
AllowOverride All
Order allow,deny
Allow from all
AuthType Basic
AuthName "Qmail_Toaster"
AuthUserFile /etc/qmailtoaster-admin.htpasswd
require valid-user
</Directory>
" > %{buildroot}/%{apache_confd}/%{name}.conf
#-------------------------------------------------------------------
%triggerin -- control-panel-toaster
# Insert into toaster-web-admin
if [ -d %{qmailtools_share_dir}/include ] ; then
ln -fs %{package_share_dir}/isoqlog.module %{qmailtools_share_dir}/include
fi
#-------------------------------------------------------------------
%triggerun -- control-panel-toaster
# Delete from toaster-web-admin
if [ -e %{qmailtools_share_dir}/include/isoqlog.module ] ; then
rm %{qmailtools_share_dir}/include/isoqlog.module
fi
#------------------------------------------------------------------------------------
%clean %clean
cd .. [ -d %{buildroot} ] && %{__rm} -rf %{buildroot}
rm -rf %{name}-%{version}
%pre #----------------------------------------------------------------------------
%files
%preun
%post
%postun
#uninstall
%files -f %{name}-%{version}-filelist
%defattr(-,root,root) %defattr(-,root,root)
%dir %{package_var_dir}
%{package_share_dir}
%attr(0755,root,root) %{_bindir}/isoqlog
%defattr(0644,root,root)
%{package_share_dir}/htmltemp/*
%{package_share_dir}/lang/*
%{package_var_dir}/htdocs/images/*
%config(noreplace) %{_sysconfdir}/isoqlog.conf
%config(noreplace) %{apache_confd}/%{name}.conf
%config %{_sysconfdir}/isoqlog.conf-dist
%config %{_sysconfdir}/cron.d/*
%doc %{_defaultdocdir}/isoqlog/*
#----------------------------------------------------------------------------
%changelog
* Mon Sep 15 2008 Johannes Weberhofer <linux@weberhofer.at> 2.2.1
- Fixed attributes
- Cleaned spec
- Updated to latest version
* Sat Apr 14 2007 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.3.4
- Added CentOS 5 i386 support
- Added CentOS 5 x86_64 support
* Fri Feb 23 2007 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.3.3
- Fix ownership of cron.sh to root:root
* Wed Nov 01 2006 Erik A. Espinoza <espinoza@forcenetworks.com> 2.1-1.3.2
- Added Fedora Core 6 support
* Mon Jun 05 2006 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.3.1
- Add SuSE 10.1 support
- Set apacheuser and apachegroup correctly in cron.sh
* Sat May 13 2006 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.10
- Add Fedora Core 5 support
* Sun Nov 20 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.9
- Add SuSE 10.0 and Mandriva 2006.0 support
* Sat Oct 15 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.8
- Add Fedora Core 4 x86_64 support
* Sat Oct 01 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.7
- Add CentOS 4 x86_64 support
* Fri Sep 22 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.6
- Remove automake config for Mandrake acct build failures
* Fri Jul 01 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.5
- Add Fedora Core 4 support
* Fri Jun 03 2005 Torbjorn Turpeinen <tobbe@nyvalls.se> 2.1-1.2.4
- Gnu/Linux Mandrake 10.0,10.1,10.2 support
* Fri May 27 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.3
- Remove doc rpm
* Sun Feb 27 2005 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.2
- Add Fedora Core 3 support
- Add CentOS 4 support
* Thu Jun 03 2004 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.2.1
- Add Fedora Core 2 support
* Wed Feb 11 2004 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.1.5
- Fix Trustix 2.0 crontab call to fcrontab
- Define crontab
- Define appacheuser and apachegroup
* Mon Dec 29 2003 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.1.4
- Add Fedora Core 1 support
* Tue Nov 25 2003 Nick Hemmesch <nick@ndhsoft.com> 2.1-1.1.3
- Add Red Hat 9 support
- Add Trustix 2.0 support
- Add Mandrake 9.2 support
- Fix images to images-toaster
* Sun Mar 30 2003 Miguel Beccari <miguel.beccari@clikka.com> 2.1-1.1.2
- Toaster HTML templates (alpha status)
* Sat Mar 29 2003 Miguel Beccari <miguel.beccari@clikka.com> 2.1-1.1.1
- First rpm: everything is OK. Templates are NOT ok.

15
root/.cvsignore Executable file
View File

@@ -0,0 +1,15 @@
isoqlog/isoqlog
isoqlog/.deps
isoqlog/.libs
*.o
*.c~
configure
Makefile
Makefile.in
config.h.in
autom4te.cache
aclocal.m4
acinclude.m4
configure.in
subdirs
*.swp

12
root/AUTHORS Executable file
View File

@@ -0,0 +1,12 @@
IsoqLog AUTHORS
----------------------
(In Alphabetical Order)
Atilim Boy (aboy@trunix.org)
Baris Simsek (simsek@acikkod.org)
Ismail Yenigul (ismail@enderunix.org)
Murat Balaban (murat@enderunix.org)
Omer Faruk Sen (ofsen@enderunix.org)
Ozkan Kirik (ozkan@enderunix.org)

50
root/COPYING Executable file
View File

@@ -0,0 +1,50 @@
Copyright (c) 2002,2005 , EnderUNIX SDT <roots@EnderUNIX.ORG>
All rights reserved.
Redistribution and use in source and binary
forms, with or without modification, are
permitted provided that the following
conditions are met:
1. Redistributions of source code must
retain the above copyright notice,
this list of conditions and the
following disclaimer.
2. Redistributions in binary form must
reproduce the above copyright notice,
this list of conditions and the
following disclaimer in the
documentation and/or other materials
provided with the distribution.
3. Neither the name of the EnderUNIX Team
nor the names of its contributors may
be used to endorse or promote products
derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
EnderUNIX Software Development Team @ Turkiye
Fri May 28 22:17:22 EEST 2004

128
root/ChangeLog Executable file
View File

@@ -0,0 +1,128 @@
Isoqlog Version History
- Version 2.2.1 Feb 23, 2005
* Zero size bug fixed.
* All Makefile.am files renewed
* "data" Directory created
* htmltemp & lang folders moved from isoqlog/ to data/
* isoqlog/isoqlog.conf-dist moved to data/isoqlog.conf-dist.in
* isoqlog.conf-dist file added to configure.in for updating prefix
* data/Makefile.am created
* CONFIGFILE variable defined in configure.in (see main.c:54-> readconfig(CONFIGFILE); )
* config.h included in main.c
* you can change prefix as shown below (now it works, tested on slackware 10):
./configure --prefix=/usr/jail/ozkan
- Version 2.2 May 28, 2004
* Postfix virtual domain handling support
* Parser module re-written, many functionality and security fixes.
* The quick link added in Domain's and General's homepages that is about last day statistics.
* Some html's name has been changed.
* Incorporated Steve Crowder's [steve at crowders dot org] tarball (about
validated HTML).
All Html files should be valid HTML 4.01 now!.
* L_Encoding is processed, and has a meaning now. It's processed according
to the lang file.
Deafult encoding is iso-8859-1.
* Some cosmetic fixes on HTML template files, and isoqlog.conf by Dan
Langille [dan at langille dot org]
- Version 2.1.1 October 14, 2003
* Exim MTA support
by Marco Erra <mare at erra.myip.org>
* Czech language support by Lukas Maly im at lukasmaly.net
* Romanian language translation by Gelu.Constantin at anofm.ro
* missing fclose()'s added. Thanks manu - manu at asp.be
* Danish translation by "Christian Kurek" <archdandy at spar-es dot dk>
* a parser bug was patched by "Koh Swee Meng" <swee_meng ~ phoenix-gamestudios.com> Parser.c:44
* Autotool scripts written from scratch
- Version 2.1 January 03, 2003
* Some more lang files
* bugfixes and patches from 2.0-current are merged into
release branch.
- Version 2.0-current July 17, 2002
* Postfix bug fix
* Html.c:1322 "%d" -> "%d/"
- Version 2.0 July 16, 2002
* lowercase function bug is fixed
* Language support is activated
* Configuration script is corrected
* Up and home buttons is added end of htmls
- Version 2.0beta June 15, 2002
* New Isoqlog has been re * written from scratch in C.
* Faster log analysis and reporting
* Multi * MTA support (Isoqlog can read and analyze qmail(multilog/syslog)
sendmail and postfix mail server logs.
* HTML Templates. By changing the html templates, and the .css file you
can completely customize the way your stats look.
*
- Version 1.7 May 17 2001
* changes made by R. Hutchinson hutch@midwales.com
* I have tidied up the html, added some more MBorKBs and created a var called $Debug, which
if set to 0 no more screen output
* Also more errors displayed
* Formatted the code with tabs for ease of reading
* The reason for using the perl qq function is that it is easy to drop html into the code
from elsewhere.
* Created some more subs:
&makehtmlheader
&makemenu
&display_time
* modified existing sub EnderUnixTeam to work in the same way, content unchanged
- Version 1.5 Stable 12 April 2001
* Spanish language support has been added (Thanks to cad_vga <cad_vga@yahoo.com> ) (18 April 2001)
* Portuguese language support has been added (Thanks to Edson Lima Monteiro <boni@usp.br> ) (16 April 2001)
* 0 MB problem corrected . if your domains total byte is less than 1MB , it will be printed as a KB
* * Full Language Support has been added
* Strange "<" characters has been removed :)
- Version 1.5 6 Mar 2001
* All codes are rewritten , now isoqlog is more functional
* multilog support has been given
* User based incoming mail top scores has been added for every your domain that you define
* User based outgoing mail top scores has been added for every your domain that you define
* User based total mail top scores has been added for every your domain that you define
* User based byte top scores has been added for every your domain that you define
* Domain based byte top scores has been added
* minus( * ) mail values at top scores part is corrected
* Giving Full Langugaga support (15 Mar 2001)
* 0 MB values changed to KB when total byte values less than 1 MB (15 Mar 2001)
* More clear Documentation (16 Mar 2001 Thanks to Murat Balaban )
- Version 1.4 15 Feb 2001
* Multi Domains Support added
* Displaying Top Domains is corrected
* Wrong Date Info is corrected
- Version 1.3.1 1 October 2000
* Year bug is fixed .for example if time is 1 February 2001 and your log file is October 2000
it will be included in 2001 year output file
* Version 1.2 28 November 2000
* Domains bug is fixed . if your domain is qmail.org ,IsoQlog count qmail.org.tr qmail.org.us ,...
http://www.enderunix.org
Tue Oct 14 08:44:21 EEST 2003

103
root/EnderUNIX Executable file
View File

@@ -0,0 +1,103 @@
What is EnderUNIX?
=-=-=-=-=-=-=-=-=-
EnderUNIX SDT (Open Source Software Development Team), is a bunch of
people who gathered to develop free software for Open Source community
from Turkey. They are some people who realized the importance of "sharing"
in their hearts, and distributing software for public use.
Topic Interested
=-=-=-=-=-=-=-=-
As a team, our main goal is to develop useful programs, that will run
platform-independetly on any *NIX flavor. Besides you are going to see
some Turkish HELP/HOWTO for *BSD systems. They may be either translations
to Turkish, or written from scratch.
Softwares
=-=-=-=-=
1)Hafiye
Hafiye is a POSIX-compliant, customizable TCP/IP packet sniffer. Instead
of interpreting protocols according to the data structures supplied by
the operating system, it interprets Layer II, III, and IV as well as
the payload, according to the knowledge base that it constructs from
the user-supplied protocol configuration files.
www.EnderUNIX.ORG/hafiye/
2)Aget
EnderUNIX Aget is a multi-threaded application that can accelarate your
downloads. For the time being, the program supports HTTP downloads and
can be run from the console. The future plans for the program include
developing a GUI and supporting FTP protocol as well as intelligently
managing multiple downloads.
www.EnderUNIX.ORG/aget/
3)spamGuard
Nearly all of today's mail system administrators face spam as their first
threat. Because of this, EnderUNIX team has written a small application to
automagically monitor malicious spammer activity in your mail server logs.
spamGuard is written purely in C, to stop spammers hanging around.The
program supports qmail (multilog/syslog) Sendmail and Postfix.
www.EnderUNIX.ORG/spamguard/
4) QLdapAdmin
QLDAPAdmin is a series of tools that controls the LDAP databases which
are used to store account information for Qmail users. It is written
in C . With the help of QLDAPAdmin tools, you can: create/delete/modify
virtual domains create/delete/modify virtual domain users change users'
password, mailhost (for qmail clusters), mailquota, mail directory
create alternate/forwarding addresses for one maibox List all qmail
domains/domain users ....
www.EnderUNIX.ORG/qldapadmin/
5)Vpwd2SQL
EnderUNIX Vpwd2SQL is a tool, written in PERL that is used to convert
'/etc/shadow or /etc/master.passwd' accounts to vpopmail accounts.
www.EnderUNIX.ORG/vpw2sql/
6)IsoQlog
Isoqlog is qmail log analysis program written in C. It designed to
scan qmail logfiles and produce usage statistics in HTML format for
viewing through a browser. It produces Top domains output according to
Incoming , Outgoing , total mails and bytes, it keeps your main domain
mail statistics for per day, per month and per year. This tool is used
by many *large* scale organizations.
www.EnderUNIX.ORG/isoqlog
7) Knowlan
Knowlan is ARP protocol based Local Area Network IP and MAC Adress Extractor.
Knowlan uses libpcap and libnet libraries for to be simple to handle and to
have a simple code for any interestor to deal with the code. To describe knowlan
overally, Knowlan, sends ARP REQUEST packets to the LAN, and at the same time,
It recieves ARP REPLY packets from the up machines. So, It prints out IP and MAC
addresses of online machines.
www.EnderUNIX.ORG/knowlan
More to come check http://www.enderunix.org/index.php?lang=en&tab=soft
for updates..
Documents
=-=-=-=-=
Since there are lots of documents that can not be mentioned here. You
can see list of documents that is written in Turkish and/or English from
http://www.enderunix.org/index.php?lang=en&tab=docs address

11
root/FAQ Executable file
View File

@@ -0,0 +1,11 @@
ISOQLOG FAQ
-----------------------------
Q. I notice that I can see size of sent messages, but I can't see size of incoming
meesages
A. Because logs only show size for "from" addresses, but not "to" addresses. Additionally
because of the inconsistency of log files, one ID may show up for other mails as well.
But this will be fixed in isoqlog 3.0

68
root/INSTALL Executable file
View File

@@ -0,0 +1,68 @@
Isoqlog 2.2.x INSTALL
- Installation
1. ./configure
If you would like to use default options just type 'configure'
To see more options type 'configure --help'
2. make
Compiling...
3. make install
Installing...
4. make clean
Removing objects files...
copy images and library directory that under htmltemp directory to isoqlog output directory
5. cp -pr /usr/local/share/isoqlog/htmltemp/images /usr/local/share/isoqlog/htmltemp/library isoqlogoutputdir/
6. You can run isoqlog more than once in a day, though you must run at least once before 00:00
(i.e. 23:58) to get current day's statistics.
7. If you're using postfix, sendmail or qmail-syslog, it is strongly suggested you rotate
your log files to get the data healthier.
# crontab -e
58 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null
this will run isoqlog every hour at 58. minute
That's all
IMPORTANT NOTE: If you type make and get an error like:
Makefile line:XXX need an operator, you better use gmake, not make.
- Files
When you untar package, you should see following files and directories:
Makefile -> You know what is this.
configure -> Prepares your system for custom installations.
isoqlog.conf -> Configuration file. (more isoqlog.conf)
isoqlog.domains -> Domains
htmltemp -> Contains HTML output templates. Edit them if you would like.
- After installation
Don't forget! If you configure your system with 'configure --prefix=install_dir'
edit isoqlog.conf and change prefix variables. Also change others.
NOTE:
An important thing to note here is that; keep the size of your log file large.
if you're using qmail with multilog, you can set this in the qmail-send/log/run
file with the s (size) parameter like this: (all in one line)
#!/bin/sh
exec /usr/local/bin/setuidgid \
qmaill /usr/local/bin/multilog t s5000000 \
/var/log/qmail
if you're using syslog, change the rotate size.
PROBLEMS
If you have trouble with GNU style configuration/installation please try Makefile.std
cp Makefile.std Makefile
make
make install
Sat Feb 26 17:27:47 EET 2005

19
root/Makefile.am Executable file
View File

@@ -0,0 +1,19 @@
## Process this file with automake to produce Makefile.in
## Created by Ozkan KIRIK
SUBDIRS = data isoqlog tr
isoqlog_docdir = ${prefix}/share/doc/isoqlog
isoqlog_doc_DATA = AUTHORS \
ChangeLog \
COPYING \
EnderUNIX \
FAQ \
INSTALL \
NEWS \
README \
README.Turkish \
TODO
EXTRA_DIST = $(isoqlog_doc_DATA)
AUTOMAKE_OPTIONS = foreign

14
root/Makefile.dist Executable file
View File

@@ -0,0 +1,14 @@
all:
@echo "This Makefile is only for the CVS repository"
@echo "This will be deleted before making the distribution"
@echo ""
@if test ! -d admin; then \
echo "Please recheckout this module!" ;\
echo "for cvs: use checkout once and after that update again" ;\
echo "for cvsup: checkout kde-common from cvsup and" ;\
echo " link kde-common/admin to ./admin" ;\
exit 1 ;\
fi
$(MAKE) -f admin/Makefile.common cvs
.SILENT:

410
root/Makefile.in Normal file
View File

@@ -0,0 +1,410 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
SUBDIRS = data isoqlog tr
isoqlog_docdir = ${prefix}/share/doc/isoqlog
isoqlog_doc_DATA = AUTHORS \
ChangeLog \
COPYING \
EnderUNIX \
FAQ \
INSTALL \
NEWS \
README \
README.Turkish \
TODO
EXTRA_DIST = $(isoqlog_doc_DATA)
AUTOMAKE_OPTIONS = foreign
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/isoqlog/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DATA = $(isoqlog_doc_DATA)
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
Makefile.in NEWS TODO aclocal.m4 config.guess config.sub \
configure configure.in install-sh missing mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$@ $(SHELL) ./config.status
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
uninstall-info-am:
install-isoqlog_docDATA: $(isoqlog_doc_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(isoqlog_docdir)
@list='$(isoqlog_doc_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_docdir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_docdir)/$$f; \
done
uninstall-isoqlog_docDATA:
@$(NORMAL_UNINSTALL)
@list='$(isoqlog_doc_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(isoqlog_docdir)/$$f"; \
rm -f $(DESTDIR)$(isoqlog_docdir)/$$f; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
# Avoid unsightly `./'.
distdir = $(PACKAGE)-$(VERSION)
GZIP_ENV = --best
distdir: $(DISTFILES)
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/data
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
for subdir in $(SUBDIRS); do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
chmod a-w $(distdir)
dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| (echo "Error: files left after uninstall" 1>&2; \
exit 1) ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& $(MAKE) $(AM_MAKEFLAGS) distclean \
&& rm -f $(distdir).tar.gz \
&& (test `find . -type f -print | wc -l` -eq 0 \
|| (echo "Error: files left after distclean" 1>&2; \
exit 1) )
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(isoqlog_docdir)
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
distclean: distclean-recursive
-rm -f config.status config.cache config.log
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am: install-isoqlog_docDATA
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-isoqlog_docDATA
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive dist dist-all distcheck distclean \
distclean-generic distclean-recursive distclean-tags distdir \
dvi dvi-am dvi-recursive info info-am info-recursive install \
install-am install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive \
install-isoqlog_docDATA install-man install-recursive \
install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-generic mostlyclean-recursive tags tags-recursive \
uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-isoqlog_docDATA \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

0
root/NEWS Executable file
View File

49
root/README Executable file
View File

@@ -0,0 +1,49 @@
Isoqlog
Version 2.2.1
What is Isoqlog
----------------
Isoqlog is an MTA log analysis program written in C .
it designed to scan qmail, postfix, sendmail, exim logfile and produce usage statistics in HTML
format. for viewing through a browser. It produces Top domains
output according to Incoming , Outgoing , total mails and bytes, it keeps
your main domain mail statistics with Days Top Domain, Top Users values for per day , per month ,and years.
Features:
--------
* Multi MTA support(qmail (multilog and syslog), postfix, sendmail, exim)
* Multi-domain support: Shows quite detailed statistics for not only your main domain, but also, any domain you want.
* Displays statistics for common mail delivery errors.
* For each domain you specify; displays Top incoming, outgoing, total and byte based statistics for users.
* Displays server's activity based on incoming, outgoing, total mails and size of incoming mail, for domain and its users.
* All days', all months', all years' activities ( above ones ) are stored for future inspection.
* Multi-language Support ( Turkish, English, German,Portuguese,Spanish ,Italian,french, Swedish, Dutch, Polish, Norwegian,
Russian, Czech, Romanian, Danish)
The Latest Version
------------------
Details of the latest version can be found at http://www.enderunix.org/isoqlog
Installation
------------
Read INSTALL file for installation instructions.
Licensing
---------
Please see the file called COPYING.
Isoqlog is tested on FreeBSD 4.9-Stable Solaris 2.8(Sparc) Slackware Linux, Redhat 6.2,7.2,8.0,9.0, OpenBSD-3.3, HP-UX 11.11
EnderUNIX Software Development Team -- http://www.enderunix.org
Sat Feb 26 17:27:47 EET 2005

2
root/README.Turkish Executable file
View File

@@ -0,0 +1,2 @@
Turkce Kurulum ve Konfigurasyon icin ./tr dizinine bakiniz

21
root/TODO Executable file
View File

@@ -0,0 +1,21 @@
ISOQLOG TODO
************
* Fabrice LABORIE reports:
is a domain is listed in Top 100 Receiver Domain but is NOT in Top 100
domains Sender it will not appear in the Top 100 Domain although it
potentially received mails alone that some other send+receive !
This is probably true for some high traffic domain for which a server
acts as a relay. ( MX). So it's not really a bug, but probably more a
feature request ...
* Tomasz Klim reports:[ismail]
I need to hide extra recipient, defined in extra.h.
* Old days' log processing.[ismail]
* Callculate Total traffic [ismail]
* Ignore user defined mail addresses such as postmaster, root ...
* Common error reports.
* Apply FreeBSD coding style to code.
* Image representation of statistics using GD library
* Performance optimization
* Fix Bugs. (no need to mention?)

560
root/aclocal.m4 vendored Normal file
View File

@@ -0,0 +1,560 @@
# aclocal.m4 generated automatically by aclocal 1.5
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# Like AC_CONFIG_HEADER, but automatically create stamp file.
# serial 3
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. We must strip everything past the first ":",
# and everything past the last "/".
AC_PREREQ([2.12])
AC_DEFUN([AM_CONFIG_HEADER],
[ifdef([AC_FOREACH],dnl
[dnl init our file count if it isn't already
m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
dnl prepare to store our destination file list for use in config.status
AC_FOREACH([_AM_File], [$1],
[m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
dnl and add it to the list of files AC keeps track of, along
dnl with our hook
AC_CONFIG_HEADERS(_AM_File,
dnl COMMANDS, [, INIT-CMDS]
[# update the timestamp
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
m4_popdef([_AM_Dest])])],dnl
[AC_CONFIG_HEADER([$1])
AC_OUTPUT_COMMANDS(
ifelse(patsubst([$1], [[^ ]], []),
[],
[test -z "$CONFIG_HEADERS" || echo timestamp >dnl
patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
[am_indx=1
for am_file in $1; do
case " \$CONFIG_HEADERS " in
*" \$am_file "*)
am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
if test -n "\$am_dir"; then
am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
am_tmpdir=\$am_tmpdir\$am_subdir/
if test ! -d \$am_tmpdir; then
mkdir \$am_tmpdir
fi
done
fi
echo timestamp > "\$am_dir"stamp-h\$am_indx
;;
esac
am_indx=\`expr \$am_indx + 1\`
done])
])]) # AM_CONFIG_HEADER
# _AM_DIRNAME(PATH)
# -----------------
# Like AS_DIRNAME, only do it during macro expansion
AC_DEFUN([_AM_DIRNAME],
[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
m4_if(m4_regexp([$1], [^/.*]), -1,
[.],
m4_patsubst([$1], [^\(/\).*], [\1])),
m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
]) # _AM_DIRNAME
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
# serial 5
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# We require 2.13 because we rely on SHELL being computed by configure.
AC_PREREQ([2.13])
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
# -----------------------------------------------------------
# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
# The purpose of this macro is to provide the user with a means to
# check macros which are provided without letting her know how the
# information is coded.
# If this macro is not defined by Autoconf, define it here.
ifdef([AC_PROVIDE_IFELSE],
[],
[define([AC_PROVIDE_IFELSE],
[ifdef([AC_PROVIDE_$1],
[$2], [$3])])])
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
# ----------------------------------------------
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured
if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
fi
# Define the identity of the package.
PACKAGE=$1
AC_SUBST(PACKAGE)dnl
VERSION=$2
AC_SUBST(VERSION)dnl
ifelse([$3],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
ifdef([m4_pattern_allow],
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
# Autoconf 2.50 always computes EXEEXT. However we need to be
# compatible with 2.13, for now. So we always define EXEEXT, but we
# don't compute it.
AC_SUBST(EXEEXT)
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
# requests that it be used. This is a bit dumb.
: ${OBJEXT=o}
AC_SUBST(OBJEXT)
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal)
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake)
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
AM_PROG_INSTALL_SH
AM_PROG_INSTALL_STRIP
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_PROVIDE_IFELSE([AC_PROG_][CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_][CC],
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_][CXX],
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_][CXX],
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
])
#
# Check to make sure that the build environment is sane.
#
# serial 3
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftest.file
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT(yes)])
# serial 2
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it supports --run.
# If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
am_backtick='`'
AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
fi
])
# AM_AUX_DIR_EXPAND
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run. This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
# fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
# fails if $ac_aux_dir is absolute,
# fails when called from a subdirectory in a VPATH build with
# a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is `.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
# MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND], [
# expand $ac_aux_dir to an absolute path
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
])
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in `make install-strip', and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# serial 4 -*- Autoconf -*-
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# _AM_DEPENDENCIES(NAME)
# ---------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX" or "OBJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
# dependency, and given that the user is not expected to run this macro,
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
am_cv_$1_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
for depmode in $am_compiler_list; do
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
echo '#include "conftest.h"' > conftest.c
echo 'int i;' > conftest.h
echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
case $depmode in
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
none) break ;;
esac
# We check with `-c' and `-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle `-M -o', and we need to detect this.
if depmode=$depmode \
source=conftest.c object=conftest.o \
depfile=conftest.Po tmpdepfile=conftest.TPo \
$SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
grep conftest.h conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_$1_dependencies_compiler_type=none
fi
])
$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
AC_SUBST([$1DEPMODE])
])
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
AC_DEFUN([AM_SET_DEPDIR],
[rm -f .deps 2>/dev/null
mkdir .deps 2>/dev/null
if test -d .deps; then
DEPDIR=.deps
else
# MS-DOS does not allow filenames that begin with a dot.
DEPDIR=_deps
fi
rmdir .deps 2>/dev/null
AC_SUBST(DEPDIR)
])
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE(dependency-tracking,
[ --disable-dependency-tracking Speeds up one-time builds
--enable-dependency-tracking Do not reject slow dependency extractors])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
pushdef([subst], defn([AC_SUBST]))
subst(AMDEPBACKSLASH)
popdef([subst])
])
# Generate code to set up dependency tracking.
# This macro should only be invoked once -- use via AC_REQUIRE.
# Usage:
# AM_OUTPUT_DEPENDENCY_COMMANDS
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
AC_OUTPUT_COMMANDS([
test x"$AMDEP_TRUE" != x"" ||
for mf in $CONFIG_FILES; do
case "$mf" in
Makefile) dirpart=.;;
*/Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
*) continue;;
esac
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
test -z "$DEPDIR" && continue
# When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n -e '/^U = / s///p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# We invoke sed twice because it is the simplest approach to
# changing $(DEPDIR) to its actual value in the expansion.
for file in `sed -n -e '
/^DEP_FILES = .*\\\\$/ {
s/^DEP_FILES = //
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
$ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
], [AMDEP_TRUE="$AMDEP_TRUE"
ac_aux_dir="$ac_aux_dir"])])
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
doit:
@echo done
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include='#'
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# We grep out `Entering directory' and `Leaving directory'
# messages which can occur if `w' ends up in MAKEFLAGS.
# In particular we don't look at `^make:' because GNU make might
# be invoked under some other name (usually "gmake"), in which
# case it prints its new name instead of `make'.
if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
am__include=include
am__quote=
_am_result=GNU
fi
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
am__include=.include
am__quote='"'
_am_result=BSD
fi
fi
AC_SUBST(am__include)
AC_SUBST(am__quote)
AC_MSG_RESULT($_am_result)
rm -f confinc confmf
])
# serial 3
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
#
# FIXME: Once using 2.50, use this:
# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_DEFUN([AM_CONDITIONAL],
[ifelse([$1], [TRUE],
[errprint(__file__:__line__: [$0: invalid condition: $1
])dnl
m4exit(1)])dnl
ifelse([$1], [FALSE],
[errprint(__file__:__line__: [$0: invalid condition: $1
])dnl
m4exit(1)])dnl
AC_SUBST([$1_TRUE])
AC_SUBST([$1_FALSE])
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi])

115
root/autogen.sh Executable file
View File

@@ -0,0 +1,115 @@
#! /bin/sh
#Taken from KDE project with conformance to FreeBSD binary layout!
# Global variables...
echo "***********************************************************"
echo "Make SURE you have installed automake and autoconf packages"
echo "***********************************************************"
sleep 1;
AUTOCONF="autoconf"
AUTOHEADER="autoheader"
AUTOM4TE="autom4te"
AUTOMAKE="automake"
ACLOCAL="aclocal"
# We don't use variable here for remembering the type ... strings.
# local variables are not that portable, but we fear namespace issues with
# our includer. The repeated type calls are not that expensive.
checkAutoconf()
{
if test -x "`$WHICH autoconf253`";then
AUTOCONF="`$WHICH autoconf253`"
elif test -x "`$WHICH autoconf257`" ; then
AUTOCONF="`$WHICH autoconf257`"
elif test -x "`$WHICH autoconf258`" ; then
AUTOCONF="`$WHICH autoconf258`"
elif test -x "`$WHICH autoconf259`" ; then
AUTOCONF="`$WHICH autoconf259`"
elif test -x "`$WHICH autoconf-2.5x`" ; then
AUTOCONF="`$WHICH autoconf-2.5x`"
elif test -x "`$WHICH autoconf-2.53`" ; then
AUTOCONF="`$WHICH autoconf-2.53`"
elif test -x "`$WHICH autoconf-2.52`" ; then
AUTOCONF="`$WHICH autoconf-2.52`"
elif test -x "`$WHICH autoconf2.50`" ; then
AUTOCONF="`$WHICH autoconf2.50`"
elif test -x "`$WHICH autoconf`" ; then
AUTOCONF="`$WHICH autoconf`"
fi
}
checkAutoheader()
{
if test -x "`$WHICH autoheader253`";then
AUTOHEADER="`$WHICH autoheader253`"
elif test -x "`$WHICH autoheader258`" ; then
AUTOHEADER="`$WHICH autoheader258`"
elif test -x "`$WHICH autoheader259`" ; then
AUTOHEADER="`$WHICH autoheader259`"
elif test -x "`$WHICH autoheader-2.5x`" ; then
AUTOHEADER="`$WHICH autoheader-2.5x`"
AUTOM4TE="`$WHICH autom4te-2.5x`"
elif test -x "`$WHICH autoheader-2.53`" ; then
AUTOHEADER="`$WHICH autoheader-2.53`"
AUTOM4TE="`$WHICH autom4te-2.53`"
elif test -x "`$WHICH autoheader-2.52`" ; then
AUTOHEADER="`$WHICH autoheader-2.52`"
elif test -x "`$WHICH autoheader2.50`" ; then
AUTOHEADER="`$WHICH autoheader2.50`"
elif test -x "`$WHICH autoheader`" ; then
AUTOHEADER="`$WHICH autoheader`"
fi
}
checkAutomakeAclocal ()
{
if test -z "$UNSERMAKE"; then
if test -x "`$WHICH automake18`" ; then
AUTOMAKE="`$WHICH automake18`"
ACLOCAL="`$WHICH aclocal18`"
elif test -x "`$WHICH automake-1.5`" ; then
AUTOMAKE="`$WHICH automake-1.5`"
ACLOCAL="`$WHICH aclocal-1.5`"
elif test -x "`$WHICH automake-1.6`" ; then
AUTOMAKE="`$WHICH automake-1.6`"
ACLOCAL="`$WHICH aclocal-1.6`"
elif test -x "`$WHICH automake`" ; then
AUTOMAKE="`$WHICH automake`"
ACLOCAL="`$WHICH aclocal`"
fi
else
AUTOMAKE="$UNSERMAKE"
fi
}
checkWhich ()
{
WHICH=""
for i in "type -p" "which" "type" ; do
T=`$i sh`
test -x "$T" && WHICH="$i" && break
done
}
checkWhich
checkAutoconf
checkAutoheader
checkAutomakeAclocal
export WHICH AUTOHEADER AUTOCONF AUTOM4TE AUTOMAKE ACLOCAL
echo "Execing $ACLOCAL"
$ACLOCAL || echo "Can not find aclocal on your system. Install it"
# >/dev/null 2>/dev/null
echo "...Done"
echo "Execing $AUTOMAKE"
$AUTOMAKE -ac || echo "Can not find automake on your system. Install it"
# >/dev/null 2>/dev/null
echo "...Done"
echo "Execing $AUTOCONF"
echo $AUTOCONF
$AUTOCONF || echo "Can not find autoconf on your system. Install it"
#>/dev/null 2>/dev/null
echo "...Done"

5032
root/autom4te.cache/output.0 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,94 @@
# This file was created by autom4te.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/local/share/autoconf'
],
[
'--reload-state=/usr/local/share/autoconf/autoconf/autoconf.m4f',
'aclocal.m4',
'configure.in'
],
{
'm4_pattern_forbid' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_STAT' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_WAIT3' => 1,
'AC_STRUCT_TM' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_PROG_CXX' => 1,
'AC_PATH_X' => 1,
'AC_PROG_AWK' => 1,
'AC_HEADER_STDC' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_LIBSOURCE' => 1,
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_TYPE_UID_T' => 1,
'AC_PROG_MAKE_SET' => 1,
'm4_pattern_allow' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AM_PROG_LIBTOOL' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_CC' => 1,
'AC_FUNC_FORK' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_PROG_YACC' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_SUBST' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_PROG_RANLIB' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_FUNC_MMAP' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_CHECK_TYPES' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_HEADER_STAT' => 1,
'AC_C_INLINE' => 1,
'AC_PROG_CPP' => 1,
'AC_C_CONST' => 1,
'AC_PROG_LEX' => 1,
'AC_TYPE_PID_T' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_FUNC_FNMATCH' => 1,
'AC_PROG_INSTALL' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_CONDITIONAL' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_PROG_LN_S' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
}
], 'Request' )
);

View File

@@ -0,0 +1,227 @@
m4trace:configure.in:3: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:3: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:3: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs. LIBOBJS'])
m4trace:configure.in:3: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:3: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:3: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:3: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.in:3: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
m4trace:configure.in:3: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.in:3: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.in:3: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.in:3: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.in:3: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.in:3: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.in:3: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.in:3: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.in:3: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.in:3: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.in:3: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.in:3: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.in:3: -1- AC_SUBST([datadir], ['${prefix}/share'])
m4trace:configure.in:3: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.in:3: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.in:3: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.in:3: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.in:3: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.in:3: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.in:3: -1- AC_SUBST([infodir], ['${prefix}/info'])
m4trace:configure.in:3: -1- AC_SUBST([mandir], ['${prefix}/man'])
m4trace:configure.in:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.in:3: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
#undef PACKAGE_NAME])
m4trace:configure.in:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.in:3: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME])
m4trace:configure.in:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.in:3: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
#undef PACKAGE_VERSION])
m4trace:configure.in:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.in:3: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
#undef PACKAGE_STRING])
m4trace:configure.in:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.in:3: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT])
m4trace:configure.in:3: -1- AC_SUBST([build_alias])
m4trace:configure.in:3: -1- AC_SUBST([host_alias])
m4trace:configure.in:3: -1- AC_SUBST([target_alias])
m4trace:configure.in:3: -1- AC_SUBST([DEFS])
m4trace:configure.in:3: -1- AC_SUBST([ECHO_C])
m4trace:configure.in:3: -1- AC_SUBST([ECHO_N])
m4trace:configure.in:3: -1- AC_SUBST([ECHO_T])
m4trace:configure.in:3: -1- AC_SUBST([LIBS])
m4trace:configure.in:4: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.in:4: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
m4trace:configure.in:4: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
m4trace:configure.in:4: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
m4trace:configure.in:4: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.in:4: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
m4trace:configure.in:4: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
m4trace:configure.in:4: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
m4trace:configure.in:4: -1- AC_SUBST([target], [$ac_cv_target])
m4trace:configure.in:4: -1- AC_SUBST([target_cpu], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
m4trace:configure.in:4: -1- AC_SUBST([target_vendor], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
m4trace:configure.in:4: -1- AC_SUBST([target_os], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
m4trace:configure.in:6: -1- AC_CONFIG_HEADERS([isoqlog/config.h], [# update the timestamp
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(isoqlog/config.h))/stamp-h1"
])
m4trace:configure.in:9: -1- AC_PROG_INSTALL
m4trace:configure.in:9: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.in:9: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.in:9: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:9: -1- AC_SUBST([PACKAGE])
m4trace:configure.in:9: -1- AC_SUBST([VERSION])
m4trace:configure.in:9: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
m4trace:configure.in:9: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
#undef PACKAGE])
m4trace:configure.in:9: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
m4trace:configure.in:9: -1- AH_OUTPUT([VERSION], [/* Version number of package */
#undef VERSION])
m4trace:configure.in:9: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS])
m4trace:configure.in:9: -1- AC_SUBST([EXEEXT])
m4trace:configure.in:9: -1- AC_SUBST([OBJEXT])
m4trace:configure.in:9: -1- AC_SUBST([ACLOCAL])
m4trace:configure.in:9: -1- AC_SUBST([AUTOCONF])
m4trace:configure.in:9: -1- AC_SUBST([AUTOMAKE])
m4trace:configure.in:9: -1- AC_SUBST([AUTOHEADER])
m4trace:configure.in:9: -1- AC_SUBST([MAKEINFO])
m4trace:configure.in:9: -1- AC_SUBST([AMTAR])
m4trace:configure.in:9: -1- AC_SUBST([install_sh])
m4trace:configure.in:9: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
m4trace:configure.in:9: -1- AC_PROG_AWK
m4trace:configure.in:9: -1- AC_SUBST([AWK])
m4trace:configure.in:9: -1- AC_PROG_MAKE_SET
m4trace:configure.in:9: -1- AC_SUBST([SET_MAKE])
m4trace:configure.in:9: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
m4trace:configure.in:9: -1- AC_SUBST([AMDEP_TRUE])
m4trace:configure.in:9: -1- AC_SUBST([AMDEP_FALSE])
m4trace:configure.in:9: -1- AC_SUBST([DEPDIR])
m4trace:configure.in:13: -1- AC_PROG_CC
m4trace:configure.in:13: -1- AC_SUBST([CC])
m4trace:configure.in:13: -1- AC_SUBST([CFLAGS])
m4trace:configure.in:13: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:13: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:13: -1- AC_SUBST([CC])
m4trace:configure.in:13: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:13: -1- AC_SUBST([CC])
m4trace:configure.in:13: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:13: -1- AC_SUBST([CC])
m4trace:configure.in:13: -1- AC_SUBST([CC])
m4trace:configure.in:13: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:13: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.in:13: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.in:13: -1- AC_SUBST([am__include])
m4trace:configure.in:13: -1- AC_SUBST([am__quote])
m4trace:configure.in:13: -1- AC_SUBST([CCDEPMODE])
m4trace:configure.in:25: -1- AC_HEADER_DIRENT
m4trace:configure.in:25: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines \`DIR'.
*/
#undef HAVE_DIRENT_H])
m4trace:configure.in:25: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines \`DIR'.
*/
#undef HAVE_SYS_NDIR_H])
m4trace:configure.in:25: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines \`DIR'.
*/
#undef HAVE_SYS_DIR_H])
m4trace:configure.in:25: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines \`DIR'. */
#undef HAVE_NDIR_H])
m4trace:configure.in:26: -1- AC_HEADER_STDC
m4trace:configure.in:26: -1- AC_PROG_CPP
m4trace:configure.in:26: -1- AC_SUBST([CPP])
m4trace:configure.in:26: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:26: -1- AC_SUBST([CPP])
m4trace:configure.in:26: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:26: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
m4trace:configure.in:28: -1- AC_CHECK_HEADERS([fcntl.h stdlib.h string.h strings.h unistd.h], [], [\
{ { echo "$as_me:$LINENO: error: Development headers not found" >&5
echo "$as_me: error: Development headers not found" >&2;}
{ (exit 1); exit 1; }; }])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:28: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:31: -1- AC_TYPE_SIZE_T
m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([size_t])
m4trace:configure.in:31: -1- AH_OUTPUT([size_t], [/* Define to \`unsigned' if <sys/types.h> does not define. */
#undef size_t])
m4trace:configure.in:32: -1- AC_STRUCT_TM
m4trace:configure.in:32: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
m4trace:configure.in:32: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares \`struct tm'. */
#undef TM_IN_SYS_TIME])
m4trace:configure.in:35: -1- AC_FUNC_MALLOC
m4trace:configure.in:35: -1- AC_CHECK_HEADERS([stdlib.h])
m4trace:configure.in:35: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:35: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MALLOC])
m4trace:configure.in:35: -1- AH_OUTPUT([HAVE_MALLOC], [/* Define to 1 if your system has a working \`malloc' function. */
#undef HAVE_MALLOC])
m4trace:configure.in:36: -1- AC_FUNC_STAT
m4trace:configure.in:36: -1- AC_DEFINE_TRACE_LITERAL([LSTAT_FOLLOWS_SLASHED_SYMLINK])
m4trace:configure.in:36: -1- AH_OUTPUT([LSTAT_FOLLOWS_SLASHED_SYMLINK], [/* Define to 1 if \`lstat' dereferences a symlink specified with a trailing
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK])
m4trace:configure.in:36: -1- AC_LIBSOURCE([lstat.c])
m4trace:configure.in:36: -1- AC_SUBST([LIB@&t@OBJS])
m4trace:configure.in:36: -1- AC_LIBSOURCE([stat.c])
m4trace:configure.in:36: -1- AC_SUBST([LIB@&t@OBJS])
m4trace:configure.in:36: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STAT_EMPTY_STRING_BUG])
m4trace:configure.in:36: -1- AH_OUTPUT([HAVE_STAT_EMPTY_STRING_BUG], [/* Define to 1 if \`stat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG])
m4trace:configure.in:38: -1- AC_CHECK_FUNCS([gethostname memset mkdir strcasecmp strdup strerror strstr], [], [\
{ { echo "$as_me:$LINENO: error: functions not found" >&5
echo "$as_me: error: functions not found" >&2;}
{ (exit 1); exit 1; }; }])
m4trace:configure.in:38: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the \`gethostname' function. */
#undef HAVE_GETHOSTNAME])
m4trace:configure.in:38: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the \`memset' function. */
#undef HAVE_MEMSET])
m4trace:configure.in:38: -1- AH_OUTPUT([HAVE_MKDIR], [/* Define to 1 if you have the \`mkdir' function. */
#undef HAVE_MKDIR])
m4trace:configure.in:38: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the \`strcasecmp' function. */
#undef HAVE_STRCASECMP])
m4trace:configure.in:38: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the \`strdup' function. */
#undef HAVE_STRDUP])
m4trace:configure.in:38: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the \`strerror' function. */
#undef HAVE_STRERROR])
m4trace:configure.in:38: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the \`strstr' function. */
#undef HAVE_STRSTR])
m4trace:configure.in:39: -1- AC_DEFINE_TRACE_LITERAL([CONFIGFILE])
m4trace:configure.in:39: -1- AH_OUTPUT([CONFIGFILE], [/* Configuration file path */
#undef CONFIGFILE])
m4trace:configure.in:41: -1- AC_CONFIG_FILES([ Makefile ])
m4trace:configure.in:42: -1- AC_CONFIG_FILES([ isoqlog/Makefile ])
m4trace:configure.in:43: -1- AC_CONFIG_FILES([ data/Makefile ])
m4trace:configure.in:44: -1- AC_CONFIG_FILES([ data/isoqlog.conf-dist ])
m4trace:configure.in:45: -1- AC_CONFIG_FILES([ data/htmltemp/Makefile ])
m4trace:configure.in:46: -1- AC_CONFIG_FILES([ data/htmltemp/images/Makefile ])
m4trace:configure.in:47: -1- AC_CONFIG_FILES([ data/htmltemp/library/Makefile ])
m4trace:configure.in:48: -1- AC_CONFIG_FILES([ data/lang/Makefile ])
m4trace:configure.in:49: -1- AC_CONFIG_FILES([ tr/Makefile ])

1314
root/config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

1410
root/config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

5032
root/configure vendored Executable file

File diff suppressed because it is too large Load Diff

50
root/configure.in Executable file
View File

@@ -0,0 +1,50 @@
# Process this file with autoconf to produce a configure script.
AC_INIT(isoqlog, 2.2.1, bug-report@enderunix.org)
AC_CANONICAL_SYSTEM
AC_CONFIG_SRCDIR([isoqlog/Global.h])
AM_CONFIG_HEADER(isoqlog/config.h)
#AC_CONFIG_HEADER macro used by autoheader
#AC_CONFIG_HEADER(isoqlog/config.h)
AM_INIT_AUTOMAKE(isoqlog, 2.2.1)
# Checks for programs.
AC_PROG_CC
unset CDPATH
dnl make /usr/local the default for the installation
#AC_PREFIX_DEFAULT(/usr/local)
if test "x$prefix" = "xNONE"; then
prefix=$ac_default_prefix
fi
# Checks for libraries.
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h strings.h unistd.h], [], \
AC_MSG_ERROR([Development headers not found]))
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T
AC_STRUCT_TM
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_STAT
AC_CHECK_FUNCS([gethostname memset mkdir strcasecmp strdup strerror strstr], [], \
AC_MSG_ERROR([functions not found]))
AC_DEFINE_UNQUOTED(CONFIGFILE, "${prefix}/etc/isoqlog.conf", [Configuration file path])
AC_CONFIG_FILES([ Makefile ])
AC_CONFIG_FILES([ isoqlog/Makefile ])
AC_CONFIG_FILES([ data/Makefile ])
AC_CONFIG_FILES([ data/isoqlog.conf-dist ])
AC_CONFIG_FILES([ data/htmltemp/Makefile ])
AC_CONFIG_FILES([ data/htmltemp/images/Makefile ])
AC_CONFIG_FILES([ data/htmltemp/library/Makefile ])
AC_CONFIG_FILES([ data/lang/Makefile ])
AC_CONFIG_FILES([ tr/Makefile ])
AC_OUTPUT

10
root/data/Makefile.am Normal file
View File

@@ -0,0 +1,10 @@
## Process this file with automake to produce Makefile.in
## Created by Ozkan KIRIK
SUBDIRS = htmltemp lang
isoqlog_confdir = ${prefix}/etc
isoqlog_conf_DATA = isoqlog.conf-dist \
isoqlog.domains-dist
EXTRA_DIST = $(isoqlog_conf_DATA)

342
root/data/Makefile.in Normal file
View File

@@ -0,0 +1,342 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
SUBDIRS = htmltemp lang
isoqlog_confdir = ${prefix}/etc
isoqlog_conf_DATA = isoqlog.conf-dist \
isoqlog.domains-dist
EXTRA_DIST = $(isoqlog_conf_DATA)
subdir = data
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/isoqlog/config.h
CONFIG_CLEAN_FILES = isoqlog.conf-dist
DIST_SOURCES =
DATA = $(isoqlog_conf_DATA)
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = Makefile.am Makefile.in isoqlog.conf-dist.in
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu data/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
isoqlog.conf-dist: $(top_builddir)/config.status isoqlog.conf-dist.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
uninstall-info-am:
install-isoqlog_confDATA: $(isoqlog_conf_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(isoqlog_confdir)
@list='$(isoqlog_conf_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_confdir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_confdir)/$$f; \
done
uninstall-isoqlog_confDATA:
@$(NORMAL_UNINSTALL)
@list='$(isoqlog_conf_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(isoqlog_confdir)/$$f"; \
rm -f $(DESTDIR)$(isoqlog_confdir)/$$f; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
for subdir in $(SUBDIRS); do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(isoqlog_confdir)
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am: install-isoqlog_confDATA
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-isoqlog_confDATA
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive distclean distclean-generic \
distclean-recursive distclean-tags distdir dvi dvi-am \
dvi-recursive info info-am info-recursive install install-am \
install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive \
install-isoqlog_confDATA install-man install-recursive \
install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-generic mostlyclean-recursive tags tags-recursive \
uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-isoqlog_confDATA \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

17
root/data/htmltemp/Makefile.am Executable file
View File

@@ -0,0 +1,17 @@
## Process this file with automake to produce Makefile.in
## Created by Ozkan KIRIK
SUBDIRS = images library
isoqlog_htmltempdir = ${prefix}/share/isoqlog/htmltemp
isoqlog_htmltemp_DATA = daily.html \
domain.html \
generaldaily.html \
generaldomain.html \
generalmonthly.html \
generalyearly.html \
index.html \
monthly.html \
yearly.html
EXTRA_DIST = $(isoqlog_htmltemp_DATA)

View File

@@ -0,0 +1,347 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
SUBDIRS = images library
isoqlog_htmltempdir = ${prefix}/share/isoqlog/htmltemp
isoqlog_htmltemp_DATA = daily.html \
domain.html \
generaldaily.html \
generaldomain.html \
generalmonthly.html \
generalyearly.html \
index.html \
monthly.html \
yearly.html
EXTRA_DIST = $(isoqlog_htmltemp_DATA)
subdir = data/htmltemp
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/isoqlog/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DATA = $(isoqlog_htmltemp_DATA)
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = Makefile.am Makefile.in
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu data/htmltemp/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
uninstall-info-am:
install-isoqlog_htmltempDATA: $(isoqlog_htmltemp_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(isoqlog_htmltempdir)
@list='$(isoqlog_htmltemp_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_htmltempdir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_htmltempdir)/$$f; \
done
uninstall-isoqlog_htmltempDATA:
@$(NORMAL_UNINSTALL)
@list='$(isoqlog_htmltemp_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(isoqlog_htmltempdir)/$$f"; \
rm -f $(DESTDIR)$(isoqlog_htmltempdir)/$$f; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
for subdir in $(SUBDIRS); do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(isoqlog_htmltempdir)
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am: install-isoqlog_htmltempDATA
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-isoqlog_htmltempDATA
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive distclean distclean-generic \
distclean-recursive distclean-tags distdir dvi dvi-am \
dvi-recursive info info-am info-recursive install install-am \
install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive \
install-isoqlog_htmltempDATA install-man install-recursive \
install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-generic mostlyclean-recursive tags tags-recursive \
uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-isoqlog_htmltempDATA \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

49
root/data/htmltemp/daily.html Executable file
View File

@@ -0,0 +1,49 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><!--%s--></title>
<!--%m-->
<link rel="stylesheet" href="../../../library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<a href="../"><img src="../../../images/isoqlog.gif" border="0" alt="&lt;--"></a>
<br>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="400"> <span class="domains"> <!--%d--> </span>
<span class="header"> <!--%s--> </span></td>
</tr>
<tr>
<td width="100" height="1">
<img src="../../../images/dot.gif" width="500" height="1" alt="dot.gif">
</td>
</tr>
</table>
<span class="created_date"> <!--%c--> </span>
<br>
<br>
<!--%1-->
<br>
<br>
<!--%2-->
<br>
<br>
<!--%3-->
<br>
<br>
<!--%4-->
<div align="center">
<center>
<table border="0">
<tr>
<td width="50"><a href="../../../"><img border="0" src="../../../images/home.gif" width="24" height="23" alt="home.gif"></a></td>
<td width="50"><a href="../"><img border="0" src="../../../images/up.gif" width="24" height="23" alt="up.gif"></a></td>
</tr>
</table>
</center>
</div>
<br>
<!--%h-->
</body>
</html>

47
root/data/htmltemp/domain.html Executable file
View File

@@ -0,0 +1,47 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><!--%s--></title>
<!--%m-->
<link rel="stylesheet" href="../library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<a href="../"><img src="../images/isoqlog.gif" border="0" alt="&lt;--"></a> <br>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="400"> <span class="domains"> <!--%d--> </span>
<span class="header"> <!--%s--> </span></td>
</tr>
<tr>
<td width="100" height="1">
<img src="../images/dot.gif" width="500" height="1" alt="dot.gif">
</td>
</tr>
</table>
<span class="created_date"> <!--%c--> </span>
<br>
<br>
<!--%l-->
<br>
<br>
<!--%1-->
<br>
<br>
<!--%2-->
<!--%3-->
<!--%4-->
<div align="center">
<center>
<table border="0">
<tr>
<td width="50"><a href="../"><img border="0" src="../images/home.gif" width="24" height="23" alt="home.gif"></a></td>
<td width="50"><a href="../"><img border="0" src="../images/up.gif" width="24" height="23" alt="up.gif"></a></td>
</tr>
</table>
</center>
</div>
<br>
<!--%h-->
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><!--%s--></title>
<!--%m-->
<link rel="stylesheet" href="../../../library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<a href="../"><img src="../../../images/isoqlog.gif" border="0" alt="&lt;--"></a>
<br>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="400"> <span class="domains"> <!--%d--> </span>
<span class="header"> <!--%s--> </span></td>
</tr>
<tr>
<td width="100" height="1">
<img src="../../../images/dot.gif" width="500" height="1" alt="dot.gif">
</td>
</tr>
</table>
<span class="created_date"> <!--%c--> </span>
<br>
<br>
<!--%1-->
<br>
<br>
<!--%2-->
<br>
<br>
<!--%3-->
<br>
<br>
<!--%4-->
<br>
<br>
<!--%5-->
<br>
<br>
<!--%6-->
<br>
<br>
<!--%7-->
<br>
<br>
<!--%8-->
<br>
<div align="center">
<center>
<table border="0">
<tr>
<td width="50"><a href="../../../"><img border="0" src="../../../images/home.gif" width="24" height="23" alt="home.gif"></a></td>
<td width="50"><a href="./"><img border="0" src="../../../images/up.gif" width="24" height="23" alt="up.gif"></a></td>
</tr>
</table>
</center>
</div>
<br>
<!--%h-->
</body>
</html>

View File

@@ -0,0 +1,47 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><!--%s--></title>
<!--%m-->
<link rel="stylesheet" href="../library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<a href="../"><img src="../images/isoqlog.gif" border="0" alt="&lt;--"></a> <br>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="400"> <span class="domains"> <!--%d--> </span>
<span class="header"> <!--%s--> </span></td>
</tr>
<tr>
<td width="100" height="1">
<img src="../images/dot.gif" width="500" height="1" alt="dot.gif">
</td>
</tr>
</table>
<span class="created_date"> <!--%c--> </span>
<br>
<br>
<!--%l-->
<br>
<br>
<!--%1-->
<br>
<br>
<!--%2-->
<!--%3-->
<!--%4-->
<div align="center">
<center>
<table border="0">
<tr>
<td width="50"><a href="../"><img border="0" src="../images/home.gif" width="24" height="23" alt="home.gif"></a></td>
<td width="50"><a href="../"><img border="0" src="../images/up.gif" width="24" height="23" alt="up.gif"></a></td>
</tr>
</table>
</center>
</div>
<br>
<!--%h-->
</body>
</html>

View File

@@ -0,0 +1,45 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><!--%s--></title>
<!--%m-->
<link rel="stylesheet" href="../../../library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<a href="../"><img src="../../../images/isoqlog.gif" border="0" alt="&lt;--"></a>
<br>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="400"> <span class="domains"> <!--%d--> </span>
<span class="header"> <!--%s--> </span></td>
</tr>
<tr>
<td width="100" height="1">
<img src="../../../images/dot.gif" width="500" height="1" alt="dot.gif">
</td>
</tr>
</table>
<span class="created_date"> <!--%c--> </span>
<br>
<br>
<!--%1-->
<br>
<br>
<!--%2-->
<!--%3-->
<!--%4-->
<div align="center">
<center>
<table border="0">
<tr>
<td width="50"><a href="../../../"><img border="0" src="../../../images/home.gif" width="24" height="23" alt="home.gif"></a></td>
<td width="50"><a href="../"><img border="0" src="../../../images/up.gif" width="24" height="23" alt="up.gif"></a></td>
</tr>
</table>
</center>
</div>
<br>
<!--%h-->
</body>
</html>

View File

@@ -0,0 +1,45 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><!--%s--></title>
<!--%m-->
<link rel="stylesheet" href="../../library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<a href="../"><img src="../../images/isoqlog.gif" border="0" alt="&lt;--"></a>
<br>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="400"> <span class="domains"> <!--%d--> </span>
<span class="header"> <!--%s--> </span></td>
</tr>
<tr>
<td width="100" height="1">
<img src="../../images/dot.gif" width="500" height="1" alt="dot.gif">
</td>
</tr>
</table>
<span class="created_date"> <!--%c--> </span>
<br>
<br>
<!--%1-->
<br>
<br>
<!--%2-->
<!--%3-->
<!--%4-->
<div align="center">
<center>
<table border="0">
<tr>
<td width="50"><a href="../../"><img border="0" src="../../images/home.gif" width="24" height="23" alt="home.gif"></a></td>
<td width="50"><a href="../"><img border="0" src="../../images/up.gif" width="24" height="23" alt="up.gif"></a></td>
</tr>
</table>
</center>
</div>
<br>
<!--%h-->
</body>
</html>

View File

@@ -0,0 +1,11 @@
## Process this file with automake to produce Makefile.in
## Created by Ozkan KIRIK
isoqlog_htmltemp_imagesdir = ${prefix}/share/isoqlog/htmltemp/images
isoqlog_htmltemp_images_DATA = dot.gif \
home.gif \
isoqlog.gif \
pk.gif \
up.gif
EXTRA_DIST = $(isoqlog_htmltemp_images_DATA)

View File

@@ -0,0 +1,225 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
isoqlog_htmltemp_imagesdir = ${prefix}/share/isoqlog/htmltemp/images
isoqlog_htmltemp_images_DATA = dot.gif \
home.gif \
isoqlog.gif \
pk.gif \
up.gif
EXTRA_DIST = $(isoqlog_htmltemp_images_DATA)
subdir = data/htmltemp/images
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/isoqlog/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DATA = $(isoqlog_htmltemp_images_DATA)
DIST_COMMON = Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu data/htmltemp/images/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
uninstall-info-am:
install-isoqlog_htmltemp_imagesDATA: $(isoqlog_htmltemp_images_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(isoqlog_htmltemp_imagesdir)
@list='$(isoqlog_htmltemp_images_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_htmltemp_imagesdir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_htmltemp_imagesdir)/$$f; \
done
uninstall-isoqlog_htmltemp_imagesDATA:
@$(NORMAL_UNINSTALL)
@list='$(isoqlog_htmltemp_images_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(isoqlog_htmltemp_imagesdir)/$$f"; \
rm -f $(DESTDIR)$(isoqlog_htmltemp_imagesdir)/$$f; \
done
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(isoqlog_htmltemp_imagesdir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-isoqlog_htmltemp_imagesDATA
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-isoqlog_htmltemp_imagesDATA
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am \
install-isoqlog_htmltemp_imagesDATA install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
uninstall uninstall-am uninstall-info-am \
uninstall-isoqlog_htmltemp_imagesDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

BIN
root/data/htmltemp/images/dot.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
root/data/htmltemp/images/pk.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

BIN
root/data/htmltemp/images/up.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

23
root/data/htmltemp/index.html Executable file
View File

@@ -0,0 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Isoqlog MTA Log Analyzer</title>
<!--%m-->
<link rel="stylesheet" href="library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<span class="created_date">
<!--%c-->
</span>
<!--%1-->
<br>
<br>
<br>
<!--%2-->
<br>
<br>
<!--%3-->
<br>
<!--%h-->
</body>
</html>

View File

@@ -0,0 +1,7 @@
## Process this file with automake to produce Makefile.in
## Created by Ozkan KIRIK
isoqlog_htmltemp_libdir = ${prefix}/share/isoqlog/htmltemp/library
isoqlog_htmltemp_lib_DATA = isoqlog.css
EXTRA_DIST = $(isoqlog_htmltemp_lib_DATA)

View File

@@ -0,0 +1,220 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
isoqlog_htmltemp_libdir = ${prefix}/share/isoqlog/htmltemp/library
isoqlog_htmltemp_lib_DATA = isoqlog.css
EXTRA_DIST = $(isoqlog_htmltemp_lib_DATA)
subdir = data/htmltemp/library
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/isoqlog/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DATA = $(isoqlog_htmltemp_lib_DATA)
DIST_COMMON = Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu data/htmltemp/library/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
uninstall-info-am:
install-isoqlog_htmltemp_libDATA: $(isoqlog_htmltemp_lib_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(isoqlog_htmltemp_libdir)
@list='$(isoqlog_htmltemp_lib_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_htmltemp_libdir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_htmltemp_libdir)/$$f; \
done
uninstall-isoqlog_htmltemp_libDATA:
@$(NORMAL_UNINSTALL)
@list='$(isoqlog_htmltemp_lib_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(isoqlog_htmltemp_libdir)/$$f"; \
rm -f $(DESTDIR)$(isoqlog_htmltemp_libdir)/$$f; \
done
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(isoqlog_htmltemp_libdir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-isoqlog_htmltemp_libDATA
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-isoqlog_htmltemp_libDATA
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am \
install-isoqlog_htmltemp_libDATA install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
uninstall uninstall-am uninstall-info-am \
uninstall-isoqlog_htmltemp_libDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -0,0 +1,11 @@
.table_header { font-family: "Courier New", Courier, mono; font-size: 12pt; font-weight: bold; color: #CC3333; text-decoration: none; background-color: #E9E9E9}
.header { font-family: "Times New Roman", Times, serif; font-size: 15pt; color: #336633}
.table_data { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: #000000; text-decoration: none}
.table_data_mon { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; color: #339966; text-decoration: underline}
.table_data_day { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; color: #339966; text-decoration: underline }
.table_data_total { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: #000000; text-decoration: none ; font-weight: bold}
.table_foother { font-family: "Courier New", Courier, mono; font-size: 12pt; font-weight: bold; color: #CC3333; text-decoration: none; background-color: #E9E9E9 }
.table_top_header { font-family: "Courier New", Courier, mono; font-size: 14pt; font-weight: bold; color: #0000CC; text-decoration: none; background-color: #E9E9E9 }
.created_date { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; font-style: italic; color: #999999}
.domains { font-family: Georgia, "Times New Roman", Times, serif; font-size: 15pt; color: #990000; text-decoration: none }

45
root/data/htmltemp/monthly.html Executable file
View File

@@ -0,0 +1,45 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><!--%s--></title>
<!--%m-->
<link rel="stylesheet" href="../../../library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<a href="../"><img src="../../../images/isoqlog.gif" border="0" alt="&lt;--"></a>
<br>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="400"> <span class="domains"> <!--%d--> </span>
<span class="header"> <!--%s--> </span></td>
</tr>
<tr>
<td width="100" height="1">
<img src="../../../images/dot.gif" width="500" height="1" alt="dot.gif">
</td>
</tr>
</table>
<span class="created_date"> <!--%c--> </span>
<br>
<br>
<!--%1-->
<br>
<br>
<!--%2-->
<!--%3-->
<!--%4-->
<div align="center">
<center>
<table border="0">
<tr>
<td width="50"><a href="../../../"><img border="0" src="../../../images/home.gif" width="24" height="23" alt="home.gif"></a></td>
<td width="50"><a href="../"><img border="0" src="../../../images/up.gif" width="24" height="23" alt="up.gif"></a></td>
</tr>
</table>
</center>
</div>
<br>
<!--%h-->
</body>
</html>

45
root/data/htmltemp/yearly.html Executable file
View File

@@ -0,0 +1,45 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><!--%s--></title>
<!--%m-->
<link rel="stylesheet" href="../../library/isoqlog.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<a href="../"><img src="../../images/isoqlog.gif" border="0" alt="&lt;--"></a>
<br>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="400"> <span class="domains"> <!--%d--> </span>
<span class="header"> <!--%s--> </span></td>
</tr>
<tr>
<td width="100" height="1">
<img src="../../images/dot.gif" width="500" height="1" alt="dot.gif">
</td>
</tr>
</table>
<span class="created_date"> <!--%c--> </span>
<br>
<br>
<!--%1-->
<br>
<br>
<!--%2-->
<!--%3-->
<!--%4-->
<div align="center">
<center>
<table border="0">
<tr>
<td width="50"><a href="../../"><img border="0" src="../../images/home.gif" width="24" height="23" alt="home.gif"></a></td>
<td width="50"><a href="../"><img border="0" src="../../images/up.gif" width="24" height="23" alt="up.gif"></a></td>
</tr>
</table>
</center>
</div>
<br>
<!--%h-->
</body>
</html>

View File

@@ -0,0 +1,17 @@
#isoqlog Configuration file
logtype = "qmail-multilog" # log type qmai-multilog, qmail-syslog, sendmail, postfix
logstore = "/var/log/qmail" #
domainsfile = "@prefix@/etc/isoqlog.domains" #
outputdir = "/var/www/html/isoqlog" # html output directory
htmldir = "@prefix@/share/isoqlog/htmltemp"
langfile = "@prefix@/share/isoqlog/lang/english"
hostname = "enderunix.org"
maxsender = 100
maxreceiver = 100
maxtotal = 100
maxbyte = 100

View File

@@ -0,0 +1,2 @@
domain1.com
domain2.com

7
root/data/lang/Makefile.am Executable file
View File

@@ -0,0 +1,7 @@
## Process this file with automake to produce Makefile.in
## Created by Ozkan KIRIK
isoqlog_langdir = ${prefix}/share/isoqlog/lang
isoqlog_lang_DATA = turkish swedish spanish russian portuguese polish dutch english finnish french german italian norwegian czech romana bulgarian danish
EXTRA_DIST = $(isoqlog_lang_DATA)

220
root/data/lang/Makefile.in Normal file
View File

@@ -0,0 +1,220 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
isoqlog_langdir = ${prefix}/share/isoqlog/lang
isoqlog_lang_DATA = turkish swedish spanish russian portuguese polish dutch english finnish french german italian norwegian czech romana bulgarian danish
EXTRA_DIST = $(isoqlog_lang_DATA)
subdir = data/lang
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/isoqlog/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DATA = $(isoqlog_lang_DATA)
DIST_COMMON = Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu data/lang/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
uninstall-info-am:
install-isoqlog_langDATA: $(isoqlog_lang_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(isoqlog_langdir)
@list='$(isoqlog_lang_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_langdir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(isoqlog_langdir)/$$f; \
done
uninstall-isoqlog_langDATA:
@$(NORMAL_UNINSTALL)
@list='$(isoqlog_lang_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(isoqlog_langdir)/$$f"; \
rm -f $(DESTDIR)$(isoqlog_langdir)/$$f; \
done
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(isoqlog_langdir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-isoqlog_langDATA
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-isoqlog_langDATA
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am \
install-isoqlog_langDATA install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
uninstall uninstall-am uninstall-info-am \
uninstall-isoqlog_langDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

21
root/data/lang/bulgarian Executable file
View File

@@ -0,0 +1,21 @@
L_Average = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Creationtime = "<22><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Daily = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Day = "<22><><EFBFBD>"
L_Domain = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Encoding = " "
L_Mail = "<22><><EFBFBD><EFBFBD>"
L_Main_Page = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Month = "<22><><EFBFBD><EFBFBD><EFBFBD>"
L_Monthly = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Number = "<22><><EFBFBD><EFBFBD><EFBFBD>"
L_Received = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Receiver = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Sender = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Sent = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Size = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Stats = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Top = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Total = "<22><><EFBFBD><EFBFBD>"
L_Year = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Yearly = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"

21
root/data/lang/czech Executable file
View File

@@ -0,0 +1,21 @@
L_Average = "Pr<50>m<EFBFBD>r"
L_Creationtime = "<22>as vytvo<76>en<65>"
L_Daily = "Denn<6E>"
L_Day = "Den"
L_Domain = "Dom<6F>na"
L_Encoding = "iso-8859-2"
L_Mail = "Mail"
L_Main_Page = "Hlavn<76>"
L_Month = "M<>s<EFBFBD>c"
L_Monthly = "M<>s<EFBFBD><73>n<EFBFBD>"
L_Number = "<22><>slo"
L_Received = "P<>ijato"
L_Receiver = "P<><50>jemce"
L_Sender = "Odes<65>latel"
L_Sent = "Posl<73>no"
L_Size = "Velikost"
L_Stats = "Statistika"
L_Top = "Horn<72>ch"
L_Total = "Celkem"
L_Year = "Rok"
L_Yearly = "Ro<52>n<EFBFBD>"

24
root/data/lang/danish Executable file
View File

@@ -0,0 +1,24 @@
# Danish translation by "Christian Kurek" <archdandy at spar-es dot dk>
# $Id: danish,v 1.1 2004/09/22 16:56:34 ozkan Exp $
L_Average = "Gennemsnit"
L_Creationtime = "Fremstillingstidspunkt"
L_Daily = "Daglig"
L_Day = "Dag"
L_Domain = "Dom&aelig;ne"
L_Encoding = "iso-8859-1"
L_Mail = "Post"
L_Main_Page = "Forside"
L_Month = "M&aring;ned"
L_Monthly = "M&aring;nedlig"
L_Number = "Antal"
L_Received = "Modtaget"
L_Receiver = "Modtager"
L_Sender = "Afsender"
L_Sent = "Afsendt"
L_Size = "St&oslash;rrelse"
L_Stats = "Statistik"
L_Top = "Top"
L_Total = "Totalt"
L_Year = "&Aring;r"
L_Yearly = "&Aring;rligt"

22
root/data/lang/dutch Executable file
View File

@@ -0,0 +1,22 @@
#Contributed by Kobe Lenjou" <kobe@publinet.be>
L_Average = "Average"
L_Creationtime = "Creation Time"
L_Daily = "Dagelijks"
L_Day = "Dag"
L_Domain = "Domein"
L_Encoding = "iso-8859-1"
L_Mail = "Mail"
L_Main_Page = "Hoofdpagina"
L_Month = "Maand"
L_Monthly = "Maandelijks"
L_Number = "Nummer"
L_Received = "ontvangen"
L_Receiver = "Ontvanger"
L_Sender = "Afzender"
L_Sent = "Verstuurd"
L_Size = "Size"
L_Stats = "Statistieken"
L_Top = "Top"
L_Total = "Total"
L_Yearly = "Yearly"
L_Year = "Year"

21
root/data/lang/english Executable file
View File

@@ -0,0 +1,21 @@
L_Average = "Average"
L_Creationtime = "Creation Time"
L_Daily = "Daily"
L_Day = "Day"
L_Domain = "Domain"
L_Encoding = "iso-8859-1"
L_Mail = "Mail"
L_Main_Page = "Main"
L_Month = "Month"
L_Monthly = "Monthly"
L_Number = "Number"
L_Received = "Received"
L_Receiver = "Receiver"
L_Sender = "Sender"
L_Sent = "Sent"
L_Size = "Size"
L_Stats = "Statistics"
L_Top = "Top"
L_Total = "Total"
L_Year = "Year"
L_Yearly = "Yearly"

21
root/data/lang/finnish Executable file
View File

@@ -0,0 +1,21 @@
L_Average = "keskim<69><6D>rin"
L_Creationtime = "luotu"
L_Daily = "p<>ivitt<74>inen"
L_Day = "p<>iv<69>"
L_Domain = "domain"
L_Encoding = "iso-8859-4"
L_Mail = "s<>hk<68>posti"
L_Main_Page = "p<><70>sivu"
L_Month = "kuukausi"
L_Monthly = "kuukausittainen"
L_Number = "kpl"
L_Received = "vastaanotettu"
L_Receiver = "vastaanottaja"
L_Sender = "l<>hett<74>j<EFBFBD>"
L_Sent = "l<>hetetty"
L_Size = "viestin koko"
L_Stats = "tilasto"
L_Top = "Top"
L_Total = "yhteens<6E>"
L_Year = "vuosi"
L_Yearly = "vuosittainen"

22
root/data/lang/french Executable file
View File

@@ -0,0 +1,22 @@
#Submitted by "Olivier Fredj" <ofredj@cw.com>
L_Average = "Moyenne"
L_Creationtime = "Date de cr<63>ation"
L_Daily = "Par jour"
L_Day = "Jour"
L_Domain = "Domaine"
L_Encoding = " "
L_Mail = "Courrier"
L_Main_Page = "Page principale"
L_Month = "Mois"
L_Monthly = "Mensuel"
L_Number = "Nombre"
L_Received = "Re<52>us"
L_Receiver = "Destinataire"
L_Sender = "Envoyeur"
L_Sent = "Envoy<6F>"
L_Size = "Taille"
L_Stats = "Statistiques"
L_Top = "Top"
L_Total = "Total"
L_Yearly = "Annuel"
L_Year = "Ann<6E>e"

25
root/data/lang/german Executable file
View File

@@ -0,0 +1,25 @@
##Thanks to
#Clemens Hermann <haribeau@gmx.de>
# Edson Lima Monteiro <boni@usp.br>
# fixes by Andreas Rust <rust@webnova.de>
L_Average = "Durchschnitt"
L_Creationtime = "Erstellungsdatum"
L_Daily = "T&auml;glich"
L_Day = "Tag"
L_Domain = "Domain"
L_Encoding = "iso-8859-1"
L_Mail = "Mail"
L_Main_Page = "Startseite"
L_Month = "Monat"
L_Monthly = "Monatlich"
L_Number = "Number"
L_Received = "empfangen"
L_Receiver = "Empf&auml;nger"
L_Sender = "Absender"
L_Sent = "versandt"
L_Size = "Gr&ouml;sse"
L_Stats = "Statistiken"
L_Top = "Top"
L_Total = "Gesamt"
L_Yearly = "Jahres"
L_Year = "Jahr"

22
root/data/lang/italian Executable file
View File

@@ -0,0 +1,22 @@
#Provided by Antonio <sirjohn@supereva.it>
L_Average = "Media"
L_Creationtime = "Data di Creazione"
L_Daily = "Giornaliero"
L_Day = "Giorno"
L_Domain = "Dominio"
L_Encoding = "iso-8859-1"
L_Mail = "Mail"
L_Main_Page = "Pagina principale"
L_Monthly = "Mensile"
L_Month = "Mese"
L_Number = "Numero"
L_Received = "Ricevuti"
L_Receiver = "Destinatario"
L_Sender = "Mittente"
L_Sent = "Spediti"
L_Size = "Dimensione"
L_Stats = "Statistiche"
L_Top = "Top"
L_Total = "Totale"
L_Year = "Anno"
L_Yearly = "Annuale"

22
root/data/lang/norwegian Executable file
View File

@@ -0,0 +1,22 @@
# by JAN STEINAR HANSEN
L_Average = "Average"
L_Creationtime = "Creation Time"
L_Daily = "Daglig"
L_Day = "Dag"
L_Domain = "Domene"
L_Encoding = "iso-8859-1"
L_Mail = "E-post"
L_Main_Page = "Hovedside"
L_Month = "M<>ned"
L_Monthly = "M<>nedlig"
L_Number = "Number"
L_Received = "Received"
L_Receiver = "Receiver"
L_Sender = "Sender"
L_Sent = "Sent"
L_Size = "Size"
L_Stats = "Statistikk"
L_Top = "Topp"
L_Total = "Totalt"
L_Yearly = "Yearly"
L_Year = "Year"

23
root/data/lang/polish Executable file
View File

@@ -0,0 +1,23 @@
# Thanks to Maciej Gruszczynski <maciek@mgt.pl>
# Komputerowa Siec Osiedlowa <http://www.kso.mgt.pl>
L_Average = "Average"
L_Creationtime = "Creation Time"
L_Daily = "Daily"
L_Day = "Dzie<69>"
L_Domain = "Domena"
L_Encoding = "iso-8859-2"
L_Mail = "poczta"
L_Main_Page = "G<><47>wna"
L_Month = "Month"
L_Monthly = "Miesi<73>cznie"
L_Number = "Number"
L_Received = "Received"
L_Receiver = "Receiver"
L_Sender = "Sender"
L_Sent = "Sent"
L_Size = "Size"
L_Stats = "Statystyki"
L_Top = = "Najwi<77>cej"
L_Total = "W sumie"
L_Yearly = "Yearly"
L_Year = "Year"

22
root/data/lang/portuguese Executable file
View File

@@ -0,0 +1,22 @@
#Translation by Alexei Znamensky <russoz@uol.com.br>
L_Average = "M&eacute;dia"
L_Creationtime = "Gerado em"
L_Daily = "Di&aacute;rio"
L_Day = "Dia"
L_Domain = "Dom&iacute;nio"
L_Encoding = "iso-8859-2"
L_Mail = "Mensagem"
L_Main_Page = "P&aacute;gina Principal"
L_Monthly = "Mensal"
L_Month = "M&ecirc;s"
L_Number = "N&uacute;mero"
L_Received = "Recebido"
L_Receiver = "Destinat&aacute;rio"
L_Sender = "Remetente"
L_Sent = "Enviado"
L_Size = "Tamanho"
L_Stats = "Estat&iacute;sticas"
L_Top = "Mais"
L_Total = "Total"
L_Yearly = "Anual"
L_Year = "Ano"

21
root/data/lang/romana Executable file
View File

@@ -0,0 +1,21 @@
L_Average = "Media"
L_Creationtime = "Ora generarii"
L_Daily = "Zilnic"
L_Day = "Ziua"
L_Domain = "Domeniul"
L_Encoding = "iso-8859-2"
L_Mail = "Mail"
L_Main_Page = "Meniu"
L_Month = "Luna"
L_Monthly = "Lunar"
L_Number = "Numar"
L_Received = "Primite"
L_Receiver = "Destinatar"
L_Sender = "Expeditor"
L_Sent = "Trimise"
L_Size = "Marime"
L_Stats = "Statistici"
L_Top = "Top"
L_Total = "Total"
L_Year = "An"
L_Yearly = "Anual"

23
root/data/lang/russian Executable file
View File

@@ -0,0 +1,23 @@
# Translated by Yuri A. Nosyrev aka Nua <nua@slavel.ru>
L_Average = "<22> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Creationtime = "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Daily = "<22><> <20><><EFBFBD><EFBFBD>"
L_Day = "<22><><EFBFBD><EFBFBD>"
L_Domain = "<22><><EFBFBD><EFBFBD><EFBFBD>"
L_Encoding = "koi8-r"
L_Mail = "<22><><EFBFBD><EFBFBD><EFBFBD>"
L_Main_Page = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Month = "<22><><EFBFBD><EFBFBD><EFBFBD>"
L_Monthly = "<22><> <20><><EFBFBD><EFBFBD><EFBFBD>"
L_Number = "<22><><EFBFBD><EFBFBD><EFBFBD>"
L_Received = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Receiver = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Sender = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Sent = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Size = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Stats = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
L_Top = "<22><><EFBFBD>"
L_Total = "<22><><EFBFBD><EFBFBD><EFBFBD>"
L_Year = "<22><><EFBFBD>"
L_Yearly = "<22><> <20><><EFBFBD>"

22
root/data/lang/spanish Executable file
View File

@@ -0,0 +1,22 @@
#Submitted by Pedro Capiscol <pedro@linuxauen.net>
L_Average = "Promedio"
L_Creationtime = "Momento de la creaci<63>n"
L_Daily = "Diario"
L_Day = "Dia"
L_Domain = "Dominio"
L_Encoding = "ISO-8859-1"
L_Mail = "Correo"
L_Main_Page = "P<>gina"
L_Month = "Mes"
L_Monthly = "Mensual"
L_Number = "N<>mero"
L_Received = "Recibido"
L_Receiver = "Receptor"
L_Sender = "Remitente"
L_Sent = "Enviado"
L_Size = "Tama<6D>o"
L_Stats = "Estad<61>sticas"
L_Top = "Top"
L_Total = "Total"
L_Yearly = "Anual"
L_Year = "A<>o"

22
root/data/lang/swedish Executable file
View File

@@ -0,0 +1,22 @@
# Thanks to Oden Eriksson <oden.eriksson@kvikkjokk.net>
L_Average = "Average"
L_Creationtime = "Creation Time"
L_Daily = "Daily"
L_Day = "Dag"
L_Domain = "Dom<6F>n"
L_Encoding = "iso-8859-1"
L_Mail = "Epost"
L_Main_Page = "Huvudsidan"
L_Month = "Month"
L_Monthly = "M<>natlig"
L_Number = "Number"
L_Received = "Mottaget"
L_Receiver = "Mottagare"
L_Sender = "Avs<76>ndare"
L_Sent = "Skickade"
L_Size = "Size"
L_Stats = "Statistik"
L_Top = "Topp"
L_Total = "Total"
L_Yearly = "Yearly"
L_Year = "Year"

21
root/data/lang/turkish Executable file
View File

@@ -0,0 +1,21 @@
L_Average = "Ortalama"
L_Creationtime = "Olu<6C>turma Tarihi"
L_Daily = "G<>nl<6E>k"
L_Day = "G<>n"
L_Domain = "Domain"
L_Encoding = "iso-8859-9"
L_Mail = "E-Posta"
L_Main_Page = "Ana Sayfa"
L_Month = "Ay"
L_Monthly = "Ayl<79>k"
L_Number = "Adet"
L_Received = "Al<41>nan"
L_Receiver = "Al<41>c<EFBFBD>"
L_Sender = "G<>nderen"
L_Sent = "G<>nderilen"
L_Size = "Boyut"
L_Stats = "<22>statistikler"
L_Top = "Top"
L_Total = "Toplam"
L_Year = "Y<>l"
L_Yearly = "Y<>ll<6C>k"

411
root/depcomp Executable file
View File

@@ -0,0 +1,411 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. This file always lives in the current directory.
# Also, the AIX compiler puts `$object:' at the start of each line;
# $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 AIX compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
tmpdepfile1="$object.d"
tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'`
if test "$libtool" = yes; then
"$@" -Wc,-MD
else
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a space and a tab in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
test -z "$dashmflag" && dashmflag=-M
( IFS=" "
case " $* " in
*" --mode=compile "*) # this is libtool, let us make it quiet
for arg
do # cycle over the arguments
case "$arg" in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
"$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
# X makedepend
(
shift
cleared=no
for arg in "$@"; do
case $cleared in no)
set ""; shift
cleared=yes
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift;;
-*)
;;
*)
set fnord "$@" "$arg"; shift;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tail +3 "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
( IFS=" "
case " $* " in
*" --mode=compile "*)
for arg
do # cycle over the arguments
case $arg in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
( IFS=" "
case " $* " in
*" --mode=compile "*)
for arg
do # cycle over the arguments
case $arg in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0

251
root/install-sh Executable file
View File

@@ -0,0 +1,251 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0

608
root/isoqlog/Data.c Executable file
View File

@@ -0,0 +1,608 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <errno.h>
#include "Data.h"
unsigned int hash(char *str)
{
unsigned int h;
unsigned char *p;
h = 0;
for (p = (unsigned char *)str; *p != '\0'; p++)
h = MULTIPLIER * h + *p;
return h % MAXUSERS;
}
int addDomain(char *d)
{
domain *dm;
int i;
/* Check whether this domain was added before */
for (i = 0; i < DomainsTab.nval; i++)
if (strncmp(DomainsTab.alldomains[i].domain, d, DOMAINSIZ) == 0)
return -1;
if (DomainsTab.alldomains == NULL) {
dm = (domain *)malloc(NVINIT * sizeof(domain));
if (dm == NULL)
return -1;
DomainsTab.max = NVINIT;
DomainsTab.nval = 0;
DomainsTab.alldomains = dm;
} else
if (DomainsTab.nval >= DomainsTab.max) {
dm = (domain *)realloc(DomainsTab.alldomains,
(NVGROW * DomainsTab.max) * sizeof(domain));
if (dm == NULL)
return -1;
DomainsTab.max *= NVGROW;
DomainsTab.alldomains = dm;
}
strncpy(DomainsTab.alldomains[DomainsTab.nval].domain, d, DOMAINSIZ);
/* Initializing domain users hash array to NULL, initializing domain stats */
for (i = 0; i < MAXUSERS; i++)
DomainsTab.alldomains[DomainsTab.nval].users[i] = NULL;
DomainsTab.alldomains[DomainsTab.nval].from_cnt = 0;
DomainsTab.alldomains[DomainsTab.nval].from_byte = 0;
DomainsTab.alldomains[DomainsTab.nval].to_cnt = 0;
return DomainsTab.nval++;
}
void checkUserInGeneral(char *m, int d, double b)
{
int h;
user *p;
globuser *gl;
h = hash(m);
for (gl = globusers[h]; gl != NULL; gl = gl->next) {
if (strncmp(gl->u->user, m, USERSIZ) == 0) {
if (d == FROM_MAIL) {
gl->u->from_cnt++;
gl->u->from_byte += b;
} else
gl->u->to_cnt++;
}
return;
}
gl = (globuser *)malloc(sizeof(globuser));
p = (user *)malloc(sizeof(user));
strncpy(p->user, m, USERSIZ);
if (d == FROM_MAIL) {
p->from_cnt = 1;
p->to_cnt = 0;
p->from_byte = b;
} else {
p->from_cnt = 0;
p->to_cnt = 1;
p->from_byte = 0;
}
gl->u = p;
gl->next = globusers[h];
globusers[h] = gl;
return;
}
void checkUserPtrInGeneral(user *p)
{
int h;
globuser *gl;
gl = (globuser *)malloc(sizeof(globuser));
gl->u = p;
h = hash(p->user);
gl->next = globusers[h];
globusers[h] = gl;
return;
}
void checkUser(char *dmn, char *m, int d, double byte)
{
int tmpnval;
int h, i;
user *sym = NULL;
tmpnval = -1;
for (i = 0; i < DomainsTab.nval; i++)
if (strncmp(DomainsTab.alldomains[i].domain, dmn, DOMAINSIZ) == 0) {
tmpnval = i;
break;
}
/* If user's domain is not in our domains list,
* we only add it to general users tab */
if (tmpnval == -1) {
checkUserInGeneral(m, d, byte);
return;
}
h = hash(m);
for (sym = DomainsTab.alldomains[tmpnval].users[h]; sym != NULL; sym = sym->next) {
if (strncmp(sym->user, m, USERSIZ) == 0) {
if (d == FROM_MAIL) {
sym->from_cnt++;
sym->from_byte += byte;
DomainsTab.alldomains[tmpnval].from_cnt++;
DomainsTab.alldomains[tmpnval].from_byte += byte;
} else {
sym->to_cnt++;
DomainsTab.alldomains[tmpnval].to_cnt++;
}
return;
}
}
sym = (user *)malloc(sizeof(user));
strncpy(sym->user, m, USERSIZ);
if (d == FROM_MAIL) {
sym->from_cnt = 1;
sym->from_byte = byte;
sym->to_cnt = 0;
DomainsTab.alldomains[tmpnval].from_cnt++;
DomainsTab.alldomains[tmpnval].from_byte += byte;
} else {
sym->from_cnt = 0;
sym->from_byte = 0;
sym->to_cnt = 1;
DomainsTab.alldomains[tmpnval].to_cnt++;
}
sym->next = DomainsTab.alldomains[tmpnval].users[h];
DomainsTab.alldomains[tmpnval].users[h] = sym;
checkUserPtrInGeneral(sym);
return;
}
void freeSortDomainTab()
{
free(SortDomain.allusers);
SortDomain.nval = 0;
SortDomain.max = 0;
SortDomain.allusers = 0x0;
}
int addUserToSortTab(user *usr)
{
int *u;
if (SortDomain.allusers == NULL) { /* first time */
SortDomain.allusers = (int *)malloc(NVINIT * sizeof(int *));
if (SortDomain.allusers == NULL)
return -1;
SortDomain.max = NVINIT;
SortDomain.nval = 0;
} else
if (SortDomain.nval >= SortDomain.max) { /* growing....*/
u = (int *)realloc(SortDomain.allusers,
(NVGROW * SortDomain.max) * sizeof(int *));
if (u == NULL)
return -1;
SortDomain.max *= NVGROW;
SortDomain.allusers = u;
}
SortDomain.allusers[SortDomain.nval] = (int)usr;
return SortDomain.nval++;
}
void sortDomainUsersFrom(char *domain)
{
int tmpnval, i, j, max, tmp;
struct domain *domainptr;
struct user *sym;
struct user *tmp1, *tmp2;
tmpnval = -1;
for (i = 0; i < DomainsTab.nval; i++)
if (strncmp(DomainsTab.alldomains[i].domain, domain, DOMAINSIZ) == 0) {
tmpnval = i;
break;
}
domainptr = (struct domain *)&DomainsTab.alldomains[i];
for (i = 0; i < MAXUSERS; i++) {
for (sym = domainptr->users[i]; sym != NULL; sym = sym->next)
addUserToSortTab(sym);
}
for (i = 0; i < SortDomain.nval; i++) {
max = i;
for (j = i+1; j <= SortDomain.nval - 1; j++) {
tmp1 = (user *)(SortDomain.allusers[j]);
tmp2 = (user *)(SortDomain.allusers[max]);
if (tmp1 != NULL && tmp2 != NULL)
if (tmp1->from_cnt > tmp2->from_cnt)
max = j;
}
tmp = SortDomain.allusers[i];
SortDomain.allusers[i] = SortDomain.allusers[max];
SortDomain.allusers[max] = tmp;
}
}
void sortDomainUsersTo(char *domain)
{
int tmpnval, i, j, max, tmp;
struct domain *domainptr;
struct user *sym;
struct user *tmp1, *tmp2;
tmpnval = -1;
for (i = 0; i < DomainsTab.nval; i++)
if (strcasecmp(DomainsTab.alldomains[i].domain, domain) == 0) {
tmpnval = i;
break;
}
domainptr = (struct domain *)&DomainsTab.alldomains[i];
for (i = 0; i < MAXUSERS; i++) {
for (sym = domainptr->users[i]; sym != NULL; sym = sym->next)
addUserToSortTab(sym);
}
for (i = 0; i < SortDomain.nval; i++) {
max = i;
for (j = i+1; j <= SortDomain.nval - 1; j++) {
tmp1 = (user *)(SortDomain.allusers[j]);
tmp2 = (user *)(SortDomain.allusers[max]);
if (tmp1 != NULL && tmp2 != NULL)
if (tmp1->to_cnt > tmp2->to_cnt)
max = j;
}
tmp = SortDomain.allusers[i];
SortDomain.allusers[i] = SortDomain.allusers[max];
SortDomain.allusers[max] = tmp;
}
}
void sortDomainUsersTotal(char *domain)
{
int tmpnval, i, j, max, tmp;
struct domain *domainptr;
struct user *sym;
struct user *tmp1, *tmp2;
tmpnval = -1;
for (i = 0; i < DomainsTab.nval; i++)
if (strcasecmp(DomainsTab.alldomains[i].domain, domain) == 0) {
tmpnval = i;
break;
}
domainptr = (struct domain *)&DomainsTab.alldomains[i];
for (i = 0; i < MAXUSERS; i++) {
for (sym = domainptr->users[i]; sym != NULL; sym = sym->next)
addUserToSortTab(sym);
}
for (i = 0; i < SortDomain.nval; i++) {
max = i;
for (j = i+1; j <= SortDomain.nval - 1; j++) {
tmp1 = (user *)(SortDomain.allusers[j]);
tmp2 = (user *)(SortDomain.allusers[max]);
if (tmp1 != NULL && tmp2 != NULL)
if ((tmp1->from_cnt + tmp1->to_cnt) > (tmp2->from_cnt + tmp2->to_cnt))
max = j;
}
tmp = SortDomain.allusers[i];
SortDomain.allusers[i] = SortDomain.allusers[max];
SortDomain.allusers[max] = tmp;
}
}
void sortDomainUsersByte(char *domain)
{
int tmpnval, i, j, max, tmp;
struct domain *domainptr;
struct user *sym;
struct user *tmp1, *tmp2;
tmpnval = -1;
for (i = 0; i < DomainsTab.nval; i++)
if (strncmp(DomainsTab.alldomains[i].domain, domain, DOMAINSIZ) == 0) {
tmpnval = i;
break;
}
domainptr = (struct domain *)&DomainsTab.alldomains[i];
for (i = 0; i < MAXUSERS; i++) {
for (sym = domainptr->users[i]; sym != NULL; sym = sym->next)
addUserToSortTab(sym);
}
for (i = 0; i < SortDomain.nval; i++) {
max = i;
for (j = i+1; j <= SortDomain.nval - 1; j++) {
tmp1 = (user *)(SortDomain.allusers[j]);
tmp2 = (user *)(SortDomain.allusers[max]);
if (tmp1 != NULL && tmp2 != NULL)
if (tmp1->from_byte > tmp2->from_byte)
max = j;
}
tmp = SortDomain.allusers[i];
SortDomain.allusers[i] = SortDomain.allusers[max];
SortDomain.allusers[max] = tmp;
}
}
void sortUsersFrom()
{
int i, j, max;
globuser *sym;
int tmp;
user *tmp1;
user *tmp2;
for (i = 0; i < MAXUSERS; i++)
for (sym = globusers[i]; sym != NULL; sym = sym->next)
addUserToSortTab(sym->u);
for (i = 0; i < SortDomain.nval; i++) {
max = i;
for (j = i+1; j <= SortDomain.nval - 1; j++) {
tmp1 = (user *)(SortDomain.allusers[j]);
tmp2 = (user *)(SortDomain.allusers[max]);
if (tmp1 != NULL && tmp2 != NULL)
if (tmp1->from_cnt > tmp2->from_cnt)
max = j;
}
tmp = SortDomain.allusers[i];
SortDomain.allusers[i] = SortDomain.allusers[max];
SortDomain.allusers[max] = tmp;
}
}
void sortUsersTo()
{
int i, j, max;
globuser *sym;
int tmp;
user *tmp1;
user *tmp2;
for (i = 0; i < MAXUSERS; i++)
for (sym = globusers[i]; sym != NULL; sym = sym->next)
addUserToSortTab(sym->u);
for (i = 0; i < SortDomain.nval; i++) {
max = i;
for (j = i+1; j <= SortDomain.nval - 1; j++) {
tmp1 = (user *)(SortDomain.allusers[j]);
tmp2 = (user *)(SortDomain.allusers[max]);
if (tmp1 != NULL && tmp2 != NULL)
if (tmp1->to_cnt > tmp2->to_cnt)
max = j;
}
tmp = SortDomain.allusers[i];
SortDomain.allusers[i] = SortDomain.allusers[max];
SortDomain.allusers[max] = tmp;
}
}
void sortUsersTotal()
{
int i, j, max;
globuser *sym;
int tmp;
user *tmp1;
user *tmp2;
for (i = 0; i < MAXUSERS; i++)
for (sym = globusers[i]; sym != NULL; sym = sym->next)
addUserToSortTab(sym->u);
for (i = 0; i < SortDomain.nval; i++) {
max = i;
for (j = i+1; j <= SortDomain.nval - 1; j++) {
tmp1 = (user *)(SortDomain.allusers[j]);
tmp2 = (user *)(SortDomain.allusers[max]);
if (tmp1 != NULL && tmp2 != NULL)
if ((tmp1->to_cnt + tmp1->from_cnt) > (tmp2->to_cnt + tmp2->from_cnt))
max = j;
}
tmp = SortDomain.allusers[i];
SortDomain.allusers[i] = SortDomain.allusers[max];
SortDomain.allusers[max] = tmp;
}
}
void sortUsersByte()
{
int i, j, max;
globuser *sym;
int tmp;
user *tmp1;
user *tmp2;
for (i = 0; i < MAXUSERS; i++)
for (sym = globusers[i]; sym != NULL; sym = sym->next)
addUserToSortTab(sym->u);
for (i = 0; i < SortDomain.nval; i++) {
max = i;
for (j = i+1; j <= SortDomain.nval - 1; j++) {
tmp1 = (user *)(SortDomain.allusers[j]);
tmp2 = (user *)(SortDomain.allusers[max]);
if (tmp1 != NULL && tmp2 != NULL)
if (tmp1->from_byte > tmp2->from_byte)
max = j;
}
tmp = SortDomain.allusers[i];
SortDomain.allusers[i] = SortDomain.allusers[max];
SortDomain.allusers[max] = tmp;
}
}
void sumTotalStats()
{
globuser *s;
int i;
general.from_cnt = 0;
general.to_cnt = 0;
general.from_byte = 0;
for (i = 0 ; i < MAXUSERS; i++)
for (s = globusers[i]; s != NULL; s = s->next) {
general.from_cnt += s->u->from_cnt;
general.to_cnt += s->u->to_cnt;
general.from_byte += s->u->from_byte;
}
}
void sortDomainsFrom()
{
domain tmp;
int i, j, max;
for (i = 0; i < DomainsTab.nval; i++) {
max = i;
for (j = i+1; j <= DomainsTab.nval - 1; j++) {
if (DomainsTab.alldomains[j].from_cnt > DomainsTab.alldomains[max].from_cnt)
max = j;
}
tmp = DomainsTab.alldomains[i];
DomainsTab.alldomains[i] = DomainsTab.alldomains[max];
DomainsTab.alldomains[max] = tmp;
}
}
void sortDomainsTo()
{
domain tmp;
int i, j, max;
for (i = 0; i < DomainsTab.nval; i++) {
max = i;
for (j = i+1; j <= DomainsTab.nval - 1; j++) {
if (DomainsTab.alldomains[j].to_cnt > DomainsTab.alldomains[max].to_cnt)
max = j;
}
tmp = DomainsTab.alldomains[i];
DomainsTab.alldomains[i] = DomainsTab.alldomains[max];
DomainsTab.alldomains[max] = tmp;
}
}
void sortDomainsTotal()
{
domain tmp;
int i, j, max;
for (i = 0; i < DomainsTab.nval; i++) {
max = i;
for (j = i+1; j <= DomainsTab.nval - 1; j++) {
if ((DomainsTab.alldomains[j].from_cnt + DomainsTab.alldomains[j].to_cnt) > (DomainsTab.alldomains[max].from_cnt + DomainsTab.alldomains[max].to_cnt))
max = j;
}
tmp = DomainsTab.alldomains[i];
DomainsTab.alldomains[i] = DomainsTab.alldomains[max];
DomainsTab.alldomains[max] = tmp;
}
}
void sortDomainsByte()
{
domain tmp;
int i, j, max;
for (i = 0; i < DomainsTab.nval; i++) {
max = i;
for (j = i+1; j <= DomainsTab.nval - 1; j++) {
if (DomainsTab.alldomains[j].from_byte > DomainsTab.alldomains[max].from_byte)
max = j;
}
tmp = DomainsTab.alldomains[i];
DomainsTab.alldomains[i] = DomainsTab.alldomains[max];
DomainsTab.alldomains[max] = tmp;
}
}
void printDomains()
{
int i;
if (DomainsTab.alldomains[0].domain == NULL)
return;
for (i = 0; i < DomainsTab.nval; i++)
printf("Domain: %s, From: %d, To: %d, Byte: %ld\n",
DomainsTab.alldomains[i].domain,
DomainsTab.alldomains[i].from_cnt,
DomainsTab.alldomains[i].to_cnt,
DomainsTab.alldomains[i].from_byte);
}
void printAllUsers()
{
/*
int i;
if (UsersTab.allusers == NULL)
return;
for (i = 0; i < UsersTab.nval; i++)
printf("User: %s, From: %d, To: %d, Byte: %ld\n",
((user *)UsersTab.allusers[i])->user,
((user *)UsersTab.allusers[i])->from_cnt,
((user *)UsersTab.allusers[i])->to_cnt,
((user *)UsersTab.allusers[i])->from_byte);
*/
}
void printDomainUsers(char *domain)
{
int tmpnval;
int i;
user *p;
tmpnval = -1;
for (i = 0; i < DomainsTab.nval; i++)
if (strncmp(DomainsTab.alldomains[i].domain, domain, DOMAINSIZ) == 0) {
tmpnval = i;
break;
}
if (tmpnval == -1)
return;
printf("Domain Index: %d\n", tmpnval);
for (i = 0; i < MAXUSERS; i++) {
for (p = DomainsTab.alldomains[tmpnval].users[i]; p != NULL; p = p->next)
printf("User: %s, From: %d, To: %d, Bytes: %ld\n",
p->user, p->from_cnt, p->to_cnt, p->from_byte);
}
}
void printSortDomain()
{
int i;
for (i = 0; i < SortDomain.nval; i++)
printf("User: %s, From: %d, To: %d, Byte: %ld\n",
((user *)SortDomain.allusers[i])->user,
((user *)SortDomain.allusers[i])->from_cnt,
((user *)SortDomain.allusers[i])->to_cnt,
((user *)SortDomain.allusers[i])->from_byte);
}

113
root/isoqlog/Data.h Executable file
View File

@@ -0,0 +1,113 @@
#ifndef DATA_H
#define DATA_H
enum {
DOMAINSIZ = 128,
USERSIZ = 256,
MAXUSERS = 5000,
MAXDOMAIN = 50,
NVINIT = 1,
NVGROW = 2,
MULTIPLIER = 31,
FROM_MAIL = 100,
TO_MAIL = 101
};
enum {
ERR_OVER_QUOTA = 0,
ERR_NO_MAILBOX = 1,
ERR_UNABLETO_CHDIR = 2,
ERR_SMTPCONN_FAILED = 3
};
/* Common Errors */
int errors[10];
typedef struct domain {
char domain[DOMAINSIZ];
int from_cnt;
int to_cnt;
double from_byte;
struct user *users[MAXUSERS];
} domain;
typedef struct user {
char user[USERSIZ];
int from_cnt;
int to_cnt;
double from_byte;
struct user *next;
} user;
typedef struct globuser {
user * u;
struct globuser * next;
} globuser;
domain *domains[MAXDOMAIN];
globuser * globusers[MAXUSERS];
/* Total Stats - Mail Server Stats */
domain general;
int addDomain(char *);
int addUserToSortTab(user *);
void checkUser(char *, char *, int, double);
void checkUserInGeneral(char *, int, double);
void checkUserPtrInGeneral(user *);
void processIncomingMail(char *, char *, int, double);
void processOutgoingMail(char *, char *, int);
void freeSortDomainTab();
/* After all, calculate total sent, received mails and total
* sent mail size */
void sumTotalStats();
/* "Selection" Sorts */
void sortDomainUsersFrom(char *);
void sortDomainUsersTo(char *);
void sortDomainUsersByte(char *);
void sortDomainUsersTotal(char *);
void sortDomainsFrom();
void sortDomainsTo();
void sortDomainsByte();
void sortDomainsTotal();
void sortUsersFrom();
void sortUsersTo();
void sortUsersByte();
void sortUsersTotal();
/* Output */
void printDomains();
void printAllUsers();
void printDomainUsers(char *);
void printSortDomain();
/* hash function */
unsigned int hash(char *);
struct DomainsTab {
int nval;
int max;
domain *alldomains;
} DomainsTab;
struct UsersTab {
int nval;
int max;
int *allusers;
} UsersTab;
struct SortDomain {
int nval;
int max;
int *allusers;
} SortDomain;
#endif

163
root/isoqlog/Dir.c Executable file
View File

@@ -0,0 +1,163 @@
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
#include "Dir.h"
#include "Parser.h"
extern int debug;
extern int cur_year, cur_month, cur_day;
extern char logstore[128];
/*open qmail-send log directory for qmail multilog format */
void
openlogdir(char *logdir)
{
DIR *dp = NULL;
struct dirent *dirp = NULL;
int fdate, ffirst = 0, state = 0;
char fname[128];
char *current = NULL;
if ((dp = opendir(logdir)) == NULL) {
printf("Can't open %s dir\n", logdir);
exit(-1);
}
printf("Current %d-%d-%d\n", cur_year, cur_month, cur_day);
/* we will call readdir twice, first is to find today's "first created file"
* Second is to find all other files that belong to today excep first created file
* we must find today's first created files, because this file may contains last day's log info and today
* so we should not process last day's log */
while((dirp = readdir(dp)) != NULL) { /* we are opening directory to find today's first created file */
if ((dirp->d_name[0] == '@')) {
if ((timeconvert(dirp->d_name, 128, cur_year, cur_month, cur_day, &fdate)) > 0 ) {
printf("today file: %.128s ", dirp->d_name);
printf("date %d : \n", fdate);
if(state == 0) {
ffirst = fdate;
strncpy(fname, dirp->d_name, 128);
state = 1;
}
else if(fdate < ffirst) {
ffirst = fdate;
strncpy(fname, dirp->d_name, 128);
}
}
}
}
if ((chdir(logdir)) == -1) {
fprintf(stderr, "chdir %s\n", strerror(errno));
exit(-1);
}
rewinddir(dp); /* rewind directory to read again all files */
while((dirp = readdir(dp)) != NULL) {
if (dirp->d_name[0] == '@'){
if ((timeconvert(dirp->d_name, 128, cur_year, cur_month, cur_day, &fdate)) > 0 ) {
if ((strncmp(fname, dirp->d_name, 128)) != 0) /* if this file is not our firts created file*/
readQmailLogFile(dirp->d_name); /* these files are between first create file and current */
}
}
}
closedir(dp);
if (ffirst != 0) /* if we have an file today*/
readSpecialLogFile(fname, cur_year, cur_month, cur_day);
if ((current = (char *)malloc((strlen(logstore) + 10) * sizeof(char))) == NULL)
return;
snprintf(current, VALSIZE + 24, "%s/current", logstore);
readSpecialLogFile(current, cur_year, cur_month, cur_day);
}
/*to convert multilog log format to human readable format */
int
timeconvert(char *p, int plen, int year, int month, int day, int *fdate)
{
int c;
unsigned long nanosecs;
unsigned long u;
time_t secs = 0;
struct tm *t;
p++;
while (((c = *p++) != ' ') && (c != '.') && (--plen > 0)) {
u = c - '0';
if (u >= 10) {
u = c - 'a';
if (u >= 6)
break;
u += 10;
}
secs <<= 4;
secs += nanosecs >> 28;
nanosecs &= 0xfffffff;
nanosecs <<= 4;
nanosecs += u;
}
secs -= 4611686018427387914ULL;
if ((t = localtime(&secs)) == NULL)
return -1;
if ((year == (t->tm_year +1900)) && (month == (t->tm_mon + 1))
&& (day == t->tm_mday )) {
/* if this file belongs to today, convert to it's created hour,
* minute to second and sum all of them */
/* therefore we can find the first created file in today */
*fdate = t->tm_hour * 3600 + t->tm_min * 60 + t->tm_sec;
return 1;
}
else
return -1;
}
void readSpecialLogFile(char *fn, int year, int month, int day)
{
FILE *fp = NULL;
char buf[1024];
int i = 0;
if ((fp = fopen(fn, "r")) == NULL) {
fprintf(stderr, "open file: %s %s\n", fn, strerror(errno));
exit(-1);
}
while ((fgets(buf, 1024, fp)) != NULL)
if ((timeconvert(buf, 1024, year, month, day, &i)) > 0) {
if ((strstr(buf, " from ")) != NULL)
parseQmailFromBytesLine(buf, strlen(buf));
else if ((strstr(buf, " to remote")) != NULL)
parseQmailToRemoteLine(buf, strlen(buf));
else if ((strstr(buf, " to local")) != NULL)
parseQmailToLocalLine(buf, strlen(buf));
}
fclose(fp);
}
void createdir(char *dir)
{
struct stat statbuf;
if ((stat(dir, &statbuf)) == 0) {
if (S_ISDIR(statbuf.st_mode) == 0) { /* if it is not a directory */
printf("dir: %s must be a directory\n", dir);
exit(-1);
}
}
else {
if (errno == ENOENT) { /* if dir is not exists */
if((mkdir(dir, DIR_MODE)) != 0){ /* try to create it */
fprintf(stderr, "Can't create directory : %s : %s\n", dir, strerror(errno));
exit(-1);
}
printf ("The Created directory : %s\n", dir);
}
}
}

17
root/isoqlog/Dir.h Executable file
View File

@@ -0,0 +1,17 @@
#ifndef DIR_H
#define DIR_H
#include "Global.h"
#define DIR_MODE 0755
int cur_year, cur_month, cur_day, cur_hour, cur_min, cur_sec;
void openlogdir(char *);
int timeconvert(char *, int, int, int, int, int *);
void readSpecialLogFile(char *fn, int year, int month, int day);
void createdir(char *);
#endif

23
root/isoqlog/Global.h Executable file
View File

@@ -0,0 +1,23 @@
#ifndef GLOBAL_H
#define GLOBAL_H
#include <time.h>
#define VERSION_STRING "EnderUNIX Isoqlog 2.2.1"
enum {
BUFSIZE = 1024,
KEYSIZE = 64,
VALSIZE = 256
};
time_t secs;
time_t today ;
struct tm *t2;
#endif

1769
root/isoqlog/Html.c Executable file

File diff suppressed because it is too large Load Diff

27
root/isoqlog/Html.h Executable file
View File

@@ -0,0 +1,27 @@
#ifndef HTML_H
#define HTML_H
#include "Data.h"
void addFooter(FILE *fp);
void putMetaTags(FILE *fp);
void createHtml();
void createIndexHtml(char *);
void createDailyHtml(char *, domain *);
void createMonthlyHtml(char *, char *);
void createYearlyHtml(char *, char *);
void createDomainHtml(char *, char *);
void createGeneralDailyHtml(char *);
void createGeneralMonthlyHtml(char *);
void createGeneralYearlyHtml(char *);
void createGeneralHtml(char *);
void getSizeStr(double, char *, double *);
#endif

165
root/isoqlog/LangCfg.c Executable file
View File

@@ -0,0 +1,165 @@
#include "LangCfg.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <ctype.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
void loadLang(char *langfile)
{
FILE *fd;
char buf[BUFSIZE];
char keyword[KEYSIZE];
char value[VALSIZE];
char *cp1, *cp2;
int lenbuf = 0;
char *variables[] = { "Invalid",
"L_Average",
"L_Creationtime",
"L_Daily",
"L_Day",
"L_Domain",
"L_Encoding",
"L_Mail",
"L_Main_Page",
"L_Month",
"L_Monthly",
"L_Number",
"L_Received",
"L_Receiver",
"L_Sender",
"L_Sent",
"L_Size",
"L_Stats",
"L_Top",
"L_Total",
"L_Year",
"L_Yearly"
};
int i, j, key, line, keyword_nums = sizeof(variables)/sizeof(char *);
if ((fd = fopen(langfile, "r")) == NULL) {
fprintf(stderr, "loadLang: cannot open language configuration file %s, exiting...\n", langfile);
exit(-1);
}
line = 0;
while ((fgets(buf, BUFSIZE, fd)) != NULL) {
line++;
if (buf[0] == '#')
continue;
if ((lenbuf = strlen(buf)) <= 1)
continue;
cp1 = buf;
cp2 = keyword;
j = 0;
while (isspace((int)*cp1) && (cp1 - buf) < lenbuf)
cp1++;
while (isgraph((int)*cp1) && (*cp1 != '=') && (j++ < KEYSIZE - 1) && (cp1 - buf) < lenbuf)
*cp2++ = *cp1++;
*cp2 = '\0';
cp2 = value;
while ((*cp1 != '\0') && (*cp1 !='\n') && (*cp1 !='=') && (cp1 - buf) < lenbuf)
cp1++;
cp1++;
while (isspace((int)*cp1) && (cp1 - buf) < lenbuf)
cp1++;
if (*cp1 == '"')
cp1++;
j = 0;
while ((*cp1 != '\0') && (*cp1 !='\n') && (*cp1 !='"') && (j++ < VALSIZE - 1) && (cp1 - buf) < lenbuf)
*cp2++ = *cp1++;
*cp2-- = '\0';
if (keyword[0] =='\0' || value[0] =='\0')
continue;
key = 0;
for (i = 0; i < keyword_nums; i++) {
if ((strcmp(keyword, variables[i])) == 0) {
key = i;
break;
}
}
switch(key) {
case 0:
fprintf(stderr, "Illegal Keyword: %s\n", keyword);
break;
case 1:
strncpy(L_Average, value, VALSIZE);
break;
case 2:
strncpy(L_Creationtime, value, VALSIZE);
break;
case 3:
strncpy(L_Daily, value, VALSIZE);
break;
case 4:
strncpy(L_Day, value, VALSIZE);
break;
case 5:
strncpy(L_Domain, value, VALSIZE);
break;
case 6:
strncpy(L_Encoding, value, VALSIZE);
break;
case 7:
strncpy(L_Mail, value, VALSIZE);
break;
case 8:
strncpy(L_Main_Page, value, VALSIZE);
break;
case 9:
strncpy(L_Month, value, VALSIZE);
break;
case 10:
strncpy(L_Monthly, value, VALSIZE);
break;
case 11:
strncpy(L_Number, value, VALSIZE);
break;
case 12:
strncpy(L_Received, value, VALSIZE);
break;
case 13:
strncpy(L_Receiver, value, VALSIZE);
break;
case 14:
strncpy(L_Sender, value, VALSIZE);
break;
case 15:
strncpy(L_Sent, value, VALSIZE);
break;
case 16:
strncpy(L_Size, value, VALSIZE);
break;
case 17:
strncpy(L_Stats, value, VALSIZE);
break;
case 18:
strncpy(L_Top, value, VALSIZE);
break;
case 19:
strncpy(L_Total, value, VALSIZE);
break;
case 20:
strncpy(L_Year, value, VALSIZE);
break;
case 21:
strncpy(L_Yearly, value, VALSIZE);
break;
}
}
fclose(fd);
/* If Encoding is left blank, default it to iso-8859-1 */
if (strlen(L_Encoding) == 0)
strcpy(L_Encoding, "iso-8859-1");
}

34
root/isoqlog/LangCfg.h Executable file
View File

@@ -0,0 +1,34 @@
#ifndef LANGCFG_H
#define LANGCFG_H
#include "Global.h"
/* Language - Specific Strings */
char L_Average[VALSIZE];
char L_Creationtime[VALSIZE];
char L_Daily[VALSIZE];
char L_Day[VALSIZE];
char L_Domain[VALSIZE];
char L_Encoding[VALSIZE];
char L_Mail[VALSIZE];
char L_Main_Page[VALSIZE];
char L_Month[VALSIZE];
char L_Monthly[VALSIZE];
char L_Number[VALSIZE];
char L_Receiver[VALSIZE];
char L_Received[VALSIZE];
char L_Sender[VALSIZE];
char L_Sent[VALSIZE];
char L_Size[VALSIZE];
char L_Stats[VALSIZE];
char L_Top[VALSIZE];
char L_Total[VALSIZE];
char L_Yearly[VALSIZE];
char L_Year[VALSIZE];
void loadLang(char *);
#endif

12
root/isoqlog/Makefile.am Executable file
View File

@@ -0,0 +1,12 @@
bin_PROGRAMS = isoqlog
isoqlog_SOURCES = Store.c Parser.c main.c loadconfig.c LangCfg.c Html.c Dir.c Data.c
isoqlog_LDADD =
EXTRA_DIST = Data.h Dir.h Html.h Global.h LangCfg.h loadconfig.h Parser.h Store.h isoqlog.conf.sample1 isoqlog.conf.sample2 isoqlog.conf.sample3
# set the include path found by configure
INCLUDES= $(all_includes)
# the library search path.
isoqlog_LDFLAGS = $(all_libraries)

350
root/isoqlog/Makefile.in Normal file
View File

@@ -0,0 +1,350 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
bin_PROGRAMS = isoqlog
isoqlog_SOURCES = Store.c Parser.c main.c loadconfig.c LangCfg.c Html.c Dir.c Data.c
isoqlog_LDADD =
EXTRA_DIST = Data.h Dir.h Html.h Global.h LangCfg.h loadconfig.h Parser.h Store.h isoqlog.conf.sample1 isoqlog.conf.sample2 isoqlog.conf.sample3
# set the include path found by configure
INCLUDES = $(all_includes)
# the library search path.
isoqlog_LDFLAGS = $(all_libraries)
subdir = isoqlog
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
bin_PROGRAMS = isoqlog$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
am_isoqlog_OBJECTS = Store.$(OBJEXT) Parser.$(OBJEXT) main.$(OBJEXT) \
loadconfig.$(OBJEXT) LangCfg.$(OBJEXT) Html.$(OBJEXT) \
Dir.$(OBJEXT) Data.$(OBJEXT)
isoqlog_OBJECTS = $(am_isoqlog_OBJECTS)
isoqlog_DEPENDENCIES =
DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/Data.Po $(DEPDIR)/Dir.Po \
@AMDEP_TRUE@ $(DEPDIR)/Html.Po $(DEPDIR)/LangCfg.Po \
@AMDEP_TRUE@ $(DEPDIR)/Parser.Po $(DEPDIR)/Store.Po \
@AMDEP_TRUE@ $(DEPDIR)/loadconfig.Po $(DEPDIR)/main.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
CFLAGS = @CFLAGS@
DIST_SOURCES = $(isoqlog_SOURCES)
DIST_COMMON = ./stamp-h.in Makefile.am Makefile.in config.h.in
SOURCES = $(isoqlog_SOURCES)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu isoqlog/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
config.h: stamp-h
@if test ! -f $@; then \
rm -f stamp-h; \
$(MAKE) stamp-h; \
else :; fi
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h stamp-hT
@echo timestamp > stamp-hT 2> /dev/null
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=isoqlog/config.h \
$(SHELL) ./config.status
@mv stamp-hT stamp-h
$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in
@if test ! -f $@; then \
rm -f $(srcdir)/./stamp-h.in; \
$(MAKE) $(srcdir)/./stamp-h.in; \
else :; fi
$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
@rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT
@echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null
cd $(top_srcdir) && $(AUTOHEADER)
@mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in
distclean-hdr:
-rm -f config.h
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
; then \
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
isoqlog$(EXEEXT): $(isoqlog_OBJECTS) $(isoqlog_DEPENDENCIES)
@rm -f isoqlog$(EXEEXT)
$(LINK) $(isoqlog_LDFLAGS) $(isoqlog_OBJECTS) $(isoqlog_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Data.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Dir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Html.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/LangCfg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Parser.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Store.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/loadconfig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/main.Po@am__quote@
distclean-depend:
-rm -rf $(DEPDIR)
.c.o:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
.c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `cygpath -w $<`
CCDEPMODE = @CCDEPMODE@
uninstall-info-am:
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) config.h
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-hdr distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am: install-binPROGRAMS
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
.PHONY: GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic distclean distclean-compile distclean-depend \
distclean-generic distclean-hdr distclean-tags distdir dvi \
dvi-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic tags uninstall uninstall-am \
uninstall-binPROGRAMS uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

563
root/isoqlog/Parser.c Executable file
View File

@@ -0,0 +1,563 @@
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include <errno.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "Data.h"
#include "loadconfig.h"
#include "Parser.h"
extern char hostname[VALSIZE];
extern char outputdir[VALSIZE];
extern int cur_year, cur_month, cur_day;
char *months[13] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", NULL};
void lowercase(char *s, int size)
{
int i = 0;
while ((*s != '\0') && (i++ < size)) {
*s = tolower(*s);
s++;
}
}
/* These three functions read the logfile and fill the data structure */
void readQmailLogFile(char *fn)
{
FILE *fp = NULL;
char buf[1024];
if ((fp = fopen(fn, "r")) == NULL) {
fprintf(stderr, "fopen: %s: %s\n", fn, strerror(errno));
exit(-1);
}
while ((fgets(buf, 1024, fp)) != NULL) {
if ((strstr(buf, " from ")) != NULL) /* if this is from line */
parseQmailFromBytesLine(buf, strlen(buf));
else if ((strstr(buf, " to remote ")) != NULL)
parseQmailToRemoteLine(buf, strlen(buf));
else if ((strstr(buf, " to local ")) != NULL)
parseQmailToLocalLine(buf, strlen(buf));
}
fclose(fp);
}
void readSendmailLogFile(char *fn)
{
FILE *fp;
char buf[1024];
if ((fp = fopen(fn, "r")) == NULL) {
fprintf(stderr, "fopen: %s: %s\n", fn, strerror(errno));
exit(-1);
}
/* Get the historical values of last read log file's inode number
If both inode numbers are the same, we assume that log file
has not been changed (i.e rotated, removed), so we can
go past offset bytes and continue to read new logs */
while ((fgets(buf, 1024, fp)) != NULL) {
if ((check_syslog_date(buf, strlen(buf))) > 0) {
if ((strstr(buf, " from=")) != NULL) /* if this is from line */
parseSendmailFromBytesLine(buf, strlen(buf));
else if ((strstr(buf, " to=")) != NULL)
parseSendmailToLine(buf, strlen(buf));
}
}
/* close */
fclose(fp);
}
int check_syslog_date(char *buf, int buflen)
{
unsigned char m[4];
int day = 0, i = 0, j;
memset(m, 0, 4);
for (i = 0; buf[i] != ' ' && buf[i] != '\n' && buf[i] != EOF && i < 4; i++)
m[i] = buf[i];
m[3] = '\0';
while(buf[i] ==' ' && i < buflen)
i++;
for (j = i++; buf[j] != ' ' && buf[j] != '\n' && buf[j] != EOF && j < buflen; j++)
day = 10 * day + (buf[j] - '0');
if ((strncmp(months[cur_month -1], m, 3) == 0) && (day == cur_day ))
return 1;
return -1;
}
/* This function parses one line from log file, checks if any " from "
* is matched. If so, returns the mail address */
void parseQmailFromBytesLine(char *str, int lenstr)
{
char *p = str;
char tmpbytes[128];
char domain[128];
char user[128];
char email[300];
int i = 0;
char *tmp = NULL;
if (((strstr(str, " from <>")) != NULL) || ((strstr(str, " bytes ")) == NULL)) {
(general.from_cnt)++;
return; /* null sender */
}
/* get bytes */
if ((p = strstr(p, " bytes ")) == NULL)
return;
if ((p - str) > lenstr)
return;
p += 7;
if (strstr(p, "@") == NULL) {
(general.from_cnt)++;
return; /*null sender, ignore it */
}
lowercase(p, strlen(p));
for (i = 0; (*p != ' ') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
tmpbytes[i] = *p;
tmpbytes[i] = '\0';
if (strlen(tmpbytes) == 0)
return;
if ((p = strstr(p, "from ")) == NULL)
return;
if ((p - str) > lenstr)
return;
p += 6;
for (i = 0; (*p != '@') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
user[i] = *p;
user[i] = '\0';
if (strlen(user) == 0)
return;
p++; /* skip pass @ */
for (i = 0; (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
domain[i] = *p;
domain[i] = '\0';
if (strlen(domain) == 0)
return;
snprintf(email, 260, "%.128s@%.128s", user, domain);
checkUser(domain, email, FROM_MAIL, atol(tmpbytes));
(general.from_cnt)++;
general.from_byte += atol(tmpbytes);
}
void
parseQmailToRemoteLine(char *str, int lenstr)
{
char *p = str;
char domain[128];
char user[128];
char email[300];
int i = 0;
char *tmp = NULL;
if ((p = strstr(p, " to remote ")) == NULL)
return;
if ((p - str) > lenstr)
return;
p += 11;
if (strstr(p, "@") == NULL) {
(general.to_cnt)++;
return; /*null receiver, ignore it */
}
lowercase(p, strlen(p));
if ((p - str) > lenstr)
return;
for (i = 0; (*p != '@') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
user[i] = *p;
user[i] = '\0';
if (strlen(user) == 0)
return;
p++; /* skip pass @ */
for (i = 0; (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
domain[i] = *p;
domain[i] = '\0';
if (strlen(domain) == 0)
return;
snprintf(email, 260, "%.128s@%.128s", user, domain);
checkUser(domain, email, TO_MAIL, 0);
(general.to_cnt)++;
}
void
parseQmailToLocalLine(char *str, int lenstr)
{
char *p = str;
char domain[128];
char user[512];
char email[1024];
int i = 0;
char *tmp = NULL;
char vdomain[150];
if ((p = strstr(p, " to local ")) == NULL)
return;
if ((p - str) > lenstr)
return;
p += 10;
if (strstr(p, "@") == NULL) {
(general.to_cnt)++;
return; /*null receiver, ignore it */
}
lowercase(p, strlen(p));
if ((p - str) > lenstr)
return;
for (i = 0; (*p != '@') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 511) && ((p - str) < lenstr); i++, p++)
user[i] = *p;
user[i] = '\0';
if (strlen(user) == 0)
return;
p++; /* skip pass @ */
for (i = 0; (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
domain[i] = *p;
domain[i] = '\0';
if (strlen(domain) == 0)
return;
snprintf(vdomain, 130, "%.128s-", domain); /* If virtual domains enabled */
if (strstr(user, vdomain) != NULL)
snprintf(email, 1023, "%.512s@%.128s", (user + strlen(vdomain)), domain);
else
snprintf(email, 1023, "%.512s@%.128s", user, domain);
checkUser(domain, email, TO_MAIL, 0);
(general.to_cnt)++;
}
/* This function parses one line from log file, checks if any " from "
* is matched. If so, returns the mail address */
void
parseSendmailFromBytesLine(char *str, int lenstr)
{
char *p = str;
char domain[128];
char user[128];
char email[300];
int i = 0;
char *tmp = NULL;
int domainflg = 0;
char tmpbytes[128];
if (((strstr(str, " from=<>")) != NULL) ||
((strstr(str, " from=,")) != NULL)) {
(general.from_cnt)++;
return; /* null sender */
}
if ((p = strstr(p, "from=")) == NULL)
return;
if ((p - str) > lenstr)
return;
p += 5;
if (*p == '<')
p++;
lowercase(p, strlen(p));
if ((p - str) > lenstr)
return;
for (i = 0; (*p != ',') && (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++) {
if (*p == '@') {
domainflg = 1;
break;
}
user[i] = *p;
}
user[i] = '\0';
if (strlen(user) == 0)
return;
if (domainflg) {
p++; /* skip pass @ */
for (i = 0; (*p != ',') && (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
domain[i] = *p;
domain[i] = '\0';
if (strlen(domain) == 0)
return;
} else
strncpy(domain, hostname, 127);
if ((p = strstr(p, " size=")) == NULL)
return;
p += 6;
if ((p - str) > lenstr)
return;
for (i = 0; (*p != ',') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
tmpbytes[i] = *p;
tmpbytes[i] = '\0';
snprintf(email, 260, "%.128s@%.128s", user, domain);
checkUser(domain, email, FROM_MAIL, atol(tmpbytes));
(general.from_cnt)++;
general.from_byte += atol(tmpbytes);
}
void
parseSendmailToLine(char *str, int lenstr) /* ft = from or to */
{
char *p = str;
char domain[128];
char user[128];
char email[300];
int i = 0;
char *tmp = NULL;
int domainflg = 0;
char tmpbytes[128];
int vdomainflg = 0;
if ((strstr(str, " to=<>")) != NULL) {
(general.to_cnt)++;
return;
}
if ((p = strstr(p, " to=")) == NULL)
return;
if ((p - str) > lenstr)
return;
/* For Postfix Virtual Domains */
if (strstr(p, " orig_to=") != NULL) {
p = strstr(p, " orig_to=");
p += 9;
} else
p += 4;
if (*p == '<')
p++;
lowercase(p, strlen(p));
if ((p - str) > lenstr)
return;
for (i = 0; (*p != ',') && (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++) {
if (*p == '@') {
domainflg = 1;
break;
}
user[i] = *p;
}
user[i] = '\0';
if (strlen(user) == 0)
return;
if (domainflg) {
p++; /* skip pass @ */
for (i = 0; (*p != ',') && (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
domain[i] = *p;
domain[i] = '\0';
if (strlen(domain) == 0)
return;
} else
strncpy(domain, hostname, 128);
snprintf(email, 260, "%.128s@%.128s", user, domain);
checkUser(domain, email, TO_MAIL, 0);
(general.to_cnt)++;
}
/* This function parses one line from log file, checks if any " from "
* is matched. If so, returns the mail address
*
*
* EXIM SUPPORT CODE by Marco Erra <mare@erra.myip.org>
*/
void
parseEximFromBytesLine(char *str, int lenstr)
{
char *p = str;
char domain[128];
char user[128];
char email[300];
int i = 0;
char *tmp = NULL;
int domainflg = 0;
char tmpbytes[128];
if (((strstr(str, " <= <>")) != NULL) || ((strstr(str, " <=,")) != NULL) ) {
(general.from_cnt)++;
return; /* null sender */
}
if ((p = strstr(p, " <= ")) == NULL)
return;
if ((p - str) > lenstr)
return;
p += 4;
if (*p == '<')
p++;
lowercase(p, strlen(p));
if ((p - str) > lenstr)
return;
for (i = 0; (*p != ' ') && (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++) {
if (*p == '@') {
domainflg = 1;
break;
}
user[i] = *p;
}
user[i] = '\0';
if (strlen(user) == 0)
return;
if (domainflg) {
p++; /* skip pass @ */
for (i = 0; (*p != ' ') && (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
domain[i] = *p;
domain[i] = '\0';
if (strlen(domain) == 0)
return;
} else
strncpy(domain, hostname, 128);
if ((p = strstr(p, " s=")) == NULL)
return;
p += 3;
if ((p - str) > lenstr)
return;
for (i = 0; (*p != ' ') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
tmpbytes[i] = *p;
tmpbytes[i] = '\0';
snprintf(email, 260, "%.128s@%.128s", user, domain);
checkUser(domain, email, FROM_MAIL, atol(tmpbytes));
(general.from_cnt)++;
general.from_byte += atol(tmpbytes);
}
void
parseEximToLine(char *str, int lenstr) /* ft = from or to */
{
char *p = str;
char domain[128];
char user[128];
char email[300];
int i = 0;
char *tmp = NULL;
int domainflg = 0;
char tmpbytes[128];
if ((strstr(str, " => <>")) != NULL) {
(general.to_cnt)++;
return;
}
if ((p = strstr(p, " => ")) == NULL)
return;
if ((p - str) > lenstr)
return;
p += 4;
if (*p == '<')
p++;
lowercase(p, strlen(p));
if ((p - str) > lenstr)
return;
for (i = 0; (*p != ' ') && (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++) {
if (*p == '@') {
domainflg = 1;
break;
}
user[i] = *p;
}
user[i] = '\0';
if (strlen(user) == 0)
return;
if (domainflg) {
p++; /* skip pass @ */
for (i = 0; (*p != ' ') && (*p != '>') && (*p != '\0') && (*p != '\r') && (*p != '\n') && (i < 127) && ((p - str) < lenstr); i++, p++)
domain[i] = *p;
domain[i] = '\0';
if (strlen(domain) == 0)
return;
} else
strncpy(domain, hostname, 128);
snprintf(email, 260, "%.128s@%.128s", user, domain);
checkUser(domain, email, TO_MAIL, 0);
(general.to_cnt)++;
}
void readEximLogFile(char *fn)
{
FILE *fp = NULL;
char buf[1024];
if ((fp = fopen(fn, "r")) == NULL) {
fprintf(stderr, "fopen: %s: %s\n", fn, strerror(errno));
exit(-1);
}
/* Get the historical values of last read log file's inode number
If both inode numbers are the same, we assume that log file
has not been changed (i.e rotated, removed), so we can
go past offset bytes and continue to read new logs */
while ((fgets(buf, 1024, fp)) != NULL) {
if ((check_syslog_date_exim(buf, strlen(buf))) > 0) {
if ((strstr(buf, " <= ")) != NULL){ /* if this is from line */
parseEximFromBytesLine(buf, strlen(buf));
}else if ((strstr(buf, " => ")) != NULL)
parseEximToLine(buf, strlen(buf));
}
}
fclose(fp);
}
int check_syslog_date_exim(char *buf, int buflen)
{
int ano = 0, mes = 0, day = 0, i = 0, j, k;
for (k = 0; buf[k] != '-' && buf[k] != '\n' && buf[k] != EOF && k < buflen; k++)
ano = 10 * ano + (buf[k] - '0');
k++;
for (i = k++; buf[i] != '-' && buf[i] != '\n' && buf[i] != EOF && i < buflen; i++)
mes = 10 * mes + (buf[i] - '0');
i++;
for (j = i++; buf[j] != ' ' && buf[j] != '\n' && buf[j] != EOF && j < buflen; j++)
day = 10 * day + (buf[j] - '0');
if ((cur_month == mes) && (day == cur_day )){
return 1;
}
return -1;
}

37
root/isoqlog/Parser.h Executable file
View File

@@ -0,0 +1,37 @@
#ifndef PARSER_H
#define PARSER_H
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include <errno.h>
typedef struct hist_stat {
unsigned inode;
int saved_pos;
} hist_stat;
void lowercase(char *, int);
/* Parser routines for Qmail */
void readQmailLogFile(char *);
void parseQmailFromBytesLine(char *, int len);
void parseQmailToRemoteLine(char *, int len);
void parseQmailToLocalLine(char *, int len);
/* Parser routines for Sendmail and Postfix*/
void readSendmailLogFile(char *);
void parseSendmailFromBytesLine(char *, int);
void parseSendmailToLine(char *, int);
int check_syslog_date(char *, int);
/* Parser routines for Exim */
void readEximLogFile(char *);
void parseEximFromBytesLine(char *, int);
void parseEximToLine(char *, int);
int check_syslog_date_exim(char *, int);
#endif

111
root/isoqlog/Store.c Executable file
View File

@@ -0,0 +1,111 @@
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include "Store.h"
#include "Data.h"
#include "Dir.h"
extern char logtype[128];
/* write hist[] array to the specified file */
void storeHistData(char *f, hist *h, size_t size)
{
FILE *fp;
if (f == NULL || h == NULL)
return;
if ((fp = fopen(f, "w")) == NULL) {
fprintf(stderr, "storeHistData: cannot create history file %s: %s\n", f, strerror(errno));
exit(-1);
}
fwrite(h, size, 1, fp);
fclose(fp);
}
/* read hist[] array from the specified array */
void getHistData(char *f, hist *h, size_t size)
{
FILE *fp;
if (f == NULL || h == NULL)
return;
if ((fp = fopen(f, "r")) == NULL)
return;
fread(h, size, 1, fp);
fclose(fp);
}
/* Store domain's current day statistics to the history file(monthly) */
void storeCurrentDayHistory(char *f, domain *d)
{
hist h[MAXDAYS];
int i;
if (f == NULL || d == NULL)
return;
for (i = 0; i < MAXDAYS; i++) {
h[i].sent = 0;
h[i].received = 0;
h[i].bytes_sent = 0;
}
getHistData(f, h, sizeof(h));
h[cur_day - 1].sent = d->from_cnt;
h[cur_day - 1].received = d->to_cnt;
h[cur_day - 1].bytes_sent = d->from_byte;
storeHistData(f, h, sizeof(h));
}
/* Store domain's current month statistics to the history file(yearly) */
void storeCurrentMonthHistory(char *f, int s, int r, double b)
{
hist h[MAXMONTHS];
int i;
if (f == NULL)
return;
for (i = 0; i < MAXMONTHS; i++) {
h[i].sent = 0;
h[i].received = 0;
h[i].bytes_sent = 0;
}
getHistData(f, h, sizeof(h));
h[cur_month - 1].sent = s;
h[cur_month - 1].received = r;
h[cur_month - 1].bytes_sent = b;
storeHistData(f, h, sizeof(h));
}
void storeCurrentYearHistory(char *f, int s, int r, double b)
{
hist h[MAXYEARS];
int i;
if (f == NULL)
return;
for (i = 0; i < MAXYEARS; i++) {
h[i].sent = 0;
h[i].received = 0;
h[i].bytes_sent = 0;
}
getHistData(f, h, sizeof(h));
h[cur_year - 2002].sent = s;
h[cur_year - 2002].received = r;
h[cur_year - 2002].bytes_sent = b;
storeHistData(f, h, sizeof(h));
}

30
root/isoqlog/Store.h Executable file
View File

@@ -0,0 +1,30 @@
#ifndef STORE_H
#define STORE_H
#include "Data.h"
enum {
MAXMONTHS = 12,
MAXDAYS = 31,
MAXYEARS = 250 /* should be enough, huh? ;) */
};
typedef struct hist {
int sent;
int received;
double bytes_sent;
} hist;
struct hist mhist[MAXMONTHS];
struct hist dhist[MAXDAYS];
/* Functions */
void storeHistData(char *, hist *, size_t);
void getHistData(char *, hist *, size_t);
void storeCurrentDayHistory(char *, domain *);
void storeCurrentMonthHistory(char *, int, int, double);
void storeCurrentYearHistory(char *, int, int, double);
#endif

111
root/isoqlog/config.h.in Executable file
View File

@@ -0,0 +1,111 @@
/* isoqlog/config.h.in. Generated from configure.in by autoheader. */
/* Configuration file path */
#undef CONFIGFILE
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if your system has a working `malloc' function. */
#undef HAVE_MALLOC
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the `mkdir' function. */
#undef HAVE_MKDIR
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* Version number of package */
#undef VERSION
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t

View File

@@ -0,0 +1,14 @@
#isoqlog Configuration file
logtype = "qmail-syslog" #log type qmai-multilog, qmail-syslog, sendmail, postfix
logstore = "/var/log/maillog"
domainsfile = "/usr/local/etc/isoqlog.domains"
outputdir = "/var/www/html/isoqlog" #html output directory
htmldir = "/usr/local/share/isoqlog/htmltemp"
langfile = "/usr/local/share/isoqlog/lang/english"
hostname = "enderunix.net"
maxsender = 100
maxreceiver = 100
maxtotal = 100
maxbyte = 100

View File

@@ -0,0 +1,14 @@
#isoqlog Configuration file
logtype = "postfix" #log type qmai-multilog, qmail-syslog, sendmail, postfix
logstore = "/var/log/mailllog"
domainsfile = "/usr/local/etc/isoqlog.domains"
outputdir = "/usr/local/www/data/isoqlog" # html output directory
htmldir = "/usr/local/share/isoqlog/htmltemp"
langfile = "/usr/local/share/isoqlog/lang/turkish"
hostname = "enderunix.org"
maxsender = 100
maxreceiver = 100
maxtotal = 100
maxbyte = 100

View File

@@ -0,0 +1,14 @@
#isoqlog Configuration file
logtype = "sendmail" #log type qmai-multilog, qmail-syslog, sendmail, postfix
logstore = "/var/log/syslog"
domainsfile = "/usr/local/etc/isoqlog.domains"
outputdir = "/usr/local/www/data/isoqlog" #html output directory
htmldir = "/usr/local/share/isoqlog/htmltemp"
langfile = "/usr/local/share/isoqlog/lang/turkish"
hostname = "delidumrul.enderunix.org"
maxsender = 100
maxreceiver = 100
maxtotal = 100
maxbyte = 100

260
root/isoqlog/loadconfig.c Executable file
View File

@@ -0,0 +1,260 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <ctype.h>
#include "loadconfig.h"
#include "Data.h"
#include "Dir.h"
#include "Parser.h"
void loadconfig(char *cfgfile) /* load isoqlog configuration file */
{
FILE *fd = NULL;
char buf[BUFSIZE];
char keyword[KEYSIZE];
char value[VALSIZE];
int lenbuf = 0;
char *cp1 = NULL, *cp2 = NULL;
char *variables[] = { "Invalid",
"outputdir",
"logtype",
"logstore",
"domainsfile",
"langfile",
"htmldir",
"hostname",
"maxsender",
"maxreceiver",
"maxtotal",
"maxbyte"
};
int i, j, key, line, keyword_nums = sizeof(variables)/sizeof(char *);
if ((fd = fopen(cfgfile, "r")) == NULL) {
fprintf(stderr, "loadconfig: cannot open isoqlog configuration file %s, exiting...\n", cfgfile);
exit(-1);
}
line = 0;
while ((fgets(buf, BUFSIZE, fd)) != NULL) {
line++;
if (buf[0] == '#')
continue;
if ((lenbuf = strlen(buf)) <= 1)
continue;
cp1 = buf;
cp2 = keyword;
j = 0;
while (isspace((int)*cp1) && ((cp1 - buf) < lenbuf))
cp1++;
while(isgraph((int)*cp1) && *cp1 != '=' && (j++ < KEYSIZE - 1) && (cp1 - buf) < lenbuf)
*cp2++ = *cp1++;
*cp2 = '\0';
cp2 = value;
while ((*cp1 != '\0') && (*cp1 !='\n') && (*cp1 !='=') && ((cp1 - buf) < lenbuf))
cp1++;
cp1++;
while (isspace((int)*cp1) && ((cp1 - buf) < lenbuf))
cp1++;
if (*cp1 == '"')
cp1++;
j = 0;
while ((*cp1 != '\0') && (*cp1 !='\n') && (*cp1 !='"') && (j++ < VALSIZE - 1) && ((cp1 - buf) < lenbuf))
*cp2++ = *cp1++;
*cp2-- = '\0';
if (keyword[0] =='\0' || value[0] =='\0')
continue;
key = 0;
for (i = 0; i < keyword_nums; i++) {
if ((strncmp(keyword, variables[i], KEYSIZE)) == 0) {
key = i;
break;
}
}
switch(key) {
case 0:
fprintf(stderr, "Illegal Keyword: %s\n", keyword);
break;
case 1:
strncpy(outputdir, value, VALSIZE);
break;
case 2:
strncpy(logtype, value, VALSIZE);
break;
case 3:
strncpy(logstore, value, VALSIZE);
break;
case 4:
strncpy(domainsfile, value, VALSIZE);
break;
case 5:
strncpy(langfile, value, VALSIZE);
break;
case 6:
strncpy(htmldir, value, VALSIZE);
break;
case 7:
strncpy(hostname, value, VALSIZE);
break;
case 8:
maxsender = atoi(value);
break;
case 9:
maxreceiver = atoi(value);
break;
case 10:
maxtotal = atoi(value);
break;
case 11:
maxbyte = atoi(value);
break;
}
}
fclose(fd);
}
void readconfig(char *cfgfile)
{
FILE *fd = NULL;
char buf[1024];
int count = 0; /*counter for domains */
struct stat statbuf;
char *dir;
struct tm *t;
time(&today);
if ((t = localtime(&today)) == NULL) {
fprintf(stderr, "localtime failed: %s\n", strerror(errno));
return;
}
cur_year = t->tm_year + 1900;
cur_month = t->tm_mon + 1;
cur_day = t->tm_mday ;
cur_hour = t->tm_hour;
cur_min = t->tm_min;
cur_sec = t->tm_sec;
printf("Year: %d Month: %d\n", cur_year, cur_month);
loadconfig(cfgfile);
printf("outputdir:%s\n", outputdir);
printf("htmldir:%s\n", htmldir);
printf("logtype:%s\n", logtype);
printf("logstore:%s\n", logstore);
printf("langfile:%s\n", langfile);
printf("maxsender:%d\n", maxsender);
printf("maxreceiver:%d\n", maxreceiver);
printf("maxtotal:%d\n", maxtotal);
printf("maxbyte:%d\n", maxbyte);
if ((strlen(hostname)) == 0 )
gethostname(hostname, VALSIZE);
printf("hostname: %s\n", hostname);
if ((strncasecmp(logtype, "qmail-multilog", VALSIZE) != 0) && (strncasecmp(logtype, "qmail-syslog", VALSIZE) != 0)
&& (strncasecmp(logtype, "sendmail", VALSIZE) != 0) && (strncasecmp(logtype, "postfix", VALSIZE) != 0)
&& (strcasecmp(logtype, "exim") != 0)) {
printf("Invalid logtype: %.128s\naccepted logytpes are: "
"qmail-multilog, qmail-syslog, sendmail, postfix or exim\n", logtype);
exit(-1);
}
if ((strncasecmp(logtype, "qmail-multilog", VALSIZE)) == 0) {
if ((stat(logstore, &statbuf)) == 0) {
if((S_ISDIR(statbuf.st_mode)) == 0) {
fprintf(stderr, "You are using: %s log type "
"logstore: %s must be a directory\n", logtype, logstore);
exit(-1);
}
}
else {
fprintf(stderr, "You are using: %s log type "
"logstore: %s directory does not exist!\n", logtype, logstore);
exit(-1);
}
}
else {
if ((stat(logstore, &statbuf)) == 0) {
if((S_ISREG(statbuf.st_mode)) == 0) {
fprintf(stderr, "You are using: %s log type "
"logstore: %s must be a regular file\n", logtype, logstore);
exit(-1);
}
}
else {
fprintf(stderr, "You are using: %s log type "
"logstore: %s file does not exist!\n", logtype, logstore);
exit(-1);
}
}
if ((strlen(outputdir)) == 0 ) {
fprintf(stderr, "You must define output directory");
exit(-1);
}
if ((strlen(domainsfile)) == 0 ) {
fprintf(stderr, "You must define domainsfile");
exit(-1);
}
createdir(outputdir);
if ((fd = fopen(domainsfile, "r")) == NULL) {
fprintf(stderr, "domainsfile: %s could not be opened\n", domainsfile);
exit(-1);
}
while ((fgets(buf, 1024, fd)) != NULL) {
printf("Domains %s", buf);
removespaces(buf, strlen(buf));
if (strlen(buf) == 0)
;
else {
lowercase(buf, strlen(buf)); /* lowercase domains */
addDomain(buf);
dir = malloc((strlen(outputdir) + strlen(buf) + 100) * sizeof(char));
sprintf(dir, "%s/%s", outputdir, buf);
createdir(dir); /* create domain directory */
sprintf(dir, "%s/%s/%d", outputdir, buf, cur_year);
createdir(dir); /* create year dir under domain directory */
sprintf(dir, "%s/%s/%d/%d", outputdir, buf, cur_year, cur_month);
createdir(dir); /* create month directory */
count++;
}
}
if (count == 0) {
fprintf(stderr, "Empty domains file. you must add at least one domain\n");
exit(-1);
}
sprintf(dir, "%s/%s", outputdir, "general");
createdir(dir); /* create domain directory */
sprintf(dir, "%s/%s/%d", outputdir, "general" , cur_year);
createdir(dir); /* create year dir under domain directory */
sprintf(dir, "%s/%s/%d/%d", outputdir, "general", cur_year, cur_month);
createdir(dir); /* create month directory */
free(dir);
/* close domains file */
fclose(fd);
}
int
removespaces(char *buf, int len)
{
char *cp = buf;
char *sv = buf;
for (; *buf != '\0' && *buf != '\r' && *buf != '\n' && ((buf - sv) < len); buf++)
if (*buf == ' ')
continue;
else
*cp++ = *buf;
*cp = 0x0;
return cp - sv;
}

24
root/isoqlog/loadconfig.h Executable file
View File

@@ -0,0 +1,24 @@
#ifndef LOADCONFIG_H
#define LOADCONFIG_H
#include "Global.h"
/* Configuration File - Specific Strings */
char outputdir[VALSIZE];
char logtype[VALSIZE];
char logstore[VALSIZE];
char domainsfile[VALSIZE];
char htmldir[VALSIZE];
char langfile[VALSIZE];
char hostname[VALSIZE];
int maxsender;
int maxreceiver;
int maxtotal;
int maxbyte;
int removespaces(char *, int);
void loadconfig(char *);
void readconfig(char *);
#endif

76
root/isoqlog/main.c Executable file
View File

@@ -0,0 +1,76 @@
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include "Data.h"
#include "Parser.h"
#include "Dir.h"
#include "Html.h"
#include "LangCfg.h"
#include "loadconfig.h"
#include "Store.h"
#include "config.h" /* to use variables created by configure */
extern char langfile[VALSIZE];
extern char logtype[VALSIZE];
extern char logstore[VALSIZE];
int main(int argc, char **argv)
{
int c, f = 0, error = 0;
extern char *optarg;
extern int optind;
char isoqlogconf[256];
while (!error && (c = getopt(argc,argv,"f:hv")) != -1) {
switch (c) {
case 'v':
puts(VERSION_STRING);
exit(0);
break;
case 'h':
puts("Usage: isoqlog [-f isoqlog.conf]");
exit(0);
break;
case 'f':
strncpy(isoqlogconf, optarg, 256);
f = 1;
break;
default:
error = 1;
puts("Usage: isoqlog [-f isoqlog.conf]");
exit(-1);
break;
}
}
general.from_cnt = 0;
general.to_cnt = 0;
general.from_byte = 0;
if (f == 0)
readconfig(CONFIGFILE); /* CONFIGFILE variable is defined in config.h */
else
readconfig(isoqlogconf);
loadLang(langfile);
if (strcmp(logtype, "qmail-multilog") == 0)
openlogdir(logstore);
else
if (strcmp(logtype, "qmail-syslog") == 0)
readQmailLogFile(logstore);
else
if (strcmp(logtype, "sendmail") == 0)
readSendmailLogFile(logstore);
else
if (strcmp(logtype, "postfix") == 0)
readSendmailLogFile(logstore);
else
if (strcmp(logtype, "exim") == 0)
readEximLogFile(logstore);
createHtml();
return 0;
}

0
root/isoqlog/stamp-h.in Normal file
View File

283
root/missing Executable file
View File

@@ -0,0 +1,283 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.3 - GNU automake"
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
aclocal)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
fi
touch $file
;;
tar)
shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar ${1+"$@"} && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar ${1+"$@"} && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" ${1+"$@"} && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" ${1+"$@"} && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0

40
root/mkinstalldirs Executable file
View File

@@ -0,0 +1,40 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $
errstatus=0
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case "$pathcomp" in
-* ) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# mkinstalldirs ends here

54
root/tr/BENIOKU Executable file
View File

@@ -0,0 +1,54 @@
Isoqlog
Versiyon 2.2.1
Isoqlog Nedir?
Isoqlog C dilinde yazilmis bir MTA log analiz programidir. Qmail, Postfix, Senmail log dosyalarini tarayarak gerekli istatistiklerin HTML formatinda tarayicilarda gorulmesini saglar. Istatistikler Gonderici, Alici, Toplam gonderilen mail ve buyuklugune ve sayisina gore tutulmanin yanisira gunluk, aylik ve yillik en cok kullanilan email ve domain ciktisinda yer alir.
Ozellikler
Coklu MTA destegi (qmail (multilog and syslog), postfix, sendmail, exim)
Coklu domain destegi. Ana domain hakkinda detayli istatistik cikarmanin yani sira istenen domainler icin detayli istatistik cikartabilir.
Genel mail iletim hatalarinin istatistiklerini gosterir.
Her bir domaindeki userlar icin toplam gelen ve giden mail istatistiklerini tutar.
Sunucunun aktivitesini gelen, giden mail aktivitesi, domain icin toplam giden ve gelen mail istatistilerini tutar ve gosterir.
Gunluk, aylik ve yillik istatistikler daha sonraki incelemer icin tutulur.
Coklu dil destegi ( Turkish, English, German,Portuguese,Spanish ,Italian,french, Swedish, Dutch, Polish, Norwegian, Russian, Czech)
En Son haberler
------------------
Detaylar http://www.enderunix.org/isoqlog adresinde bulunabilir.
Kurulum
------------
Kurulum icin KURULUM dokumanini okuyunuz
Lisans
---------
Lutfen KOPYALAMA dosyasini okuyunuz.
Isoqlog FreeBSD 4.9-Stable Solaris 2.8(Sparc) Slackware Linux, Redhat 6.2,7.2 ,8.0, 9.0 OpenBSD-3.2 isletim
sistemlerinde test edilmis ve problemsiz calismistir.
EnderUNIX Software Development Team -- http://www.enderunix.org
Fri May 28 22:20:15 EEST 2004

121
root/tr/DEGISIKLIKLER Executable file
View File

@@ -0,0 +1,121 @@
Isoqlog Versiyon Degisiklikleri
- Version 2.2.1 23 Subat 2005
* Mesaj boyutlarinin 0 byte gozukmesi problemi cozuldu.
* T<>m Makefile.am dosyalari yenilendi
* "data" klas<61>r<EFBFBD> yaratildi.
* htmltemp & lang klasorleri isoqlog/ 'dan data/ 'ya tasindi
* isoqlog/isoqlog.conf-dist, data/isoqlog.conf-dist.in olarak tasindi
* isoqlog.conf-dist dosyasi configure.in e prefixi degistirmesi icin eklendi
* data/Makefile.am dosyasi yaratildi
* CONFIGFILE degiskeni configure.in dosyasina eklendi (bkz. main.c:54-> readconfig(CONFIGFILE); )
* config.h, main.c icerisinden include edildi.
* prefix'i asagidaki <20>rnekteki gibi degistirebilirsiniz. (artik calisiyor, slackware 10'da test edildi):
./configure --prefix=/usr/jail/ozkan
- Version 2.2 28 Mayis 2004
* Parser modulu yeniden yazildi. Guvenlik taramasi yapildi, fixler yapildi.
* Postfix Virtual Domain handling
* Lukas Maly im at lukasmaly.net tarafindan yazilan Cek dil destegi eklendi.
* Marco Erra <mare at erra.myip.org> tarafindan exim mail sunucu destegi eklendi
* Danis translation by "Christian Kurek" <archdandy at spar-es dot dk>
* Romanian dil dosyasi Gelu.Constantin at anofm.ro tarafindan yollandi.
* missing fclose()'s added. Thanks manu - manu at asp.be
* "Koh Swee Meng" <swee_meng ~ phoenix-gamestudios.com> Parser.c:44 hatasini duzelten
bir yama yollamistir.
* Autotool betikleri en bastan yazildi
- Version 2.1 Ocak 03, 2003
* Birkac dil dosyasi eklendi
* 2.0-current de yapilan hata duzeltemeleri ve yamalari bu release' eklendi
- Version 2.0-current Haziran 17, 2002
* Postfix bug 'i duzeltildi
* Html.c:1322 "%d" -> "%d/"
- Versiyon 2.0 Temmuz 16, 2002
* lowercase fonksiyonundaki sorun giderildi.
* configure script i duzeltildi
* Dil destegi aktif hale getirildi
* Yukari ve Ana sayfa butonlari eklendi
- Versiyon 2.0beta Haziran 15, 2002
* Yeni Isoqlog tamamen C dili ile en bastan yazilmistir.
* Daha hizli log analiz ve raporlama gerceklestirilmistir.
* Coklu MTA destegi eklenmistir (Isoqlog qail(multilog/syslog)
sendmail and postfix mail sunucusu loglarini analiz edebilir.
* HTML Templates. Html templates ve .css dosyalarini degistirerek istatistik
dosyalarinizin gorunusunu tamamen degistirebilirsiniz.
* Dunun istatisklerinin taramasi yerine artik bugununde istatistikleri taranabilir.
* Multilog-rotate temizlendi. Boylece Isoqlog butun log/ dizinini okur ve
sadece o gunun maillerini isler.
* Az trafikli mail server problemi cozuldu. Boylece current dosyasi gunun sonunda rotate islemine ugramasa bile problemle karsilasilmaz.
* Onceki bilgiler ikili log formatinda tutularak programin bilgileri daha hizli islemsi saglanmistir.
of history.
* Daha fazla ozellestirilme destegi verilmistir.
Programi tekrar derlemeden MTA log dosyasinin format degisiklikleri havada uygulanabilir
* GNU stilinde ./configure && make && make install kurulumu oldukca kolaylastirmistir.
- Versiyon 1.7 Mayis 17 2001
* R. Hutchinson hutch@midwales.com tarafindan degisiklikler yapilmistir:
* Html uzerinde degisiklikler yapildi ve MBorKBs eklenid ayrica eger 0 olarak
ayarlanirsa ekrana cikti vermeyen $Debug degiskeni eklendi
* Daha fazla hata mesajlari gorulur.
* Kod kolay okunulabilirlik icin tab ile tekrar formatlanmistir.
* Perl qq fonksiyonlari kullanilarak farkli bir koddan html kodu cagrilmasi kolay hale getirilmistir.
* Yeni sub 'lar:
&makehtmlheader
&makemenu
&display_time
* EnderUnixTeam sub' inin degismesi degistirilmemistir .
- Versiyon 1.5 Stable 12 Nisan 2001
* Ispanyolca dil destegi eklenmistir ( cad_vga <cad_vga@yahoo.com> ) (18 Nisan 2001)
* Portekizce dil destegi (Thanks to Edson Lima Monteiro <boni@usp.br> ) (16 Nisan 2001)
* 0 MB problemlemi duzeltildi . Eger domain'e gelen mail buyuklugu 1 MB'tan kucukse KB kullanilacaktir.
* Dil destegi eklenmistir.
* Garip < karakteri problemi giderilmistir.
- Version 1.5 6 Mart 2001
* Butun kod en basta yazilmistir.
* multilog destegi verilmistir.
* Kullanici tabanli en cok gelen mail destegi her bir domain icin verilmistir.
* Kullanici tabanli en cok giden mail destegi her bir domain icin verilmistir.
* Kullanici tabanli en cok mail, toplam skor tanimlanan herbir domain icin verilmistir.
* Kullanici tabanli mail buyuklugu destegi verilmisitir.
* Domain tabali en cok mail destegi verilmistir.
* En cok kullanilan kismindaki - problemi duzeltilmistir.
* Giving Full Langugaga support (15 Mar 2001)
* 0 MB values changed to KB when total byte values less than 1 MB (15 Mar 2001)
* More clear Documentation (16 Mar 2001 Thanks to Murat Balaban )
- Versiyon 1.4 15 Subat 2001
* Coklu domain destegi verilmistir.
* En cok kullanilan domain duzeltilmistir.
* Yanlis gun tarihi problemi duzeltilmistir.
- Version 1.3.1 1 Ekim 2000
* Yil hatasi duzeltilmistir.
* Version 1.2 28 November 2000
* Domain hatasi duzeltilmistir.
http://www.enderunix.org
Fri May 28 22:20:39 EEST 2004

2
root/tr/HABERLER Executable file
View File

@@ -0,0 +1,2 @@

51
root/tr/KOPYALAMA Executable file
View File

@@ -0,0 +1,51 @@
Copyright (c) 2002,2005 EnderUNIX SDT <roots@EnderUNIX.ORG>
All rights reserved.
Redistribution and use in source and binary
forms, with or without modification, are
permitted provided that the following
conditions are met:
1. Redistributions of source code must
retain the above copyright notice,
this list of conditions and the
following disclaimer.
2. Redistributions in binary form must
reproduce the above copyright notice,
this list of conditions and the
following disclaimer in the
documentation and/or other materials
provided with the distribution.
3. Neither the name of the EnderUNIX Team
nor the names of its contributors may
be used to endorse or promote products
derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
EnderUNIX Software Development Team @ Turkiye
Fri May 28 22:20:55 EEST 2004

Some files were not shown because too many files have changed in this diff Show More