Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Fix percent-encoded fragment modification in Poco::URI Before this commit using Poco::URI class to parse specific URIs that had percent-encoded fragment identifier resulted in the loss of information concerning the way the fragment identifier was encoded. There could be the cases when the result of Poco::URI object serialization to string did not match the original URI string Poco::URI object was created from. In this commit we change the internal logic of fragment processing in Poco::URI, so that the fragment is stored inside the class in raw form (the same way as query string). The methods getFragment and setFragment work the old way (with percent-decoded fragment values), new methods getRawFragment and setRawFragment are added to get access to the original fragment representation. * Remove SDK version from VS2022 test projects (#3607) * Remaining changes for Windows on ARM64 support (#3608) * Add ARM64 to Foundation * Changed lib, and bin folders of ARM64 builds * Updated buildwin.cmd * Added missing closing </File> tags (#3610) * feat(Platform): LoongArch support #3460 * fix(PollSet): default enable epoll on linux * default disable new state on move * fix(UDPHandler): data race #3613; clean up all Net tsan warnings * ProGen vs170 projects with Win32,x64,ARM64 (#3612) * fix(TCPServer): #1884 #1965 * fix(LogFile): LogFile_STD (LogFileImpl) fails to recover from getting out of space #2084 * Avoid clang 10 -Wimplicit-int-float-conversion warning/error when converting int into float (#2943) Example of warning (error when using -Werror) we get with clang 10: /remote/intdeliv/components/osp/Poco/Foundation/19-0-0-6/include/Poco/Dynamic/VarHolder.h:444:14: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 [-Werror,-Wimplicit-int-float-conversion] if (from > std::numeric_limits<T>::max()) ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /remote/intdeliv/components/osp/Poco/Foundation/19-0-0-6/include/Poco/Dynamic/VarHolder.h:332:4: note: in instantiation of function template specialization 'Poco::Dynamic::VarHolder::checkUpperLimitFloat<float, int>' requested here checkUpperLimitFloat<F,T>(from); ^ /remote/intdeliv/components/osp/Poco/Foundation/19-0-0-6/include/Poco/Dynamic/VarHolder.h:2175:3: note: in instantiation of function template specialization 'Poco::Dynamic::VarHolder::convertToSmaller<float, int>' requested here convertToSmaller(_val, val); ^ * chore(ci): run ci on pull requests * #2569: Added TIMESTAMP data type support on MySQL (#3471) * Unit test for TIMESTAMP data type in MySQL. * Added support for TIMESTAMP data type. Co-authored-by: Hector Toledo Soto <[email protected]> * MongoDB::Array: int --> size_t in get for consistency with size(), new helper functions to add elements to an array. (#3016) * fix(CppUnit): enable_if disarm numeric notEqualsMessage * fix(CppUnit): CppUnit notEqualsMessage causing compile errors #3615 * Syslog: Include Facility to Syslog Message (#3452) * Fixed indentation * Added Facility to Message in RemoteSyslogListener * Net: make MessageHeader limits configurable (#3404) * Add Message::getAll (#3104) * chore(Message): fix formatting for #3104 * Output to stderr in Poco::WindowsConsoleChannel (#3058) - Fixes #3056 * HTTPDigestCredentials added support for RFC7616 algorithms (#3026) * chore(SHA2Engine): fix formatting for #3026 * Added support for SQLite transaction types using Session property (#3018) * chore(SQLite): fix enum names case for #3018 * fix(HTTPResponse): Add 425 / HTTP_TOO_EARLY to HTTPResponse::HTTPStatus #3592 * fix(SQLite): windows build (global var does not link) #3018 * Added missing SocketProactor class to ProGen source (#3616) * Added missing SocketProactor class to ProGen source * ProGen'd VS2022 Net project * chore(Net): regenerate VS 140,150,160 projects #3614 * Handle MariaDB JSON columns since they are stored as `longtext` (#3621) * Also extract BLOBs when reading longtext columns as std::string * Fix error message in unit test * Added unit test to read longtext columns as std::string * Use `tx_isolation` when connected to MariaDB regardless of version (#3622) * Use `tx_isolation` when connected to MariaDB regardless of version * Rename variable * Handle MariaDB server info in the middle of the string * Updated to PCRE version 8.45 (#3623) * Add missing changes from zlib update * Updated to PCRE version 8.45 Build on Win32 and Linux, RegularExpressionTest was successful * Fix/tsan (#3617) * fix(Foundation): tsan warnings fixes * fix(Thread_POSIX): tsan warnings fixes; add tsan.suppress * fix(Util): tsan fixes * fix(netSSL_OpenSSL): tsan fixes * fix(Data): tsan warnings fixes * feat(ci): add tsan job * feat(ci): add tsan job, another attempt * feat(ci): add tsan job, 3rd attempt * fix(Foundation): tsan warnings fixes * fix(Thread_POSIX): tsan warnings fixes; add tsan.suppress * fix(Util): tsan fixes * fix(netSSL_OpenSSL): tsan fixes * fix(Data): tsan warnings fixes * feat(ci): add tsan job * feat(ci): add tsan job, another attempt * feat(ci): add tsan job, 3rd attempt * fix(ResultMetadata): memory leak #3474 * feat(ci): disable ActiveDispatcher tests for tsan runs * feat(ci): try to fix tsan options file detection (again) * chore(TestLibrary: correct spelling * fix(ci): fix tsan run; add -y to apt; disable samples build for some jobs * fix(ci): add mysql ports * feat(ci): add VS asan * feat(double-conversion): Upgrade double-conversion to v3.2.0 #3624 * chore(asan): disable msvc asan build (dll not found) * chore(double-conversion): move NumericString.h before double-conversion includes to prevent min/max collision; reinstate lost loongarch64 * chore(JSON): sync pdjson with upstream * fix(Statement): Poco::Data::Statement becomes unusable after exception #2287 * added facility to SyslogChannel (#3453) * TCPServerDispatcher.h: missing <atomic> (#2961) Fixes: b8af168 Fixes: #1965 * Windows embedded OpenSSL: Fixed bogus warning during compilation (External OpenSSL defined but internal headers used - possible mismatch!) (#3627) * fix(double-conversion): nios2 and riscv defines * fix(double-conversion): riscv defines * fix(cmake): TestLibrary debug postfix * fix(cmake): add WebNotifier to samples #3184 * doc(Crypto): Fix error in find_package example #3088 * fix(Event): Event data race #3629 * fix(AsyncChannel): race condition in AsyncChannel close/log #1039 * fix(Zip): Zip 64-bit extensions not set #2590 (tentative) (#3604) * PocoDoc: fix handling of font-style tags if tag is immediately followed by punctuation * Static code analyzer warnings #2688 * MinGW: fatal error: kernelspecs.h: No such file #2691 * Poco::Data::SessionPool change connection timeout #3241 * Makefile: space(s) following target name will break build (during link) #3062 * json format PrintHandler #2678 * indicate compiler that functions will never return (#3639) * fix warning C4717: 'format<std::vector<std::any,std::allocatorstd::an… (#3640) * fix warning C4717: 'format<std::vector<std::any,std::allocatorstd::any > >': recursive on all control paths, function will cause runtime stack overflow * keep origin format. * fix(format): scope * fix(Crypto): libPocoCrypto.so: undefined reference to pthread_atfork when linking statically with OpenSSL 1.1 #3073 * chore(LocalConfigurationView): fix style #3529 * fix(ConfigurationView): ConfigurationView and JSON is broken for array access #3635 * FifoBuffer.advance method not throw exception when length==0 (#3641) * fifobuffer not throw error when length = 0 * Update FIFOBuffer.h fix indentation Co-authored-by: Aleksandar Fabijanic <[email protected]> * fix(URI): Decoding URI query parameters ( ::getQueryParameters) incompatible with Spring 5 #2619 * fix(NTPClient): NTPClient ignores second fractions #2614 * chore(JSON): add test for #2612 * fix(Platform): MinGW also defines __GNUC__. #3195 * Fix some clang 10 -Wsign-compare warnings (#2960) In file included from /data/mwrep/res/osp/Poco/JSON/20-0-0-0/include/Poco/JSON/Object.h:22: In file included from /data/mwrep/res/osp/Poco/JSON/20-0-0-0/include/Poco/JSON/Array.h:23: In file included from /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/Dynamic/Var.h:26: In file included from /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/Dynamic/VarHolder.h:22: In file included from /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumberFormatter.h:22: /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumericString.h:220:31: error: comparison of integers of different signs: 'unsigned long' and 'char' [-Werror,-Wsign-compare] if ((limitCheck - result) < add) return false; ~~~~~~~~~~~~~~~~~~~ ^ ~~~ /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumericString.h:229:31: error: comparison of integers of different signs: 'unsigned long' and 'char' [-Werror,-Wsign-compare] if ((limitCheck - result) < add) return false; ~~~~~~~~~~~~~~~~~~~ ^ ~~~ /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumericString.h:240:31: error: comparison of integers of different signs: 'unsigned long' and 'char' [-Werror,-Wsign-compare] if ((limitCheck - result) < add) return false; ~~~~~~~~~~~~~~~~~~~ ^ ~~~ /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumericString.h:249:31: error: comparison of integers of different signs: 'unsigned long' and 'char' [-Werror,-Wsign-compare] if ((limitCheck - result) < add) return false; ~~~~~~~~~~~~~~~~~~~ ^ ~~~ 4 errors generated. * chore(README): Add vcpkg installation instructions #2940 * fix(SQLite): SQLite::Connector::open() crashes on db file with non existing directory #2285 * fix(MailMessage): read hangs on missing final multipart boundary #2401 * fix(NumberParser): Rounds very large negative numbers to the incorrect values #3580 * fix(JSON::Stringifier): JSON Serializing NAN #3251 * feat(Timespan): Add std::chrono support #2576 #2623 * fix(strToInt): overflows #3580 * fix(strToInt): thousand separator regression #3580 * fix(MySQL::Extractor): MySQL Extractor #2521 * feat(FTPClientSession): activeDataConnection 1.11.0 cannot set specific data port #3372 * feat(Cipher): No access to padding in Cipher #3374 * feat(TypeHandler): DB into() does not compile for more than 20 members in a tuple #3342 * fix(NumberFormatter): Negative precision in NumberFormatter::format() #2511 * Make ParallelSocketReactor thread namable (#3642) make ParallelSocketReactor thread namable * fix(Redis): Poco::Redis after executing auth command next command always return OK #2457 * chore(NumberParserTest): add test for #2441 * avoid clang tidy warning (#3646) * Revert "avoid clang tidy warning (#3646)" (#3648) This reverts commit b23488d. * fix(VarHolder): limits check * As of C++11, std::swap is noexcept. #2386 (#3645) * As of C++11, std::swap is noexcept. #2386 * fix(Any): remove throw on swap * fix(Any): As of C++11, std::swap is noexcept. #2386 * fix(Any): make size const #2386 * fix(SimpleRowFormatter): clang won't compile noexcept #2386 * a couple of arm fixes * fix(Any): As of C++11, std::swap is noexcept. #2386 * fix(AnyTest): local() for POCO_NO_SOO# 2386 * test(RSACipher): RSA encryption without private key #2367 * chore(RSACipherTest): delete ciphers #2367 * add separate accessors and mutators for connect, send and receive tim… (#3476) * add separate accessors and mutators for connect, send and receive timeouts * implement timeout methods outside of class declaration to conform to existing code structure * Update HTTPSession.h Co-authored-by: bfoster <[email protected]> Co-authored-by: Aleksandar Fabijanic <[email protected]> * Make poll set interruptable (#3644) * Make poll set interruptable * open test for poll set * fix poll set wake up test * fix build error * feat(SecureSocketImpl): how to set the socket of SecureSocketImpl to no-blocking? #2352 * better socket reactor wake up (#3647) * better socket reactor wake up * Remove documentation comment from source file Co-authored-by: Aleksandar Fabijanic <[email protected]> * test(MailMesage): MailMessage::read() chokes on Content-disposition #3650 * chore(Net/samples): tcpserver missing from Net/samples/CMakeLists.txt #3651 * fix(CMake): Linking with Foundation on Android gives error #3652 #3653 * #2821: Poco::Buffer: full on creation? - add documentation describing the behavior. * add note regarding receiveFrame with Poco::Buffer * merge changes from 1.11.3 * #3633: Redis: Support Authentication * #3658: Support for chunked transfer encoding trailer * formatHex with lower case (#3657) * feat(Socket): add lastErrorDesc() * fix(Socket): Socket::select EPOLL implementation returns socket in exceptList when empty list is given #3655; mark select as deprecated #1459 * Fix/poll set race (#3630) * fix(PollSet): PollSet data race #3628 * fix(SocketConnector): SocketConnector test #2875 * fix(PollSet): optimize the amount of locked code; fix and simplify wakeUp logic * fix(SocketConnectorTest): fix test memleak (data not flowing, handlers not deleted) #2875 * fix(PollSet): clear() and tests * fix(PollSet): #1459 #3628 #3655 #3661 * fix(PollSet): Integrate windows epoll #2091, #3649 * chore(ProGen): MSVC does not properly recognize std version #3665 * fix(PollSet): eventfd call arg; add wepoll to CMakelists.txt * fix(PollSet): CMakelists.txt * fix(cmake): MSVC does not properly recognize std version #3665 * chore(vscode): add mac config * fix(PollSet): PollSet::add()/update() semantics #3661 * Feat/pcre2 (#3663) * upgrade to pcre2 * use pcre2_*_8 names * fix pcre2 lib name for unbundled build * CMake changes for PCRE2 * add missing macro for unbundled build * add PCRE2_STATIC * updated VS project files for pcre2 Co-authored-by: Günter Obiltschnig <[email protected]> * Revert "formatHex with lower case (#3657)" (#3670) This reverts commit b1823b6. * Always set thread names on POSIX platforms (#3384) * chore: gitignore vim .swp files * feat(POSIX): Always set thread names. I'm not sure about the original intent to hide it under a DEBUG macro. Naming the threads in release mode makes it easier to see runtime application and know which thread pool uses how many threads and what their names are. Firefox, Chromium and many other apps do this on Linux. * Remove trailing whitespace (#3668) * doc: update CHANGLEOG Co-authored-by: Daniil Zotkin <[email protected]> Co-authored-by: Hernan Martinez <[email protected]> Co-authored-by: Romain Geissler @ Amadeus <[email protected]> Co-authored-by: hectots <[email protected]> Co-authored-by: Hector Toledo Soto <[email protected]> Co-authored-by: Matej Kenda <[email protected]> Co-authored-by: BeBinder <[email protected]> Co-authored-by: Tavi Cacina <[email protected]> Co-authored-by: Mathieu Stefani <[email protected]> Co-authored-by: Fritz Elfert <[email protected]> Co-authored-by: Maksim Kita <[email protected]> Co-authored-by: Spaky <[email protected]> Co-authored-by: Azat Khuzhin <[email protected]> Co-authored-by: Matej Kenda <[email protected]> Co-authored-by: Günter Obiltschnig <[email protected]> Co-authored-by: Guillermo Frontera <[email protected]> Co-authored-by: junwufan <[email protected]> Co-authored-by: JackyWoo <[email protected]> Co-authored-by: Ben Foster <[email protected]> Co-authored-by: bfoster <[email protected]> Co-authored-by: Arun Chandrasekaran <[email protected]> Co-authored-by: John Vandenberg <[email protected]>
- Loading branch information