summaryrefslogtreecommitdiff
path: root/localmkpostfixvirtual
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2002-07-20 18:30:19 +0000
committerJonas Smedegaard <dr@jones.dk>2002-07-20 18:30:19 +0000
commit718a5481371ae02c7a56fcebe53d9763c6f96167 (patch)
treece62db5a99981645f3cf1a775f7bcef72815e98b /localmkpostfixvirtual
parentb3336c8ad549a2d833ca3dac1e0f5107987f991f (diff)
localmkpostfixvirtual: fallback to single mailgroup if roomnumber empty. Update docs.
Diffstat (limited to 'localmkpostfixvirtual')
-rwxr-xr-xlocalmkpostfixvirtual17
1 files changed, 13 insertions, 4 deletions
diff --git a/localmkpostfixvirtual b/localmkpostfixvirtual
index 654de19..f04987c 100755
--- a/localmkpostfixvirtual
+++ b/localmkpostfixvirtual
@@ -3,7 +3,7 @@
# /usr/local/sbin/localmkpostfixvirtual
# Copyright 2001-2002 Jonas Smedegaard <dr@jones.dk>
#
-# $Id: localmkpostfixvirtual,v 1.5 2002-03-07 16:22:51 jonas Exp $
+# $Id: localmkpostfixvirtual,v 1.6 2002-07-20 18:30:19 jonas Exp $
#
# Generate virtual file for postfix
#
@@ -11,11 +11,18 @@
#
# Each user should have space-separated hints like "mailname1@ mailname2@gid1 mailname3@gid2".
#
-# The user of each mailgroup should have hints like "@domain1 @domain2" for each hosted domain.
+# The user of each mailgroup should have hints like "@domain1 @domain2"
+# for each hosted domain.
#
-# Optional: root can have hints like "postmaster@ hostmaster@ support@" (default: "postmaster@").
+# Optional: More than one mailgroup can be grouped: List them all in
+# "Office" or "roomnumber" field of primary mailgroup (include the
+# primary mailgroup itself!).
+#
+# Optional: root can have hints like "postmaster@ hostmaster@ support@"
+# (default: "postmaster@").
#
# TODO: reuse getent requests (drastically improves speed)
+# TODO: Write command "members" as internal code
#
function get_fullname_field() { getent passwd $1 | awk -F: '{print $5}' | awk -F, '{print $1}'; }
@@ -48,7 +55,9 @@ for gid in $@; do
fi
echo
mailusers=""
- for mailgroup in `get_roomnumber_field $gid`; do
+ mailgroups=`get_roomnumber_field $gid`
+ [ -z "$mailgroups" ] || mailgroups=$gid
+ for mailgroup in $mailgroups; do
mailusers="$mailusers `members $mailgroup`"
done
# for uid in `members $gid | sort`; do