]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
fix for 50647: RFE: yp_nomail.sh contribution. contributed by mtakacs@pacbell.net
authorcyeh%bluemartini.com <>
Wed, 13 Sep 2000 06:50:31 +0000 (06:50 +0000)
committercyeh%bluemartini.com <>
Wed, 13 Sep 2000 06:50:31 +0000 (06:50 +0000)
contrib/README
contrib/yp_nomail.sh [new file with mode: 0644]

index 32ec834a9e5fba4dfbb5f76f39d755d5649e032c..df68202a49365bc56adc148597f4b877b88d418d 100644 (file)
@@ -16,3 +16,5 @@ This directory includes:
       README.Mailif --  Readme describing the mail interface.
   bugmail_help.html --  User help page for the mail interface.
 
+       yp_nomail.sh --  script you can run via cron that regularly updates
+                        the nomail file for terminated employees 
diff --git a/contrib/yp_nomail.sh b/contrib/yp_nomail.sh
new file mode 100644 (file)
index 0000000..36bbc82
--- /dev/null
@@ -0,0 +1,78 @@
+#!/bin/sh
+# -*- Mode: ksh -*-
+##############################################################################
+# $Id: yp_nomail.sh,v 1.1 2000/09/12 23:50:31 cyeh%bluemartini.com Exp $
+# yp_nomail
+#
+# Our mail admins got annoyed when bugzilla kept sending email
+# to people who'd had bugzilla entries and left the company.  They
+# were no longer in the list of valid email users so it'd bounce.
+# Maintaining the 'data/nomail' file was a pain.  Luckily, our UNIX
+# admins list all the users that ever were, but the people who've left
+# have a distinct marker in their password file. For example:
+#
+# fired:*LK*:2053:1010:You're Fired Dude:/home/loser:/bin/false
+#
+# This script takes advantage of the "*LK*" convention seen via 
+# ypcat passwd and dumps those people into the nomail file. Any
+# manual additions are kept in a "nomail.(domainname)" file and 
+# appended to the list of yp lockouts every night via Cron
+#
+# 58 23 * * * /export/bugzilla/contrib/yp_nomail.sh > /dev/null 2>&1
+#
+# Tak ( Mark Takacs ) 08/2000
+#
+# XXX: Maybe should crosscheck w/bugzilla users?
+##############################################################################
+
+####
+# Configure this section to suite yer installation
+####
+
+DOMAIN=`domainname`
+MOZILLA_HOME="/export/mozilla"
+BUGZILLA_HOME="${MOZILLA_HOME}/bugzilla"
+NOMAIL_DIR="${BUGZILLA_HOME}/data"
+NOMAIL="${NOMAIL_DIR}/nomail"
+NOMAIL_ETIME="${NOMAIL}.${DOMAIN}"
+NOMAIL_YP="${NOMAIL}.yp"
+FIRED_FLAG="\*LK\*"
+
+YPCAT="/usr/bin/ypcat"
+GREP="/usr/bin/grep"
+SORT="/usr/bin/sort"
+
+########################## no more config needed  #################
+
+# This dir comes w/Bugzilla. WAY too paranoid
+if [ ! -d ${NOMAIL_DIR} ] ; then
+    echo "Creating $date_dir"
+    mkdir -p ${NOMAIL_DIR}
+fi
+
+#
+# Do some (more) paranoid checking
+#
+touch ${NOMAIL}
+if [ ! -w ${NOMAIL} ] ; then
+    echo "Can't write nomail file: ${NOMAIL} -- exiting"
+    exit
+fi
+if [ ! -r ${NOMAIL_ETIME} ] ; then
+    echo "Can't access custom nomail file: ${NOMAIL_ETIME} -- skipping"
+    NOMAIL_ETIME=""
+fi
+
+#
+# add all the people with '*LK*' password to the nomail list
+# XXX: maybe I should customize the *LK* string. Doh.
+#
+
+LOCKOUT=`$YPCAT passwd | $GREP "${FIRED_FLAG}" | cut -d: -f1 | sort > ${NOMAIL_YP}`
+`cat ${NOMAIL_YP} ${NOMAIL_ETIME} > ${NOMAIL}`
+
+exit
+
+
+# end
+