#! /usr/bin/perl -w
# Set up an example to allow a user to quickly get started with TMDA
# Note the "disable" and "enable" features.

$HOME_DIR = "$ENV{\"HOME\"}";
$TMDA_DIR = "$HOME_DIR/.tmda";
$EXAMPLE_DIR = -d "example" ? "example" : "/usr/lib/tmda-email/example";

if ( $#ARGV == 0 && $ARGV[0] eq "disable" )
   {
   rename "$HOME_DIR/.qmail", "$HOME_DIR/.qmail.bak";
   rename "$HOME_DIR/.qmail-default", "$HOME_DIR/.qmail-default.bak";
   exit 0;
   }

if ( $#ARGV == 0 && $ARGV[0] eq "enable" )
   {
   rename "$HOME_DIR/.qmail.bak", "$HOME_DIR/.qmail";
   rename "$HOME_DIR/.qmail-default.bak", "$HOME_DIR/.qmail-default";
   exit 0;
   }

if ( ! -d $TMDA_DIR )
   {
   # Create directories.
   mkdir $TMDA_DIR;
   mkdir "$TMDA_DIR/filters";
   mkdir "$TMDA_DIR/lists";
   mkdir "$TMDA_DIR/pending";

   # Create crypt_key file.
   open ( CRYPT_FILE, ">$TMDA_DIR/crypt_key" ) || die "Can't create $TMDA_DIR/crypt_key.\n";
   chmod 0600, "$TMDA_DIR/crypt_key";
   open ( KEYGEN, "/usr/bin/tmda-keygen|" ) || die "Can't start keygen.\n";
   while ( <KEYGEN> )
      {
      chomp;
      /^([a-z0-9]+$)/ && print CRYPT_FILE "$_\n";
      }
   close( KEYGEN );
   close( CRYPT_FILE );

   # Create initial config file
   system "cp $EXAMPLE_DIR/.tmda/config $TMDA_DIR/config";

   # Create initial files in filters directory.
   system "cp -r $EXAMPLE_DIR/.tmda/filters/* $TMDA_DIR/filters";

   # Create initial files in lists directory.
   system "cp -r $EXAMPLE_DIR/.tmda/lists/* $TMDA_DIR/lists";

   # Create initial .qmail files.
   system "cp -r $EXAMPLE_DIR/.qmail $HOME_DIR/.qmail";
   system "ln -s $HOME_DIR/.qmail $HOME_DIR/.qmail-default";
   system "cp -r $EXAMPLE_DIR/.qmail-tmda-default $HOME_DIR/.qmail-tmda-default";
   }
 else
   {
   print "Setup already done; See $TMDA_DIR directory.\n";
   }

exit 0;
