# # spec file for package poco # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define sover 95 # disabled for now as 4 of them fail %bcond_with tests Name: poco Version: 1.12.5 Release: 1.1 Summary: C++ Framework for Network-based Applications License: BSL-1.0 Group: System/Libraries URL: https://pocoproject.org Source: https://github.com/pocoproject/%{name}/archive/%{name}-%{version}-release.tar.gz BuildRequires: cmake >= 2.8.12 BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: mysql-devel BuildRequires: ninja BuildRequires: pcre2-devel BuildRequires: pkgconfig BuildRequires: unixODBC-devel BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(sqlite3) >= 3.7 BuildRequires: pkgconfig(zlib) %description C++ class libraries and frameworks for building network- and Internet-based applications. %package -n poco-devel Summary: C++ Framework for Network-based Applications Group: Development/Libraries/C and C++ Requires: libPocoCppParser%{sover} = %{version} Requires: libPocoCrypto%{sover} = %{version} Requires: libPocoData%{sover} = %{version} Requires: libPocoDataMySQL%{sover} = %{version} Requires: libPocoDataODBC%{sover} = %{version} Requires: libPocoDataSQLite%{sover} = %{version} Requires: libPocoEncodings%{sover} = %{version} Requires: libPocoFoundation%{sover} = %{version} Requires: libPocoJSON%{sover} = %{version} Requires: libPocoJWT%{sover} = %{version} Requires: libPocoMongoDB%{sover} = %{version} Requires: libPocoNet%{sover} = %{version} Requires: libPocoNetSSL%{sover} = %{version} Requires: libPocoPDF%{sover} = %{version} Requires: libPocoPrometheus%{sover} = %{version} Requires: libPocoRedis%{sover} = %{version} Requires: libPocoUtil%{sover} = %{version} Requires: libPocoXML%{sover} = %{version} Requires: libPocoZip%{sover} = %{version} Requires: libexpat-devel Requires: libmysqlclient-devel Requires: libstdc++-devel Requires: openssl-devel Requires: pcre-devel Requires: poco-cpspc = %{version} Requires: unixODBC-devel Provides: libpoco-devel = %{version} %description -n poco-devel C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoActiveRecord%{sover} Summary: POCO C++ Active Record Group: System/Libraries %description -n libPocoActiveRecord%{sover} ActiveRecord is a simple and lightweight object-relational mapping (ORM) framework based on the Active Record pattern and the Data library. %package -n poco-cpspc Summary: POCO C++ Server Page Compiler Group: Development/Tools/Doc Generators %description -n poco-cpspc This program compiles web pages containing embedded C++ code into a C++ class that can be used with the HTTP server from the POCO Net library. %package -n libPocoCrypto%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-crypto = %{version} %description -n libPocoCrypto%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoCppParser%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-cppparser = %{version} %description -n libPocoCppParser%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoData%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-data = %{version} %description -n libPocoData%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoDataMySQL%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-datamysql = %{version} %description -n libPocoDataMySQL%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoDataODBC%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-dataodbc = %{version} %description -n libPocoDataODBC%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoDataSQLite%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-datasqlite = %{version} %description -n libPocoDataSQLite%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoEncodings%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-encodings = %{version} %description -n libPocoEncodings%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoFoundation%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-foundation = %{version} %description -n libPocoFoundation%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoJSON%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-json = %{version} %description -n libPocoJSON%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoMongoDB%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-mongodb = %{version} %description -n libPocoMongoDB%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoRedis%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-redis = %{version} %description -n libPocoRedis%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoNet%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-net = %{version} %description -n libPocoNet%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoNetSSL%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-netssl = %{version} %description -n libPocoNetSSL%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoPDF%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-pdf = %{version} %description -n libPocoPDF%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoPrometheus%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-prometheus = %{version} %description -n libPocoPrometheus%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoUtil%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-util = %{version} %description -n libPocoUtil%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoXML%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-xml = %{version} %description -n libPocoXML%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoZip%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-zip = %{version} %description -n libPocoZip%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %package -n libPocoJWT%{sover} Summary: C++ Framework for Network-based Applications Group: System/Libraries Provides: poco-jwt = %{version} %description -n libPocoJWT%{sover} C++ class libraries and frameworks for building network- and Internet-based applications. %prep %setup -q -n "poco-poco-%{version}-release" %build # ENABLE_APPACHECONNECTOR # ENABLE_SEVENZIP # ENABLE_PODOC %define __builder ninja %cmake \ -DCMAKE_SHARED_LINKER_FLAGS="" \ -DENABLE_CPPPARSER=ON \ -DENABLE_CRYPTO=ON \ -DENABLE_DATA=ON \ -DENABLE_DATA_MYSQL=ON \ -DENABLE_DATA_ODBC=ON \ -DENABLE_DATA_SQLITE=ON \ -DENABLE_DATA_POSTGRESQL=OFF \ -DENABLE_JSON=ON \ -DENABLE_MONGODB=ON \ -DENABLE_NET=ON \ -DENABLE_NETSSL=ON \ -DENABLE_NETSSL_WIN=OFF \ -DENABLE_PAGECOMPILER=ON \ -DENABLE_PAGECOMPILER_FILE2PAGE=ON \ -DENABLE_PDF=ON \ -DENABLE_UTIL=ON \ -DENABLE_XML=ON \ -DENABLE_ZIP=ON \ %if %{with tests} -DENABLE_TESTS=ON \ %endif -DFORCE_OPENSSL=ON \ -DPOCO_UNBUNDLED=ON %cmake_build %install %cmake_install mv %{buildroot}/%{_bindir}/arc %{buildroot}/%{_bindir}/poco-arc rm -rf %{buildroot}%{_libdir}/cmake/Poco/V* %fdupes -s %{buildroot}/%{_libdir}/cmake/Poco %check %if %{with tests} export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}:$(pwd)/build/lib:$LD_LIBRARY_PATH %ctest %endif %files -n libPocoActiveRecord%{sover} %{_libdir}/libPocoActiveRecord.so.%{sover} %post -n libPocoActiveRecord%{sover} -p /sbin/ldconfig %postun -n libPocoActiveRecord%{sover} -p /sbin/ldconfig %files -n libPocoCrypto%{sover} %{_libdir}/libPocoCrypto.so.%{sover} %post -n libPocoCrypto%{sover} -p /sbin/ldconfig %postun -n libPocoCrypto%{sover} -p /sbin/ldconfig %files -n libPocoCppParser%{sover} %{_libdir}/libPocoCppParser.so.%{sover} %post -n libPocoCppParser%{sover} -p /sbin/ldconfig %postun -n libPocoCppParser%{sover} -p /sbin/ldconfig %files -n libPocoData%{sover} %{_libdir}/libPocoData.so.%{sover} %post -n libPocoData%{sover} -p /sbin/ldconfig %postun -n libPocoData%{sover} -p /sbin/ldconfig %files -n libPocoDataMySQL%{sover} %{_libdir}/libPocoDataMySQL.so.%{sover} %post -n libPocoDataMySQL%{sover} -p /sbin/ldconfig %postun -n libPocoDataMySQL%{sover} -p /sbin/ldconfig %files -n libPocoDataODBC%{sover} %{_libdir}/libPocoDataODBC.so.%{sover} %post -n libPocoDataODBC%{sover} -p /sbin/ldconfig %postun -n libPocoDataODBC%{sover} -p /sbin/ldconfig %files -n libPocoDataSQLite%{sover} %{_libdir}/libPocoDataSQLite.so.%{sover} %post -n libPocoDataSQLite%{sover} -p /sbin/ldconfig %postun -n libPocoDataSQLite%{sover} -p /sbin/ldconfig %files -n libPocoEncodings%{sover} %{_libdir}/libPocoEncodings.so.%{sover} %post -n libPocoEncodings%{sover} -p /sbin/ldconfig %postun -n libPocoEncodings%{sover} -p /sbin/ldconfig %files -n libPocoFoundation%{sover} %{_libdir}/libPocoFoundation.so.%{sover} %post -n libPocoFoundation%{sover} -p /sbin/ldconfig %postun -n libPocoFoundation%{sover} -p /sbin/ldconfig %files -n libPocoJSON%{sover} %{_libdir}/libPocoJSON.so.%{sover} %post -n libPocoJSON%{sover} -p /sbin/ldconfig %postun -n libPocoJSON%{sover} -p /sbin/ldconfig %files -n libPocoMongoDB%{sover} %{_libdir}/libPocoMongoDB.so.%{sover} %post -n libPocoMongoDB%{sover} -p /sbin/ldconfig %postun -n libPocoMongoDB%{sover} -p /sbin/ldconfig %files -n libPocoNet%{sover} %{_libdir}/libPocoNet.so.%{sover} %post -n libPocoNet%{sover} -p /sbin/ldconfig %postun -n libPocoNet%{sover} -p /sbin/ldconfig %files -n libPocoNetSSL%{sover} %{_libdir}/libPocoNetSSL.so.%{sover} %post -n libPocoNetSSL%{sover} -p /sbin/ldconfig %postun -n libPocoNetSSL%{sover} -p /sbin/ldconfig %files -n libPocoPDF%{sover} %{_libdir}/libPocoPDF.so.%{sover} %post -n libPocoPDF%{sover} -p /sbin/ldconfig %postun -n libPocoPDF%{sover} -p /sbin/ldconfig %files -n libPocoPrometheus%{sover} %{_libdir}/libPocoPrometheus.so.%{sover} %post -n libPocoPrometheus%{sover} -p /sbin/ldconfig %postun -n libPocoPrometheus%{sover} -p /sbin/ldconfig %files -n libPocoRedis%{sover} %{_libdir}/libPocoRedis.so.%{sover} %post -n libPocoRedis%{sover} -p /sbin/ldconfig %postun -n libPocoRedis%{sover} -p /sbin/ldconfig %files -n libPocoUtil%{sover} %{_libdir}/libPocoUtil.so.%{sover} %post -n libPocoUtil%{sover} -p /sbin/ldconfig %postun -n libPocoUtil%{sover} -p /sbin/ldconfig %files -n libPocoXML%{sover} %{_libdir}/libPocoXML.so.%{sover} %post -n libPocoXML%{sover} -p /sbin/ldconfig %postun -n libPocoXML%{sover} -p /sbin/ldconfig %files -n libPocoZip%{sover} %{_libdir}/libPocoZip.so.%{sover} %post -n libPocoZip%{sover} -p /sbin/ldconfig %postun -n libPocoZip%{sover} -p /sbin/ldconfig %files -n libPocoJWT%{sover} %{_libdir}/libPocoJWT.so.%{sover} %post -n libPocoJWT%{sover} -p /sbin/ldconfig %postun -n libPocoJWT%{sover} -p /sbin/ldconfig %files -n poco-devel %license LICENSE %doc CHANGELOG CONTRIBUTORS NEWS README %{_includedir}/Poco %{_bindir}/poco-arc %{_libdir}/libPoco*.so %dir %{_libdir}/cmake/Poco/ %{_libdir}/cmake/Poco/*.cmake %files -n poco-cpspc %{_bindir}/cpspc %{_bindir}/f2cpsp %changelog * Mon Oct 30 2023 Martin Hauke - Update to version 1.12.5 * Make POSIX event thread safe * Remove SocketReactor dependency on Poco::Thread for sleeping * ODBC::Binder UUID new/free mismatch * PollSet filters out some events * Use after free warnings * receiveResponse() may not return response body stream * Upgrade bundled pcre2 to 10.42 * missing \r\n when setting trailer header in chunked response * Initialisation of _socketIndex in SSLManager (OpenSSL) * Add options to disable STDIO in child process * pthread_getname_np' was not declared in this scope * FileChannel::setRotation overflow * Shutdown TLS1.3 connection * Use Poco format instead of sprintf in Util * Logging should evaluate only if the logging level is active * PageCompiler: add referrerPolicy to page directive feature * ODBC: SQL Anywhere Support * Classes with virtual functions missing virtual destructors (compilation issues) * CPPParser: Losing data if parameter std::function is used * wrong string offset in HTTPCredentials::isNTLMCredentials * On UNIX platform, Poco::Path::getExtension() returns name of the hidden file if no extension is present * Fix dead lock on Timer destructor * Poco::Net::SocketConnector constructor should take SocketAddress by const reference * The extractor in postgresql drops milliseconds * CppParser throws exception when return value is specified to be in global namespace * Deadlock in Timer when one sync and one async cancel requests are issued * Static FastMutex fails to lock when issued from another thread on linux * NetSSL_OpenSSL: Support session resumption with TLSv1.3 * Replace sprintf with snprintf in Environment and NumberFormatter to avoid deprecation warnings * zlib headers not updated * HTTPClientSession::receiveResponse() gives NoMessage instead of Timeout exception for SSL connection on Windows when using OpenSSL 3.0.x * DateTimeFormatter creates invalid ISO8601 string * Reading from request stream hangs when "Transfer-Encoding: chunked" is used * Upgrade double-conversion to 3.3.0 * Fix pthread_setname not declared * optimize checkUpperLimit and checkLowerLimit in VarHolder.h enhancement * rename arc -> poco_arc * Fixed Poco::format specifier for error code bug platform_specific * fix #4005 Poco::Path::getExtension() * Fix hang in destructor * Fix thread counter leak * Fix dead lock on Timer destructor * Fix error handling with OpenSSL 3.0 in SecureSocketImpl.cpp * Fix build for QNX platform_specific * Fix data race when create POSIX thread * Fixed compile error for OpenSSL 1.0 systems (#3739) * Added system_error header to SockerProactor for std::error_code * Fix epollfd validity checks when compiling with wepoll * Fixed converting/correcting pre-gregorian dates (#3723) * Tue Jul 18 2023 Martin Hauke - Update to version 1.12.4 * Fix SocketReactor - 100 %% CPU usage on single-core system - Update to version 1.12.3 * Poco::format receives empty Vector * v1.12.0 and v1.12.1 Poco::Any compile problem * DateTimeFormatter creates invalid ISO8601 string * bindImplLOB zero size (or NULL) HY104 "Invalid precision value" * Poco 1.12.2 - Building DataMySQL still fails (issue #3689) * Fix optional JSON support for MySQL * Poco::Util::Application VxWorks main is incorrect * Fixed converting/correcting pre-gregorian dates (#3723). * aix system NumberFormatter.cpp build error * SocketImpl::available() * Sun Sep 18 2022 Martin Hauke - Update to version 1.12.2 * fix(Platform): LoongArch support * Linking Crypto-testrunner fails * SIGABRT in OSSL_PROVIDER_unload with static OpenSSL3 * POSIX Event state need not be atomic * Release script must include build_vs170.cmd * wakeup fd is never read * lowercase winsock2 and iphlpapi to allow cross compile * Only support extracting JSON fields when the SDK supports it * PocoNet Project File does not support Visual Studio 2022 * Added missing Crypto Header to ProGen source * Crypto: Progen again to add new files and bring back ARM64 configuration * Add how to install using Conan section on README * Poco::format and C++20 * g++ C++20 warnings - Update to version 1.12.1 * PocoFoundationConfig.cmake should now check for PCRE2 * SIGSEGV in OSSL_PROVIDER_unload with static OpenSSL3 - Update to version 1.12.0 * This release introduces Prometheus library * Small object optimization for Any and Dynamic::Var (compile-time option, enabled by default) * All swap operations are noexcept now * PollSet::add() is mode-cumulative now * UDPServer now requires explicit starting * Move semantics for sockets and SocketAddress (compile-time option, disabled by default) * Sat Jun 18 2022 Martin Hauke - Update to version 1.11.3 * fix(openssl-initializer): check legacy provider existence for legacy exception * Redis - add TLS support * Tue Apr 19 2022 Martin Hauke - Update to version 1.11.2 * Handle negative DST offset * Poco redis command set have a bug when you want to set nx ex or expireTime * NamedMutex does not work on Linux distributions where fs.protected_regular=1 * Basic support for OpenSSL 3.0.0 * encryptString() crash on redhat/centos 8 with FIPS enabled using md5 default digest * bug in JSON ParseHandler.cpp (RFC 7159 should be valid) * Sandbox all iFrames in PocoDoc * OpenSSL 3 compatibility * JSON::PrintHandler.value(bool) prints incorrect value * Reference counting for bound configuration in Util::Option is broken * #3507: Fix bound configuration reference counting in Poco::Util::Option. * fix dst and utcOffset handling for Dublin time zone * NetSSL_OpenSSL Testsuite: testInterop() and testProxy() fail due to changed certificate * Expat version check in #defines incorrect. * Bad management of file in case of OpenSSLException in X509Certificate::readPEM and X509Certificate::writePEM * Add back NIOS2 double conversion detection to fix compile errors * Poco::Data::PostgreSQL - DateTime extraction truncates fractional seconds - Update to version 1.11.1 * error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 * SocketReactor loads one core of CPU up to 100%% * Poco::Data::ODBC::ODBCStatementImpl causes crash * XML error when build 1.11.0 * [bug] MacOS bundle destination path is not set * The definition POCO_NO_FORK_EXEC is not respected or something like this * fix fork option * Add POCO_PGSQL_{INCLUDE,LIB} variables * Fixed compilation error with MongoDB::Connection and Util::Application * DNS::hostByAddress not thread-safe * Fix crash due to X.509 certificates with Subject Alternative Name other than DNS Host * fix std::localtime not thread safe * fix missing expat definition * Fixed suspend/resumeEvents pair in DirectoryWatcher - package /usr/bin/arc as /usr/bin/poco-arc to prevent an naming clash * Mon Jun 28 2021 Martin Hauke - Update to version 1.11.0 * This release introduces ActiveRecord, a simple and lightweight object-relational mapping (ORM) framework based on the Active Record pattern and the Data library. * Over 100 issues have been closed with this release. * Sat May 2 2020 Matwey Kornilov - Add missed requires to poco-devel. The devel package provides symlinks: libPocoJWT.so and libPocoRedis.so * Mon Feb 17 2020 Martin Hauke - Update to version 1.10.1 * Poco 1.10.0 doesn't build with cmake & POCO_UNBUNDLED * poco 1.10/ NetSSL / openssl < 1.1 : default server usage changed (compare to 1.9.4) * Wrong cancelation of the fix: incorrect type of store name parameter in * allow pre-allocation of the buffer in Poco::LogStreamBuf. * Modernise TLS configuration * Add getSpecifiedPort() method in Poco::URI. * Test failures on s390x architecture with 1.10.0 * Poco::UTF16Encoding and Poco::UTF32Encoding byte order conversion bug * Poco::SHA2Engine computes incorrect hash on big-endian systems * Close Service Handle after DeleteService Function call * MySQL: resetting the session when putting it back into a SessionPool is now optional (and disabled by default) due to a bug in MySQL messing up the character encoding when doing so. * Poco::AutoPtr and Poco::SharedPtr now support comparison with nullptr. - Update to version 1.10.0 * POCO's fixed-size integer types are now based on types. * Many methods exposing raw pointers have been changed to use smart pointers (usually Poco::SharedPtr or Poco::AutoPtr) instead. This may break some existing code. Specifically, the Logging framework in the Foundation library and the Configuration framework in the Util library have been changed. * New JWT library for dealing with JSON Web Tokens. * The NetSSL_OpenSSL library supports TLS 1.3 with OpenSSL 1.1.1 or later. * NetSSL_OpenSSL now has a Poco::Net::FTPSClientSession and Poco::Net::FTPSStreamOpener class for connecting to FTP servers over TLS. * Fixed a potential crash in Poco::Net::NetworkInterface on Linux due to an invalid cast when obtaining the MAC address of an interface. * X509Certificate does not render UTF-8 characters in subjectName * NetworkInterface::map can fail to reveal some interfaces if an earlier one can not be handled * Poco::Data::ODBC Binding of SQL Decimal Type * Allow to filter long tests using a command line argument * Poco::Net::MediaType::parse() does not split parameters * Added tryWait() into Process and ProcessHandle. Handle kill()-ed UNIX process exit codes. * unescape Backslash char in UTF8 unescape method * Add support for SameSite attribute in HTTPCookie * setEscapeUnicode() functions in JSON Array and Object classes ignore their boolean parameter * Allow Poco::Net::Context::usePrivateKey to accept ECKey and/or general EVPPKey * X509Certificate validFrom expiresOn Date parsing * Poco::Mysql does not build with MySQL 8.0+ * Uploads larger than 2GB fail * UUIDGenerator should allow random seed * Support for XDG Base Directory Specification * Add an option to force the use of PollingDirectoryWatcherStrategy * fix Dynamic::Var parse string issue * Restore pre-1.8.0 behaviour of Poco::Net::ServerSocket::bind. * Implement DataURIStream for extracting data from data URIs. * File fail on overwrite * X509Certificate: Get rid of deprecated OpenSSL 1.1 APIs * SocketAcceptor::setReactor() is broken * Poco::strToInt<> fails for values right above the type's boundary/limit * Poco::JSON::Object::set() should return reference to this to allow chaining. * SQLite mismatch open/close API calls * ICMPSocket does not check reply address * Use PollSet in SocketReactor * MySQL session state is not cleared in SessionPool * Preserve entries order in DynamicStruct * Can not open certain zip files include data descriptor * add struct tm support to DateTime * NTPClient not checking reply address * lock-order-inversion in SocketReactor * add socket gather/scatter capabilities * UDPServer and client * add PMTU discovery * SocketNotifier not thread-safe * WebSocketTest.cpp faults reported by valgrind * Reset connection when a session is returned to the SessionPool * Android abstract namespace local socket address * Fix race condition in TCPServerDispatcher.cpp * SocketImpl::bind --> bind wrong config * Wed Jan 22 2020 Martin Pluskal - Make spec file greater * Mon Aug 26 2019 Martin Hauke - Update to version 1.9.3 * Data/ODBC: make binding of std::string configurable (SQL_LONGVARCHAR - default or SQL_VARCHAR) through a global setting (Poco::Data::ODBC::Connector::bindStringToLongVarChar()). * CppParser now supports type aliases defined with using keyword. * PageCompiler: added support for adding Content-Security-Policy and Cache-Control headers. * Fri Jul 12 2019 Martin Hauke - Update to version 1.9.2 * fixed GH #2736: Error using CMake gui - latest version * fixed GH #2737: Bundles vulnerable copy of Expat * fixed GH #2738: Poco::AccessExpireStrategy::onGet() must not extend expiration time after expiration - Update to version 1.9.1 * Added Poco::Net::HTTPClientSession::flushRequest() * Added Poco::Net::WebSocket::setMaxPayloadSize() and Poco::Net::WebSocket::getMaxPayloadSize() to specify a maximum acceptable payload size for Poco::Net::WebSocket::receiveFrame(). * Poco::Net::WebSocket: don't attempt to send empty credentials in response to 401 response. * Redis: added support for additional commands (exists, expire, ping, multi, exec, discard) * Redis: added Poco::Redis::Client::isConnected() * Added HTTP*Credentials::empty() and HTTPCredentials::clear() * fixed GH #2277: SQLite null pointer dereference occurs when exception is being thrown * fixed GH #2316: cmake can't find MySQL and ODBC libraries * fixed GH #2336: Omit ContentLength in WebSocket accept response * fixed GH #2358: Don't include for later OpenSSL * fixed GH #2364: Stringify escapes every unicode symbol when object contain an array * fixed GH #2380: Calling Poco::Net::X509Certificate::addChainCertificate() leads to double free. * fixed GH #2549: Fix keepAlive in http client session * fixed GH #2565: HTMLForm: optional enforcement of Content-Length instead of Chunked Transfer-Encoding * fixed GH #2570: DialogSocket: receiveStatusMessage() - line length limit applies to entire multi-line message * fixed GH #2583: Crypto library does not build with OpenSSL 1.0.0 * fixed GH #2655: MongoDB Binary element to string - bug * fixed GH #2700: Invalid read of memory in Poco::Environment::set which may cause crashes. * fixed GH #2723: Access violation when trying to decompress .zip file with unsupported compression method. * Fri Mar 9 2018 mardnh@gmx.de - Update to version 1.9.0 * Added additional text encodings, available in the new PocoEncodings library (GH #2165) * Added Punycode support for resolving Internationalized Domain Names to Poco::Net::DNS (GH #2164) * Added XDG Base Directory Specification support in Poco::Path, Poco::Util::SystemConfiguration and Poco::Util::Application (GH #1609, GH #561, GH #1609) * Added support for GCM ciphers in Crypto library (GH #2129) * Poco::Net::RemoteSyslogChannel and Poco::Net::RemoteSyslogListener now have basic support for RFC 5424 structured data (GH #2173) * Poco::File now has methods for obtaining partition space (GH #1545) * Added Poco::Net::Context::addCertificateAuthority() (GH #2197) * Added Poco::AutoPtr::reset() and Poco::SharedPtr::reset() to improve compatibility with std::shared_ptr() (GH #2172) * fixed GH #703: Poco::Data::SQLite data types (INTEGER is now mapped to Int64) * fixed GH #1426: inttypes.h is available on sun solaris * fixed GH #1912: Run ping with custom data size #1912 * fixed GH #2177: Run ping with custom timeout instead of the default * fixed GH #2058 and GH #2095: Synchronization issue/deadlock in Poco::Util::Timer at destruction * fixed GH #2089: Allow hyphen in HTTP authentication scheme names * fixed GH #2106: Undefined behavior in Delegate::equals() * fixed GH #2108: POCO SQLite Data Connector hangs for 20 secs waiting for thread timeouts on Windows * fixed GH #2142: JSON::Object preserveOrder keys not synced on assignment * fixed GH #2199 and GH #2188: Illegal header in zip file exception/assertion failure during JAR file decompression * fixed GH #2203: Use MAX_ADDRESS_LENGTH to determine buffer size - Remove patch: * poco-respect-libdir-cmake.patch (fixed upstream) * Thu Jan 11 2018 mardnh@gmx.de - Update to version 1.8.1 * Added Poco::File::linkTo() * fixed GH #2044: Poco::Net::NetworkInterface::list does not list inactive interfaces even when explicitly being asked for it. * fixed GH #2042: Android abstract namespace local socket address * fixed GH #2038: Poco::Net::MultipartWriter::createBoundary() always returns the same string. * fixed GH #2020: SQLite not handling parameter count mismatch correctly. * fixed GH #2012: Data/SQLite: Exception messages contain duplicate text * fixed GH #2005: Upgraded bundled PCRE to 8.41 * fixed GH #2000: Fix building XMLStreamParser with unbundled expat * fixed GH #1603: fix MinGW 4.8.2 Compilation * fixed GH #1991: Support building poco 1.8.0 as cmake sub-project * fixed GH #2080: Bugs in Poco::Net::Socket::select when POCO_HAVE_FD_POLL is defined - Update to version 1.8.0.1 * Reverted change for GH #1828; DeflatingStreamBuf::sync() no longer flushes underlying stream as this causes corruption for some Zip files. * PocoDoc: fix for handling compiler configuration for Gradle builds. - Update to version 1.8.0 * Poco::Base64Encoder: add support for base64url encoding * Add Poco::Net::PollSet class to Net library * The Net library now supports Unix Domain Sockets, where available. * Added stream parser (Poco::XML::XMLStreamParser) to XML library (GH #1697) * Added Poco::Net::TCPServerConnectionFilter and Poco::Net::TCPServer::setConnectionFilter() to support connection filtering and IP blacklisting (GH #1485) * Added Redis library (GH #1383) * Added Zip64 support to Zip library (GH #1356) * Upgraded bundled SQLite to 3.21.0 * Removed OpenVMS support (GH #1988) * fixed GH #271: NamedMutex_UNIX.cpp must remove semid * fixed GH #739: Add WebSocket::receiveFrame() that appends to a Poco::Buffer * fixed GH #749: NTP Packet impl not according to RFC958 * fixed GH #896: Sample "TwitterClient" of NetSSL_OpenSSL can't be build. * fixed GH #1172: Poco::Data default storage should be std::vector * fixed GH #1337: Poco::HTMLForm throws exception HTMLFormException("Form must be prepared") even after form is prepared. * fixed GH #1373: SessionImpl::close() does not check return code of close handle specific function * fixed GH #1425: Workaround bug in SolarisStudio 12.4 on RVO-ed objects. * fixed GH #1614: Problematic license for JSON component: the previously used JSON.org parser has been replaced with pdjson. * fixed GH #1659: wrong field size calculation in ODBC code. * fixed GH #1683: Poco::Data ODBC impl doesn't bind to unsigned numeric types properly * fixed GH #1705: MongoDB: support URI in Connection * fixed GH #1708: "SocketReactor::addEventHandler" and "SocketReactor::removeEventHandler" must protect the access to "NotifierPtr pNotifier" * fixed GH #1729: getConnectionTimeout of SQLite DB wrapper returns wrong value (in milliseconds, should be in seconds) * fixed GH #1739: OpenSSLInitializer isn't threadsafe * fixed GH #1750: double_conversion in NumericString is in conflict with Qt5 Core. * fixed GH #1804 and GH #1805: Integer Overflow or Wraparound * fixed GH #1828: DeflatingStreamBuf::sync() should also flush underlying stream. * fixed GH #1880: FTPClientSession::close() error * fixed GH #1897: DateTime wrong binding/extraction for MySQL database. * fixed GH #1905: Compiling Foundation library with POCO_NO_FPENVIRONMENT in Config.h fails. * fixed GH #1906: Race condition in ThreadPool * fixed GH #1913: Message Doesn't Support 64-bit Thread IDs * fixed GH #1921: ICMPSocket does not check reply address * fixed GH #1926: Exception when using SortedDirectoryIterator * fixed GH #1934: File::setExecutable() on POSIX should set executable bit for group and other if corresponding readable bit is set * fixed GH #1950: Net Exception: Address family not supported with clang * fixed GH #1964: Buffer<> swap miss ownMem * Fri Nov 10 2017 mardnh@gmx.de - Update to version 1.7.9p2 - fixed GH #1628: Export Poco::Zip::ZipUtil class * Tue Nov 7 2017 mardnh@gmx.de - Update to version 1.7.9p1 - fixed GH# 1968: Zip Decompress Parent Path Injection * Wed Oct 11 2017 jayvdb@gmail.com - Add minimum versions cmake >= 2.8.12 and pkgconfig(sqlite3) >= 3.7 to prevent broken builds against other distributions. - Use virtual package dependency mysql-devel to support all distributions * Sun Oct 1 2017 mardnh@gmx.de - Update to version 1.7.9 - fixed GH #1813: xmlparse.cpp doesn't compile in WinCE (poco 1.7.8p3) - fixed GH #1826: XPath query error - fixed GH #1834: Visual Studio 2008 cannot find stdint.h - fixed GH #1842: Upgrade bundled expat to 2.2.3 - fixed GH #1843: Use random salt for Poco::XML::NamePool - fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe - improved/fixed QNX support - Poco::Util::LayeredConfiguration: added support for labelling configurations and finding them by their label - upgraded bundled SQLite to 3.20.1 - PageCompiler: support <%%@ include file="" %%> syntax for includes, in addition to <%%@ include page="" %%> - PageCompiler: optimize generated request handler code by removing useless statements, e.g. writing empty strings. - added POCO_DEPRECATED macro which will be used in the future to deprecate classes and methods. - Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing between different users. Furthermore, ftok() is called with 'p' as project ID argument. * Thu Jun 22 2017 mardnh@gmx.de - Update to version 1.7.8p3 - fixed GH #1760: Upgrade bundled expat to 2.2.1 which fixes some vulnerabilities: http://seclists.org/oss-sec/2017/q2/499 * Sun Jun 4 2017 mardnh@gmx.de - Add libexpat-devel and pcre-devel as requirement for poco-devel * Sun Jun 4 2017 tchvatal@suse.com - Add testsuite - off by default, 4 tests fail - Format with spec-cleaner * Sat Jun 3 2017 tchvatal@suse.com - Switch to cmake build system - Add patch to respect libdir: * poco-respect-libdir-cmake.patch - Remove patches for the hand written configure/make: * poco-disable_rpath.patch * poco-poco_libdir.patch - Do not rename gz archive to xz * Sun Apr 30 2017 jengelh@inai.de - Trim some empty phrases from description - Use better find -exec with "+" * Thu Apr 20 2017 mardnh@gmx.de - update to 1.7.8p2 (see https://github.com/pocoproject/poco/blob/poco-1.7.8p2-release/CHANGELOG for details) - Rename %%soname to %%sover to better reflect its use * Sat Mar 11 2017 vmiklos@collabora.co.uk - update to 1.7.8 (see https://github.com/pocoproject/poco/blob/poco-1.7.8-release/CHANGELOG for details) * Fri Feb 3 2017 vmiklos@collabora.co.uk - update to 1.7.7 (see https://github.com/pocoproject/poco/blob/poco-1.7.7-release/CHANGELOG for details) * Sun Sep 25 2016 andras.timar@collabora.com - update to 1.7.5 (see https://github.com/pocoproject/poco/blob/poco-1.7.5-release/CHANGELOG for details) * Mon Mar 21 2016 vmiklos@collabora.co.uk - update to 1.7.2 (see https://github.com/pocoproject/poco/blob/poco-1.7.2-release/CHANGELOG for details) * Sun Jan 25 2015 bjoern@schramke-online.de - update to 1.6.0 (see https://github.com/pocoproject/poco/blob/poco-1.6.0-release/CHANGELOG for details) * Sat Oct 11 2014 bjoern@schramke-online.de - adjusted build dependencies to facilitate building for non-SUSE distributions * Thu Sep 25 2014 bjoern@schramke-online.de - update to 1.4.6.p4 (see https://github.com/pocoproject/poco/blob/poco-1.4.6p4-release/CHANGELOG for details) * Thu Mar 7 2013 adam@mizerski.pl - update to 1.4.6.p1 (see CHANGELOG or https://raw.github.com/pocoproject/poco/poco-1.4.6/CHANGELOG for details) - disabled "unbundled" build because of https://github.com/pocoproject/poco/issues/120 - Corrected License boost license is BSL-1.0 - added --no-tests --no-samples to configure options - added all Poco libraries as poco-devel requirements * Fri Apr 20 2012 joop.boonen@opensuse.org - Build version 1.4.3p1 - Passed the specfile through spec-cleaner - Corrected License boost license is BSD-3-Clause - Have to use make -j1 in stead of make %%{?_smp_mflags} due to memory usage * Sun Jan 29 2012 jengelh@medozas.de - Remove redundant tags/sections per specfile guideline suggestions - Parallel building using %%_smp_mflags * Mon Sep 20 2010 pascal.bleser@opensuse.org - initial package: 1.3.6p2