initial commit of file from CVS for smeserver-audittools on Mon 10 Jul 08:35:16 BST 2023

This commit is contained in:
Brian Read 2023-07-10 08:35:16 +01:00
parent 0c3dab603b
commit e8ae5ac869
17 changed files with 877 additions and 2 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.rpm
*.log
*spec-20*
*.tar.xz

21
Makefile Normal file
View File

@ -0,0 +1,21 @@
# Makefile for source rpm: smeserver-audittools
# $Id: Makefile,v 1.1 2016/02/05 23:46:33 stephdl Exp $
NAME := smeserver-audittools
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -1,3 +1,17 @@
# smeserver-audittools
# <img src="https://www.koozali.org/images/koozali/Logo/Png/Koozali_logo_2016.png" width="25%" vertical="auto" style="vertical-align:bottom"> smeserver-audittools
SMEServer Koozali developed git repo for smeserver-audittools smeserver
## Wiki
<br />https://wiki.koozali.org/
## Bugzilla
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-audittools&product=SME%20Server%2010.X&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
## Description
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
*Once it has been checked, then this comment will be deleted*
<br />
Audittools is a powerful software suite used by organizations to streamline their financial and operational auditing processes. It provides a suite of tools to help measure and analyze data for budgeting, planning, compliance, and financial reporting. Audittools offers an array of features to help organizations automate tedious and time-consuming processes, increase accuracy of data, and to ensure compliance with applicable regulations. With its advanced data insights capabilities, Audittools can help organizations better understand their financial and operating performance to make informed decisions and increase efficiency. Audittools also provides customizable dashboards and reports that allow for quick and efficient data analysis. Organizations can use the software to track their financials and operations accurately and efficiently, while maintaining compliance with applicable rules and regulations.

1
contriborbase Normal file
View File

@ -0,0 +1 @@
sme10

View File

@ -0,0 +1,65 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
# copyright (C) 2006 Gordon Rowell <gordonr@gormand.com.au>
#
# 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 of the License, 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
#----------------------------------------------------------------------
use strict;
use warnings;
use esmith::AccountsDB;
my $adb = esmith::AccountsDB->open or die "Couldn't open AccountsDB\n";
use constant ALIAS_DIR => "/var/qmail/alias";
chdir ALIAS_DIR or die "Couldn't chdir alias directory\n";
opendir DIR, '.' or die "Couldn't readdir .\n";
for my $file ( readdir(DIR) )
{
next unless ($file =~ /^.qmail-/);
my $name = $file;
$name =~ s/.qmail-//;
$name =~ s/-default$//;
$name =~ s/:/./g;
my $account = $adb->get($name);
if ($account)
{
print "$file: ACCOUNT: $name - " . $account->prop('type') . "\n";
next;
}
my $template = "/etc/e-smith/templates" . ALIAS_DIR . "/$file";
my $custom_template = "/etc/e-smith/templates-custom" . ALIAS_DIR . "/$file";
if (-e $template or -e $custom_template)
{
print "$file: TEMPLATE exists\n";
next;
}
print "$file: MANUAL - contents:\n";
open FILE, $file;
print <FILE>, "\n";
}

View File

@ -0,0 +1,71 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
# copyright (C) 2006 Gordon Rowell <gordonr@gormand.com.au>
#
# 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 of the License, 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
#----------------------------------------------------------------------
use strict;
use warnings;
use RPM2;
use File::Find;
use File::Path;
use File::stat;
# Files not owned by RPMs
# Files modified since install by RPM
# events from "non-standard" RPMs
use RPM2;
my $rpm2 = RPM2->open_rpm_db();
find({ wanted => \&events }, "/etc/e-smith/events");
sub events
{
return unless -f;
my $template = $File::Find::name;
my $status = rpm_status(name => $File::Find::name);
return if ( $status eq "OWNED_BY_RPM");
return if ( $File::Find::name =~ /^\/etc\/e-smith\/events\/temp/);
print "$File::Find::name: $status\n";
}
sub rpm_status
{
my (%options) = @_;
my @rpms = $rpm2->find_by_file($options{name});
return "MANUALLY_ADDED" unless (@rpms);
return "MULTIPLE_RPM_OWNERS " . join(", ", map { $_->as_nvre } @rpms)
if (@rpms >= 2);
my $install_time = $rpms[0]->tag("INSTALLTIME");
my $st = lstat($options{name}) or die "Couldn't stat $options{name}: $!";
return "MODIFIED " . $rpms[0]->as_nvre if ($st->mtime > $install_time);
return "OWNED_BY_RPM";
}

View File

@ -0,0 +1,133 @@
#!/bin/bash
#------------------------------------------------------------------------
# The purpose of this tool is to verify correct GID and UID of essential
# groups and users of SME and to display all users, groups, ibays set in
# the collaboration panel of server-manager.
#------------------------------------------------------------------------
##admin
a=`id admin`
a1=`id admin -u`
a2=`id admin -g`
a4=`awk -F: '$1=="admin" { print $1,$3 }' /etc/group`
##Test conditions
if [ $a1 = "101" ] && [ $a2 = "101" ]
then
a3="....Good!!!"
else
a3="....Error!!!"
fi
if [[ -n "$a4" ]]; then
a5="....Good!!!"
else
a5="....Error!!!"
fi
##www
b=`id www`
b1=`id www -u`
b2=`id www -g`
b4=`awk -F: '$1=="www" { print $1,$3 }' /etc/group`
##Test conditions
if [ $b1 = "102" ] && [ $b2 = "102" ]
then
b3="....Good!!!"
else
b3="....Error!!!"
fi
if [[ -n "$b4" ]]; then
b5="....Good!!!"
else
b5="....Error!!!"
fi
##apache
c=`id apache`
c1=`id apache -u`
c2=`id apache -g`
c4=`awk -F: '$1=="apache" { print $1,$3 }' /etc/group`
##Test conditions
if [ $c1 = "102" ] && [ $c2 = "102" ]
then
c3="....Good!!!"
else
c3="....Error!!!"
fi
if [[ -n "$c4" ]]; then
c5="....Good!!!"
else
c5="....Error!!!"
fi
##public
d=`id public`
d1=`id public -u`
d2=`id public -g`
d4=`awk -F: '$1=="public" { print $1,$3 }' /etc/group`
##Test conditions
if [ $d1 = "103" ] && [ $d2 = "103" ]
then
d3="....Good!!!"
else
d3="....Error!!!"
fi
if [[ -n "$d4" ]]; then
d5="....Good!!!"
else
d5="....Error!!!"
fi
##smelog
e=`id smelog`
e1=`id smelog -u`
e2=`id smelog -g`
e4=`awk -F: '$1=="smelog" { print $1,$3 }' /etc/group`
##Test conditions
if [ $e1 = "1002" ] && [ $e2 = "1002" ]
then
e3="....Good!!!"
else
e3="....Error!!!"
fi
if [[ -n "$e4" ]]; then
e5="....Good!!!"
else
e5="....Error!!!"
fi
##display uid/gid
echo "* The user/group 'admin' needs a UID/GID of 101 : " $a3
echo $a
echo "* The group 'admin' needs to be written in /etc/group : " $a4 $a5
echo ""
echo "* The user/group 'www' needs a UID/GID of 102 : " $b3
echo $b
echo "* The group 'www' needs to be written in /etc/group : " $b4 $b5
echo ""
echo "* The user/group 'apache' needs a UID/GID of 102 : " $c3
echo $c
echo "* The group 'apache' needs to be written in /etc/group : " $c4 $c5
echo ""
echo "* The user/group 'public' needs a UID/GID of 103 : " $d3
echo $d
echo "* The group 'public' needs to be written in /etc/group : " $d4 $d5
echo ""
echo "* The user/group 'smelog' needs a UID/GID of 1002 : " $e3
echo $e
echo "* The group 'smelog' needs to be written in /etc/group : " $e4 $e5
echo
##display all users of server-manager
echo "* All users created in the server-manager with their UID/GID"
cat /etc/passwd | grep 'users' |sort| sed "s/:/ /g"| sed "s/x/ /g"
echo ""
##display all groups of server-manager
echo "* All groups created in the server-manager with their GID"
awk -F: '$3== '500' || $3 >= '5000' && $3 < '65534' { print $1,$3,$4 }' /etc/group | sort
echo ""
##display all ibays created
echo "* All ibays created in the server-manager with their UID/GID"
cat /etc/passwd | grep 'ibays' |sort | sed "s/:/ /g"| sed "s/x/ /g"| sed "s|/bin/false| |g"

View File

@ -0,0 +1,25 @@
#!/bin/bash
#logcheck [days] [location]
re='^[0-9]+$'
days=2
location=/tmp
# If there is a second arg, use it as the location
if ! [ -z "$2" ]; then
location=$2
fi
# If first arg is a number, then set days.
if ! [ -z "$1" ]; then
if [[ $1 =~ $re ]] ; then
days=$1
else
location=$1
fi;
fi
echo "Log file: $location/log$(date +'%m%d%y')"
find /var/log/ -mtime -$days -print -exec sh -c 'cat "{}" | tai64nlocal | egrep -i "useless|warn|fail|error|disable|remov|unable|exit"' \; > "$location/log$(date +'%m%d%y')" 2>&1
exit 0

View File

@ -0,0 +1,13 @@
#!/bin/bash
#List rpms installed from outside the standard yum repositories
yum list extras \
--disablerepo=* \
--enablerepo=base \
--enablerepo=smeupdates \
--enablerepo=updates \
--enablerepo=smeos \
--enablerepo=smeaddons \
--enablerepo=remi-safe \
| grep -vi gpg-pubkey

View File

@ -0,0 +1,75 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
# copyright (C) 1999-2006 Mitel Corporation
# copyright (C) 2006 Gordon Rowell <gordonr@gormand.com.au>
#
# 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 of the License, 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
#----------------------------------------------------------------------
use strict;
use warnings;
use esmith::AccountsDB;
my $adb = esmith::AccountsDB->open_ro or die "Couldn't open AccountsDB\n";
for my $pseudonym ($adb->pseudonyms)
{
my $account = $pseudonym->prop('Account');
my $key = $pseudonym->key;
if ($key =~ /\@$/)
{
complain($key, "missing domain");
next;
}
unless ($account)
{
complain($key, "no Account property or Account property empty");
next;
}
$account = $adb->get($pseudonym->prop('Account'));
unless ($account)
{
complain($key, "points to account which does not exist");
next;
}
$account = $adb->get($account->prop('Account'))
if ($account->prop('type') eq "pseudonym");
unless ($account)
{
complain($key, "points to pseudonym account which points to account which does not exist");
next;
}
if ($account->prop('type') eq "pseudonym")
{
complain($key, "too many pseudonym levels");
next;
}
}
sub complain
{
my ($key, $warning) = @_;
warn "$key: $warning\n";
print "RUN: db accounts settype $key pseudonym-deleted\n";
}

View File

@ -0,0 +1,6 @@
#!/bin/bash
#List status of configured repositories
/sbin/e-smith/db yum_repositories print | sed 's/=.*|status|/: /;s/|.*//'

View File

@ -0,0 +1,89 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
# copyright (C) 2006 Gordon Rowell <gordonr@gormand.com.au>
#
# 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 of the License, 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
#----------------------------------------------------------------------
use strict;
use warnings;
use RPM2;
use File::Find;
use File::Path;
use File::stat;
# Files not owned by RPMs
# Files modified since install by RPM
# Templates from "non-standard" RPMs
# Templates overridden in templates-custom
use RPM2;
my $rpm2 = RPM2->open_rpm_db();
for my $dir ( qw(templates templates-user) )
{
find({ wanted => \&custom_templates }, "/etc/e-smith/$dir-custom");
find({ wanted => \&templates }, "/etc/e-smith/$dir");
}
sub custom_templates
{
return unless -f;
my $template = $File::Find::name;
$template =~ s/-custom//;
my $status = rpm_status(name => $File::Find::name);
print "$File::Find::name: $status, " .
((-e $template) ? "OVERRIDE" : "ADDITION"), "\n";
}
sub templates
{
return unless -f;
my $template = $File::Find::name;
my $status = rpm_status(name => $File::Find::name);
return if ( $status eq "OWNED_BY_RPM");
print "$File::Find::name: $status\n";
}
sub rpm_status
{
my (%options) = @_;
my @rpms = $rpm2->find_by_file($options{name});
return "MANUALLY_ADDED" unless (@rpms);
return "MULTIPLE_RPM_OWNERS " . join(", ", map { $_->as_nvre } @rpms)
if (@rpms >= 2);
my $install_time = $rpms[0]->tag("INSTALLTIME");
my $st = stat($options{name}) or die "Couldn't stat $options{name}: $!";
return "MODIFIED " . $rpms[0]->as_nvre if ($st->mtime > $install_time);
return "OWNED_BY_RPM";
}

View File

@ -0,0 +1,48 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
# copyright (C) 1999-2006 Mitel Networks Corporation
#
# 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 of the License, 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
#----------------------------------------------------------------------
use strict;
use warnings;
open (FIND, '-|', 'find /etc/e-smith/events/*/templates2expand -type f')
or die "Couldn't call find\n";
my %t2e;
my %e2t;
while ( <FIND> )
{
if ( m:/etc/e-smith/events/(.*)/templates2expand(.*): )
{
push @{$t2e{$2}}, $1;
push @{$e2t{$1}}, $2;
}
}
for (sort keys %t2e)
{
print "$_\n\t" . join("\n\t", @{$t2e{$_}}) . "\n";
}
for (sort keys %e2t)
{
print "$_\n\t" . join("\n\t", @{$e2t{$_}}) . "\n";
}

View File

@ -0,0 +1,81 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
# copyright (C) 1999-2005 Mitel Networks Corporation
# Copyright (C) 2006 Gordon Rowell <gordonr@gormand.com.au>
#
# 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 of the License, 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
#----------------------------------------------------------------------
use strict;
use esmith::AccountsDB;
use User::pwent;
use File::Find;
use Mail::Header;
use constant VERBOSE => 0;
my %delivered2;
my $adb = esmith::AccountsDB->open;
die "Couldn't open AccountsDB\n" unless $adb;
my @users = ('admin', map { $_->key } $adb->users);
foreach my $user ( @users )
{
my $pwent = getpwnam($user)
or die "Couldn't get password entry for $user\n";
find({ wanted => \&wanted}, $pwent->dir . "/Maildir");
}
for my $key (sort keys %delivered2)
{
print "$key: $delivered2{$key}\n";
}
sub wanted
{
return unless -f;
my $name = $File::Find::name;
unless ($name =~ /(\d+\.\S+)/)
{
warn "Unknown filename $name\n" if VERBOSE;
return;
}
$name = $1;
open (FILE, $name) or die "Couldn't open $name\n";
my $header = new Mail::Header \*FILE;
unless ($header)
{
warn "Couldn't create Mail::Header object";
next;
}
for ($header->get("Delivered-To"))
{
chomp;
next if /^alias-localdelivery/;
$delivered2{lc($_)}++;
}
}

View File

@ -0,0 +1,61 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
# copyright (C) 2006 Gordon Rowell <gordonr@gormand.com.au>
#
# 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 of the License, 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
#----------------------------------------------------------------------
use strict;
use warnings;
use esmith::AccountsDB;
my $adb = esmith::AccountsDB->open or die "Couldn't open AccountsDB\n";
use constant VIRTUALDOMAINS => "/var/qmail/control/virtualdomains";
open VIRTUALS, VIRTUALDOMAINS or die "Couldn't open virtualdomains\n";
for ( <VIRTUALS> )
{
next unless (/(.*@.*):\s*(\S+)\s*/);
my ($pseudo, $target) = ($1, $2);
my $entry = $adb->get($pseudo);
if ($entry)
{
my $account = $entry->prop("Account");
if (not $account)
{
warn "$pseudo Account property missing or null\n";
next;
}
if ($account ne $target)
{
warn "$pseudo=>$account, but virtualdomains=>$target \n";
next;
}
warn "$pseudo exists\n";
next;
}
print "RUN: db accounts set $pseudo pseudonym Account $target\n";
}

168
smeserver-audittools.spec Normal file
View File

@ -0,0 +1,168 @@
# $Id: smeserver-audittools.spec,v 1.4 2022/04/05 23:31:38 jpp Exp $
Summary: SME Server auditing tools
%define name smeserver-audittools
Name: %{name}
%define version 1.6.0
%define release 5
Version: %{version}
Release: %{release}%{?dist}
License: GPL
Group: System Environment/Base
Source: %{name}-%{version}.tar.xz
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
BuildArchitectures: noarch
Requires: e-smith-lib
Requires: perl(RPM2)
BuildRequires: e-smith-devtools
%description
Tools for consistency audits of SME Servers. Useful for determining local
modifications prior to upgrades.
%changelog
* Mon Jul 10 2023 cvs2git.sh aka Brian Read <brianr@koozali.org> 1.6.0-5.sme
- Roll up patches and move to git repo [SME: 12338]
* Mon Jul 10 2023 BogusDateBot
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
by assuming the date is correct and changing the weekday.
* Tue Apr 05 2022 Jean-Philippe Pialasse <tests@pialasse.com> 1.6.0-4.sme
- display yum repo as seen by yum and db [SME: 10880]
- add remi-safe in list of newrpms [SME: 11932]
* Mon Aug 23 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.6.0-3.sme
- fix temp event displayed by events audittool [SME: 11674]
- fix links to different rpm rported as modified [SME: 11673]
* Fri Jan 08 2021 Jean-Philipe Pialasse <tests@pialasse.com> 1.6.0-2.sme
- add update event [SME: 11161]
* Sat Feb 06 2016 stephane de Labrusse <stephdl@de-labrusse.fr> 1.6.0-1.sme
- Initial release to sme10
* Sun Feb 2 2014 Ian Wells <esmith@wellsi.com> 1.4.0-3.sme
- Add logcheck to help analyse errors in the log files [SME: 8175]
* Tue Dec 17 2013 Ian Wells <esmith@wellsi.com> 1.4.0-2.sme
- Add an audit for groups, by Stephane de Labrusse [SME: 1208]
* Thu Jan 31 2013 Shad L. Lords <slords@mail.com> 1.4.0-1.sme
- Roll new stream for sme9
* Sat Nov 7 2009 Jonathan Martens <smeserver-contribs@snetram.nl> 1.2.0-7.sme
- Fix regular expression to actually replace the colon with a dot [SME: 5572]
* Sat Nov 7 2009 Jonathan Martens <smeserver-contribs@snetram.nl> 1.2.0-6.sme
- Undo changes made in 1.2.0-5 [SME: 5572]
- Properly fix output for usernames and groups containing a dot [SME: 5572]
* Fri Nov 6 2009 Jonathan Martens <smeserver-contribs@snetram.nl> 1.2.0-5.sme
- Remove comment lines from output of aliases [SME: 5572]
* Thu Nov 5 2009 Jonathan Martens <smeserver-contribs@snetram.nl> 1.2.0-4.sme
- Remove the leading path for yum in newrpms [SME: 5562]
* Sat Oct 24 2009 Jonathan Martens <smeserver-contribs@snetram.nl> 1.2.0-3.sme
- Revert changes made in [SME: 5417]
* Sat Aug 1 2009 Jonathan Martens <smeserver-contribs@snetram.nl> 1.2.0-2.sme
- Sort the output of the repositories audittool alphabetically [SME: 5417]
* Tue Oct 7 2008 Shad L. Lords <slords@mail.com> 1.2.0-1.sme
- Roll new stream to separate sme7/sme8 trees [SME: 4633]
* Thu Aug 14 2008 Jonathan Martens <smeserver-contribs@snetram.nl> 0.0.2-7
- New tool repositories, lists status of configured repositories [SME: 4438]
* Wed Jan 09 2008 Stephen Noble <support@dungog.net> 0.0.2-6
- New tool events, lists modified events [SME: 3419]
* Sat Jun 16 2007 Stephen Noble <support@dungog.net> 0.0.2-5
- New tool newrpms, lists installed rpms not in standard repos [SME: 1206]
* Sun Apr 29 2007 Shad L. Lords <slords@mail.com>
- Clean up spec so package can be built by koji/plague
* Thu Dec 07 2006 Shad L. Lords <slords@mail.com>
- Update to new release naming. No functional changes.
- Make Packager generic
* Wed Apr 12 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.2-03
- Change status output for templates audit. In particular
OK -> OWNED_BY_RPM. This means that custom templates will appear
as "OWNED_BY_RPM, OVERRIDE" rather than "OK, OVERRIDE". template
fragments should not be placed in templates-custom via RPMs [SME: 792]
* Thu Mar 30 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.2-02
- Fix output from pseudonyms audit [SME: 792]
- Display commands on stdout and warnings on stderr [SME: 792]
- Complain about pseudonyms with @, but no domain [SME: 792]
- Complain if virtualdomains pseudonym doesn't match accounts db [SME: 792]
* Thu Mar 30 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.2-01
- Roll new tarball with patches to 0.0.1-10 [SME: 792]
* Thu Mar 30 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-10
- Add pseudonyms audit [SME: 762]
* Thu Mar 30 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-09
- Moved all tools into /sbin/e-smith/audittools to reduce clutter
and make it easier to run all of them [SME: 762]
* Thu Mar 23 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-08
- audit-users2domains - What email address have been used? [SME: 762]
* Thu Mar 23 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-07
- Remove verbose option to rpm_status - not used [SME: 762]
* Thu Mar 23 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-06
- Determine how many RPMs own a template and whether it has been
modified since the install of the RPM [SME: 762]
* Thu Mar 23 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-05
- Only display commands required for conversion from virtualdomains
hacks to user@domain pseudonyms. These are audit tools - changing
the system should be a separate task [SME: 762]
* Thu Mar 23 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-04
- Examine custom templates:
- Are they owned by an RPM?
- Are they an override or an addition?
- Examine templates
- Are they owned by an RPM?
- TODO: Have they been modified since the install? [SME: 762]
* Thu Mar 23 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-03
- First cut at custom template audit [SME: 762]
* Thu Mar 23 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-02
- Add dependency on perl(RPM2) [SME: 762]
* Thu Mar 23 2006 Gordon Rowell <gordonr@gormand.com.au> 0.0.1-01
- Initial version [SME: 762]
%prep
%setup
mkdir -p root/etc/e-smith/events/%{name}-update
%build
%pre
%post
%install
rm -rf $RPM_BUILD_ROOT
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
--file /sbin/e-smith/audittools/ 'attr(0554,root,root)' \
> %{name}-%{version}-%{release}-filelist
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{name}-%{version}-%{release}-filelist
%defattr(-,root,root)