dnl #################################################################### dnl SOLARIS dnl #################################################################### define(`confCC',`cc') define(`confOPTIMIZE',`-g -fsimple=1 -xlibmil -xlibmopt -m64 -xarch=sse3 -xdepend -xO4 -I/export/scratch/elkner/build/root4build/usr/include -xstrconst') define(`confDEPEND_TYPE',`Solaris') APPENDDEF(`conf_sendmail_ENVDEF', `-DVENDOR_DEFAULT=VENDOR_SUN') dnl see devtools/{M4/header.m4,OS/SunOS.5.11} define(`confLIBSEARCH', `') dnl No auto search, we specify them explictly define(`confLIBSEARCHPATH', `/export/scratch/elkner/build/root4build/usr/lib/amd64 /usr/lib') define(`confLIBDIRS', `-L/export/scratch/elkner/build/root4build/usr/lib/amd64') define(`confLIBS', `') APPENDDEF(`confLDOPTS',`-m64 -zdefs -Bdirect -M/home/elkner/tmp/sol/etc/noexec-map.i386') APPENDDEF(`confLDOPTS_SO', `-ztext') APPENDDEF(`conf_sendmail_LIBS', `-lumem -lresolv -lsocket -lnsl') PREPENDDEF(`confINCDIRS', `-I/export/scratch/elkner/build/root4build/usr/include -I/export/scratch/elkner/build/root4build/usr/include/sasl2') APPENDDEF(`confENVDEF', `-DUSE_VENDOR_CF_PATH -D_FILE_OFFSET_BITS=64')dnl -W0,-xglobalstatic') APPENDDEF(`confLDOPTS', ifelse(bldSRC_NAME, `libmilter', `', `-M /home/elkner/tmp/sol/etc/noexecglobs.map') ) # additional features dnl Put the "real" sender address given via MAIL FROM: into the sendmail dnl macro {mail_from} aka $f (useful for milter) by default. Thus one does not dnl need to explicitly -D_FFR_MAIL_MACRO when the *.cf file gets generated - dnl specifying it anyway just introduces some overhead. APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_MAIL_MACRO') dnl Allow Local daemon mode (-bl) which only accepts loopback connections APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_LOCAL_DAEMON') dnl Allow to set BadRcptThrottleDelay != 1 for rejected RCPTs per SMTP message APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_RCPTTHROTDELAY') dnl Shut down connection (421) if there are too many bad RCPTs APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_BADRCPT_SHUTDOWN') dnl Allow FIPS mode (1024bit RSA keys instead of 512bit). Does not work on S11 dnl APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_FIPSMODE') dnl Allow to set LDAP_OPT_NETWORK_TIMEOUT if available (-c) APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_LDAP_NETWORK_TIMEOUT') dnl Make {queue} macro available. APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_QUEUE_MACRO') # sun extensions dnl Enable fd check on invocation and the use/honoring of dnl -DSUN_INIT_DOMAIN and -DSUN_SIMPLIFIED_LDAP APPENDDEF(`conf_sendmail_ENVDEF', `-DSUN_EXTENSIONS') dnl Use libnsl's getdomainname() to get the NIS domain for constructing a dnl FQHN [of the server on startup] if a 'hosts:' name service returned an dnl unqualified hostname (i.e. no dots). APPENDDEF(`conf_sendmail_ENVDEF', `-DSUN_INIT_DOMAIN') dnl The following sun extensions are not supported anymore dnl -DSUN_LOOKUP_MACRO aka sendmail vars lookup dnl -DREMOTE_MODE aka forward mail to the host, from which /var/mail is mounted dnl -DSUN_DEFAULT_VALUES aka sun_pre_defaults() and sun_post_defaults() hooks # db mapping dnl default is: define(`confMAPDEF',`-DNDBM -DNIS -DMAP_REGEX') # Berkeley DB support dnl Hmmm: dueto stupid IPS packaging this pulls in C++ runtime (which is dnl actually not needed at all) APPENDDEF(`confMAPDEF', `-DNEWDB') APPENDDEF(`conf_sendmail_LIBS', `-ldb') APPENDDEF(`conf_editmap_LIBS', `-ldb') APPENDDEF(`conf_makemap_LIBS', `-ldb') APPENDDEF(`conf_vacation_LIBS', `-ldb') APPENDDEF(`conf_praliases_LIBS', `-ldb') # LDAP support APPENDDEF(`confMAPDEF', `-DLDAPMAP') dnl APPENDDEF(`confENVDEF', `-DSM_CONF_LDAP_MEMFREE') dnl If SUN_EXTENSIONS and SUN_SIMPLIFIED_LDAP are defined, sendmail will use the dnl system's ldap library (libsldap) to lookup aliases and thus use dnl automatically the relevant ldap settings (SSD, ldapserver, connection dnl sharing, etc.) of the system. dnl Otherwise (or if the *.cf does not contain the V10/Sun marker - the relevant dnl part is '/Sun'), the default ldap_search() from libldap and related dnl functions will be used and one may need to explicitly specify, how to dnl lookup aliases. E.g. "define(`ALIAS_FILE', `ldap:-k (&(objectClass=mailGroup)(mail=%0)) -v mgrpRFC822MailMember')" should usually work. dnl For non-Solaris environments the sendmail build system ignores this. APPENDDEF(`conf_sendmail_ENVDEF', `-DSUN_SIMPLIFIED_LDAP') APPENDDEF(`conf_sendmail_LIBS', `-lldap -lsldap') APPENDDEF(`conf_editmap_LIBS', `-lldap') APPENDDEF(`conf_mail_local_LIBS', `-lldap') APPENDDEF(`conf_mailstats_LIBS', `-lldap') APPENDDEF(`conf_makemap_LIBS', `-lldap') APPENDDEF(`conf_rmail_LIBS', `-lldap') APPENDDEF(`conf_smrsh_LIBS', `-lldap') APPENDDEF(`conf_vacation_LIBS', `-lldap') APPENDDEF(`conf_praliases_LIBS', `-lldap') # Enables SMTP STARTTLS (RFC 2487). This requires OpenSSL APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS') APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto') dnl Allow more STARTTLS options, e.g., secondary certs. APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_TLS_1') # check with "telnet localhost 25" and issue a "EHLO localhost" and see # whether 250-STARTTLS is in the response. Otherwise run with -O LogLevel=14 # and try again... # All certs (pem files) should be owned by root and must have mode 0600 !!! define(`confCACERT_PATH', `/etc/mail/certs/') define(`confCACERT', `/etc/mail/certs/CA.cert.pem') define(`confSERVER_CERT', `/etc/mail/certs/my.cert.pem') define(`confSERVER_KEY', `/etc/mail/certs/my.key.pem') # enable SASL - requires TLS APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL=2') APPENDDEF(`conf_sendmail_LIBS', `-lsasl2') # Turn on support for external filters using the Milter API. define(`confMTLDOPTS', `') dnl -lpthread not needed on Solaris APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER') APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE -D_REENTRANT') APPENDDEF(`conf_libmilter_LIBS', `-lc -lsocket -lnsl') # The Mail Submission Program queue directory. define(`confMSP_QUEUE_DIR', `/var/spool/clientmqueue') # Location of the sendmail helpfile. define(`confHFDIR', `/etc/mail') # Name of the installed helpfile. define(`confHFFILE', `helpfile') # sendmail statistics file definitions. define(`confSTDIR', `/var/log') define(`confSTFILE', `sendmail.st') define(`confSTMODE', `0644') # mail.local APPENDDEF(`conf_mail_local_ENVDEF', `-DMAILLOCK') PREPENDDEF(`conf_mail_local_LIBS', `-lsocket -lnsl -lmail') dnl Allow to specify an alternate mail spool path via -p ... APPENDDEF(`conf_mail_local_ENVDEF', `-D_FFR_SPOOL_PATH') # smrsh APPENDDEF(`conf_smrsh_ENVDEF',`-DSMRSH_CMDDIR=\"/var/adm/sm.bin\"') # mconnect PREPENDDEF(`conf_mconnect_LIBS', `-lsocket -lnsl') # we want the real man pages only define(`confNROFF', `cat') define(`confMANDOC', ` ') # Solaris is System V and not BSD define(`confMANROOT', `/usr/share/man/man') define(`confMAN5', `4') define(`confMAN5EXT', `4') define(`confMAN8', `1m') define(`confMAN8EXT', `1m') # avoid "not root" warnings - our Build.sh takes care of it ... define(`confNO_STATISTICS_INSTALL',`1')