+++ /dev/null
-diff -NrU5 postal-0.69.orig/configure.in postal-0.69/configure.in
---- configure.in 2008-04-09 03:08:28.000000000 +0200
-+++ configure.in 2008-04-23 22:37:41.000000000 +0200
-@@ -13,15 +13,28 @@
- else
- stripping="-s"
- fi
-
- AC_ARG_ENABLE(openssl,
-- [ --disable-openssl disables openssl support],
-- DISABLEOPENSSL=$opensslval, DISABLEOPENSSL=no)
-+ [ --disable-openssl disable openssl support],
-+ [ if test $enableval = yes; then
-+ DISABLEOPENSSL=no
-+ else
-+ DISABLEOPENSSL=yes
-+ fi ]
-+ ,
-+ [ DISABLEOPENSSL=no ])
-+
- AC_ARG_ENABLE(gnutls,
-- [ --disable-gnutls disables gnutls support],
-- DISABLEGNUTLS=$gnutlsval, DISABLEGNUTLS=no)
-+ [ --disable-gnutls disables gnutls support],
-+ [if test $enableval = yes; then
-+ DISABLEGNUTLS=no
-+ else
-+ DISABLEGNUTLS=yes
-+ fi]
-+ ,
-+ [ DISABLEGNUTLS=no ])
-
- dnl Checks for programs.
- AC_LANG_CPLUSPLUS
- AC_PROG_CC
- AC_PROG_CXX
-@@ -118,17 +131,17 @@
- crypt_ldflags=
- if [[ "$GNUTLS" = "no" ]]; then
- gnutls=""
- else
- gnutls="#define USE_GNUTLS"
-- crypt_ldflags="$extra_ldflags -lgnutls -lgcrypt"
-+ crypt_ldflags=" -lgnutls -lgcrypt"
- fi
- if [[ "$OPENSSL" = "no" ]]; then
- openssl=""
- else
- openssl="#define USE_OPENSSL"
-- crypt_ldflags="$extra_ldflags -lssl -lcrypto"
-+ crypt_ldflags=" -lssl -lcrypto"
- fi
-
- AC_SUBST(large_file)
- large_file=""
-
-diff -NrU5 postal-0.69.orig/Makefile.in postal-0.69/Makefile.in
---- Makefile.in 2008-04-10 03:19:34.000000000 +0200
-+++ Makefile.in 2008-04-23 22:37:13.000000000 +0200
-@@ -16,11 +16,11 @@
- INSTALL=@INSTALL@
-
- TESTEXE=ex-test
- BASEOBJS=userlist.o thread.o results.o address.o tcp.o cmd5.o mutex.o logit.o expand.o @extra_objs@
- LFLAGS=-lstdc++ @extra_ldflags@
--CRYPTLFLAGS=-lstdc++ @crypt_ldflags@
-+CRYPTLFLAGS=-lstdc++ @extra_ldflags@ @crypt_ldflags@
-
-
- ALLOBJS=$(BASEOBJS) smtp.o client.o basictcp.o bhmusers.o smtpserver.o
-
- postal: postal.cpp $(BASEOBJS) postal.h smtp.o
+++ /dev/null
-diff -NrU5 postal-0.69.orig/bhm.cpp postal-0.69/bhm.cpp
---- postal-0.69.orig/bhm.cpp 2008-04-23 22:39:01.000000000 +0200
-+++ postal-0.69/bhm.cpp 2008-04-24 01:31:54.000000000 +0200
-@@ -7,10 +7,11 @@
- #include <ctype.h>
- #include <unistd.h>
- #include <sys/wait.h>
- #include <signal.h>
- #include <stdio.h>
-+#include <cstdlib>
- #include <sys/poll.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <netinet/ip.h>
-diff -NrU5 postal-0.69.orig/bhmusers.cpp postal-0.69/bhmusers.cpp
---- postal-0.69.orig/bhmusers.cpp 2008-04-10 03:36:27.000000000 +0200
-+++ postal-0.69/bhmusers.cpp 2008-04-24 00:04:07.000000000 +0200
-@@ -1,9 +1,10 @@
- #include "bhmusers.h"
- #include <stdio.h>
- #include <cstring>
- #include "expand.h"
-+#include <cstdlib>
-
- BHMUsers::BHMUsers(const char *userListFile)
- {
- char buf[1024];
- FILE *fp = fopen(userListFile, "r");
-diff -NrU5 postal-0.69.orig/bhmusers.h postal-0.69/bhmusers.h
---- postal-0.69.orig/bhmusers.h 2006-09-28 17:20:28.000000000 +0200
-+++ postal-0.69/bhmusers.h 2008-04-24 00:14:05.000000000 +0200
-@@ -4,16 +4,21 @@
- using namespace std;
-
- #include <string>
- #include "conf.h"
-
-+#if (defined HAVE_STDCXX_0X) || (__cplusplus >= 201103L)
-+#include <unordered_map>
-+#include <tr1/functional_hash.h>
-+#else
- #ifdef HAVE_EXT_HASH_MAP
- using namespace __gnu_cxx;
- #include <ext/hash_map>
- #else
- #include <hash_map.h>
- #endif
-+#endif
-
- #include "postal.h"
-
- typedef enum { eNone = 0, eDefer, eReject, eBounce, eGrey } USER_SMTP_ACTION;
-
-@@ -21,10 +26,13 @@
- {
- USER_SMTP_ACTION action;
- int sync_time;
- } BHM_DATA;
-
-+#if (defined HAVE_STDCXX_0X) || (__cplusplus >= 201103L)
-+typedef unordered_map<string, BHM_DATA , hash<string> > NAME_MAP;
-+#else
- namespace __gnu_cxx
- {
- template<> struct hash< std::string >
- {
- size_t operator() ( const std::string &x ) const
-@@ -33,10 +41,11 @@
- }
- };
- }
-
- typedef hash_map<string, BHM_DATA , hash<string> > NAME_MAP;
-+#endif
-
- class BHMUsers
- {
- public:
- BHMUsers(const char *userListFile);
-diff -NrU5 postal-0.69.orig/configure.in postal-0.69/configure.in
---- postal-0.69.orig/configure.in 2008-04-23 22:39:01.000000000 +0200
-+++ postal-0.69/configure.in 2008-04-24 01:20:35.000000000 +0200
-@@ -155,6 +155,98 @@
-
- AC_CHECK_HEADERS(vector ext/hash_map)
-
- dnl Checks for library functions.
-
-+AC_DEFUN([AC_COMPILE_STDCXX_0X], [
-+ AC_CACHE_CHECK(if g++ supports C++0x features without additional flags,
-+ ac_cv_cxx_compile_cxx0x_native,
-+ [AC_LANG_SAVE
-+ AC_LANG_CPLUSPLUS
-+ AC_TRY_COMPILE([
-+ template <typename T>
-+ struct check
-+ {
-+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+ };
-+
-+ typedef check<check<bool>> right_angle_brackets;
-+
-+ int a;
-+ decltype(a) b;
-+
-+ typedef check<int> check_type;
-+ check_type c;
-+ check_type&& cr = c;],,
-+ ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no)
-+ AC_LANG_RESTORE
-+ ])
-+
-+ AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x,
-+ ac_cv_cxx_compile_cxx0x_cxx,
-+ [AC_LANG_SAVE
-+ AC_LANG_CPLUSPLUS
-+ ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS -std=c++0x"
-+ AC_TRY_COMPILE([
-+ template <typename T>
-+ struct check
-+ {
-+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+ };
-+
-+ typedef check<check<bool>> right_angle_brackets;
-+
-+ int a;
-+ decltype(a) b;
-+
-+ typedef check<int> check_type;
-+ check_type c;
-+ check_type&& cr = c;],,
-+ ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no)
-+ CXXFLAGS="$ac_save_CXXFLAGS"
-+ AC_LANG_RESTORE
-+ ])
-+
-+ AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x,
-+ ac_cv_cxx_compile_cxx0x_gxx,
-+ [AC_LANG_SAVE
-+ AC_LANG_CPLUSPLUS
-+ ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS -std=gnu++0x"
-+ AC_TRY_COMPILE([
-+ template <typename T>
-+ struct check
-+ {
-+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+ };
-+
-+ typedef check<check<bool>> right_angle_brackets;
-+
-+ int a;
-+ decltype(a) b;
-+
-+ typedef check<int> check_type;
-+ check_type c;
-+ check_type&& cr = c;],,
-+ ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no)
-+ CXXFLAGS="$ac_save_CXXFLAGS"
-+ AC_LANG_RESTORE
-+ ])
-+
-+ if test "$ac_cv_cxx_compile_cxx0x_native" = yes ||
-+ test "$ac_cv_cxx_compile_cxx0x_cxx" = yes ||
-+ test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then
-+ AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ])
-+ fi
-+])
-+
-+AC_COMPILE_STDCXX_0X
-+
-+AC_SUBST(cstd)
-+cstd=
-+if test "$ac_cv_cxx_compile_cxx0x_cxx" = yes; then
-+ cstd=-std=c++0x
-+fi
-+
- AC_OUTPUT(Makefile postal.h port.h postal.spec sun/pkginfo)
-+
-diff -NrU5 postal-0.69.orig/Makefile.in postal-0.69/Makefile.in
---- postal-0.69.orig/Makefile.in 2008-04-23 22:39:01.000000000 +0200
-+++ postal-0.69/Makefile.in 2008-04-24 00:29:40.000000000 +0200
-@@ -8,12 +8,12 @@
- prefix=@prefix@
- eprefix=@exec_prefix@
- WFLAGS=-Wall -W -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wcast-qual -pedantic
- WPLUS=-Woverloaded-virtual -ffor-scope
-
--CXX=@CXX@ $(CFLAGS) -O2 -g $(WFLAGS) $(WPLUS)
--CC=@CC@ $(CFLAGS) -O2 -g $(WFLAGS)
-+CXX=@CXX@ @cstd@ $(CFLAGS) $(WFLAGS) $(WPLUS)
-+CC=@CC@ $(CFLAGS) $(WFLAGS)
-
- INSTALL=@INSTALL@
-
- TESTEXE=ex-test
- BASEOBJS=userlist.o thread.o results.o address.o tcp.o cmd5.o mutex.o logit.o expand.o @extra_objs@
-diff -NrU5 postal-0.69.orig/postal.cpp postal-0.69/postal.cpp
---- postal-0.69.orig/postal.cpp 2007-01-14 05:40:23.000000000 +0100
-+++ postal-0.69/postal.cpp 2008-04-24 01:30:49.000000000 +0200
-@@ -6,10 +6,11 @@
- #include "smtp.h"
- #include <unistd.h>
- #include <sys/wait.h>
- #include <signal.h>
- #include <stdio.h>
-+#include <cstdlib>
- #include "postal.h"
- #include "logit.h"
- #ifdef USE_GNUTLS
- #include <errno.h>
- #include <gcrypt.h>
-diff -NrU5 postal-0.69.orig/smtp.cpp postal-0.69/smtp.cpp
---- postal-0.69.orig/smtp.cpp 2008-04-19 00:01:39.000000000 +0200
-+++ postal-0.69/smtp.cpp 2008-04-24 00:14:49.000000000 +0200
-@@ -7,10 +7,11 @@
- #include <time.h>
- #include "userlist.h"
- #include "logit.h"
- #include "results.h"
- #include <cstring>
-+#include <cstdlib>
-
- smtpData::smtpData()
- : m_quit("QUIT\r\n")
- , m_randomLetters("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890 `~!@#$%^&*()-_=+[]{};:'\"|/?<>,")
- , m_randomLen(strlen(m_randomLetters))
-diff -NrU5 postal-0.69.orig/smtp.h postal-0.69/smtp.h
---- postal-0.69.orig/smtp.h 2008-04-19 00:01:23.000000000 +0200
-+++ postal-0.69/smtp.h 2008-04-24 00:18:03.000000000 +0200
-@@ -4,16 +4,20 @@
- using namespace std;
- #include <string>
- #include <cstring>
- #include <time.h>
- #include "conf.h"
-+#if (defined HAVE_STDCXX_0X) || (__cplusplus >= 201103L)
-+#include <unordered_map>
-+#else
- #ifdef HAVE_EXT_HASH_MAP
- using namespace __gnu_cxx;
- #include <ext/hash_map>
- #else
- #include <hash_map.h>
- #endif
-+#endif
- #include "tcp.h"
- #include "mutex.h"
-
- class results;
-
-@@ -28,11 +32,15 @@
- {
- return (l1 == l2);
- }
- };
-
-+#if (defined HAVE_STDCXX_0X) || (__cplusplus >= 201103L)
-+typedef unordered_map<unsigned long, string *, hash<unsigned long>, eqlng> NAME_MAP;
-+#else
- typedef hash_map<unsigned long, string *, hash<unsigned long>, eqlng> NAME_MAP;
-+#endif
-
- class smtpData
- {
- public:
- smtpData();