creation
authorthierry <thierry@41d37cc5-eb28-0410-a9bf-d37491348ade>
Thu, 5 Apr 2007 07:34:09 +0000 (07:34 +0000)
committerthierry <thierry@41d37cc5-eb28-0410-a9bf-d37491348ade>
Thu, 5 Apr 2007 07:34:09 +0000 (07:34 +0000)
scripts/onelab-aliases.sh [new file with mode: 0755]

diff --git a/scripts/onelab-aliases.sh b/scripts/onelab-aliases.sh
new file mode 100755 (executable)
index 0000000..2022138
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+# $Id$
+
+# to be run on the mail server at one-lab.org, to add aliases in that domain
+# Example:
+# new-alias.sh francois2.jan@orange-ftgroup.com
+# -> creates two aliases
+# francois2.jan@one-lab.org
+# francois2.jan.private@one-lab.org
+
+COMMAND=$(basename $0)
+
+SQL="psql -U mail mail"
+
+function usage () {
+  echo "Usage: $command alias1 [ .. aliasn]"
+  exit 1
+}
+
+function create () {
+
+  target=$1; shift
+
+  namepart=$(echo $target | cut -s -d @ -f 1)
+  domainpart=$(echo $target | cut -s -d @ -f 2)
+  if [ -z "$namepart" -o -z "$domainpart" ] ; then
+    echo "WARNING: $target skipped"
+    continue
+  fi
+  for suffix in "" ".private" ; do
+    aliasname=${namepart}${suffix}@one-lab.org
+    sqlcommand="insert into alias values ( '${aliasname}', '${target}' )"
+    echo "Sending $sqlcommand"
+    echo "$sqlcommand" | $SQL
+  done
+
+}
+
+function list_aliases () {
+  echo 'select * from alias;' | $SQL
+}
+  
+
+function main () {
+
+  targets="$@" 
+
+  if [[ -z "$targets" ]] ; then
+    list_aliases
+  else
+    for target in "$@" ; do
+      create $target
+    done
+  fi
+}
+
+main "$@"