generated from smedev/Template-for-SMEServer-Contribs-Package
* 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:
43
createlinks
43
createlinks
@@ -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
259
isoqlog.spec
Normal file → Executable file
@@ -1,55 +1,230 @@
|
||||
%define name isoqlog
|
||||
%define version 1.0
|
||||
%define release 1
|
||||
Summary: This is what isoqlog does.
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}%{?dist}
|
||||
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
|
||||
#
|
||||
# spec file for package isoqlog
|
||||
#
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself.
|
||||
#
|
||||
# norootforbuild
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
%changelog
|
||||
* Day MMMM DD YYYY <brianr@koozali.org> 1.0-1.sme
|
||||
- Initial code - create RPM [SME:99999]
|
||||
Isoqlog is an MTA log analysis program written in C. It is designed to
|
||||
scan qmail, postfix, sendmail 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 with Days Top Domain, Top Users values
|
||||
for per day, per month, and years.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
%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
|
||||
perl createlinks
|
||||
%{configure} \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
|
||||
%{__make}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
|
||||
rm -f %{name}-%{version}-filelist
|
||||
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
|
||||
> %{name}-%{version}-filelist
|
||||
#echo "%doc COPYING" >> %{name}-%{version}-filelist
|
||||
#--dir <dir> 'attr(755,user,grp)' \
|
||||
#--file <file> 'attr(755,root,root)' \
|
||||
%{__mkdir_p} \
|
||||
%{buildroot}%{_sysconfdir}/cron.d \
|
||||
%{buildroot}%{_docdir}/%{name} \
|
||||
%{buildroot}%{package_var_dir}/htdocs \
|
||||
%{buildroot}%{package_share_dir}/include \
|
||||
%{buildroot}%{_defaultdocdir}/isoqlog
|
||||
|
||||
%{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%\"> </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
|
||||
cd ..
|
||||
rm -rf %{name}-%{version}
|
||||
[ -d %{buildroot} ] && %{__rm} -rf %{buildroot}
|
||||
|
||||
%pre
|
||||
|
||||
%preun
|
||||
|
||||
%post
|
||||
|
||||
%postun
|
||||
#uninstall
|
||||
%files -f %{name}-%{version}-filelist
|
||||
#----------------------------------------------------------------------------
|
||||
%files
|
||||
%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
15
root/.cvsignore
Executable 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
12
root/AUTHORS
Executable 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
50
root/COPYING
Executable 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
128
root/ChangeLog
Executable 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
103
root/EnderUNIX
Executable 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
11
root/FAQ
Executable 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
68
root/INSTALL
Executable 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
19
root/Makefile.am
Executable 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
14
root/Makefile.dist
Executable 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
410
root/Makefile.in
Normal 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:
|
49
root/README
Executable file
49
root/README
Executable 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
2
root/README.Turkish
Executable file
@@ -0,0 +1,2 @@
|
||||
Turkce Kurulum ve Konfigurasyon icin ./tr dizinine bakiniz
|
||||
|
21
root/TODO
Executable file
21
root/TODO
Executable 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
560
root/aclocal.m4
vendored
Normal 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
115
root/autogen.sh
Executable 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
5032
root/autom4te.cache/output.0
Normal file
File diff suppressed because it is too large
Load Diff
94
root/autom4te.cache/requests
Normal file
94
root/autom4te.cache/requests
Normal 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' )
|
||||
);
|
||||
|
227
root/autom4te.cache/traces.0
Normal file
227
root/autom4te.cache/traces.0
Normal 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
1314
root/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1410
root/config.sub
vendored
Executable file
1410
root/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
5032
root/configure
vendored
Executable file
5032
root/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
50
root/configure.in
Executable file
50
root/configure.in
Executable 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
10
root/data/Makefile.am
Normal 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
342
root/data/Makefile.in
Normal 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
17
root/data/htmltemp/Makefile.am
Executable 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)
|
347
root/data/htmltemp/Makefile.in
Normal file
347
root/data/htmltemp/Makefile.in
Normal 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
49
root/data/htmltemp/daily.html
Executable 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="<--"></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
47
root/data/htmltemp/domain.html
Executable 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="<--"></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>
|
62
root/data/htmltemp/generaldaily.html
Executable file
62
root/data/htmltemp/generaldaily.html
Executable 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="<--"></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>
|
47
root/data/htmltemp/generaldomain.html
Executable file
47
root/data/htmltemp/generaldomain.html
Executable 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="<--"></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>
|
45
root/data/htmltemp/generalmonthly.html
Executable file
45
root/data/htmltemp/generalmonthly.html
Executable 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="<--"></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/generalyearly.html
Executable file
45
root/data/htmltemp/generalyearly.html
Executable 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="<--"></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>
|
11
root/data/htmltemp/images/Makefile.am
Executable file
11
root/data/htmltemp/images/Makefile.am
Executable 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)
|
225
root/data/htmltemp/images/Makefile.in
Normal file
225
root/data/htmltemp/images/Makefile.in
Normal 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
BIN
root/data/htmltemp/images/dot.gif
Executable file
Binary file not shown.
After Width: | Height: | Size: 53 B |
BIN
root/data/htmltemp/images/home.gif
Executable file
BIN
root/data/htmltemp/images/home.gif
Executable file
Binary file not shown.
After Width: | Height: | Size: 770 B |
BIN
root/data/htmltemp/images/isoqlog.gif
Executable file
BIN
root/data/htmltemp/images/isoqlog.gif
Executable file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
BIN
root/data/htmltemp/images/pk.gif
Executable file
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
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
23
root/data/htmltemp/index.html
Executable 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>
|
7
root/data/htmltemp/library/Makefile.am
Executable file
7
root/data/htmltemp/library/Makefile.am
Executable 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)
|
220
root/data/htmltemp/library/Makefile.in
Normal file
220
root/data/htmltemp/library/Makefile.in
Normal 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:
|
11
root/data/htmltemp/library/isoqlog.css
Executable file
11
root/data/htmltemp/library/isoqlog.css
Executable 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
45
root/data/htmltemp/monthly.html
Executable 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="<--"></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
45
root/data/htmltemp/yearly.html
Executable 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="<--"></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>
|
17
root/data/isoqlog.conf-dist.in
Normal file
17
root/data/isoqlog.conf-dist.in
Normal 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
|
2
root/data/isoqlog.domains-dist
Normal file
2
root/data/isoqlog.domains-dist
Normal file
@@ -0,0 +1,2 @@
|
||||
domain1.com
|
||||
domain2.com
|
7
root/data/lang/Makefile.am
Executable file
7
root/data/lang/Makefile.am
Executable 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
220
root/data/lang/Makefile.in
Normal 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
21
root/data/lang/bulgarian
Executable 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
21
root/data/lang/czech
Executable 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
24
root/data/lang/danish
Executable 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æne"
|
||||
L_Encoding = "iso-8859-1"
|
||||
L_Mail = "Post"
|
||||
L_Main_Page = "Forside"
|
||||
L_Month = "Måned"
|
||||
L_Monthly = "Månedlig"
|
||||
L_Number = "Antal"
|
||||
L_Received = "Modtaget"
|
||||
L_Receiver = "Modtager"
|
||||
L_Sender = "Afsender"
|
||||
L_Sent = "Afsendt"
|
||||
L_Size = "Størrelse"
|
||||
L_Stats = "Statistik"
|
||||
L_Top = "Top"
|
||||
L_Total = "Totalt"
|
||||
L_Year = "År"
|
||||
L_Yearly = "Årligt"
|
22
root/data/lang/dutch
Executable file
22
root/data/lang/dutch
Executable 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
21
root/data/lang/english
Executable 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
21
root/data/lang/finnish
Executable 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
22
root/data/lang/french
Executable 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
25
root/data/lang/german
Executable 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ä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änger"
|
||||
L_Sender = "Absender"
|
||||
L_Sent = "versandt"
|
||||
L_Size = "Grösse"
|
||||
L_Stats = "Statistiken"
|
||||
L_Top = "Top"
|
||||
L_Total = "Gesamt"
|
||||
L_Yearly = "Jahres"
|
||||
L_Year = "Jahr"
|
22
root/data/lang/italian
Executable file
22
root/data/lang/italian
Executable 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
22
root/data/lang/norwegian
Executable 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
23
root/data/lang/polish
Executable 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
22
root/data/lang/portuguese
Executable file
@@ -0,0 +1,22 @@
|
||||
#Translation by Alexei Znamensky <russoz@uol.com.br>
|
||||
L_Average = "Média"
|
||||
L_Creationtime = "Gerado em"
|
||||
L_Daily = "Diário"
|
||||
L_Day = "Dia"
|
||||
L_Domain = "Domínio"
|
||||
L_Encoding = "iso-8859-2"
|
||||
L_Mail = "Mensagem"
|
||||
L_Main_Page = "Página Principal"
|
||||
L_Monthly = "Mensal"
|
||||
L_Month = "Mês"
|
||||
L_Number = "Número"
|
||||
L_Received = "Recebido"
|
||||
L_Receiver = "Destinatário"
|
||||
L_Sender = "Remetente"
|
||||
L_Sent = "Enviado"
|
||||
L_Size = "Tamanho"
|
||||
L_Stats = "Estatísticas"
|
||||
L_Top = "Mais"
|
||||
L_Total = "Total"
|
||||
L_Yearly = "Anual"
|
||||
L_Year = "Ano"
|
21
root/data/lang/romana
Executable file
21
root/data/lang/romana
Executable 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
23
root/data/lang/russian
Executable 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
22
root/data/lang/spanish
Executable 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
22
root/data/lang/swedish
Executable 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
21
root/data/lang/turkish
Executable 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
411
root/depcomp
Executable 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
251
root/install-sh
Executable 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
608
root/isoqlog/Data.c
Executable 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
113
root/isoqlog/Data.h
Executable 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
163
root/isoqlog/Dir.c
Executable 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
17
root/isoqlog/Dir.h
Executable 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
23
root/isoqlog/Global.h
Executable 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
1769
root/isoqlog/Html.c
Executable file
File diff suppressed because it is too large
Load Diff
27
root/isoqlog/Html.h
Executable file
27
root/isoqlog/Html.h
Executable 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
165
root/isoqlog/LangCfg.c
Executable 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
34
root/isoqlog/LangCfg.h
Executable 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
12
root/isoqlog/Makefile.am
Executable 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
350
root/isoqlog/Makefile.in
Normal 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
563
root/isoqlog/Parser.c
Executable 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
37
root/isoqlog/Parser.h
Executable 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
111
root/isoqlog/Store.c
Executable 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
30
root/isoqlog/Store.h
Executable 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
111
root/isoqlog/config.h.in
Executable 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
|
14
root/isoqlog/isoqlog.conf.sample1
Executable file
14
root/isoqlog/isoqlog.conf.sample1
Executable 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
|
14
root/isoqlog/isoqlog.conf.sample2
Executable file
14
root/isoqlog/isoqlog.conf.sample2
Executable 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
|
14
root/isoqlog/isoqlog.conf.sample3
Executable file
14
root/isoqlog/isoqlog.conf.sample3
Executable 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
260
root/isoqlog/loadconfig.c
Executable 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
24
root/isoqlog/loadconfig.h
Executable 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
76
root/isoqlog/main.c
Executable 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
0
root/isoqlog/stamp-h.in
Normal file
283
root/missing
Executable file
283
root/missing
Executable 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
40
root/mkinstalldirs
Executable 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
54
root/tr/BENIOKU
Executable 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
121
root/tr/DEGISIKLIKLER
Executable 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
2
root/tr/HABERLER
Executable file
@@ -0,0 +1,2 @@
|
||||
|
||||
|
51
root/tr/KOPYALAMA
Executable file
51
root/tr/KOPYALAMA
Executable 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
Reference in New Issue
Block a user