aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/fetchmaildistrib
diff options
context:
space:
mode:
authorRob Funk <rfunk@funknet.net>2004-06-08 03:59:01 +0000
committerRob Funk <rfunk@funknet.net>2004-06-08 03:59:01 +0000
commitd78b61e3efaea197a6e5b2b72bf2981a9ed69461 (patch)
tree1704e13ce5d767d59868a2d5e834cb2e988ed90f /contrib/fetchmaildistrib
parentd9e84e176fe538e110d9612f9832d69846e8d3e7 (diff)
downloadfetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.tar.gz
fetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.tar.bz2
fetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.zip
Add files from ESR's dev directory that weren't under version control
svn path=/trunk/; revision=3881
Diffstat (limited to 'contrib/fetchmaildistrib')
-rw-r--r--contrib/fetchmaildistrib29
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/fetchmaildistrib b/contrib/fetchmaildistrib
new file mode 100644
index 00000000..00cc1910
--- /dev/null
+++ b/contrib/fetchmaildistrib
@@ -0,0 +1,29 @@
+#/bin/bash
+#
+# fetchmaildistrib --- Distribute central fetchmail knowledge.
+#
+# The central fetchmail database, /etc/fetchmail, contains all accounts that
+# are to be fetched by the root's daemon. Often, a user desires quicker
+# access (e.g., when testing some email path). In such cases, the destination
+# user (marked as is USER here in the poll lines) should set up a ~/.fetchmailrc
+# for himself. This scripts generates such lines from the central file.
+#
+# By Rick van Rein.
+
+# From stdin, select poll lines for user $1
+function selectuser () {
+ grep ^poll | grep "is $1 here"
+}
+
+
+for i in `cut -d: -f1 </etc/passwd`
+do homedir=`grep ^$i: /etc/passwd | cut -d: -f6`
+ fetchfile=`selectuser $i </etc/fetchmailrc`
+ if [ -z "$fetchfile" ]
+ then rm -f $homedir/.fetchmailrc
+ else cp /dev/null $homedir/.fetchmailrc
+ chmod go-rwx $homedir/.fetchmailrc
+ grep ^defaults /etc/fetchmailrc >>$homedir/.fetchmailrc
+ selectuser $i </etc/fetchmailrc >>$homedir/.fetchmailrc
+ fi
+done