Changes are in bold text. Determine which Features (FFRs) to enable by reading the FEATURES text file in the root of the DKIM source directory.
dnl Build options for dkim-milter package dnl ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dnl Any options you set here are applied to all subdirectories of this dnl build. Also, you may override or augment the defaults of any of the dnl values described in devtools/README by setting your preferred values dnl in this file. dnl Debug binary dnl dnl If you are encountering coredumps and want to be able to analyze them dnl using something like "gdb", enable this next line by deleting the "dnl" dnl at the front of it. dnl define(`confOPTIMIZE', `-g') dnl libar -- asynchronous resolver library dnl dnl If you want to use the asynchronous resolver library, enable this dnl next line by deleting the "dnl" at the front of it. define(`bld_USE_ARLIB', `true') dnl dnl libar normally uses res_init() or res_ninit() to load the contents dnl of resolv.conf for its use. If neither of these work on your system dnl in multi-threaded programs (e.g. OpenBSD 3.7 and later), then you dnl may need to enable code that parses that file manually. This will dnl also be required if you've got any IPv6 addresses in /etc/resolv.conf. dnl In that case, enable this next line by deleting the "dnl" at the front dnl of it. dnl APPENDDEF(`conf_libar_ENVDEF', `-DAR_RES_MANUAL') dnl POPAUTH -- POP-before-SMTP authentication dnl dnl If you use any POP-before-SMTP authentication, dkim-filter can dnl query that database to see if a client sending a message for signing dnl is legitimate, enable this next line by deleting the "dnl" at the dnl front of it. dnl APPENDDEF(`conf_dkim_filter_ENVDEF', `-DPOPAUTH ') dnl BerkeleyDB -- Berkeley DB ("Sleepycat") database dnl dnl Several optional features in this package need the Berkeley DB library. dnl These include: _FFR_QUERY_CACHE, _FFR_STATS, POPAUTH dnl dnl Sometimes this is built into your libc, but perhaps not, or perhaps dnl you have a newer version that you want to use. If that's the case, dnl edit the following lines as needed and enable the ones that apply dnl by deleting "dnl" from the front of them: dnl APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB/include ') dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB/lib ') dnl APPENDDEF(`confLIBS', `-ldb ') dnl OpenSSL -- cryptography library dnl dnl DKIM requires several algorithms provided by this library. You must dnl have v0.9.8 or later for SHA256 support. If necessary, enable these dnl lines by deleting "dnl" from the front of them and edit paths as needed. APPENDDEF(`confINCDIRS', `-I/usr/include/ssl ') APPENDDEF(`confLIBDIRS', `-L/usr/lib ') dnl TRE -- Approximate regular expression matching dnl dnl If you want to use the dkim_diffheaders() function, you also need dnl to have the "tre" library and its header files installed. If necessary, dnl enable these lines by deleting "dnl" from the front of them and edit dnl paths as needed. dnl APPENDDEF(`confINCDIRS', `-I/usr/local/include ') dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/lib ') dnl APPENDDEF(`confLIBS', `-ltre ') dnl Code For Future Release (FFRs): dnl dnl See the FEATURES file for descriptions of the features available dnl as options. Many of these are untested and/or undocumented, so use dnl at your own risk. To enable one, delete "dnl" from the front of its dnl line. dnl dnl APPENDDEF(`confENVDEF', `-D_FFR_ANTICIPATE_SENDMAIL_MUNGE ') dnl APPENDDEF(`confENVDEF', `-D_FFR_CAPTURE_UNKNOWN_ERRORS ') dnl APPENDDEF(`confENVDEF', `-D_FFR_DNS_UPGRADE ') dnl APPENDDEF(`confENVDEF', `-D_FFR_DIFFHEADERS ') dnl APPENDDEF(`confENVDEF', `-D_FFR_KEY_REUSE ') dnl APPENDDEF(`confENVDEF', `-D_FFR_QUERY_CACHE ') dnl APPENDDEF(`confENVDEF', `-D_FFR_REQUIRED_HEADERS ') dnl APPENDDEF(`confENVDEF', `-D_FFR_SELECT_CANONICALIZATION ') dnl APPENDDEF(`confENVDEF', `-D_FFR_SELECT_SIGN_HEADERS ') dnl APPENDDEF(`confENVDEF', `-D_FFR_SET_REPLY ') dnl APPENDDEF(`confENVDEF', `-D_FFR_STATS ') dnl APPENDDEF(`confENVDEF', `-D_FFR_VBR ') dnl APPENDDEF(`confENVDEF', `-D_FFR_ZTAGS ') dnl DomainKeys -- Yahoo DomainKeys verification support dnl dnl If you also want to verify messages signed with DomainKeys, enable this dnl line by deleting "dnl" from the front of it. See also the README as it dnl requires an additional library not included in this package. dnl define(`bld_VERIFY_DOMAINKEYS', `true') dnl libmilter -- Sendmail's milter library dnl dnl This must be in the search rules for your compile. If necessary, dnl adjust the paths below and enable the lines by deleting "dnl" from the dnl front of them. APPENDDEF(`bld_dkim_filter_INCDIRS', `-I/usr/include/libmilter') APPENDDEF(`bld_dkim_filter_LIBDIRS', `-L/usr/lib') dnl smfi_addheader() -- older versions of libmilter dnl dnl If you run a version of libmilter too old to have the smfi_insheader() dnl primitive, you can enable this to have dkim-filter use smfi_addheader() dnl instead. It will still work, but it breaks the DKIM specification. dnl To enable this, remove the "dnl" from the front of the line. dnl APPENDDEF(`conf_dkim_filter_ENVDEF', `-DNO_SMFI_INSHEADER ') dnl # use poll() instead of select() in libmilter APPENDDEF(`confENVDEF', `-DSM_CONF_POLL=1')dnl dnl # devtools/OS/Linux has our MANROOT wrong and owner/group wrong define(`confMANROOT', `/usr/share/man/man') define(`confMANOWN', `root') define(`confMANGRP', `root')