From 64314b3a114ebf15a8166628205dbe4854ad8c30 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Tue, 20 Dec 2005 01:48:03 +0000 Subject: Ask generally about subscribing to mailinglists before running through all lists. --- adduser.local | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'adduser.local') diff --git a/adduser.local b/adduser.local index a67e8e9..5ae31cb 100755 --- a/adduser.local +++ b/adduser.local @@ -3,7 +3,7 @@ # /usr/local/sbin/adduser.local # Copyright 2001-2002 Jonas Smedegaard # -# $Id: adduser.local,v 1.18 2005-12-20 01:10:56 jonas Exp $ +# $Id: adduser.local,v 1.19 2005-12-20 01:48:03 jonas Exp $ # # Common adduser additions for Spiff and Xenux networks # @@ -20,10 +20,10 @@ NEWGID=$3 NEWHOMEDIR=$4 function fullname() { getent passwd $NEWUSERNAME | awk -F: '{print $5}' | awk -F, '{print $1}'; } -function maildomain() { if [ -r /etc/mailname ]; then head -n 1 /etc/mailname; else hostname -d; fi; } +function maildomain() { if [ -r /etc/mailname ]; then head -n 1 /etc/mailname; fi; } function listlists() { if [ -x /usr/sbin/list_lists ]; then /usr/sbin/list_lists -ab; fi; } -function add2list() { /bin/echo "`fullname` <$NEWUSERNAME@`maildomain`>" | /usr/sbin/add_members -w y -a y -r - $1; } +function add2list() { /bin/echo "$1" | /usr/sbin/add_members -w y -a y -r - "$2"; } . /etc/adduser.conf @@ -69,14 +69,31 @@ if [ -x /usr/local/sbin/userforward ]; then fi # Mailing lists -for list in `listlists`; do - echo -n "Subscribe to mailinglist $list (y/N)? " +maildomain="`maildomain`" +if [ -n "$maildomain" ]; then + echo -n "Subscribe $NEWUSERNAME@$maildomain to local mailinglists (y/N)? " read subscribe case $subscribe in y|Y) - add2list $list;; + if [ -n "$fullname" ]; then + subscriber="`fullname` <$NEWUSERNAME@$maildomain>" + else + subscriber="$NEWUSERNAME@$maildomain" + fi + lists="`listlists`" + if [ -z "$lists" ]; then + echo "No local lists available for subscription." + fi + for list in `listlists`; do + echo -n "Subscribe to mailinglist $list (y/N)? " + read subscribe + case $subscribe in + y|Y) + add2list "$subscriber" "$list";; + esac + done esac -done +fi if [ -f /etc/local/users.conf ]; then . /etc/local/users.conf -- cgit v1.2.3