]> andersk Git - moira.git/commitdiff
mail.mit.edu domain.
authorzacheiss <zacheiss>
Wed, 18 Jul 2007 19:21:18 +0000 (19:21 +0000)
committerzacheiss <zacheiss>
Wed, 18 Jul 2007 19:21:18 +0000 (19:21 +0000)
gen/Makefile.in
gen/mailhosts.gen [new file with mode: 0755]

index 003ad76c5f2275a305ff2fa7bf97ffd82263e153..06475d0915b73d0c02b204ac5713422a2af842a2 100644 (file)
@@ -44,7 +44,7 @@ TARGET=       acl.gen boot.gen dhcp.gen directory.gen events.gen hesiod.gen hosts.gen
 
 SCRIPTS=access.gen access.sh acl.sh aliases.sh boot.sh ca.gen calendar.gen \
        confluence.gen dhcp.sh events.sh hesiod.sh ip-billing.gen \
-       ip-billing.sh ldap.gen longjobs.gen longjobs.sh mailhub.sh \
+       ip-billing.sh ldap.gen longjobs.gen longjobs.sh mailhosts.gen mailhub.sh \
        mailman.gen mailman.sh nagios-printers.gen nagios-printers.sh ndb.sh \
        nfs.sh null.sh postoffice.sh print.sh sapprint.gen sapprint.sh \
        spwatch.gen tsm.gen tsm.sh warehouse.gen warehouse.sh winstats.gen winstats.sh \
diff --git a/gen/mailhosts.gen b/gen/mailhosts.gen
new file mode 100755 (executable)
index 0000000..33431df
--- /dev/null
@@ -0,0 +1,56 @@
+#!/moira/bin/perl -Tw
+
+# $Id$
+
+# The following exit codes are defined and MUST BE CONSISTENT with the
+# error codes the library uses:
+$MR_DBMS_ERR = 47836421;
+$MR_OCONFIG = 4783640;
+
+$outfile = '/moira/dcm/mailhosts.out';
+
+use DBI;
+
+$dbh = DBI->connect("dbi:Oracle:moira", "moira", "moira")
+    || exit $MR_DBMS_ERR;
+
+$sth = $dbh->prepare("SELECT f.label, m.name ".
+                    "FROM filesys f, machine m, nfsphys p, serverhosts s ".
+                    "WHERE s.service='POSTOFFICE' AND s.mach_id=f.mach_id ".
+                    "AND f.mach_id=m.mach_id AND f.type='IMAP' ".
+                    "AND f.createflg!=0 AND f.mach_id=p.mach_id ".
+                    "AND f.phys_id=p.nfsphys_id ".
+                    "ORDER BY f.label")
+    || exit $MR_DBMS_ERR;
+$sth->execute || exit $MR_DBMS_ERR;
+
+$tnow = localtime;
+umask 022;
+open(OUT, ">$outfile") || exit $MR_OCONFIG;
+
+print OUT "; MIT Network Host Table\n;\n";
+print OUT "; \t\$Author$\n";
+print OUT "; \t\$Date$\n";
+print OUT "; \t\$Revision$\n;\n";
+print OUT "; Host table generated by Moira at $tnow\n;\n";
+
+while (($label, $name) = $sth->fetchrow_array) {
+    $label =~ s/\.po$//;
+    $label =~ tr/a-z/A-Z/;
+    $name =~ tr/a-z/A-Z/;
+
+    if (16 - length($label) > 8) {
+       $sp = "\t";
+    }
+    else {
+       $sp = "";
+    }
+    $row = "$label$sp\tIN\tCNAME\t$name.\n";
+    $row =~ s/\0//g;;
+    print OUT $row;
+}
+
+close(OUT);
+$dbh->disconnect;
+
+exit 0;
This page took 0.043059 seconds and 5 git commands to generate.