diff options
Diffstat (limited to 'net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch')
-rw-r--r-- | net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch | 270 |
1 files changed, 270 insertions, 0 deletions
diff --git a/net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch b/net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch new file mode 100644 index 000000000000..9ad6a036dcda --- /dev/null +++ b/net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch @@ -0,0 +1,270 @@ +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" + ++#ifdef HAVE_STDCXX_0X ++#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; + ++#ifdef HAVE_STDCXX_0X ++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" ++#ifdef HAVE_STDCXX_0X ++#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); + } + }; + ++#ifdef HAVE_STDCXX_0X ++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(); |