OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 05-Oct-2007 13:57:59
Branch: HEAD Handle: 2007100512575800
Modified files:
openpkg-src/heimdal heimdal-setup.sh heimdal.spec rc.heimdal
Log:
first cut for incremental database replication via ipropd
Summary:
Revision Changes Path
1.3 +14 -0 openpkg-src/heimdal/heimdal-setup.sh
1.10 +48 -11 openpkg-src/heimdal/heimdal.spec
1.2 +29 -6 openpkg-src/heimdal/rc.heimdal
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/heimdal/heimdal-setup.sh
============================================================================
$ cvs diff -u -r1.2 -r1.3 heimdal-setup.sh
--- openpkg-src/heimdal/heimdal-setup.sh 5 Oct 2007 10:33:58 -0000
1.2
+++ openpkg-src/heimdal/heimdal-setup.sh 5 Oct 2007 11:57:58 -0000
1.3
@@ -65,3 +65,17 @@
( echo "ext_keytab host/$host"
) | @l_prefix@/sbin/kadmin -l -p admin/admin
+echo "++ adding ipropd master \"iprop/$host\" to Kerberos database"
+( echo -n "add"
+ echo -n " --random-key"
+ echo -n " --max-ticket-life=1day --max-renewable-life=1week"
+ echo -n " --expiration-time=never --pw-expiration-time=never"
+ echo -n " --attributes=\"\""
+ echo -n " iprop/$host"
+ echo ""
+) | @l_prefix@/sbin/kadmin -l -p admin/admin
+
+echo "++ exporting keytab file for \"host/$host\" from Kerberos database"
+( echo "ext_keytab iprop/$host"
+) | @l_prefix@/sbin/kadmin -l -p admin/admin
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/heimdal/heimdal.spec
============================================================================
$ cvs diff -u -r1.9 -r1.10 heimdal.spec
--- openpkg-src/heimdal/heimdal.spec 5 Oct 2007 10:33:59 -0000 1.9
+++ openpkg-src/heimdal/heimdal.spec 5 Oct 2007 11:57:58 -0000 1.10
@@ -105,6 +105,13 @@
%{l_shtool} subst \
-e 's;HDB_DB_DIR "/kdc.conf";"%{l_prefix}/etc/heimdal/kdc.conf";g' \
kadmin/kadmin.c kadmin/kadmind.c kdc/kdc_locl.h kpasswd/kpasswdd.c
+ %{l_shtool} subst \
+ -e 's;HDB_DB_DIR
"/slaves";"%{l_prefix}/etc/heimdal/ipropd.slaves";g' \
+ -e 's;HDB_DB_DIR
"/slaves-stats";"%{l_prefix}/var/heimdal/run/ipropd.stats";g' \
+ lib/kadm5/iprop.h
+ %{l_shtool} subst \
+ -e 's;HDB_DB_DIR
"/signal";"%{l_prefix}/var/heimdal/run/ipropd.signal";g' \
+ lib/kadm5/private.h
( echo "ac_cv_prog_COMPILE_ET="
) >config.cache
CC="%{l_cc}" \
@@ -210,6 +217,10 @@
%{l_shtool} install -c -m 644 %{l_value -s -a} \
%{SOURCE krb5.conf} %{SOURCE kdc.conf} \
$RPM_BUILD_ROOT%{l_prefix}/etc/heimdal/
+ %{l_shtool} install -c -m 644 \
+ /dev/null $RPM_BUILD_ROOT%{l_prefix}/etc/heimdal/ipropd.master
+ %{l_shtool} install -c -m 644 \
+ /dev/null $RPM_BUILD_ROOT%{l_prefix}/etc/heimdal/ipropd.slaves
# install OSSP fsl configuration
%{l_shtool} install -c -m 644 %{l_value -s -a} \
@@ -253,25 +264,51 @@
echo " \$ $RPM_INSTALL_PREFIX/sbin/kadmin -l -p admin/admin \\ "
echo " passwd -p <new-password> admin/admin"
echo ""
+ echo "REPLICATION:"
+ echo ""
+ echo "For database replication prepare the *master* with:"
+ echo " \$ echo 'iprop/<hostname-slave>.<domain>@<realm>' \\ "
+ echo " >>$RPM_INSTALL_PREFIX/etc/heimdal/ipropd.slaves"
+ echo " \$ vi $RPM_INSTALL_PREFIX/etc/rc.conf"
+ echo " heimdal_daemons=\"[...] ipropd-master\""
+ echo ""
+ echo "For database replication prepare the *slave* with:"
+ echo " \$ echo '<hostname-master>.<domain>' \\ "
+ echo " >>$RPM_INSTALL_PREFIX/etc/heimdal/ipropd.master"
+ echo " \$ $RPM_INSTALL_PREFIX/sbin/kadmin -p admin/admin \\ "
+ echo " add --random-key --attributes=\"\" \\ "
+ echo " --max-ticket-life=1day --max-renewable-life=1week \\ "
+ echo " --expiration-time=never --pw-expiration-time=never \\ "
+ echo " iprop/<hostname-slave>.<domain>"
+ echo " \$ $RPM_INSTALL_PREFIX/sbin/kadmin -p admin/admin \\ "
+ echo " ext_keytab host/<hostname-slave>.<domain>"
+ echo " \$ vi $RPM_INSTALL_PREFIX/etc/rc.conf"
+ echo " heimdal_daemons=\"[...] ipropd-slave\""
+ echo ""
+ echo "HOSTS:"
+ echo ""
echo "Then you should add and attach all remote hosts to Heimdal"
echo "by running the following command on each *remote* host:"
echo " \$ $RPM_INSTALL_PREFIX/sbin/kadmin -p admin/admin \\ "
- echo " add --random-key --attributes=\"\" \\ "
- echo " --max-ticket-life=1day --max-renewable-life=1week \\ "
- echo " --expiration-time=never --pw-expiration-time=never \\ "
- echo " host/<hostname>.<domain>"
+ echo " add --random-key --attributes=\"\" \\ "
+ echo " --max-ticket-life=1day --max-renewable-life=1week \\ "
+ echo " --expiration-time=never --pw-expiration-time=never \\ "
+ echo " host/<hostname>.<domain>"
echo " \$ $RPM_INSTALL_PREFIX/sbin/kadmin -p admin/admin \\ "
- echo " ext_keytab host/<hostname>.<domain>"
+ echo " ext_keytab host/<hostname>.<domain>"
+ echo ""
+ echo "USERS:"
echo ""
echo "Then you should add all your users to Heimdal via:"
- echo " \$ $RPM_INSTALL_PREFIX/sbin/kadmin -p admin/admin \\ "
- echo " add --password=<password> --use-defaults \\ "
- echo " <user>/<user>@<realm>"
+ echo " \$ $RPM_INSTALL_PREFIX/sbin/kadmin -l -p admin/admin \\ "
+ echo " add --password=<password> --use-defaults \\ "
+ echo " <user>/<user>@<realm>"
echo ""
echo "After this, your users can use Kerberos all attached hosts:"
echo " \$ $RPM_INSTALL_PREFIX/bin/kinit <user>/<user>"
echo " \$ $RPM_INSTALL_PREFIX/bin/klist"
echo " \$ $RPM_INSTALL_PREFIX/bin/kdestroy"
+ echo ""
) | %{l_rpmtool} msg -b -t notice
fi
# after upgrade, restore status
@@ -284,8 +321,8 @@
# before erase, stop service and remove log files
[ $1 -eq 0 ] || exit 0
%{l_rc} heimdal stop 2>/dev/null
- rm -f $RPM_INSTALL_PREFIX/var/heimdal/log/*.log* >/dev/null 2>&1 || true
- rm -f $RPM_INSTALL_PREFIX/var/heimdal/run/*.pid >/dev/null 2>&1 || true
- rm -f $RPM_INSTALL_PREFIX/var/heimdal/db/* >/dev/null 2>&1 || true
+ rm -f $RPM_INSTALL_PREFIX/var/heimdal/log/* >/dev/null 2>&1 || true
+ rm -f $RPM_INSTALL_PREFIX/var/heimdal/run/* >/dev/null 2>&1 || true
+ rm -f $RPM_INSTALL_PREFIX/var/heimdal/db/* >/dev/null 2>&1 || true
exit 0
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/heimdal/rc.heimdal
============================================================================
$ cvs diff -u -r1.1 -r1.2 rc.heimdal
--- openpkg-src/heimdal/rc.heimdal 13 Jan 2007 21:18:16 -0000 1.1
+++ openpkg-src/heimdal/rc.heimdal 5 Oct 2007 11:57:58 -0000 1.2
@@ -9,6 +9,8 @@
heimdal_flags_kdc=""
heimdal_flags_kadmind=""
heimdal_flags_kpasswdd=""
+ heimdal_flags_ipropd_master=""
+ heimdal_flags_ipropd_slave=""
heimdal_log_prolog="true"
heimdal_log_epilog="true"
heimdal_log_numfiles="10"
@@ -20,6 +22,8 @@
heimdal_pidfile_kdc="@l_prefix@/var/heimdal/run/kdc.pid"
heimdal_pidfile_kadmind="@l_prefix@/var/heimdal/run/kadmind.pid"
heimdal_pidfile_kpasswdd="@l_prefix@/var/heimdal/run/kpasswdd.pid"
+
heimdal_pidfile_ipropd_master="@l_prefix@/var/heimdal/run/ipropd-master.pid"
+
heimdal_pidfile_ipropd_slave="@l_prefix@/var/heimdal/run/ipropd-slave.pid"
heimdal_signal () {
[ -f $heimdal_pidfile_kdc ] \
&& kill -$1 `cat $heimdal_pidfile_kdc`
@@ -30,9 +34,17 @@
[ -f $heimdal_pidfile_kpasswdd ] \
&& kill -$1 `cat $heimdal_pidfile_kpasswdd`
local rc_heimdal_kpasswdd=$?
- [ $rc_heimdal_kdc -eq 0 -o \
- $rc_heimdal_kadmind -eq 0 -o \
- $rc_heimdal_kpasswdd -eq 0 ]
+ [ -f $heimdal_pidfile_ipropd_master ] \
+ && kill -$1 `cat $heimdal_pidfile_ipropd_master`
+ local rc_heimdal_ipropd_master=$?
+ [ -f $heimdal_pidfile_ipropd_slave ] \
+ && kill -$1 `cat $heimdal_pidfile_ipropd_slave`
+ local rc_heimdal_ipropd_slave=$?
+ [ $rc_heimdal_kdc -eq 0 -o \
+ $rc_heimdal_kadmind -eq 0 -o \
+ $rc_heimdal_kpasswdd -eq 0 -o \
+ $rc_heimdal_ipropd_master -eq 0 -o \
+ $rc_heimdal_ipropd_slave -eq 0 ]
}
%status -u @l_susr@ -o
@@ -61,6 +73,15 @@
nohup @l_prefix@/sbin/kpasswdd $heimdal_flags_kpasswdd &
echo $! >$heimdal_pidfile_kpasswdd
;;
+ ipropd-master )
+ nohup @l_prefix@/sbin/ipropd-master
$heimdal_flags_ipropd_master &
+ echo $! >$heimdal_pidfile_ipropd_master
+ ;;
+ ipropd-slave )
+ nohup @l_prefix@/sbin/ipropd-slave
$heimdal_flags_ipropd_slave \
+ `cat @l_prefix@/etc/heimdal/ipropd.master` &
+ echo $! >$heimdal_pidfile_ipropd_slave
+ ;;
esac
done
@@ -69,9 +90,11 @@
rcService heimdal active no && exit 0
heimdal_signal TERM
sleep 5
- rm -f $heimdal_pidfile_kdc 2>/dev/null || true
- rm -f $heimdal_pidfile_kadmind 2>/dev/null || true
- rm -f $heimdal_pidfile_kpasswdd 2>/dev/null || true
+ rm -f $heimdal_pidfile_kdc 2>/dev/null || true
+ rm -f $heimdal_pidfile_kadmind 2>/dev/null || true
+ rm -f $heimdal_pidfile_kpasswdd 2>/dev/null || true
+ rm -f $heimdal_pidfile_ipropd_master 2>/dev/null || true
+ rm -f $heimdal_pidfile_ipropd_slave 2>/dev/null || true
%restart -u @l_susr@
rcService heimdal enable yes || exit 0
@@ .
______________________________________________________________________
OpenPKG http://openpkg.org
CVS Repository Commit List [email protected]