* Remove _WIN32_WCE macro
Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.
* Remove WinCE support from build files
Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. Remove all
references from build systems / scripts.
* Remove Windows CE related source and header files
Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.
* Remove wcelibcex folder
Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.
* Remove rest Windows CE mentions
There where some Windows CE mentions left. Remove those.
* Update Windows CE documentation
We should keep documentation some time so people can find reason for
remove.
---------
Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
Poco now use C++17. We can take some old code away because of that. We
also raise requiments for C++17 so everything works as excpected with
it.
Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
* GH #569: Cherry pick and correct code from devel-experimental.
* GH #569: Add missing timezone codes.
* enh(Foundation): DateTimeParser: stricter checks of timezones, more tests for invalid inputs. (#569)
* enh(Foundation): Small fixes of issues detected by CodeQL
---------
Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
* add sendfile method for streamsocket
* add mswsock.lib to the project files and templates
* remove /DPOCO_NO_AUTOMATIC_LIBS for cmake windows build
* merge from upstream
* merge from upstream
* fix code stile
add NotImplemented exception for unsupported platforms
exculude <sys/sendfile.h> for POCO_EMSCRIPTEN, because https://
github.com/emscripten-core/emscripten/pull/16234
* add iostream include for std::cout
* fix compilation for emscripten (wrap sendfile)
* Merge remote-tracking branch 'jackywoo/add_self_to_path' into 2282-path-self
* fix(Foundation): minor code cleanup. #2282
* enh(Foundation): Windows unit test for Path::self and exception for non-implemented platform.
* fix(Foundation): Path::self() throws SystemException when the path can't be acquired. #2282
Co-developed-by: Jackie Woo <wuchienchao@qq.com>
Co-developed-by: Matej Kenda <matejken@gmail.com>
* Made it possible to use lowercase hex numbers, also when encoding JSON (#3102)
Co-authored-by: Thomas Weyn <Thomas.Weyn@cebir.be>
* fix(JSONString): Remove deprecated toJSON functions #4305
* fix(NumericString): conversions inconsistencies #4304
---------
Co-authored-by: Archipel <thomas@weynwebworks.com>
Co-authored-by: Thomas Weyn <Thomas.Weyn@cebir.be>
Common knowledge in reference counting is "on assignment increment first
then decrement", because "just to be deleted" object could hold last
reference to "just to be assigned" one.
Fixes#3979
SplitterChannel::addChannel() should only add a channel once to the internal vector. This prevents issues where the channel is accidentally added twice but only removed once because removeChannel stops at the first result. (#4270)
* add visitor pattern implementation for Poco::Dynamic::Var
* add changes to Makefile and vcxproj for VarVisitor
* resolve review comments Poco::Dynamic::Var
---------
Co-authored-by: Alexander B <bas524@ya.ru>
* fix(SQLParser): use Data_API if available
* fix(ProGen): wrong AdditionalOptions separator #4259
* fix(SQLParser): add default export define when embedded
* feat(ci): run pull request runs only on pull request open #4205
* feat(ci): add retry action for tsan #4205
* feat(ci): use local action for retrying tsan #4205
* fix(ci): use correct version of retry action #4205
* fix: make POSIX event thread safe
* feat(ci): add info on retry action to ci.yml header #4205
* feat(ci): add linux mysql test #4205
* feat(ci): remove unused mysql containers from tests#4205
* feat(ci): add linux postgre test #4205
* feat(ci): add linux redis test #4205
* feat(ci): add linux mongodb tests #4205
* feat(ci): add mysql odbc test #4205
* chore(ci): rename tests #4205
* chore(ci): pin postgres and mysql versions #4205
* feat(ci): add odbc postgres tests #4205
* chore(ci): mysql odbc comment #4205
* chore(ci): disable windows 2019 job #4205
* feat(ci): add linux oracle tests #4205
* chore(ci): disable oracle tests #4205
* feat(ci): add sql server tests #4205
* chore(ci): disable postgres tests #4205
* chore(ci): add logging for task test #4205
* feat(ci): add local retry action #4205
* feat(ci): ignore process kill failure in action #4205
* feat(ci): send SIGKILL instead of SIGTERM in action #4205
* chore(ci): add updated action #4205
* chore(ci): reduce tsan timeout #4205
* feat(ci): kill process without children #4205
* feat(ci): send SIGTERM to child in action #4205
* feat(ci): prolong tsan timeout #4205
* chore(ci): add missing newlines #4205
* fix(ci): revert sql server test FreeTDS version #4205
* feat(ci): add retry to all jobs #4205
* feat(ci): setup python for codeQL #4205
* chore(ci): disable throwing on codeql error #4205
* fix(Net): Add Unix socket support on windows #4208
* feat(Net): add abstract local socket support #4208
* fix(PollSet): use localhost socket in PollSet on windows when available #4208
* fix(PollSetTest): comment checking unconnected sockets status (Linux epoll signals them as readable/writable)
* Fix pthread_setname not declared #4063
* Fix include prctl.h for specific OS #4063
* Fix getThreadName for specific OS #4063
---------
Co-authored-by: root <root@debian-gnu-linux-11.localdomain>
Co-authored-by: Pavle <pavle@debian-gnu-linux-11.localdomain>
/data/mwrep/res/osp/Poco/Foundation/23-0-0-0/include/Poco/Dynamic/VarHolder.h: In instantiation of 'void Poco::Dynamic::VarHolder::checkUpperLimit(const F&) const [with F = signed char; T = unsigned int; typename std::enable_if<std::is_integral<_Tp>::value, bool>::type <anonymous> = true]':
/data/mwrep/res/osp/Poco/Foundation/23-0-0-0/include/Poco/Dynamic/VarHolder.h:361:23: required from 'void Poco::Dynamic::VarHolder::convertSignedToUnsigned(const F&, T&) const [with F = signed char; T = unsigned int]'
/data/mwrep/res/osp/Poco/Foundation/23-0-0-0/include/Poco/Dynamic/VarHolder.h:799:26: required from here
/data/mwrep/res/osp/Poco/Foundation/23-0-0-0/include/Poco/Dynamic/VarHolder.h:405:26: error: comparison of integer expressions of different signedness: 'const signed char' and 'unsigned int' [-Werror=sign-compare]
405 | if (from > std::numeric_limits<T>::max())
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Instead, replace it with std::max_align_t in the Any implementation, as
really we would like to be able to store any object with any alignment
in the small object optimization case. Typically the size and alignment
of std::max_align_t is 8 or 16 on most platforms. Added a static assert
to ensure that this change doesn't result in wasting more unused memory
in case the size of the storage buffer is smaller than this maximum
alignment (which is right now 64, so shall be ok on all platforms).
* Complimentary to #3918
I think that we can use Poco::Mutex and Poco::FastMutex as wrappers for std::recursive_mutex and std::mutex instead of replacing
For using std::*mutexes switch on cmake-option POCO_ENABLE_STD_MUTEX
* add define POCO_ENABLE_STD_MUTEX to the Config.h
remove empty if-else from CMakeLists.txt
Consider following situation. A class owns a timer. In destructor of that class we call .cancel() asynchronous on timer before it's destruction.
Now timer is executing cancel in it's own internal thread, while it's doing that destructor of timer is called from owner's destructor. Timer destructor enqueues stop notification. If that enqueue is happening just after while loop from cancel notification, stop notification is gonna be dropped and timer will never stop.
Fix: Add new method in TimedNotificationQueue which will return a notification regardless of the time it needs to be executed.
Get number of pending tasks in the queue. Flush out that many notifications from queue while taking special consideration of pending Stop and Cancel notifications.
Add test for new method in TimedNotificationQueue and fix cancel all tests to actually check if notification got executed.
fixes#3986
* Binary writer/reader: add writeCString and readCString.
* MongoDB::Database: add queryBuildInfo and queryServerHello; add WireVersion enum.
* MongoDB: Introduce OpMsgMessage (request and reply) and related changes in Connection, Database, MessageHeader.
* MongoDB: First unit test changes for OpMsgMessage.
* MongoDB::Document: new functions addNewArray and remove.
* MongoDB: OP_MSG unacknowledged write and many improvements
* MongoDB: new cursor using OP_MSG
* MongoDB: bunch of new tests for OP_MSG wire protocol.
* BinaryWriter::WriteCString: use write instead of operator <<.
* MongoDB::OpMsgCursor: Slightly modified prototype code for using moreToCome flag.
* MongoDB: Add OpMsg* files to Makefiles.
* MongoDB: Add OpMsg* files to VS project files.
* Compile fixes.
* MongoDB::Database: Add factory function for database commands createOpMsgMessage() and cursors createOpMsgCursor()
* Improve implementation of logging macros. #2331
The GNU compiler emits a warning if nested "if" statements are followed by
an "else" statement and braces are not used to explicitly disambiguate the
"else" binding. This leads to problems with code like:
if (gate)
ASSERT_*(condition) << "Some message";
The "switch (0) case 0:" idiom is used to suppress this.
* I was wrong.
do-while better then switch-case approach for "ambiguous else blocker"
https://godbolt.org/z/W5nnYrzx6
* try to fix tabs
* again fix tabs
* again fix tabs
* again fix tabs
* try fix compilation for solaris
* this commit for issue #3843 and #3643
changes in Types.h allow ignore problem with declaration of std::int8_t. int8_t can be defined as char or signed char. IMHO we need strong types for Poco::Int's
Envelop.cpp contains initializer for EVP_CIPHER_CTX_init, because this function prototype depends on openssl version.
Application.cpp contains includes especial for SOLARIS, for ioctl support
ClassLoaderTest.cpp and SharedLibraryTest.cpp contains changes because loadlibrary(dlopen) doesn't load library from current directory by default
LocalDateTimeTest.cpp contains changes because SOLARIS use std::tm without tm_gmtoff
* fix : define of SOLARIOS OS in LocalDateTimeTest
* remove unnecessary wrapper
* fix output dir for windows build with multi-config build
* try to fix bug with unixodbc version in linux-builds
[read here](https://github.com/microsoft/linux-package-repositories/issues/36)
* try to fix bug with unixodbc version in linux-builds
[read here](https://github.com/microsoft/linux-package-repositories/issues/36)
* fix : warning in main cmake for if-condition for multi-config build
fix : error for linux-gcc-make-cxx20, use --allow-downgrades for unixodbc
* fix : warning for cmake windows builds
revert changes for linux-gcc-make-cxx20
* revert ci.yml, remove unixodbc version
* try re-run build
---------
Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
There was 1 failure:
1: N7CppUnit10TestCallerI7VarTestEE.testDynamicStructEmptyString
"expected: "{ "Empty": "", "Space": }" but was: "{ "Empty": "", "Space": " " }""
in "src/VarTest.cpp", line 2294
It's happen because in test we call aStruct.toString(false).
It's mean that we don't expect wrapping, but expected result was written with wrapping
* updated README.md
* Create close-inactive-issues.yml
* PocoDoc: fix iframe sandboxing
* create poco-1.11.3 branch, bump version
* update copyright date
* #3567: check legacy provider existence for legacy exception #3567
* fix(OpenSSLInitializer): unload provider on uninitialize (#3567)
* fix(OpenSSLInitializer): fix provider unloading (#3567)
* fix(OpenSSLInitializer): revert unload provider on uninitialize (#3567)
* fix(MySQL): MySQL UUID binding temporary string #3587
* update CI link in README.md
* #3632: add overloads to ctor and connect() to allow passing a Poco::Net::StreamSocket/Poco::Net::SecureStreamSocket to enable TLS connections without introduding a direct dependency to NetSSL.
* updated changelog
* devel-release-1.12.0 (#3673)
* 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 <hsoto@transperfect.com>
* 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: b8af168151fe0147fb06557029002ae226dcc549
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 <aleks-f@users.noreply.github.com>
* 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 b23488d6fe.
* 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 <bfoster@malwarebytes.com>
Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
* 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 <aleks-f@users.noreply.github.com>
* 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 <guenter.obiltschnig@appinf.com>
* Revert "formatHex with lower case (#3657)" (#3670)
This reverts commit b1823b61c0.
* 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 <zotkin@rutoken.ru>
Co-authored-by: Hernan Martinez <hernan.c.martinez@gmail.com>
Co-authored-by: Romain Geissler @ Amadeus <romain.geissler@amadeus.com>
Co-authored-by: hectots <monkey.instinct@gmail.com>
Co-authored-by: Hector Toledo Soto <hsoto@transperfect.com>
Co-authored-by: Matej Kenda <matejken@gmail.com>
Co-authored-by: BeBinder <93721965+BeBinder@users.noreply.github.com>
Co-authored-by: Tavi Cacina <tavi-cacina@users.noreply.github.com>
Co-authored-by: Mathieu Stefani <m.stefani@abc-arbitrage.com>
Co-authored-by: Fritz Elfert <fritz@fritz-elfert.de>
Co-authored-by: Maksim Kita <kitaetoya@gmail.com>
Co-authored-by: Spaky <Spaky@users.noreply.github.com>
Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com>
Co-authored-by: Matej Kenda <matej.kenda@topit.si>
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Guillermo Frontera <gfrontera86@gmail.com>
Co-authored-by: junwufan <shelllet.com@gmail.com>
Co-authored-by: JackyWoo <wuchienchao@qq.com>
Co-authored-by: Ben Foster <bfoster7593@gmail.com>
Co-authored-by: bfoster <bfoster@malwarebytes.com>
Co-authored-by: Arun Chandrasekaran <arun@paravision.ai>
Co-authored-by: John Vandenberg <jayvdb@gmail.com>
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Daniil Zotkin <zotkin@rutoken.ru>
Co-authored-by: Hernan Martinez <hernan.c.martinez@gmail.com>
Co-authored-by: Romain Geissler @ Amadeus <romain.geissler@amadeus.com>
Co-authored-by: hectots <monkey.instinct@gmail.com>
Co-authored-by: Hector Toledo Soto <hsoto@transperfect.com>
Co-authored-by: Matej Kenda <matejken@gmail.com>
Co-authored-by: BeBinder <93721965+BeBinder@users.noreply.github.com>
Co-authored-by: Tavi Cacina <tavi-cacina@users.noreply.github.com>
Co-authored-by: Mathieu Stefani <m.stefani@abc-arbitrage.com>
Co-authored-by: Fritz Elfert <fritz@fritz-elfert.de>
Co-authored-by: Maksim Kita <kitaetoya@gmail.com>
Co-authored-by: Spaky <Spaky@users.noreply.github.com>
Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com>
Co-authored-by: Matej Kenda <matej.kenda@topit.si>
Co-authored-by: Guillermo Frontera <gfrontera86@gmail.com>
Co-authored-by: junwufan <shelllet.com@gmail.com>
Co-authored-by: JackyWoo <wuchienchao@qq.com>
Co-authored-by: Ben Foster <bfoster7593@gmail.com>
Co-authored-by: bfoster <bfoster@malwarebytes.com>
Co-authored-by: Arun Chandrasekaran <arun@paravision.ai>
Co-authored-by: John Vandenberg <jayvdb@gmail.com>
* 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.
* 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
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.
* 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.
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);
^