diff --git a/Makefile.in b/Makefile.in index 40c61949..e280a83a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -362,6 +362,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/configure b/configure index 0dc29c82..4bedf8f6 100755 --- a/configure +++ b/configure @@ -640,6 +640,7 @@ LTLIBOBJS ULIB_SYSCONFDIR ULIB_MODULEDIR RPM_CONFIGURE +STD_GNU11 USP_LDFLAGS USP_FLAGS USP_LIBS @@ -32805,6 +32806,7 @@ if test "x$ac_cv_crc32_intrinsics" = xyes; then case `gcc --version | head -n 1` in $to_match) ULIB_LIBS="$ULIB_LIBS -lgcc_s -lgcc" ;; # On Ubuntu 16.04 bug: [#65612](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65612) + esac fi fi @@ -32915,13 +32917,29 @@ ULIB_VERSION="$PACKAGE_VERSION" +STD_GNU11= if test "x$ax_cv_cxx_compile_cxx11" = xno -a "x$ax_cv_cxx_compile_cxx11__std_gnupp11" = xyes; then CXXFLAGS="-std=gnu++11 $CXXFLAGS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for workaround to enable on Sabayon" >&5 +$as_echo_n "checking for workaround to enable on Sabayon... " >&6; } + to_match='gcc (Gentoo Hardened 4.9.3*' + case `gcc --version | head -n 1` in + $to_match) + STD_GNU11="-std=gnu++11" + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled" >&5 +$as_echo "enabled" >&6; } + ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ;; + esac fi if test "x$ax_cv_cxx_compile_cxx14" = xno -a "x$ax_cv_cxx_compile_cxx14__std_gnupp14" = xyes; then CXXFLAGS="-std=gnu++14 $CXXFLAGS" fi + CXX=$CXX_save diff --git a/configure.ac b/configure.ac index 3176f1a8..048817e7 100644 --- a/configure.ac +++ b/configure.ac @@ -2540,6 +2540,7 @@ if test "x$ac_cv_crc32_intrinsics" = xyes; then case `gcc --version | head -n 1` in $to_match) ULIB_LIBS="$ULIB_LIBS -lgcc_s -lgcc" ;; # On Ubuntu 16.04 bug: [#65612](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65612) + esac fi fi @@ -2581,12 +2582,25 @@ AC_SUBST(USP_LIBS) AC_SUBST(USP_FLAGS) AC_SUBST(USP_LDFLAGS) +STD_GNU11= if test "x$ax_cv_cxx_compile_cxx11" = xno -a "x$ax_cv_cxx_compile_cxx11__std_gnupp11" = xyes; then CXXFLAGS="-std=gnu++11 $CXXFLAGS" + + AC_MSG_CHECKING(for workaround to enable on Sabayon) + to_match='gcc (Gentoo Hardened 4.9.3*' + case `gcc --version | head -n 1` in + $to_match) + STD_GNU11="-std=gnu++11" + + AC_MSG_RESULT(enabled) + ;; + *) AC_MSG_RESULT(no) ;; + esac fi if test "x$ax_cv_cxx_compile_cxx14" = xno -a "x$ax_cv_cxx_compile_cxx14__std_gnupp14" = xyes; then CXXFLAGS="-std=gnu++14 $CXXFLAGS" fi +AC_SUBST(STD_GNU11) CXX=$CXX_save AC_SUBST(CXX) diff --git a/contrib/HCSP/Makefile.in b/contrib/HCSP/Makefile.in index 013dea78..164d75fa 100644 --- a/contrib/HCSP/Makefile.in +++ b/contrib/HCSP/Makefile.in @@ -326,6 +326,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/contrib/Makefile.in b/contrib/Makefile.in index 58c67199..1af3bc83 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -309,6 +309,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/contrib/RSIGN/Makefile.in b/contrib/RSIGN/Makefile.in index 1b2b4a80..782b316d 100644 --- a/contrib/RSIGN/Makefile.in +++ b/contrib/RSIGN/Makefile.in @@ -298,6 +298,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/contrib/signer/Makefile.in b/contrib/signer/Makefile.in index daaba440..32e2627d 100644 --- a/contrib/signer/Makefile.in +++ b/contrib/signer/Makefile.in @@ -297,6 +297,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/doc/Makefile.in b/doc/Makefile.in index db30c7af..93952995 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -247,6 +247,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/IR/Makefile.in b/examples/IR/Makefile.in index 8568c6df..ef18cd46 100644 --- a/examples/IR/Makefile.in +++ b/examples/IR/Makefile.in @@ -394,6 +394,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/Makefile.in b/examples/Makefile.in index 76f9ef41..c70770aa 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -319,6 +319,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/PEC_log/Makefile.in b/examples/PEC_log/Makefile.in index 6c48df43..72c651d0 100644 --- a/examples/PEC_log/Makefile.in +++ b/examples/PEC_log/Makefile.in @@ -395,6 +395,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/WiAuth/Makefile.in b/examples/WiAuth/Makefile.in index 8e1a5857..94e771d3 100644 --- a/examples/WiAuth/Makefile.in +++ b/examples/WiAuth/Makefile.in @@ -378,6 +378,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/XAdES/Makefile.in b/examples/XAdES/Makefile.in index f555c582..f675cb03 100644 --- a/examples/XAdES/Makefile.in +++ b/examples/XAdES/Makefile.in @@ -338,6 +338,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/csp/Makefile.in b/examples/csp/Makefile.in index 26d8dc0b..abfd88b5 100644 --- a/examples/csp/Makefile.in +++ b/examples/csp/Makefile.in @@ -311,6 +311,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/doc_classifier/Makefile.in b/examples/doc_classifier/Makefile.in index efbe962d..f9bb6ab1 100644 --- a/examples/doc_classifier/Makefile.in +++ b/examples/doc_classifier/Makefile.in @@ -318,6 +318,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/doc_parse/Makefile.in b/examples/doc_parse/Makefile.in index 14f4adcf..1d64f6e8 100644 --- a/examples/doc_parse/Makefile.in +++ b/examples/doc_parse/Makefile.in @@ -299,6 +299,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/download_accelerator/Makefile.in b/examples/download_accelerator/Makefile.in index 26ff45a4..becd797b 100644 --- a/examples/download_accelerator/Makefile.in +++ b/examples/download_accelerator/Makefile.in @@ -299,6 +299,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/form_completion/Makefile.in b/examples/form_completion/Makefile.in index 037066fd..7f4dab8b 100644 --- a/examples/form_completion/Makefile.in +++ b/examples/form_completion/Makefile.in @@ -299,6 +299,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/hello/Makefile.in b/examples/hello/Makefile.in index c4e9ce1b..b62f91cd 100644 --- a/examples/hello/Makefile.in +++ b/examples/hello/Makefile.in @@ -295,6 +295,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/http_header/Makefile.in b/examples/http_header/Makefile.in index 784bcaec..4f791918 100644 --- a/examples/http_header/Makefile.in +++ b/examples/http_header/Makefile.in @@ -297,6 +297,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/lcsp/Makefile.in b/examples/lcsp/Makefile.in index 25de65ac..a8564825 100644 --- a/examples/lcsp/Makefile.in +++ b/examples/lcsp/Makefile.in @@ -311,6 +311,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/lrp_session/Makefile.in b/examples/lrp_session/Makefile.in index f26a529b..905a977e 100644 --- a/examples/lrp_session/Makefile.in +++ b/examples/lrp_session/Makefile.in @@ -304,6 +304,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/rsign/Makefile.in b/examples/rsign/Makefile.in index c6eaad5e..1500b37e 100644 --- a/examples/rsign/Makefile.in +++ b/examples/rsign/Makefile.in @@ -312,6 +312,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/simple_client_server/Makefile.in b/examples/simple_client_server/Makefile.in index d8bdd1b9..e8e07756 100644 --- a/examples/simple_client_server/Makefile.in +++ b/examples/simple_client_server/Makefile.in @@ -304,6 +304,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/test_manager/Makefile.in b/examples/test_manager/Makefile.in index 98ca71ac..590c9226 100644 --- a/examples/test_manager/Makefile.in +++ b/examples/test_manager/Makefile.in @@ -298,6 +298,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/uclient/Makefile.in b/examples/uclient/Makefile.in index 4a062ce3..f7d4a5ec 100644 --- a/examples/uclient/Makefile.in +++ b/examples/uclient/Makefile.in @@ -330,6 +330,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/userver/Makefile.in b/examples/userver/Makefile.in index e34a051a..d4d1ee6e 100644 --- a/examples/userver/Makefile.in +++ b/examples/userver/Makefile.in @@ -353,6 +353,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/workflow/Makefile.in b/examples/workflow/Makefile.in index 786f6542..6f3a1bd4 100644 --- a/examples/workflow/Makefile.in +++ b/examples/workflow/Makefile.in @@ -319,6 +319,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/examples/xml2txt/Makefile.in b/examples/xml2txt/Makefile.in index 4e789031..bd629640 100644 --- a/examples/xml2txt/Makefile.in +++ b/examples/xml2txt/Makefile.in @@ -299,6 +299,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/fuzz/Makefile.in b/fuzz/Makefile.in index 5af5db07..53459ebf 100644 --- a/fuzz/Makefile.in +++ b/fuzz/Makefile.in @@ -299,6 +299,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/include/Makefile.in b/include/Makefile.in index 5a5cefc7..b27c5a50 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -338,6 +338,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/include/ulib/Makefile.in b/include/ulib/Makefile.in index 455921e9..e17090c8 100644 --- a/include/ulib/Makefile.in +++ b/include/ulib/Makefile.in @@ -247,6 +247,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/include/ulib/base/base.h b/include/ulib/base/base.h index 7379fa49..1775f10c 100644 --- a/include/ulib/base/base.h +++ b/include/ulib/base/base.h @@ -20,7 +20,35 @@ # include # include #else -# define restrict __restrict +/* Minimal environment configuration */ +# define HAVE_CXX11 1 +# define HAVE_CXX14 1 +# define ENABLE_LFS 1 +# define HAVE_ARCH64 1 +# define DISABLE_ZIP 1 +# define HAVE_DLFCN_H 1 +# define DISABLE_IPV6 1 +# define HAVE_DIRENT_H 1 +# define U_LOG_DISABLE 1 +# define RETSIGTYPE void +# define ENABLE_MEMPOOL 1 +# define HAVE_SIGINFO_T 1 +# define U_STDCPP_ENABLE 1 +# define U_HTTP2_DISABLE 1 +# define HAVE_SYS_IOCTL_H 1 +# define PACKAGE_NAME "ULib" +# define HAVE_NETINET_IN_H 1 +# define ULIB_VERSION "1.4.2" +# define USE_HARDWARE_CRC32 1 +# define HAVE_SYS_SENDFILE_H 1 +# define PACKAGE_VERSION "1.4.2" +# define HAVE_NETPACKET_PACKET_H 1 +# define FNM_PATHNAME (1 << 0) /* No wildcard can ever match '/' */ +# define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars */ +# define FNM_PERIOD (1 << 2) /* Leading '.' is matched only explicitly */ +# define U_CACHE_REQUEST_DISABLE 1 +# define U_PIPELINE_HOMOGENEOUS_DISABLE 1 +# define restrict # include # ifndef U_LIBEXECDIR # define U_LIBEXECDIR "/usr/libexec/ulib" diff --git a/include/ulib/net/client/client.h b/include/ulib/net/client/client.h index 90d24e80..51b45964 100644 --- a/include/ulib/net/client/client.h +++ b/include/ulib/net/client/client.h @@ -156,8 +156,41 @@ public: // LOG - static void closeLog(); - static void setLogShared(); + static void closeLog() + { + U_TRACE_NO_PARAM(0, "UClient_Base::closeLog()") + +# ifndef U_LOG_DISABLE + if (log && + log_shared_with_server == false) + { + u_unatexit(&ULog::close); // unregister function of close at exit()... + ULog::close(); + + log = 0; + } +# endif + } + + void clearData() + { + U_TRACE_NO_PARAM(0, "UClient_Base::clearData()") + + buffer.setEmpty(); + response.setEmpty(); + } + + static void setLogShared() + { + U_TRACE_NO_PARAM(0, "UClient_Base::setLogShared()") + + U_INTERNAL_ASSERT_POINTER(UServer_Base::log) + +# ifndef U_LOG_DISABLE + log = UServer_Base::log; + log_shared_with_server = true; +# endif + } static bool isLogSharedWithServer() { @@ -176,7 +209,6 @@ public: unsigned int getPort() const { return port; } bool connect(); - void clearData(); bool remoteIPAddress(UIPAddress& addr); bool readResponse(uint32_t count = U_SINGLE_READ); bool setHostPort(const UString& host, unsigned int port); diff --git a/include/ulib/utility/uhttp.h b/include/ulib/utility/uhttp.h index 53c02813..17fb585c 100644 --- a/include/ulib/utility/uhttp.h +++ b/include/ulib/utility/uhttp.h @@ -185,7 +185,7 @@ public: static char response_buffer[64]; static int mime_index, cgi_timeout; // the time-out value in seconds for output cgi process static bool enable_caching_by_proxy_servers, skip_check_cookie_ip_address; - static uint32_t limit_request_body, request_read_timeout, range_start, range_size, response_code; + static uint32_t limit_request_body, request_read_timeout, range_start, range_size; static int handlerREAD(); static bool readRequest(); @@ -327,9 +327,7 @@ public: { U_TRACE_NO_PARAM(0, "UHTTP::startRequest()") -# if defined(U_SERVER_CHECK_TIME_BETWEEN_REQUEST) || (defined(DEBUG) && !defined(U_LOG_DISABLE)) UClientImage_Base::startRequest(); -# endif // ------------------------------ // U_http_info.uri @@ -1127,6 +1125,8 @@ public: } private: + static uint32_t old_response_code; + static void setMimeIndex() { U_TRACE_NO_PARAM(0, "UHTTP::setMimeIndex()") diff --git a/m4/Makefile.in b/m4/Makefile.in index 1bc81dc2..1d3c3c27 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -264,6 +264,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/nativejson-benchmark/ULibtest.cpp b/nativejson-benchmark/ULibtest.cpp index e3b57f9e..7d8ba847 100644 --- a/nativejson-benchmark/ULibtest.cpp +++ b/nativejson-benchmark/ULibtest.cpp @@ -1,10 +1,18 @@ -// NB: to use with ULib compiled in this way: ./configure --disable-shared && make - #include "../test.h" -#define HAVE_CONFIG_H -#include -#undef HAVE_CONFIG_H +/** + * NB: if ULib is configured and compiled (./configure --disable-shared && make) use this way: + * + * #define HAVE_CONFIG_H + * #include + * #undef HAVE_CONFIG_H + * + * otherwise: + * + * #include + */ + +#include static ULib ulib("167193,0,0,0,-30,-31,-30,-31,0"); diff --git a/src/ulib/Makefile.in b/src/ulib/Makefile.in index 7504b3cc..1b7465b5 100644 --- a/src/ulib/Makefile.in +++ b/src/ulib/Makefile.in @@ -620,6 +620,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/all_c.c b/src/ulib/all_c.c index 88e4ac26..f251492f 100644 --- a/src/ulib/all_c.c +++ b/src/ulib/all_c.c @@ -18,100 +18,80 @@ # include "base/base_trace.c" #endif -#ifdef USE_LIBZ -# include "base/coder/cgzio.c" -#endif - -#ifdef ENABLE_ZIP -# include "base/zip/dostime.c" -# include "base/zip/inflate.c" -# include "base/zip/pushback.c" -# include "base/zip/ziptool.c" -#endif - -#ifdef USE_LIBSSL -# include "base/ssl/dgst.c" -# include "base/ssl/cdes3.c" -#endif - -#ifdef _MSWINDOWS_ -# include "base/win32/mingw32.c" -#endif - -#ifndef HAVE_ASSERT_H -# include "replace/assert.c" -#endif - -#ifndef HAVE_SEM_INIT -# include "replace/sem.c" -#elif !defined(HAVE_SEM_TIMEDWAIT) -# include "replace/sem_timedwait.c" -#endif - -#ifndef HAVE_DAEMON -# include "replace/daemon.c" -#endif - -#ifndef HAVE_GETOPT_LONG -# include "replace/getopt_long.c" -#endif - -#ifndef HAVE_STRNDUP -# include "replace/strndup.c" -#endif - -#ifndef HAVE_STRPTIME -# include "replace/strptime.c" -#endif - -#ifndef HAVE_NANOSLEEP -# include "replace/nanosleep.c" -#endif - -#ifndef HAVE_MREMAP -# include "replace/mremap.c" -#endif - -#if !defined(HAVE_SENDFILE) && !defined(HAVE_MACOSX_SENDFILE) -# include "replace/sendfile.c" -#endif - -#ifndef HAVE_MKDTEMP -# include "replace/mkdtemp.c" -#endif - -#ifndef HAVE_MEMMEM -# include "replace/memmem.c" -#endif - -#ifndef HAVE_MEMRCHR -# include "replace/memrchr.c" -#endif - -#ifndef HAVE_GMTIME_R -# include "replace/gmtime.c" -#endif - -#ifndef HAVE_TIMEGM -# include "replace/timegm.c" -#endif - -#ifndef HAVE_FALLOCATE -# include "replace/fallocate.c" -#endif - -#ifndef HAVE_FALLOCATE64 -# include "replace/fallocate64.c" -#endif - -#ifndef HAVE_PREAD -# include "replace/pread.c" -#endif - -#ifndef HAVE_SCHED_GETCPU -# include "replace/sched_getcpu.c" -#endif - -#ifdef U_APEX_ENABLE -# include "base/apex/apex_memmove.c" +#ifdef HAVE_CONFIG_H +# ifdef USE_LIBZ +# include "base/coder/cgzio.c" +# endif +# ifdef ENABLE_ZIP +# include "base/zip/dostime.c" +# include "base/zip/inflate.c" +# include "base/zip/pushback.c" +# include "base/zip/ziptool.c" +# endif +# ifdef USE_LIBSSL +# include "base/ssl/dgst.c" +# include "base/ssl/cdes3.c" +# endif +# ifdef _MSWINDOWS_ +# include "base/win32/mingw32.c" +# endif +# ifndef HAVE_ASSERT_H +# include "replace/assert.c" +# endif +# ifndef HAVE_SEM_INIT +# include "replace/sem.c" +# elif !defined(HAVE_SEM_TIMEDWAIT) +# include "replace/sem_timedwait.c" +# endif +# ifndef HAVE_DAEMON +# include "replace/daemon.c" +# endif +# ifndef HAVE_GETOPT_LONG +# include "replace/getopt_long.c" +# endif +# ifndef HAVE_STRNDUP +# include "replace/strndup.c" +# endif +# ifndef HAVE_STRPTIME +# include "replace/strptime.c" +# endif +# ifndef HAVE_NANOSLEEP +# include "replace/nanosleep.c" +# endif +# ifndef HAVE_MREMAP +# include "replace/mremap.c" +# endif +# if !defined(HAVE_SENDFILE) && !defined(HAVE_MACOSX_SENDFILE) +# include "replace/sendfile.c" +# endif +# ifndef HAVE_MKDTEMP +# include "replace/mkdtemp.c" +# endif +# ifndef HAVE_MEMMEM +# include "replace/memmem.c" +# endif +# ifndef HAVE_MEMRCHR +# include "replace/memrchr.c" +# endif +# ifndef HAVE_GMTIME_R +# include "replace/gmtime.c" +# endif +# ifndef HAVE_TIMEGM +# include "replace/timegm.c" +# endif +# ifndef HAVE_FALLOCATE +# include "replace/fallocate.c" +# endif +# ifndef HAVE_FALLOCATE64 +# include "replace/fallocate64.c" +# endif +# ifndef HAVE_PREAD +# include "replace/pread.c" +# endif +# ifndef HAVE_SCHED_GETCPU +# include "replace/sched_getcpu.c" +# endif +# ifdef U_APEX_ENABLE +# include "base/apex/apex_memmove.c" +# endif #endif diff --git a/src/ulib/all_cpp.cpp b/src/ulib/all_cpp.cpp index 7a79cdaf..53e2576d 100644 --- a/src/ulib/all_cpp.cpp +++ b/src/ulib/all_cpp.cpp @@ -1,46 +1,29 @@ // all.cpp #define U_ALL_CPP - #include -#ifdef DEBUG -# include "debug/trace.cpp" -# include "debug/debug_common.cpp" -# include "debug/error_memory.cpp" -# include "debug/error_simulation.cpp" +#ifndef HAVE_CONFIG_H +# include "all_c.c" #endif -#ifdef U_STDCPP_ENABLE -# include "internal/objectIO.cpp" -# ifdef DEBUG -# include "debug/objectDB.cpp" -# endif -#endif - -#include "internal/error.cpp" -#include "internal/memory_pool.cpp" - #include "command.cpp" -#include "options.cpp" #include "timeval.cpp" #include "tokenizer.cpp" #include "timer.cpp" -#include "notifier.cpp" #include "string.cpp" #include "file.cpp" #include "process.cpp" +#include "notifier.cpp" #include "file_config.cpp" #include "log.cpp" -#include "application.cpp" -#include "cache.cpp" #include "date.cpp" #include "url.cpp" #include "internal/common.cpp" -#include "ui/dialog.cpp" +#include "internal/error.cpp" +#include "internal/memory_pool.cpp" #include "db/cdb.cpp" #include "db/rdb.cpp" -#include "query/query_parser.cpp" #include "mime/header.cpp" #include "mime/entity.cpp" #include "mime/multipart.cpp" @@ -48,223 +31,202 @@ #include "container/hash_map.cpp" #include "container/tree.cpp" #include "event/event_time.cpp" -#include "net/ping.cpp" #include "net/socket.cpp" #include "net/ipaddress.cpp" -#include "net/ipt_ACCOUNT.cpp" #include "net/client/client.cpp" -#include "net/client/pop3.cpp" -#include "net/client/imap.cpp" -#include "net/client/smtp.cpp" -#include "net/client/ftp.cpp" #include "net/client/http.cpp" -#include "net/client/redis.cpp" -#include "net/client/elasticsearch.cpp" -#include "net/rpc/rpc.cpp" -#include "net/rpc/rpc_client.cpp" -#include "net/rpc/rpc_encoder.cpp" -#include "net/rpc/rpc_envelope.cpp" -#include "net/rpc/rpc_fault.cpp" -#include "net/rpc/rpc_gen_method.cpp" -#include "net/rpc/rpc_method.cpp" -#include "net/rpc/rpc_object.cpp" -#include "net/rpc/rpc_parser.cpp" #include "net/server/server.cpp" -#include "net/server/server_rdb.cpp" -#include "net/client/client_rdb.cpp" #include "net/server/client_image.cpp" -#include "net/server/client_image_rdb.cpp" #include "net/server/plugin/mod_proxy_service.cpp" -#include "orm/orm.cpp" #include "orm/orm_driver.cpp" #include "json/value.cpp" #include "utility/lock.cpp" #include "utility/uhttp.cpp" #include "utility/base64.cpp" #include "utility/dir_walk.cpp" -#include "utility/bit_array.cpp" #include "utility/interrupt.cpp" #include "utility/services.cpp" #include "utility/semaphore.cpp" #include "utility/websocket.cpp" #include "utility/string_ext.cpp" #include "utility/socket_ext.cpp" -#include "utility/ring_buffer.cpp" #include "utility/data_session.cpp" #include "lemon/expression.cpp" - -#ifdef USE_LIBTDB -# include "db/tdb.cpp" -#endif - -#ifdef USE_MONGODB -# include "net/client/mongodb.cpp" -#endif - -#ifndef U_HTTP2_DISABLE -# include "utility/http2.cpp" -#endif - -#ifndef _MSWINDOWS_ -# include "net/unixsocket.cpp" -#endif - -#ifdef ENABLE_ZIP -# include "zip/zip.cpp" -#endif - -#ifdef USE_LIBSSL -# include "ssl/certificate.cpp" -# include "ssl/pkcs7.cpp" -# include "ssl/crl.cpp" -# include "ssl/pkcs10.cpp" -# include "net/client/twilio.cpp" -# include "ssl/mime/mime_pkcs7.cpp" -# include "ssl/net/sslsocket.cpp" -# include "ssl/net/ssl_session.cpp" -# include "utility/des3.cpp" -# ifdef HAVE_SSL_TS -# include "ssl/timestamp.cpp" -# endif -#endif - -#ifdef USE_LIBSSH -# include "ssh/net/sshsocket.cpp" -#endif - -#ifdef USE_LIBPCRE -# include "pcre/pcre.cpp" -#endif - -#ifdef USE_LIBEXPAT -# include "xml/expat/attribute.cpp" -# include "xml/expat/element.cpp" -# include "xml/expat/xml_parser.cpp" -# include "xml/expat/xml2txt.cpp" -# include "xml/soap/soap_encoder.cpp" -# include "xml/soap/soap_fault.cpp" -# include "xml/soap/soap_gen_method.cpp" -# include "xml/soap/soap_parser.cpp" -# include "xml/soap/soap_client.cpp" -#endif - -#ifdef USE_LIBXML2 -# include "xml/libxml2/node.cpp" -# include "xml/libxml2/schema.cpp" -# include "xml/libxml2/document.cpp" -#endif - -#ifdef USE_LIBCURL -# include "curl/curl.cpp" -#endif - -#ifdef USE_PARSER -# include "flex/flexer.cpp" -# include "flex/bison.cpp" -#endif - -#ifdef USE_LIBMAGIC -# include "magic/magic.cpp" -#endif - -#ifdef USE_LIBLDAP -# include "ldap/ldap.cpp" -#endif - -#ifdef USE_LIBDBI -# include "dbi/dbi.cpp" -#endif - -#ifdef USE_LIBEVENT -# include "libevent/event.cpp" -#endif - -#ifdef ENABLE_THREAD -# include "thread.cpp" -#endif - -// Handler static/dynamic plugin - #include "dynamic/dynamic.cpp" #include "dynamic/plugin.cpp" -#ifdef U_STATIC_HANDLER_ECHO -# include "net/server/plugin/mod_echo.cpp" +#ifdef U_STDCPP_ENABLE +# include "internal/objectIO.cpp" #endif - -#ifdef U_STATIC_HANDLER_STREAM -# include "net/server/plugin/mod_stream.cpp" +#ifndef _MSWINDOWS_ +# include "net/unixsocket.cpp" #endif - -#ifdef U_STATIC_HANDLER_NOCAT -# include "net/server/plugin/mod_nocat.cpp" -#endif - -#ifdef U_STATIC_HANDLER_SOCKET -# include "net/server/plugin/mod_socket.cpp" -#endif - -#ifdef U_STATIC_HANDLER_SCGI -# include "net/server/plugin/mod_scgi.cpp" -#endif - -#ifdef U_STATIC_HANDLER_FCGI -# include "net/server/plugin/mod_fcgi.cpp" -#endif - -#ifdef U_STATIC_HANDLER_SHIB -# include "net/server/plugin/mod_shib/mod_shib.cpp" -#endif - -#if defined(HAVE_LIBGEOIP) && defined(U_STATIC_HANDLER_GEOIP) -# include "net/server/plugin/mod_geoip/mod_geoip.cpp" -#endif - -#if defined(USE_LIBPCRE) && defined(U_STATIC_HANDLER_PROXY) -# include "net/server/plugin/mod_proxy.cpp" -#endif - -#if defined(USE_LIBEXPAT) && defined(U_STATIC_HANDLER_SOAP) -# include "net/server/plugin/mod_soap.cpp" -#endif - -#ifdef U_STATIC_HANDLER_SSI -# include "net/server/plugin/mod_ssi.cpp" -#endif - -#ifdef U_STATIC_HANDLER_TSA -# include "net/server/plugin/mod_tsa.cpp" -#endif - -#ifdef U_STATIC_HANDLER_HTTP -# include "net/server/plugin/mod_http.cpp" -#endif - -#ifdef U_STATIC_HANDLER_RPC -# include "net/server/plugin/mod_rpc.cpp" -#endif - -// Handler static orm driver - -#ifdef U_STATIC_ORM_DRIVER_SQLITE -# include "orm/driver/orm_driver_sqlite.cpp" -#endif - -#ifdef U_STATIC_ORM_DRIVER_MYSQL -# include "orm/driver/orm_driver_mysql.cpp" -#endif - -#ifdef U_STATIC_ORM_DRIVER_PGSQL -# include "orm/driver/orm_driver_pgsql.cpp" -#endif - -// Handler static http servlet - -#ifdef U_STATIC_ONLY -# ifdef U_STATIC_SERVLET -# include "net/server/plugin/usp/loader.autoconf.inc" -# endif -# ifdef U_STATIC_SERVLET_WI_AUTH -# include "../../examples/WiAuth/wi_auth.cpp" +#ifdef DEBUG +# include "debug/trace.cpp" +# include "debug/debug_common.cpp" +# include "debug/error_memory.cpp" +# include "debug/error_simulation.cpp" +# ifdef U_STDCPP_ENABLE +# include "debug/objectDB.cpp" +# endif +#endif + +#ifdef HAVE_CONFIG_H +# include "cache.cpp" +# include "options.cpp" +# include "application.cpp" +# include "ui/dialog.cpp" +# include "net/ping.cpp" +# include "net/ipt_ACCOUNT.cpp" +# include "net/client/pop3.cpp" +# include "net/client/imap.cpp" +# include "net/client/smtp.cpp" +# include "net/client/ftp.cpp" +# include "net/client/redis.cpp" +# include "net/client/elasticsearch.cpp" +# include "net/rpc/rpc.cpp" +# include "net/rpc/rpc_client.cpp" +# include "net/rpc/rpc_encoder.cpp" +# include "net/rpc/rpc_envelope.cpp" +# include "net/rpc/rpc_fault.cpp" +# include "net/rpc/rpc_gen_method.cpp" +# include "net/rpc/rpc_method.cpp" +# include "net/rpc/rpc_object.cpp" +# include "net/rpc/rpc_parser.cpp" +# include "net/server/server_rdb.cpp" +# include "net/client/client_rdb.cpp" +# include "net/server/client_image_rdb.cpp" +# include "orm/orm.cpp" +# include "utility/bit_array.cpp" +# include "utility/ring_buffer.cpp" +# include "query/query_parser.cpp" +# ifdef USE_LIBTDB +# include "db/tdb.cpp" +# endif +# ifdef USE_MONGODB +# include "net/client/mongodb.cpp" +# endif +# ifndef U_HTTP2_DISABLE +# include "utility/http2.cpp" +# endif +# ifdef ENABLE_ZIP +# include "zip/zip.cpp" +# endif +# ifdef USE_LIBSSL +# include "ssl/certificate.cpp" +# include "ssl/pkcs7.cpp" +# include "ssl/crl.cpp" +# include "ssl/pkcs10.cpp" +# include "net/client/twilio.cpp" +# include "ssl/mime/mime_pkcs7.cpp" +# include "ssl/net/sslsocket.cpp" +# include "ssl/net/ssl_session.cpp" +# include "utility/des3.cpp" +# ifdef HAVE_SSL_TS +# include "ssl/timestamp.cpp" +# endif +# endif +# ifdef USE_LIBSSH +# include "ssh/net/sshsocket.cpp" +# endif +# ifdef USE_LIBPCRE +# include "pcre/pcre.cpp" +# endif +# ifdef USE_LIBEXPAT +# include "xml/expat/attribute.cpp" +# include "xml/expat/element.cpp" +# include "xml/expat/xml_parser.cpp" +# include "xml/expat/xml2txt.cpp" +# include "xml/soap/soap_encoder.cpp" +# include "xml/soap/soap_fault.cpp" +# include "xml/soap/soap_gen_method.cpp" +# include "xml/soap/soap_parser.cpp" +# include "xml/soap/soap_client.cpp" +# endif +# ifdef USE_LIBXML2 +# include "xml/libxml2/node.cpp" +# include "xml/libxml2/schema.cpp" +# include "xml/libxml2/document.cpp" +# endif +# ifdef USE_LIBCURL +# include "curl/curl.cpp" +# endif +# ifdef USE_PARSER +# include "flex/flexer.cpp" +# include "flex/bison.cpp" +# endif +# ifdef USE_LIBMAGIC +# include "magic/magic.cpp" +# endif +# ifdef USE_LIBLDAP +# include "ldap/ldap.cpp" +# endif +# ifdef USE_LIBDBI +# include "dbi/dbi.cpp" +# endif +# ifdef USE_LIBEVENT +# include "libevent/event.cpp" +# endif +# ifdef ENABLE_THREAD +# include "thread.cpp" +# endif +# ifdef U_STATIC_HANDLER_ECHO +# include "net/server/plugin/mod_echo.cpp" +# endif +# ifdef U_STATIC_HANDLER_STREAM +# include "net/server/plugin/mod_stream.cpp" +# endif +# ifdef U_STATIC_HANDLER_NOCAT +# include "net/server/plugin/mod_nocat.cpp" +# endif +# ifdef U_STATIC_HANDLER_SOCKET +# include "net/server/plugin/mod_socket.cpp" +# endif +# ifdef U_STATIC_HANDLER_SCGI +# include "net/server/plugin/mod_scgi.cpp" +# endif +# ifdef U_STATIC_HANDLER_FCGI +# include "net/server/plugin/mod_fcgi.cpp" +# endif +# ifdef U_STATIC_HANDLER_SHIB +# include "net/server/plugin/mod_shib/mod_shib.cpp" +# endif +# if defined(HAVE_LIBGEOIP) && defined(U_STATIC_HANDLER_GEOIP) +# include "net/server/plugin/mod_geoip/mod_geoip.cpp" +# endif +# if defined(USE_LIBPCRE) && defined(U_STATIC_HANDLER_PROXY) +# include "net/server/plugin/mod_proxy.cpp" +# endif +# if defined(USE_LIBEXPAT) && defined(U_STATIC_HANDLER_SOAP) +# include "net/server/plugin/mod_soap.cpp" +# endif +# ifdef U_STATIC_HANDLER_SSI +# include "net/server/plugin/mod_ssi.cpp" +# endif +# ifdef U_STATIC_HANDLER_TSA +# include "net/server/plugin/mod_tsa.cpp" +# endif +# ifdef U_STATIC_HANDLER_HTTP +# include "net/server/plugin/mod_http.cpp" +# endif +# ifdef U_STATIC_HANDLER_RPC +# include "net/server/plugin/mod_rpc.cpp" +# endif +# ifdef U_STATIC_ORM_DRIVER_SQLITE +# include "orm/driver/orm_driver_sqlite.cpp" +# endif +# ifdef U_STATIC_ORM_DRIVER_MYSQL +# include "orm/driver/orm_driver_mysql.cpp" +# endif +# ifdef U_STATIC_ORM_DRIVER_PGSQL +# include "orm/driver/orm_driver_pgsql.cpp" +# endif +# ifdef U_STATIC_ONLY +# ifdef U_STATIC_SERVLET +# include "net/server/plugin/usp/loader.autoconf.inc" +# endif +# ifdef U_STATIC_SERVLET_WI_AUTH +# include "../../examples/WiAuth/wi_auth.cpp" +# endif # endif #endif diff --git a/src/ulib/internal/common.cpp b/src/ulib/internal/common.cpp index 8ebda87f..f5f1ffeb 100644 --- a/src/ulib/internal/common.cpp +++ b/src/ulib/internal/common.cpp @@ -10,6 +10,7 @@ // Stefano Casazza // // ============================================================================ + /* * _oo0oo_ * o8888888o diff --git a/src/ulib/net/client/client.cpp b/src/ulib/net/client/client.cpp index e55a5549..fd0821a4 100644 --- a/src/ulib/net/client/client.cpp +++ b/src/ulib/net/client/client.cpp @@ -51,22 +51,6 @@ UClient_Base::UClient_Base(UFileConfig* pcfg) : response(U_CAPACITY), buffer(U_C } } -void UClient_Base::closeLog() -{ - U_TRACE_NO_PARAM(0, "UClient_Base::closeLog()") - -#ifndef U_LOG_DISABLE - if (log && - log_shared_with_server == false) - { - u_unatexit(&ULog::close); // unregister function of close at exit()... - ULog::close(); - - log = 0; - } -#endif -} - UClient_Base::~UClient_Base() { U_TRACE_UNREGISTER_OBJECT(0, UClient_Base) @@ -123,14 +107,6 @@ void UClient_Base::setSSLContext() } #endif -void UClient_Base::clearData() -{ - U_TRACE_NO_PARAM(0, "UClient_Base::clearData()") - - buffer.setEmpty(); - response.setEmpty(); -} - bool UClient_Base::setHostPort(const UString& host, unsigned int _port) { U_TRACE(0, "UClient_Base::setHostPort(%V,%u)", host.rep, _port) @@ -183,18 +159,6 @@ bool UClient_Base::setHostPort(const UString& host, unsigned int _port) U_RETURN(false); } -void UClient_Base::setLogShared() -{ - U_TRACE_NO_PARAM(0, "UClient_Base::setLogShared()") - - U_INTERNAL_ASSERT_POINTER(UServer_Base::log) - -#ifndef U_LOG_DISABLE - log = UServer_Base::log; - log_shared_with_server = true; -#endif -} - void UClient_Base::loadConfigParam() { U_TRACE_NO_PARAM(0, "UClient_Base::loadConfigParam()") diff --git a/src/ulib/net/client/http.cpp b/src/ulib/net/client/http.cpp index 8d4aa41a..a3a903ec 100644 --- a/src/ulib/net/client/http.cpp +++ b/src/ulib/net/client/http.cpp @@ -838,7 +838,6 @@ bool UHttpClient_Base::sendRequestEngine() { U_TRACE_NO_PARAM(0, "UHttpClient_Base::sendRequestEngine()") - U_INTERNAL_ASSERT_DIFFERS(U_http_version, '2') U_INTERNAL_ASSERT_RANGE(1,UClient_Base::iovcnt,6) UString headers; diff --git a/src/ulib/net/server/client_image.cpp b/src/ulib/net/server/client_image.cpp index ea4f3f10..80ff20d5 100644 --- a/src/ulib/net/server/client_image.cpp +++ b/src/ulib/net/server/client_image.cpp @@ -611,15 +611,19 @@ const char* UClientImage_Base::getRequestUri(uint32_t& sz) } #ifdef U_CACHE_REQUEST_DISABLE -# define U_IOV_TO_SAVE sizeof(struct iovec) +# define U_IOV_TO_SAVE sizeof(struct iovec) +# define U_IOV_TO_SAVE_CNT 1 #else -# define U_IOV_TO_SAVE (sizeof(struct iovec) * 4) +# define U_IOV_TO_SAVE (sizeof(struct iovec) * 4) +# define U_IOV_TO_SAVE_CNT 4 #endif void UClientImage_Base::startRequest() { U_TRACE_NO_PARAM(0, "UClientImage_Base::startRequest()") + iov_sav[0].iov_len = 0; + #ifdef U_SERVER_CHECK_TIME_BETWEEN_REQUEST long time_elapsed = chronometer->restart(); @@ -703,7 +707,12 @@ void UClientImage_Base::endRequest() if (U_http_info.uri_len) # endif { - U_MEMCPY(iov_vec, iov_sav, U_IOV_TO_SAVE); + if (iov_sav[0].iov_len) + { + U_DUMP_IOVEC(iov_sav,U_IOV_TO_SAVE_CNT) + + U_MEMCPY(iov_vec, iov_sav, U_IOV_TO_SAVE); + } # if defined(DEBUG) && !defined(U_LOG_DISABLE) if (UServer_Base::isLog()) @@ -977,9 +986,7 @@ bool UClientImage_Base::genericRead() U_INTERNAL_ASSERT_EQUALS(socket->iSockDesc, UEventFd::fd) -#if defined(U_SERVER_CHECK_TIME_BETWEEN_REQUEST) || (defined(DEBUG) && !defined(U_LOG_DISABLE)) startRequest(); -#endif rstart = 0; @@ -1392,6 +1399,7 @@ write: // NB: we are managing a sendfile() request... U_INTERNAL_ASSERT_EQUALS(nrequest, 0) + U_INTERNAL_ASSERT_DIFFERS(U_http_version, '2') U_INTERNAL_ASSERT_EQUALS(UEventFd::op_mask, EPOLLIN | EPOLLRDHUP | EPOLLET) if (writeResponse() == false || @@ -1409,9 +1417,7 @@ write: if (U_ClientImage_pipeline) { endRequest(); -# if defined(U_SERVER_CHECK_TIME_BETWEEN_REQUEST) || (defined(DEBUG) && !defined(U_LOG_DISABLE)) startRequest(); -# endif goto pipeline; } @@ -1510,6 +1516,8 @@ bool UClientImage_Base::writeResponse() U_MEMCPY(iov_sav, iov_vec, U_IOV_TO_SAVE); + U_INTERNAL_ASSERT_MAJOR(iov_sav[0].iov_len, 0) + # if defined(U_LINUX) && defined(ENABLE_THREAD) && defined(U_LOG_DISABLE) && !defined(USE_LIBZ) U_INTERNAL_ASSERT_POINTER(u_pthread_time) U_INTERNAL_ASSERT_EQUALS(iov_vec[1].iov_base, ULog::ptr_shared_date->date3) @@ -1695,9 +1703,7 @@ void UClientImage_Base::close() setRequestProcessed(); - U_ClientImage_close = true; - - if (U_ClientImage_pipeline) resetPipeline(); + resetPipelineAndSetCloseConnection(); } void UClientImage_Base::abortive_close() diff --git a/src/ulib/net/server/plugin/Makefile.in b/src/ulib/net/server/plugin/Makefile.in index 0668d8d4..30b2a17f 100644 --- a/src/ulib/net/server/plugin/Makefile.in +++ b/src/ulib/net/server/plugin/Makefile.in @@ -547,6 +547,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/net/server/plugin/mod_geoip/Makefile.in b/src/ulib/net/server/plugin/mod_geoip/Makefile.in index bd3bfaee..a3d3b65c 100644 --- a/src/ulib/net/server/plugin/mod_geoip/Makefile.in +++ b/src/ulib/net/server/plugin/mod_geoip/Makefile.in @@ -325,6 +325,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/net/server/plugin/mod_shib/Makefile.in b/src/ulib/net/server/plugin/mod_shib/Makefile.in index e80bddf6..cfe5db47 100644 --- a/src/ulib/net/server/plugin/mod_shib/Makefile.in +++ b/src/ulib/net/server/plugin/mod_shib/Makefile.in @@ -325,6 +325,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/net/server/plugin/page_speed/Makefile.in b/src/ulib/net/server/plugin/page_speed/Makefile.in index 25a3aabc..8ff7724a 100644 --- a/src/ulib/net/server/plugin/page_speed/Makefile.in +++ b/src/ulib/net/server/plugin/page_speed/Makefile.in @@ -326,6 +326,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/net/server/plugin/php/Makefile.in b/src/ulib/net/server/plugin/php/Makefile.in index 34a9bea6..e1457b70 100644 --- a/src/ulib/net/server/plugin/php/Makefile.in +++ b/src/ulib/net/server/plugin/php/Makefile.in @@ -325,6 +325,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/net/server/plugin/python/Makefile.in b/src/ulib/net/server/plugin/python/Makefile.in index f7ad1bbc..275b0594 100644 --- a/src/ulib/net/server/plugin/python/Makefile.in +++ b/src/ulib/net/server/plugin/python/Makefile.in @@ -326,6 +326,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/net/server/plugin/ruby/Makefile.in b/src/ulib/net/server/plugin/ruby/Makefile.in index e19b330b..b58af3b5 100644 --- a/src/ulib/net/server/plugin/ruby/Makefile.in +++ b/src/ulib/net/server/plugin/ruby/Makefile.in @@ -325,6 +325,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/net/server/plugin/usp/Makefile.in b/src/ulib/net/server/plugin/usp/Makefile.in index 4c9078d0..bf72106b 100644 --- a/src/ulib/net/server/plugin/usp/Makefile.in +++ b/src/ulib/net/server/plugin/usp/Makefile.in @@ -301,6 +301,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/net/server/plugin/v8/Makefile.in b/src/ulib/net/server/plugin/v8/Makefile.in index 796c1841..d5001718 100644 --- a/src/ulib/net/server/plugin/v8/Makefile.in +++ b/src/ulib/net/server/plugin/v8/Makefile.in @@ -325,6 +325,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/notifier.cpp b/src/ulib/notifier.cpp index 9f7d696c..001f66bb 100644 --- a/src/ulib/notifier.cpp +++ b/src/ulib/notifier.cpp @@ -954,7 +954,7 @@ void UNotifier::modify(UEventFd* item) void UNotifier::handlerDelete(int fd, int mask) { - U_TRACE(0, "UNotifier::handlerDelete(%d,%d)", fd, mask) + U_TRACE(0, "UNotifier::handlerDelete(%d,%B)", fd, mask) U_INTERNAL_ASSERT_MAJOR(fd, 0) diff --git a/src/ulib/orm/driver/Makefile.am b/src/ulib/orm/driver/Makefile.am index c49d8cb8..6296fe13 100644 --- a/src/ulib/orm/driver/Makefile.am +++ b/src/ulib/orm/driver/Makefile.am @@ -6,6 +6,9 @@ MAINTAINERCLEANFILES = Makefile.in DEFAULT_INCLUDES = -I. -I$(top_srcdir)/include +## workaround for gcc version 4.9.3 (Gentoo Hardened 4.9.3 p1.1, pie-0.6.2) +DEFS = @STD_GNU11@ @DEFS@ + ulib_la = $(top_builddir)/src/ulib/lib@ULIB@.la moduledir = @ULIB_MODULEDIR@ diff --git a/src/ulib/orm/driver/Makefile.in b/src/ulib/orm/driver/Makefile.in index 6217fa14..6be59582 100644 --- a/src/ulib/orm/driver/Makefile.in +++ b/src/ulib/orm/driver/Makefile.in @@ -270,7 +270,7 @@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ +DEFS = @STD_GNU11@ @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DOXYGEN = @DOXYGEN@ @@ -360,6 +360,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/src/ulib/utility/http2.cpp b/src/ulib/utility/http2.cpp index 2fdc053a..d8050b34 100644 --- a/src/ulib/utility/http2.cpp +++ b/src/ulib/utility/http2.cpp @@ -3159,11 +3159,11 @@ void UHTTP2::handlerDelete(UClientImage_Base* pclient, bool& bsocket_open) if (bsocket_open && pclient->socket->isTimeout()) { + bsocket_open = false; + nerror = NO_ERROR; sendGoAway(pclient->socket); - - bsocket_open = false; } } @@ -3729,7 +3729,14 @@ void UHTTP2::sendGoAway(USocket* psocket) pConnection->state = CONN_STATE_IS_CLOSING; - if (USocketExt::write(psocket, buffer, sizeof(buffer), 0) == sizeof(buffer)) UClientImage_Base::close(); + if (USocketExt::write(psocket, buffer, sizeof(buffer), 0) == sizeof(buffer)) + { + psocket->close(); + + UClientImage_Base::setRequestProcessed(); + + UClientImage_Base::resetPipelineAndSetCloseConnection(); + } } void UHTTP2::sendResetStream() diff --git a/src/ulib/utility/socket_ext.cpp b/src/ulib/utility/socket_ext.cpp index bcc08f30..d308ddd7 100644 --- a/src/ulib/utility/socket_ext.cpp +++ b/src/ulib/utility/socket_ext.cpp @@ -28,7 +28,7 @@ #ifdef _MSWINDOWS_ # include -#elif defined(HAVE_NETPACKET_PACKET_H) && !defined(U_ALL_CPP) +#elif defined(HAVE_NETPACKET_PACKET_H) && (!defined(HAVE_CONFIG_H) || !defined(U_ALL_CPP)) # include #endif diff --git a/src/ulib/utility/uhttp.cpp b/src/ulib/utility/uhttp.cpp index af1213e6..38fe870a 100644 --- a/src/ulib/utility/uhttp.cpp +++ b/src/ulib/utility/uhttp.cpp @@ -104,7 +104,7 @@ UString* UHTTP::string_HTTP_Variables; uint32_t UHTTP::range_size; uint32_t UHTTP::range_start; uint32_t UHTTP::old_path_len; -uint32_t UHTTP::response_code; +uint32_t UHTTP::old_response_code; uint32_t UHTTP::sid_counter_gen; uint32_t UHTTP::sid_counter_cur; uint32_t UHTTP::usp_page_key_len; @@ -1323,7 +1323,7 @@ void UHTTP::init() U_http_info.nResponseCode = 0; - U_INTERNAL_ASSERT_EQUALS(response_code, HTTP_OK) + U_INTERNAL_ASSERT_EQUALS(old_response_code, HTTP_OK) U_MEMCPY(response_buffer, UClientImage_Base::iov_vec[0].iov_base, UClientImage_Base::iov_vec[0].iov_len); @@ -6199,9 +6199,11 @@ void UHTTP::setStatusDescription() { U_TRACE_NO_PARAM(0, "UHTTP::setStatusDescription()") - if (response_code != U_http_info.nResponseCode) + U_INTERNAL_DUMP("old_response_code = %u U_http_info.nResponseCode = %u", old_response_code, U_http_info.nResponseCode) + + if (old_response_code != U_http_info.nResponseCode) { - switch ((response_code = U_http_info.nResponseCode)) + switch ((old_response_code = U_http_info.nResponseCode)) { // 1xx indicates an informational message only case HTTP_SWITCH_PROT: @@ -6317,7 +6319,7 @@ void UHTTP::setStatusDescription() const char* status = getStatusDescription(&sz); UClientImage_Base::iov_vec[0].iov_base = response_buffer; - UClientImage_Base::iov_vec[0].iov_len = 9+u__snprintf(response_buffer+9, sizeof(response_buffer)-9, U_CONSTANT_TO_PARAM("%u %.*s\r\n"), response_code, sz, status); + UClientImage_Base::iov_vec[0].iov_len = 9+u__snprintf(response_buffer+9, sizeof(response_buffer)-9, U_CONSTANT_TO_PARAM("%u %.*s\r\n"), old_response_code, sz, status); } } } @@ -6739,7 +6741,7 @@ void UHTTP::setErrorResponse(const UString& content_type, int code, const char* char buffer[4096]; uint32_t len = u__snprintf(buffer, sizeof(buffer), fmt, fmt_size, - u_xml_encode((const unsigned char*)U_http_info.uri, U_min(100, U_HTTP_URI_QUERY_LEN), (unsigned char*)output), output); + u_xml_encode((const unsigned char*)U_http_info.uri, U_min(100, U_http_info.uri_len), (unsigned char*)output), output); body.snprintf(U_CONSTANT_TO_PARAM(U_STR_FMR_BODY), code, sz, status, diff --git a/tests/Makefile.in b/tests/Makefile.in index d19133c4..bb0b25e6 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -309,6 +309,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/tests/base/Makefile.in b/tests/base/Makefile.in index 9f5928e9..ffee2c64 100644 --- a/tests/base/Makefile.in +++ b/tests/base/Makefile.in @@ -574,6 +574,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/tests/contrib/Makefile.in b/tests/contrib/Makefile.in index 533ccdc5..56d384dc 100644 --- a/tests/contrib/Makefile.in +++ b/tests/contrib/Makefile.in @@ -451,6 +451,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/tests/debug/Makefile.in b/tests/debug/Makefile.in index 42d0c5db..ef926b05 100644 --- a/tests/debug/Makefile.in +++ b/tests/debug/Makefile.in @@ -521,6 +521,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in index cb8bcb8e..0cbe98f4 100644 --- a/tests/examples/Makefile.in +++ b/tests/examples/Makefile.in @@ -458,6 +458,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/tests/examples/web_server.test b/tests/examples/web_server.test index 3692c646..423e7d12 100755 --- a/tests/examples/web_server.test +++ b/tests/examples/web_server.test @@ -23,7 +23,7 @@ rm -f db/session.ssl* /tmp/ssl_session.txt /tmp/byterange* /tmp/soap.res /tmp/*. #chmod 666 /proc/sys/net/ipv4/tcp_fin_timeout /proc/sys/net/core/somaxconn /proc/sys/net/ipv4/tcp_max_syn_backlog -#UTRACE="0 50M 0" + UTRACE="0 50M 0" #UTRACE_SIGNAL="0 50M 0" #UOBJDUMP="0 10M 100" #USIMERR="error.sim" diff --git a/tests/ulib/Makefile.in b/tests/ulib/Makefile.in index 3f9d6e31..5e26c573 100644 --- a/tests/ulib/Makefile.in +++ b/tests/ulib/Makefile.in @@ -1011,6 +1011,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/tests/ulib/http2/Makefile.in b/tests/ulib/http2/Makefile.in index 6e3ea32c..82646e3a 100644 --- a/tests/ulib/http2/Makefile.in +++ b/tests/ulib/http2/Makefile.in @@ -505,6 +505,7 @@ SQLITE3_INCLUDE = @SQLITE3_INCLUDE@ SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@ SQLITE3_LIBS = @SQLITE3_LIBS@ STATIC_SERVLET_MAKE = @STATIC_SERVLET_MAKE@ +STD_GNU11 = @STD_GNU11@ STRIP = @STRIP@ ULIB = @ULIB@ ULIBS = @ULIBS@ diff --git a/tests/ulib/rdb_client_server.test b/tests/ulib/rdb_client_server.test index 5e486002..32385ff4 100755 --- a/tests/ulib/rdb_client_server.test +++ b/tests/ulib/rdb_client_server.test @@ -28,7 +28,9 @@ fi #STRACE=$TRUSS start_cmd_background "./test_rdb_server$SUFFIX inp/rdb_server.cf $ARG1 >out/rdb_client.out 2>>err/rdb_server.err" -$SLEEP + +wait_server_ready localhost 8080 + start_prg rdb_client localhost if [ "$TERM" = "msys" ] || \ @@ -39,8 +41,7 @@ else rm -f tmp/test.rdb* fi -$SLEEP -kill_prg test_rdb_server TERM +kill_server test_rdb_server # Test against expected output test_output_diff rdb_client