add22564ac
Changed the option "hostname-file" to read /var/qmail/control/me by default. Added the option "dns-resolv-conf" to read the nameserver from a file other than /etc/resolv.conf if necessary. Multiple files can be read, if needed. Changed all uses of strncpy() to memcpy() because strncpy() will fill the remainder of the destination buffer with zeroes if the source string is too short. This is not needed because all strings are being explicitly terminated after copies anyway. Added two new parameters to search_file() to allow the matching line data to be returned to the caller. Changed process_access() to save the contents of the RELAYCLIENT environment variable, if set. Added the timefilter program to the utils folder. Reversed a small change to spamdyke_log() made 4.0.8 that will prevent buffer overflows in obscure situations. Changed is_ip_in_name() to look for more patterns of IP addresses in rDNS names: 044.033.022.011, 44.033.022.011, 44.33.022.011 and 44.33.22.011. Thanks to Eduard Svarc for suggesting this one. Changed the syslog output to include an "encryption:" tag at the end that shows the current status of TLS/SSL encryption. Thanks to Eric Shubert for suggesting this one. Added a "-R" option to smtpdummy so it will reject all recipients. Completely rewrote find_address() to completely conform to RFC 2822 when parsing addresses, including quoting, comments, folded whitespace and all the rest. Added the option "reject-identical-sender-recipient" to block any messages where the sender and recipient are the same. Thanks to almost everyone on the mailing list for suggesting this one. Changed nihdns_mx() to tolerate MX records that contain IP addresses (illegal) instead of names. Fixed Makefile.in to use the CPPFLAGS variable from the "configure" script, if the user provided it in an environment variable. Thanks to Iavor Stoev for reporting this one. Fixed the "configure" script to correctly include header files on FreeBSD 7.0. Thanks to Andrew Khon for reporting this one. Added a "-S" flag to sendrecv to prevent it from starting a TLS session when it sees "STARTTLS". Improved sendrecv's usage display to document what each option does. Changed do_spamdyke() to set the stdin and stdout file descriptors to nonblocking before calling middleman(). This works around a bug in the SSL library that will block forever waiting for input, even after SSL_pending() and/or select() has already indicated the socket is ready. Thanks to Teodor Milkov for identifying this problem more than a year ago and trog for producing a patch to fix it! Fixed process_config_file() to reject configuration file lines with bad/missing characters. Fixed process_config_file() to print an "unknown option" error message instead of an "illegal option" message when an unknown option is found in a configuration file. Added option "rejection-text-identical-sender-recipient" to set the rejection message for the identical sender/recipient filter. Created dnsdummy to simulate a nameserver but exit after a short while for testing spamdyke's DNS routines. Converted all DNS-related tests to use dnsdummy and removed all references to spamdyke.org and silence.org. This will also allow the removal of the (hundreds of) bogus entries from the spamdyke.org zone file. Removed the use of getprotobyname() from dns.c and used the defined protocol values in netinet/in.h. Changed nihdns_query() to retry DNS queries via TCP if the response received via UDP has the "truncation" flag set (indicating the answers are too large for a UDP packet). Thanks to Roland Moelle for suggesting this one. Added option "dns-tcp" to control if spamdyke will retry DNS queries via TCP. Added option "dns-spoof" to control if spamdyke will attempt to detect DNS spoofing and, if so, what it should do about it. Fixed smtp_filter() to offer and accept SMTP AUTH (when appropriate) even if the connection is already whitelisted. Thanks to Ratko Rudic for reporting this one. |
||
---|---|---|
.. | ||
patches | ||
DESCR | ||
distinfo | ||
hacks.mk | ||
Makefile | ||
MESSAGE | ||
options.mk | ||
PLIST |