313 lines
10 KiB
CFEngine3
313 lines
10 KiB
CFEngine3
#
|
|
# A sample configuration file for majordomo. You must read through this and
|
|
# edit it accordingly!
|
|
#
|
|
|
|
|
|
# $whereami -- What machine am I running on?
|
|
#
|
|
$whereami = "|DOMAIN|";
|
|
|
|
# $whoami -- Who do users send requests to me as?
|
|
#
|
|
$whoami = "majordomo\@$whereami";
|
|
|
|
# $whoami_owner -- Who is the owner of the above, in case of problems?
|
|
#
|
|
$whoami_owner = "majordomo-owner\@$whereami";
|
|
|
|
# $homedir -- Where can I find my extra .pl files, like majordomo.pl?
|
|
# the environment variable HOME is set by the wrapper
|
|
#
|
|
$homedir = "/etc/virtual/majordomo";
|
|
|
|
# $listdir -- Where are the mailing lists?
|
|
#
|
|
$listdir = "/etc/virtual/${whereami}/majordomo/lists";
|
|
|
|
# $digest_work_dir -- the parent directory for digest's queue area
|
|
# Each list must have a subdirectory under this directory in order for
|
|
# digest to work. E.G. The bblisa list would use:
|
|
# /usr/local/mail/digest/bblisa
|
|
# as its directory.
|
|
#
|
|
$digest_work_dir = "/etc/virtual/${whereami}/majordomo/digests";
|
|
|
|
# $log -- Where do I write my log?
|
|
#
|
|
$log = "/etc/virtual/${whereami}/majordomo/majordomo.log";
|
|
#$log = "/etc/virtual/majordomo/Log";
|
|
|
|
# $sendmail_command -- Pathname to the sendmail program
|
|
# usually /usr/lib/sendmail, but some newer BSD systems
|
|
# seem to prefer /usr/sbin/sendmail
|
|
#
|
|
$sendmail_command = "/usr/sbin/sendmail";
|
|
|
|
# $mailer -- What program and args do I use to send mail to the list?
|
|
# $bounce_mailer -- What is used to send mail anywhere else?
|
|
# The variables $to, $from, $subject, and $sender can be interpolated into
|
|
# this command line. Note, however, that the $to, $from, and $subject
|
|
# variables may be provided by the person sending mail, and much mischief
|
|
# can be had by playing with this variable. It is perfectly safe to use
|
|
# $sender, but the others are insecure.
|
|
#
|
|
# Sendmail option -oi: Do not take a . on a line by itself as the message
|
|
# terminator.
|
|
# Sendmail option -oee: Force sendmail to exit with a zero exit status if
|
|
# if it's not going to give useful information.
|
|
#
|
|
$mailer = "$sendmail_command -oi -oee -f\$sender";
|
|
$bounce_mailer = "$sendmail_command -oi -oee -f\$sender -t";
|
|
|
|
# You can special case the mailer used to deliver outbound mail as follows:
|
|
#
|
|
# To use TLB and use no outgoing alias:
|
|
# if ($main'program_name eq 'mj_resend' && $opt_l eq 'test-list') {
|
|
# $mailer = "/usr/local/majordomo/tlb /usr/local/lists/${opt_l}.tlb";
|
|
# }
|
|
#
|
|
# To use a different Sendmail queue for this list's mail:
|
|
# if ($main'program_name eq 'mj_resend' && $opt_l eq 'test-list') {
|
|
# $mailer = "$sendmail_command -oQ /var/spool/listq -f\$sender";
|
|
# }
|
|
|
|
# You can force Majordomo to delay any processing if the system load is too
|
|
# high by uncommenting the following lines. THIS ONLY WORKS if your "uptime"
|
|
# command (usually found in /usr/bin/uptime or /usr/bsd/uptime)
|
|
# returns a string like:
|
|
# 5:23pm up 5:51, 9 users, load average: 0.19, 0.25, 0.33
|
|
#
|
|
#$max_loadavg = 10; # Choose the maximum allowed load
|
|
#
|
|
#$uptime = `/usr/bin/uptime` if -x '/usr/bin/uptime'; # Get system uptime
|
|
#$uptime = `/usr/bsd/uptime` if -x '/usr/bsd/uptime'; # or uptime is over here.
|
|
#
|
|
#($avg_1_minute, $avg_5_minutes, $avg_15_minutes) =
|
|
# $uptime =~ /average:\s+(\S+),\s+(\S+),\s+(\S+)/;
|
|
#
|
|
#exit 75 if ($avg_15_minutes >= $max_loadavg); # E_TEMPFAIL
|
|
#
|
|
|
|
# Set the default subscribe policy for new lists here.
|
|
# If not defined, defaults to "open", but in today's increasingly
|
|
# imbecile Internet, "open+confirm" or "auto+confirm" is a wiser
|
|
# choice for publicly available Majordomo servers.
|
|
#
|
|
$config'default_subscribe_policy = "open+confirm";
|
|
|
|
#
|
|
# Configure X400 parsing here. This is functional, but not well tested
|
|
# and rather a hack.
|
|
# By default all addresses that look x400-ish will be checked for a
|
|
# @ sign (meaning that it's headed to an smtp->x400 gateway, as well
|
|
# as the 'c=' and 'a[dm]=' parts, which mean something as well.
|
|
#
|
|
# If you will be receiving x400 style return addresses that do not have
|
|
# an @ sign in them indicating an smtp->x400 gateway, set $no_x400at to 1.
|
|
# Otherwise, leave $no_x400 at 0.
|
|
#
|
|
$no_x400at = 0;
|
|
#
|
|
# If you will be receiving x400 addresses without the c= or a[dm]= parts
|
|
# set the $no_true_x400 variable to 1. This will disable checking for
|
|
# "c=" and "a[dm]=" pieces.
|
|
#
|
|
$no_true_x400 = 0;
|
|
|
|
|
|
#--------------------------------------------------------------------
|
|
# Stuff below here isn't commonly changed....
|
|
#--------------------------------------------------------------------
|
|
#
|
|
# Majordomo will look for "get" and "index" files related to $list in
|
|
# directory "$filedir/$list$filedir_suffix", so set $filedir and
|
|
# $filedir_suffix appropriately. For instance, to look in
|
|
# /usr/local/mail/files/$list, use:
|
|
# $filedir = "/usr/local/mail/files";
|
|
# $filedir_suffix = ""; # empty string
|
|
# or to look in $listdir/$list.archive, use:
|
|
# $filedir = "$listdir";
|
|
# $filedir_suffix = ".archive";
|
|
|
|
$filedir = "$listdir";
|
|
$filedir_suffix = ".archive";
|
|
|
|
# What command should I use to process an "index" request?
|
|
#
|
|
$index_command = "/bin/ls -lRL";
|
|
|
|
# If you want to use FTPMAIL, rather than local access, for file transfer
|
|
# and access, define the following:
|
|
# $ftpmail_address = "ftpmail\@decwrl.dec.com";
|
|
# $ftpmail_location = "FTP.$whereami";
|
|
|
|
# if you want the subject of the request to be included as part of the
|
|
# subject of the reply (useful when automatically testing, or submitting
|
|
# multiple command sets), set $return_subject to 1.
|
|
#
|
|
$return_subject = 1;
|
|
|
|
# If you are using majordomo at the -request address, set the
|
|
# following variable to 1. This affects the welcome message that is
|
|
# sent to a new subscriber as well as the help text that is generated.
|
|
#
|
|
$majordomo_request = 0;
|
|
|
|
# If you have lists that have who turned off, but still allow which
|
|
# requests to work for subscribed members, and you don't want to have
|
|
# "which @" to act like a who, the variable $max_which_hits sets the
|
|
# number of hits that are allowed using which before an error is returned.
|
|
# Arguably this should be a per list settable number.
|
|
#
|
|
$max_which_hits = 0;
|
|
|
|
# Set the umask for the process. Used to set default file status for
|
|
# config file.
|
|
#
|
|
umask(007);
|
|
$config_umask = 007;
|
|
|
|
# don't change this. It checks to make sure that you have a new enough
|
|
# version of perl to run majordomo. It is in here because this file is
|
|
# used by almost all of the majordomo programs.
|
|
#
|
|
die "Perl version $] too old\n" if ($] < 4.019);
|
|
|
|
# the safe locations for archive directories
|
|
# None of the parameters that use safedirs are actually used, so
|
|
# @safedirs is a placeholder for future functionality.
|
|
# Just ignore it for version 1.90 through 1.94.
|
|
#
|
|
@safedirs = ( );
|
|
|
|
# Directory where resend temporarily puts its rewritten output message.
|
|
# For the paranoid, this could be changed to a directory that only
|
|
# majordomo has r/w permission to.
|
|
# Uses the environment variable TMPDIR, since that's pretty common
|
|
#
|
|
$TMPDIR = $ENV{'TMPDIR'} || "/tmp";
|
|
|
|
# Tune how long set_lock tries to obtain a lock before giving up. Each
|
|
# attempt waits 1 to 10 seconds before trying again and waittime is
|
|
# the total minimum time spent trying. This defaults to 600 seconds (5
|
|
# minutes), which translates to no less then 60 nor more than 600 tries.
|
|
#
|
|
# $shlock'waittime = 1200;
|
|
|
|
# tune the cookie for subscribe_policy=confirm. Normally this is
|
|
# set to $homedir. *Don't* make this something like rand(400),
|
|
# the key isn't saved between sessions.
|
|
#
|
|
# $cookie_seed = "Harry Truman, Doris Day, Red China, Johnnie Ray" .
|
|
# " South Pacific, Walter Winchell, Joe DiMaggio";
|
|
|
|
# The maximum character length of the header lines for resend
|
|
#
|
|
$MAX_HEADER_LINE_LENGTH = 128;
|
|
|
|
# The maximum character length of the _entire_ header for resend
|
|
#
|
|
$MAX_TOTAL_HEADER_LENGTH = 1024;
|
|
|
|
# List of perl regular expressions that, if found in the headers of a message,
|
|
# will cause the message to be bounced to the list approver.
|
|
# Put each regular expression on a separate line before the "END" mark, with
|
|
# no trailing ";"
|
|
# For example:
|
|
# $global_taboo_headers = <<'END';
|
|
# /^from:.*trouble\@hassle\.net/i
|
|
# /^subject:.*non-delivery notice/i
|
|
# END
|
|
# NOTE! Using ' instead of " in the 'END' is VERY IMPORTANT!!!
|
|
#
|
|
|
|
# Administrative checks. These used to be buried in the resend code
|
|
#
|
|
$admin_headers = <<'END';
|
|
/^subject:\s*subscribe\b/i
|
|
/^subject:\s*unsubscribe\b/i
|
|
/^subject:\s*uns\w*b/i
|
|
/^subject:\s*.*un-sub/i
|
|
/^subject:\s*help\b/i
|
|
/^subject:\s.*\bchange\b.*\baddress\b/i
|
|
/^subject:\s*request\b(.*\b)?addition\b/i
|
|
/^subject:\s*cancel\b/i
|
|
END
|
|
|
|
# Common things that people send to the wrong address.
|
|
# These are caught in the first 10 lines of the message body
|
|
# if 'administrivia' is turned on and the message isn't marked approved.
|
|
#
|
|
# The code that catches this should transparently redirect
|
|
# majordomo commands to majordomo. That would give the additional
|
|
# advantage of not having to add to this silly construct for
|
|
# each new majordomo command.
|
|
#
|
|
$admin_body = <<'END';
|
|
/\bcancel\b/i
|
|
/\badd me\b/i
|
|
/\bdelete me\b/i
|
|
/\bremove\s+me\b/i
|
|
/\bchange\b.*\baddress\b/
|
|
/\bsubscribe\b/i
|
|
/^sub\b/i
|
|
/\bunsubscribe\b/i
|
|
/^unsub\b/i
|
|
/\buns\w*b/i
|
|
/^\s*help\s*$/i
|
|
/^\s*info\s*$/i
|
|
/^\s*info\s+\S+\s*$/i
|
|
/^\s*lists\s*$/i
|
|
/^\s*which\s*$/i
|
|
/^\s*which\s+\S+\s*$/i
|
|
/^\s*index\s*$/i
|
|
/^\s*index\s+\S+\s*$/i
|
|
/^\s*who\s*$/i
|
|
/^\s*who\s+\S+\s*$/i
|
|
/^\s*get\s+\S+\s*$/i
|
|
/^\s*get\s+\S+\s+\S+\s*$/i
|
|
/^\s*approve\b/i
|
|
/^\s*passwd\b/i
|
|
/^\s*newinfo\b/i
|
|
/^\s*config\b/i
|
|
/^\s*newconfig\b/i
|
|
/^\s*writeconfig\b/i
|
|
/^\s*mkdigest\b/i
|
|
END
|
|
|
|
# taboo headers to catch
|
|
#
|
|
$global_taboo_headers = <<'END';
|
|
/^subject: ndn: /i
|
|
/^subject:\s*RCPT:/i
|
|
/^subject:\s*Delivery Confirmation\b/i
|
|
/^subject:\s*NON-DELIVERY of:/i
|
|
/^subject:\s*Undeliverable Message\b/i
|
|
/^subject:\s*Receipt Confirmation\b/i
|
|
/^subject:\s*Failed mail\b/i
|
|
/^subject:\s*Returned mail\b/i
|
|
/^subject:\s*unable to deliver mail\b/i
|
|
/^subject:\s.*\baway from my mail\b/i
|
|
/^subject:\s*Autoreply/i
|
|
END
|
|
|
|
# Taboo body contents to catch and forward to the approval address
|
|
#
|
|
# For example:
|
|
# $global_taboo_body = <<'END';
|
|
# /taboo topic/i
|
|
# /another taboo/i
|
|
# END
|
|
# NOTE! Using ' instead of " in the next line is VERY IMPORTANT!!!
|
|
#
|
|
$global_taboo_body = <<'END';
|
|
END
|
|
|
|
# Majordomo will not send replies to addresses which match this.
|
|
# The match is done case-insensitively.
|
|
$majordomo_dont_reply = '(mailer-daemon|uucp|listserv|majordomo|listproc)\@';
|
|
|
|
1;
|
|
# $Header: /sources/cvsrepos/majordomo/sample.cf,v 1.34 1997/08/27 15:00:31 cwilson Exp $
|