summaryrefslogtreecommitdiff
path: root/libexec/smtpd/Makefile.inc
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>1997-12-12 05:55:24 +0000
committerBob Beck <beck@cvs.openbsd.org>1997-12-12 05:55:24 +0000
commit298f59bf3a075fb865e4dd1b413b4a991fa6e053 (patch)
tree17d41933f972398674204991f1ec38672f87f20e /libexec/smtpd/Makefile.inc
parente57c46f7a7ace473359eb9041026dd8bab6a7d87 (diff)
Build directories and makefile for smtpd
Diffstat (limited to 'libexec/smtpd/Makefile.inc')
-rw-r--r--libexec/smtpd/Makefile.inc309
1 files changed, 309 insertions, 0 deletions
diff --git a/libexec/smtpd/Makefile.inc b/libexec/smtpd/Makefile.inc
new file mode 100644
index 00000000000..cd8ee7a2c3c
--- /dev/null
+++ b/libexec/smtpd/Makefile.inc
@@ -0,0 +1,309 @@
+##########################################################
+## Compile time options, These set defaults ##############
+##########################################################
+# What mail agent should smtpfwdd use?
+# This must take arguments of the form:
+# "mailprog -f fromaddr toaddr toaddr ..."
+# to deliver mail.
+MAIL_AGENT = /usr/sbin/sendmail
+#MAIL_AGENT = /usr/lib/sendmail
+
+# What user and group should smtpfwdd and smtpd run as?
+# This MUST NOT be root, and must be a user that is "trusted" by
+# sendmail or whatever you are using as MAIL_AGENT above so that the user
+# may use the "-f" flag to specify the sender of a mail message.
+SMTP_USER = uucp
+SMTP_GROUP = uucp
+
+# smtpd and smtpfwdd generate lots of syslogs, by design.
+#
+# What log facility should smtpd and smtpfwdd use for syslogs? The
+# default is LOG_MAIL, which is also used by critters like sendmail.
+# if you don't like this and want the logs going elsewhere for easy
+# perusal change this to something else (like LOG_LOCAL5) and adjust
+# your /etc/syslog.conf file to deal with it to your liking.
+#
+# LOG_FACILITY=LOG_LOCAL5
+LOG_FACILITY = LOG_MAIL
+
+
+# Where is the spool directory located?
+# This is the directory used by smtpd to chroot to and store
+# messages. It is the directory watched for messages by smtpfwdd. This
+# directory should be readable and writable only to the user specified
+# in SMTP_USER above.
+#
+# The chroot directory
+SPOOLDIR = /var/spool/smtpd
+# Where to store messages, relative to SPOOLDIR above.
+SPOOLSUBDIR = .
+#Use below instead of above if you don't want smtpd to chroot. This
+#isn't normally a good idea if security is your main goal. A nice
+#chroot jail may be a pain to build but should give you enough of a
+#warm fuzzy to make it worth your while.
+#SPOOLDIR = /
+#SPOOLSUBDIR = usr/spool/smtpd
+
+# How frequently (in seconds) should smtpfwdd wake up to check the
+# spool directory for new mail?
+POLL_TIME = 10
+
+# What is the maximum number of children smtpfwdd should spawn at one time
+# when delivering messages before waiting for some to complete? This ensures
+# the arrival of hundreds of mail messages doesn't run you out of processes.
+MAXCHILDREN = 10
+
+# Should smtpfwdd check the exit code of sendmail? smtpfwdd checks any
+# non-zero exit status from sendmail to see if it indicates that
+# sendmail thinks the message might be deliverable later. Normally
+# this should not be a problem, however if you are not running
+# sendmail as your delivery agent, or if your sendmail is broken, the
+# exit codes may not mean much. In such a case you may not want
+# smtpfwdd to retry message delivery when the mta exits indicating a
+# failure. Setting SENDMAIL_RETRY to 0 below will make sure smtpfwdd
+# never retries delivery if the MTA returns a non-zero exit
+# status. You probably shouldn't change this unless you are sure you
+# know what you are doing.
+SENDMAIL_RETRY = 1
+
+# Sendmail has a feature/bug that when feeding a message to it it will
+# stop if a line contains only a '.'. This is suppressed in smtpfwdd
+# by invoking sendmail with the "-oiTrue" option if the mail agent's
+# name ends in the string "sendmail". If your "sendmail" isn't really
+# sendmail, you may not need or want this. If so, change the SENDMAIL_OITRUE
+# below to 0.
+SENDMAIL_OITRUE = 1
+
+# Sendmail can handle addresses quoted in <> on the command line. Some
+# MTA's (like qmail) can't. set STRIP_QUOTES to 1 if you want smtpfwdd
+# to peel off the <> from mail addresses on the command line when
+# invoking the mta
+STRIP_QUOTES = 0
+
+# How many arguments can your execv() call take at once? This can be a
+# conservative estimate. It determines the maximum number of
+# recipients at a time that MAIL_AGENT will be invoked with by
+# smtpfwdd.
+# N.B. MAXARGS must be at least 6, or 5 if SENDMAIL_OITRUE (above) is 1.
+# You may wish to change this to be 6 if you want your sendmail to be
+# invoked seperately for each receipient.
+MAXARGS = 100
+
+# How long (in seconds) should smtpd block on a read() call to a
+# connected client before giving up on the connection?
+READ_TIMEOUT = 600
+
+# Should smtpd check hostnames and ip addresses of a connection
+# against the DNS to verify consistency, and report any inconsistencies?
+# Set to 0 for hostchecks, 1 for no hostchecks. Set this to 1 only if
+# you don't want any name lookups done.
+# NO_HOSTCHECKS = 1
+NO_HOSTCHECKS = 0
+
+# Smtpd's default informational status messages in the smtp dialogue
+# are somewhat unique and interesting (see smtpd.h). Normally these
+# are only seen by people telnetting to your smtp port, or debugging
+# mail. While the author has no shame and won't change the default
+# It's understandable that they aren't everyone's cup of tea. Set
+# VANILLA_MESSAGES below to 1 and smtp will use plain old politically
+# correct Sendmail/RFC 821 style status messages.
+VANILLA_MESSAGES = 1 # Boring....
+# VANILLA_MESSAGES = 0
+
+# smtpd checks and clobbers and potentially "evil" characters in hostnames,
+# and mail addresses recieved on FROM: and RCPT: lines. This clobbers things
+# like a connection from hostname `/bin/rm -rf /`@evil.org, or mail to
+# "| /bin/sh". It also clobbers things like 8bit chars in such things.
+# smtpd always clobbers the characters it doesn't like,
+# and syslogs a note of the fact. The options below determine whether or
+# not smtpd will also drop the connection.
+#
+# Beware of setting this to 1 if your receive mail from sites where
+# it's considered ok to put 8 bit ascii chars in message headers.
+#
+# If PARANOID_SMTP is 1, smtpd will close connection on any client
+# that puts characters it thinks may be evil in the smtp dialogue,
+# (HELO, FROM, RCPT), or in the message headers.
+# When PARANOID_SMTP is 0, smtpd will replace the characters it thinks
+# are evil and continue.
+# PARANOID_SMTP = 1
+PARANOID_SMTP = 0
+
+#
+# If PARANOID_DNS is 1, smtpd will close connection on any client that
+# has characters it thinks may be evil in it's hostname as found by DNS,
+# or any client whose DNS forward and reverse mappings are inconsistent
+# indicating a DNS spoof of misconfiguration.
+# If PARANOID_DNS is 0, smtpd will replace any evil characters it sees
+# continue.
+# PARANOID_DNS = 1
+PARANOID_DNS = 0
+
+# The check above will clobber stuff in the headers from some
+# non north-american localizations.
+# If your operating system has localization support
+# you can define LOCALIZATION below to be your localization.
+# For this to work, your operating system must support localization
+# with setlocale, and you must copy the appropriate localization
+# files into the right place in smtpd's chroot directory.
+# The result of this is that smtpd will use a
+# setlocale(LC_CTYPE, LOCALIZATION) to hopefully make sure
+# your normal stuff won't get clobbered.
+# Leave this set to 0 for no localization support.
+#
+#
+# SET_LOCALE = 1 # Use a setlocale call to set localization
+SET_LOCALE = 0 # don't include localization support at all
+#LOCALIZATION = lt_LN.ISO_8859-1
+LOCALIZATION = C
+#LOCALIZATION = POSIX
+#LOCALIZATION = ISO-8859-1
+#LOCALIZATION = KOI-8
+
+# Some sites may wish to ensure smtpd does *not* get run with command
+# line options to affect the compiled-in behaviours. Set
+# NO_COMMANDLINE_OPTIONS to 1 to make smtpd and smtpfwdd ignore any command
+# line options.
+#NO_COMMANDLINE_OPTIONS=1
+NO_COMMANDLINE_OPTIONS=0
+
+# Smtpd does not support ESMTP's EHLO command normally, as it shouldn't
+# need to. According to RFC, if the EHLO is unrecognized the connecting
+# agent should drop back to a HELO on the second attempt (and then be
+# talking vanilla smtp). Unfortunately Netscape Communicator betas seem
+# seem to have a bug in which they simply try the EHLO again. Sigh.
+# setting EHLO_KLUDGE to 1 will make smtpd accept a second EHLO as a helo,
+# thereby kludging around this bug in Communicator.
+#EHLO_KLUDGE=1
+EHLO_KLUDGE=0
+
+
+# smtpd can check FROM and RCPT addresses, along with the connecting
+# host info using an address check file. This can be used to only
+# allow certain mail addresses on a FROM:, or certain combinations of
+# FROM: and RCPT from certain hosts. It can be used to prevent third
+# party relays, enforce outgoing address conventions, prevent outgoing
+# SPAM/obvious forgeries, or block incoming SPAM. Setting this to 0 will
+# mean that none of the address checking functionality is compiled in at
+# all. (meaning all of address_check.c is #ifdefed out).
+CHECK_ADDRESS = 1
+# CHECK_ADDRESS = 0
+
+# Set This to 1 if you are running smtpd on a Juniper firewall machine.
+# This enables smtpd to use juniper's trusted/untrusted interface
+# mechanism, allowing you to use the UNTRUSTED or TRUSTED specials
+# in address check rules to match based on what kind of interface
+# a connection arrived on.
+#
+# You must set this to 0 this on a non-juniper machine or smtpd will not
+# build with CHECK_ADDRESS set to 1. You will get an error about
+# juniper_firewall.h not existing if you forget this.
+#
+#JUNIPER_SUPPORT=1
+JUNIPER_SUPPORT=0
+
+# Use regexp's in patterns? If you have a POSIX <regex.h> and friends,
+# and you trust the regex lib enough for use, you can set USE_REGEX to
+# 1, this allows you to specify a pattern enclosed in "/" as a regular
+# POSIX/henry-spencer style extended regex for case insensitive matching
+# (what's between the "/" gets fed to regcomp with
+# REG_EXTENDED|REG_ICASE|REG_NOSUB options, then matched against)
+#
+# Note that older beasts (like SunOS 4.X) usually don't have a regex
+# library, so if you're using something that doesn't you should set this
+# to 0.
+#
+#USE_REGEX=0
+USE_REGEX=1
+
+# Enable checking namservers? with NS_MATCH set to 1, patterns of the
+# form NS=pattern can be used to match rules against the nameservers
+# and MX records of originating connections or mail addresses, rather
+# than the connection itself. This allows for small rules to block out
+# whole blocks of bozos from rogue providers such as ispam.net should
+# you choose to do so. i.e.
+#
+#noto_delay:NS=205.199.212.0/24 NS=205.199.2.0/24 NS=207.124.161.0/24:ALL:ALL
+#noto_delay:ALL:NS=205.199.212.0/24 NS=205.199.2.0/24 NS=207.124.161.0/24:ALL
+#
+# would effectively block off anything originiating from, or with a FROM:
+# address looking like any of it's nameservers are on one of cyberpromo.com's
+# addresses.
+#
+# uncomment the LD_LIBS line as well if you enable NS_MATCH unless your
+# resolver routines are in libc (like they are on some Linuxes)
+#
+# The NS_MATCH feature is lovingly dedicated by Bob Beck to Spamford
+# Wallace and ispam.net
+#
+#NS_MATCH=0
+NS_MATCH=1
+LD_LIBS+=-lresolv # you may or may not need this.
+
+# The rules file for address checking, if enabled, remember this file
+# will be in the chroot jail, so the line below probably means
+# /usr/spool/smtpd/etc/smtpd_check_rules, unless you changed the
+# chroot directory above.
+CHECK_FILE = /etc/smtpd_check_rules
+
+# address checking rules may want user information, gotten from an RFC
+# 931 style ident. This info may be passed in the environment to smtpd
+# (from juniperd or the tcp wrapper), or smtpd will do the ident
+# request itself if required. CHECK_IDENT determines the timeout (in
+# seconds) on an ident request. if CHECK_IDENT is 0, no ident
+# requests will be made by smtpd even if it sees a rule that would
+# normally make it perform one.
+# CHECK_IDENT = 0
+CHECK_IDENT = 10
+
+# If you use the address checks to block incoming mail from certain
+# spam sites, you can set NOTO_DELAY and DENY_DELAY below to specify
+# the time in seconds smtpd will go to sleep for after matching a
+# "noto_delay" or "deny_delay" rule. This makes your site a small
+# headache to the spammer since they have to wait before being denied,
+# instead of immediately knowing so, and proceeding on to their next
+# victim.
+# NOTO_DELAY = 0
+# DENY_DELAY = 0
+# NOTO_DELAY = 300
+# DENY_DELAY = 300
+NOTO_DELAY = 50
+DENY_DELAY = 50
+
+# Because CHECK_ADDRESS above is meant to be used as a nuisance filter
+# the default is to ALLOW on failure rather than deny service when no
+# match is found, or if something happens while attempting to match a
+# rule (such as a system call failure, or you make a syntax error in the
+# rules file). Change
+# CHECK_ADDRESS_DENY_ON_FAILURE to 1 to have smtpd not allow anything
+# not explicitly allowed by the rules.
+# CHECK_ADDRESS_DENY_ON_FAILURE = 1
+CHECK_ADDRESS_DENY_ON_FAILURE = 0
+
+
+
+##########################################################
+## End of compile time options. ##########################
+##########################################################
+
+OPTIONS = -DMAIL_AGENT=\"$(MAIL_AGENT)\" -DSMTP_USER=\"$(SMTP_USER)\" \
+ -DSMTP_GROUP=\"$(SMTP_GROUP)\" \
+ -DLOG_FACILITY=$(LOG_FACILITY) -DVANILLA_MESSAGES=$(VANILLA_MESSAGES) \
+ -DSPOOLDIR=\"$(SPOOLDIR)\" -DSPOOLSUBDIR=\"$(SPOOLSUBDIR)\" \
+ -DPOLL_TIME=$(POLL_TIME) -DSENDMAIL_RETRY=$(SENDMAIL_RETRY) \
+ -DSENDMAIL_OITRUE=$(SENDMAIL_OITRUE) -DSTRIP_QUOTES=$(STRIP_QUOTES) \
+ -DMAXCHILDREN=$(MAXCHILDREN) -DMAXARGS=$(MAXARGS) \
+ -DREAD_TIMEOUT=$(READ_TIMEOUT) -DNO_HOSTCHECKS=$(NO_HOSTCHECKS) \
+ -DPARANOID_SMTP=$(PARANOID_SMTP) -DPARANOID_DNS=$(PARANOID_DNS) \
+ -DNO_COMMANDLINE_OPTIONS=$(NO_COMMANDLINE_OPTIONS) \
+ -DEHLO_KLUDGE=$(EHLO_KLUDGE) \
+ -DCHECK_ADDRESS=$(CHECK_ADDRESS) -DCHECK_FILE=\"$(CHECK_FILE)\" \
+ -DCHECK_ADDRESS_DENY_ON_FAILURE=$(CHECK_ADDRESS_DENY_ON_FAILURE) \
+ -DCHECK_IDENT=$(CHECK_IDENT) \
+ -DNOTO_DELAY=$(NOTO_DELAY) -DDENY_DELAY=$(DENY_DELAY) \
+ -DSET_LOCALE=$(SET_LOCALE) -DLOCALIZATION=\"$(LOCALIZATION)\" \
+ -DJUNIPER_SUPPORT=$(JUNIPER_SUPPORT) -DNS_MATCH=$(NS_MATCH) \
+ -DUSE_REGEX=$(USE_REGEX)
+
+CFLAGS += -g -O -Wall -DUSE_FLOCK -DUSE_MKSTEMP $(OPTIONS)
+