summaryrefslogtreecommitdiff
path: root/adduser.local
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2005-12-20 01:48:03 +0000
committerJonas Smedegaard <dr@jones.dk>2005-12-20 01:48:03 +0000
commit64314b3a114ebf15a8166628205dbe4854ad8c30 (patch)
treeca50c6eddd89bc1b14b1194fc84259d200f58ea2 /adduser.local
parent02517b89114aa6faa583931c38a26ea359e86be9 (diff)
Ask generally about subscribing to mailinglists before running through all lists.
Diffstat (limited to 'adduser.local')
-rwxr-xr-xadduser.local31
1 files changed, 24 insertions, 7 deletions
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 <dr@jones.dk>
#
-# $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