Hello
I wanted to greylisting emails only if they reach a spam score greater than 5. milter-greylist seems to be the only solution for this.
I am using debian stretch and postfix, so as I understand I need to compile milter-greylist by myself or need I?
If I add the --enable-postfix switch I get the following error:
Please help
Thanks,
# dpkg-buildpackage -b
dpkg-buildpackage: info: source package milter-greylist
dpkg-buildpackage: info: source version 4.5.11-1.1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Scott Kitterman
dpkg-buildpackage: info: host architecture amd64
�dpkg-source --before-build milter-greylist-4.5.11
�debian/rules clean
dh clean --with autotools_dev
�� dh_testdir
�� debian/rules override_dh_auto_clean
make[1]: Entering directory '/srv/milter-greylist-4.5.11'
dh_auto_clean
������� make -j1 distclean
make[2]: Entering directory '/srv/milter-greylist-4.5.11'
rm -f milter-greylist milter-greylist.o pending.o sync.o dnsrbl.o list.o macro.o conf.o store.o dump.o spf.o acl.o urlcheck.o stat.o clock.o geoip.o fd_pool.o prop.o ldapcheck.o dkimcheck.o p0f.o spamd.o mx.o ratelimit.o nsupdate.o brokenmfapi.o conf_yacc.o dump_yacc.o ..objseq-built conf_yacc.c conf_lex.c dump_yacc.c dump_lex.c \
������� rc-redhat.sh rc-bsd.sh rc-solaris.sh rc-debian.sh rc-gentoo.sh \
������� rc-suse.sh y.tab.c
sync || true
rm -Rf Makefile config.h config.log config.status \
�������� autom4te.cache configure.lineno *.orig *.bak autoscan.log
sync || true
make[2]: Leaving directory '/srv/milter-greylist-4.5.11'
rm -f debian/milter-greylist.init
# The following keeps lintian happy
rm -f milter-greylist.spec
# Sometimes autoconf doesn't clean up after itself
rm -f config.log
make[1]: Leaving directory '/srv/milter-greylist-4.5.11'
�� dh_autotools-dev_restoreconfig
�� dh_clean
�debian/rules build
dh build --with autotools_dev
�� dh_testdir
�� dh_update_autotools_config
�� dh_autotools-dev_updateconfig
�� debian/rules override_dh_auto_configure
make[1]: Entering directory '/srv/milter-greylist-4.5.11'
dh_auto_configure -- \
--with-user=greylist \
--sysconfdir=/etc/milter-greylist \
--with-conffile=/etc/milter-greylist/greylist.conf \
--with-dumpfile=/var/lib/milter-greylist/greylist.db \
--with-libspf2=/usr \
--with-libcurl=/usr \
--with-libmilter=/usr \
--with-libopendkim=/usr \
--with-libGeoIP=/usr \
--with-libbind=/usr \
--enable-dnsrbl \
--enable-postfix \
--disable-rpath \
LDFLAGS=" -Wl,-z,defs -L/usr/lib/libmilter -Wl,-z,relro " \
CFLAGS=" -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/srv/milter-greylist-4.5.11=. -fstack-protector-strong -Wformat -Werror=format-security "
������� ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-user=greylist --sysconfdir=/etc/milter-greylist --with-conffile=/etc/milter-greylist/greylist.conf --with-dumpfile=/var/lib/milter-greylist/greylist.db --with-libspf2=/usr --with-libcurl=/usr --with-libmilter=/usr --with-libopendkim=/usr --with-libGeoIP=/usr --with-libbind=/usr --enable-dnsrbl --enable-postfix --disable-rpath "LDFLAGS= -Wl,-z,defs -L/usr/lib/libmilter -Wl,-z,relro " "CFLAGS= -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/srv/milter-greylist-4.5.11=. -fstack-protector-strong -Wformat -Werror=format-security "
configure: WARNING: unrecognized options: --disable-silent-rules, --disable-maintainer-mode, --disable-dependency-tracking
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for a BSD-compatible install... /usr/bin/install -c
checking for mkdep... no
checking for rm... rm
checking for mv... mv
checking for test... test
checking for sed... sed
checking for true... true
checking for touch... touch
checking if compiler accepts -Wall... yes
checking if compiler accepts -Werror... no
checking if ld accepts -R... yes
checking if ld accepts --rpath... yes
checking for bind9_getaddresses in -lbind... no
checking for bind9_getaddresses in -lbind9... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking sys/cdefs.h usability... yes
checking sys/cdefs.h presence... yes
checking for sys/cdefs.h... yes
checking arpa/nameser.h usability... yes
checking arpa/nameser.h presence... yes
checking for arpa/nameser.h... yes
checking stdbool.h usability... yes
checking stdbool.h presence... yes
checking for stdbool.h... yes
checking sys/queue.h usability... yes
checking sys/queue.h presence... yes
checking for sys/queue.h... yes
checking for pid_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking for res_state... yes
checking if -lbind needs -lpthread to link... no
checking if -lcurl needs -lcrypto to link and run... no
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for strftime... yes
checking for working memcmp... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking whether lstat correctly handles trailing slash... yes
checking whether stat accepts an empty string... no
checking for bzero... yes
checking for gettimeofday... yes
checking for malloc... yes
checking for inet_ntoa... yes
checking for strerror... yes
checking for select... yes
checking for socket... yes
checking for initgroups... yes
checking for strlcat... no
checking for vsyslog... yes
checking for strcasestr... yes
checking for getaddrinfo... yes
checking for getnameinfo... yes
checking for pthread_create in -lpthread... yes
checking for SPF_server_new in -lspf2... yes
checking for dkim_init in -lopendkim -lcrypto... yes
checking for dkim_init in -lopendkim -lcrypto... (cached) yes
checking for socket in -lsocket... no
checking for socket in -lsocket -lnsl... no
checking for inet_aton in -lresolv... yes
checking for inet_pton in -lnsl... yes
checking for res_ninit... yes
checking for res_ndestroy... no
checking for res_nupdate... no
checking for getaddrinfo... (cached) yes
checking for getnameinfo... (cached) yes
checking if defines timeradd... yes
checking if -D_REENTRANT is needed to use localtime_r and strtok_r... no
checking if -D__EXTENSIONS__ is needed to use snprintf... no
checking for smfi_register in -lmilter... yes
checking for struct smfiDesc.xxfi_data... yes
checking if -lpthread is needed after -lmilter... no
checking if is outdated... no
checking if __RCSID can be used twice in the same source... yes
checking whether wants -pthread... no
checking whether you need -D_XOPEN_SOURCE to use libpthread... no
checking if -D_OSF_SOURCE is needed for IPV6 support... no
checking for struct sockaddr.sa_len... no
checking for struct sockaddr_in6.sin6_scope_id... yes
checking if socklen_t is missing... no
checking for broken rwlock in libpthread... no
checking if DNS resolver is re-entrant... yes
logname: no login name
configure: creating ./config.status
config.status: creating Makefile
config.status: creating milter-greylist.spec
config.status: creating config.h
configure: WARNING: unrecognized options: --disable-silent-rules, --disable-maintainer-mode, --disable-dependency-tracking
make[1]: Leaving directory '/srv/milter-greylist-4.5.11'
�� dh_auto_build
������� make -j1
make[1]: Entering directory '/srv/milter-greylist-4.5.11'
gcc -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/srv/milter-greylist-4.5.11=. -fstack-protector-strong -Wformat -Werror=format-security� -Wall -I/usr/include -I/usr/include/bind -I/usr/include -I/usr/include -DUSE_CURL -I/usr/include -DUSE_GEOIP -I/usr/include -I/usr/include/opendkim -I/usr/include/opendkim -DHAVE_DATA_CALLBACK -DUSE_DNSRBL -DUSE_POSTFIX -DCONFFILE=\"/etc/milter-greylist/greylist.conf\" -DDUMPFILE=\"/var/lib/milter-greylist/greylist.db\" -D_DEFAULT_SOURCE -I. -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2� -c -o milter-greylist.o milter-greylist.c
milter-greylist.c: In function 'fstring_expand':
milter-greylist.c:3256:36: warning: implicit declaration of function 'local_ipstr' [-Wimplicit-function-declaration]
������������ PACKAGE_VERSION, fqdn, local_ipstr(priv),
����������������������������������� ^~~~~~~~~~~
milter-greylist.c:3255:32: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat=]
����� "milter-greylist-%s (%s [%s]); %s %s (%s)",
������������������������������� ^
milter-greylist.c: At top level:
milter-greylist.c:3738:1: error: conflicting types for 'local_ipstr'
�local_ipstr(priv)
�^~~~~~~~~~~
milter-greylist.c:3256:36: note: previous implicit declaration of 'local_ipstr' was here
������������ PACKAGE_VERSION, fqdn, local_ipstr(priv),
����������������������������������� ^~~~~~~~~~~
: recipe for target 'milter-greylist.o' failed
make[1]: *** [milter-greylist.o] Error 1
make[1]: Leaving directory '/srv/milter-greylist-4.5.11'
dh_auto_build: make -j1 returned exit code 2
debian/rules:3: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
I wanted to greylisting emails only if they reach a spam score greater than 5. milter-greylist seems to be the only solution for this.
I am using debian stretch and postfix, so as I understand I need to compile milter-greylist by myself or need I?
If I add the --enable-postfix switch I get the following error:
Please help
Thanks,
# dpkg-buildpackage -b
dpkg-buildpackage: info: source package milter-greylist
dpkg-buildpackage: info: source version 4.5.11-1.1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Scott Kitterman
dpkg-buildpackage: info: host architecture amd64
�dpkg-source --before-build milter-greylist-4.5.11
�debian/rules clean
dh clean --with autotools_dev
�� dh_testdir
�� debian/rules override_dh_auto_clean
make[1]: Entering directory '/srv/milter-greylist-4.5.11'
dh_auto_clean
������� make -j1 distclean
make[2]: Entering directory '/srv/milter-greylist-4.5.11'
rm -f milter-greylist milter-greylist.o pending.o sync.o dnsrbl.o list.o macro.o conf.o store.o dump.o spf.o acl.o urlcheck.o stat.o clock.o geoip.o fd_pool.o prop.o ldapcheck.o dkimcheck.o p0f.o spamd.o mx.o ratelimit.o nsupdate.o brokenmfapi.o conf_yacc.o dump_yacc.o ..objseq-built conf_yacc.c conf_lex.c dump_yacc.c dump_lex.c \
������� rc-redhat.sh rc-bsd.sh rc-solaris.sh rc-debian.sh rc-gentoo.sh \
������� rc-suse.sh y.tab.c
sync || true
rm -Rf Makefile config.h config.log config.status \
�������� autom4te.cache configure.lineno *.orig *.bak autoscan.log
sync || true
make[2]: Leaving directory '/srv/milter-greylist-4.5.11'
rm -f debian/milter-greylist.init
# The following keeps lintian happy
rm -f milter-greylist.spec
# Sometimes autoconf doesn't clean up after itself
rm -f config.log
make[1]: Leaving directory '/srv/milter-greylist-4.5.11'
�� dh_autotools-dev_restoreconfig
�� dh_clean
�debian/rules build
dh build --with autotools_dev
�� dh_testdir
�� dh_update_autotools_config
�� dh_autotools-dev_updateconfig
�� debian/rules override_dh_auto_configure
make[1]: Entering directory '/srv/milter-greylist-4.5.11'
dh_auto_configure -- \
--with-user=greylist \
--sysconfdir=/etc/milter-greylist \
--with-conffile=/etc/milter-greylist/greylist.conf \
--with-dumpfile=/var/lib/milter-greylist/greylist.db \
--with-libspf2=/usr \
--with-libcurl=/usr \
--with-libmilter=/usr \
--with-libopendkim=/usr \
--with-libGeoIP=/usr \
--with-libbind=/usr \
--enable-dnsrbl \
--enable-postfix \
--disable-rpath \
LDFLAGS=" -Wl,-z,defs -L/usr/lib/libmilter -Wl,-z,relro " \
CFLAGS=" -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/srv/milter-greylist-4.5.11=. -fstack-protector-strong -Wformat -Werror=format-security "
������� ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-user=greylist --sysconfdir=/etc/milter-greylist --with-conffile=/etc/milter-greylist/greylist.conf --with-dumpfile=/var/lib/milter-greylist/greylist.db --with-libspf2=/usr --with-libcurl=/usr --with-libmilter=/usr --with-libopendkim=/usr --with-libGeoIP=/usr --with-libbind=/usr --enable-dnsrbl --enable-postfix --disable-rpath "LDFLAGS= -Wl,-z,defs -L/usr/lib/libmilter -Wl,-z,relro " "CFLAGS= -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/srv/milter-greylist-4.5.11=. -fstack-protector-strong -Wformat -Werror=format-security "
configure: WARNING: unrecognized options: --disable-silent-rules, --disable-maintainer-mode, --disable-dependency-tracking
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for a BSD-compatible install... /usr/bin/install -c
checking for mkdep... no
checking for rm... rm
checking for mv... mv
checking for test... test
checking for sed... sed
checking for true... true
checking for touch... touch
checking if compiler accepts -Wall... yes
checking if compiler accepts -Werror... no
checking if ld accepts -R... yes
checking if ld accepts --rpath... yes
checking for bind9_getaddresses in -lbind... no
checking for bind9_getaddresses in -lbind9... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking sys/cdefs.h usability... yes
checking sys/cdefs.h presence... yes
checking for sys/cdefs.h... yes
checking arpa/nameser.h usability... yes
checking arpa/nameser.h presence... yes
checking for arpa/nameser.h... yes
checking stdbool.h usability... yes
checking stdbool.h presence... yes
checking for stdbool.h... yes
checking sys/queue.h usability... yes
checking sys/queue.h presence... yes
checking for sys/queue.h... yes
checking for pid_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking for res_state... yes
checking if -lbind needs -lpthread to link... no
checking if -lcurl needs -lcrypto to link and run... no
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for strftime... yes
checking for working memcmp... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking whether lstat correctly handles trailing slash... yes
checking whether stat accepts an empty string... no
checking for bzero... yes
checking for gettimeofday... yes
checking for malloc... yes
checking for inet_ntoa... yes
checking for strerror... yes
checking for select... yes
checking for socket... yes
checking for initgroups... yes
checking for strlcat... no
checking for vsyslog... yes
checking for strcasestr... yes
checking for getaddrinfo... yes
checking for getnameinfo... yes
checking for pthread_create in -lpthread... yes
checking for SPF_server_new in -lspf2... yes
checking for dkim_init in -lopendkim -lcrypto... yes
checking for dkim_init in -lopendkim -lcrypto... (cached) yes
checking for socket in -lsocket... no
checking for socket in -lsocket -lnsl... no
checking for inet_aton in -lresolv... yes
checking for inet_pton in -lnsl... yes
checking for res_ninit... yes
checking for res_ndestroy... no
checking for res_nupdate... no
checking for getaddrinfo... (cached) yes
checking for getnameinfo... (cached) yes
checking if defines timeradd... yes
checking if -D_REENTRANT is needed to use localtime_r and strtok_r... no
checking if -D__EXTENSIONS__ is needed to use snprintf... no
checking for smfi_register in -lmilter... yes
checking for struct smfiDesc.xxfi_data... yes
checking if -lpthread is needed after -lmilter... no
checking if is outdated... no
checking if __RCSID can be used twice in the same source... yes
checking whether wants -pthread... no
checking whether you need -D_XOPEN_SOURCE to use libpthread... no
checking if -D_OSF_SOURCE is needed for IPV6 support... no
checking for struct sockaddr.sa_len... no
checking for struct sockaddr_in6.sin6_scope_id... yes
checking if socklen_t is missing... no
checking for broken rwlock in libpthread... no
checking if DNS resolver is re-entrant... yes
logname: no login name
configure: creating ./config.status
config.status: creating Makefile
config.status: creating milter-greylist.spec
config.status: creating config.h
configure: WARNING: unrecognized options: --disable-silent-rules, --disable-maintainer-mode, --disable-dependency-tracking
make[1]: Leaving directory '/srv/milter-greylist-4.5.11'
�� dh_auto_build
������� make -j1
make[1]: Entering directory '/srv/milter-greylist-4.5.11'
gcc -fno-strict-aliasing -g -O2 -fdebug-prefix-map=/srv/milter-greylist-4.5.11=. -fstack-protector-strong -Wformat -Werror=format-security� -Wall -I/usr/include -I/usr/include/bind -I/usr/include -I/usr/include -DUSE_CURL -I/usr/include -DUSE_GEOIP -I/usr/include -I/usr/include/opendkim -I/usr/include/opendkim -DHAVE_DATA_CALLBACK -DUSE_DNSRBL -DUSE_POSTFIX -DCONFFILE=\"/etc/milter-greylist/greylist.conf\" -DDUMPFILE=\"/var/lib/milter-greylist/greylist.db\" -D_DEFAULT_SOURCE -I. -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2� -c -o milter-greylist.o milter-greylist.c
milter-greylist.c: In function 'fstring_expand':
milter-greylist.c:3256:36: warning: implicit declaration of function 'local_ipstr' [-Wimplicit-function-declaration]
������������ PACKAGE_VERSION, fqdn, local_ipstr(priv),
����������������������������������� ^~~~~~~~~~~
milter-greylist.c:3255:32: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat=]
����� "milter-greylist-%s (%s [%s]); %s %s (%s)",
������������������������������� ^
milter-greylist.c: At top level:
milter-greylist.c:3738:1: error: conflicting types for 'local_ipstr'
�local_ipstr(priv)
�^~~~~~~~~~~
milter-greylist.c:3256:36: note: previous implicit declaration of 'local_ipstr' was here
������������ PACKAGE_VERSION, fqdn, local_ipstr(priv),
����������������������������������� ^~~~~~~~~~~
: recipe for target 'milter-greylist.o' failed
make[1]: *** [milter-greylist.o] Error 1
make[1]: Leaving directory '/srv/milter-greylist-4.5.11'
dh_auto_build: make -j1 returned exit code 2
debian/rules:3: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2