Commit Graph

855 Commits

Author SHA1 Message Date
Alex Fabijanic
7989d961d6 feat(SocketReactor): post ErrorNotification on exception #3702 2022-07-20 13:47:03 +02:00
Alex Fabijanic
652f79319c fix(SocketReactor): Remove not useful handlers calls #3701 2022-07-20 12:31:26 +02:00
John Vandenberg
0e6e16645c
Remove trailing whitespace (#3668) 2022-07-07 04:18:20 -05:00
Alex Fabijanic
dd0aaa984d fix(PollSet): PollSet::add()/update() semantics #3661 2022-07-06 14:00:02 +02:00
Alex Fabijanic
adec31e6a8 fix(PollSet): CMakelists.txt 2022-07-06 12:04:05 +02:00
Alex Fabijanic
dd16ab04e7 fix(PollSet): eventfd call arg; add wepoll to CMakelists.txt 2022-07-06 11:58:29 +02:00
Alex Fabijanic
a1b21d2a0d chore(ProGen): MSVC does not properly recognize std version #3665 2022-07-06 11:39:47 +02:00
Alex Fabijanic
31a49c0af2 fix(PollSet): Integrate windows epoll #2091, #3649 2022-07-06 11:36:16 +02:00
Alex Fabijanic
81696487a0 fix(PollSet): #1459 #3628 #3655 #3661 2022-07-05 20:49:46 +02:00
Aleksandar Fabijanic
840044f69b
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
2022-07-05 03:43:19 -05:00
Alex Fabijanic
93e58b4468 fix(Socket): Socket::select EPOLL implementation returns socket in exceptList when empty list is given #3655; mark select as deprecated #1459 2022-07-04 22:38:51 +02:00
Alex Fabijanic
672d64bfc5 feat(Socket): add lastErrorDesc() 2022-07-04 22:22:05 +02:00
Günter Obiltschnig
3e4a286c9d #3658: Support for chunked transfer encoding trailer 2022-07-04 17:49:52 +02:00
Günter Obiltschnig
06718f49c1 add note regarding receiveFrame with Poco::Buffer 2022-07-03 16:02:45 +02:00
Alex Fabijanic
076cddb465 Merge branch 'devel' of https://github.com/pocoproject/poco into devel 2022-06-29 19:57:03 +02:00
Alex Fabijanic
b3337ac137 chore(Net/samples): tcpserver missing from Net/samples/CMakeLists.txt #3651 2022-06-29 19:56:48 +02:00
Alex Fabijanic
7a2f2e0ac7 Merge branch 'devel' of https://github.com/pocoproject/poco into devel 2022-06-29 12:43:41 +02:00
Alex Fabijanic
451360e59f test(MailMesage): MailMessage::read() chokes on Content-disposition #3650 2022-06-29 12:43:24 +02:00
JackyWoo
3f124bd250
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>
2022-06-29 05:15:09 -05:00
JackyWoo
0d539a71f5
Make poll set interruptable (#3644)
* Make poll set interruptable

* open test for poll set

* fix poll set wake up test

* fix build error
2022-06-28 14:23:10 -05:00
Ben Foster
cc14bcf5f9
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>
2022-06-28 12:15:42 -05:00
Aleksandar Fabijanic
168f1eb6e2
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
2022-06-28 12:14:36 -05:00
JackyWoo
cbe738d5e8
Make ParallelSocketReactor thread namable (#3642)
make ParallelSocketReactor thread namable
2022-06-24 05:37:56 -05:00
Alex Fabijanic
c8e66028ee feat(FTPClientSession): activeDataConnection 1.11.0 cannot set specific data port #3372 2022-06-23 23:35:09 +02:00
Alex Fabijanic
47f2c3573c fix(MailMessage): read hangs on missing final multipart boundary #2401 2022-06-22 04:33:31 +02:00
Alex Fabijanic
aa71874f2c fix(NTPClient): NTPClient ignores second fractions #2614 2022-06-21 07:32:14 +02:00
Azat Khuzhin
8939866ecb
TCPServerDispatcher.h: missing <atomic> (#2961)
Fixes: b8af168151fe0147fb06557029002ae226dcc549
Fixes: #1965
2022-06-02 00:24:52 -05:00
Alex Fabijanic
bc8e192c2b chore(Net): regenerate VS 140,150,160 projects #3614 2022-05-30 08:33:44 -05:00
Hernan Martinez
38593bee1c
Added missing SocketProactor class to ProGen source (#3616)
* Added missing SocketProactor class to ProGen source

* ProGen'd VS2022 Net project
2022-05-30 08:03:44 -05:00
Alex Fabijanic
1a662a113c fix(HTTPResponse): Add 425 / HTTP_TOO_EARLY to HTTPResponse::HTTPStatus #3592 2022-05-29 23:09:06 -05:00
Maksim Kita
fe59436763
HTTPDigestCredentials added support for RFC7616 algorithms (#3026) 2022-05-29 21:52:39 -05:00
Tavi Cacina
ea03d882f2
Net: make MessageHeader limits configurable (#3404) 2022-05-29 21:29:16 -05:00
BeBinder
2aaa7f851d
Syslog: Include Facility to Syslog Message (#3452)
* Fixed indentation

* Added Facility to Message in RemoteSyslogListener
2022-05-29 21:28:08 -05:00
Alex Fabijanic
9f7ccaf9f7 fix(TCPServer): #1884 #1965 2022-05-28 19:49:22 -05:00
Hernan Martinez
fcaab80a65
ProGen vs170 projects with Win32,x64,ARM64 (#3612) 2022-05-27 21:58:46 -05:00
Alex Fabijanic
71a3a79ec9 fix(UDPHandler): data race #3613; clean up all Net tsan warnings 2022-05-27 21:57:34 -05:00
Alex Fabijanic
216d5ae3a4 default disable new state on move 2022-05-27 13:32:24 -05:00
Alex Fabijanic
3e6e259c2a fix(PollSet): default enable epoll on linux 2022-05-27 12:09:16 -05:00
Alex Fabijanic
f6de0cd3f4 fix(SocketReactor): Poco::Net::SocketConnector unregistering #2513 2022-05-26 21:49:38 -05:00
Alex Fabijanic
cd85052231 fix(HTTPClientSession): broken proxy tests #2271 2022-05-21 10:42:20 -07:00
Alex Fabijanic
be7006af2f feat(HTTPClientSession): HTTPClientSession source IP address #2271 2022-05-20 14:38:23 -07:00
Alex Fabijanic
5bac3e303f fix(IPAddress): IPAddress::isLoopback() returns false for IPv4 mapped in IPv6 #3399 2022-05-18 15:04:09 -07:00
Aleksandar Fabijanic
7852153db5
Devel (#3586)
* Enable unit test in cmake build

* add BLOB SQLite test

* accept notifications by name (if they have one)

* catch std::exception on parsing

* fix a leak, add some table features

* few PostgreSQL fixes

* GH #2351: WebSocket docs

* Rename pcre internal symbols used by Poco to avoid symbol collision
https://github.com/pocoproject/poco/issues/2916
This patch was backported from https://github.com/pld-linux/poco/blob/master/pcre.patch

* Fix warning in clang

* Fix MSVC clang build fail

* Zip and SevenZip do not depend on Util, XML, JSON

* Added Test and new Pattern 'O' to only log the Filename not the full Path.

* Updated Comment

* Configuration to receive OCSP stapling response for client connections and  callback implementation to verify the response if the server returns any response

* removed SDK version from project files

* run Application::initialize() in try-catch block

* fix Invalid condition [ICMPv4PacketImpl.cpp:234] #2783

* style fixes for #2935; check OpenSSL version

* Fixed issue 2945 (#2946)

* Fixed #2945

* Added unit tests for #2945

* Dissalow iterator on empty Var (#2945)

* Updated unit tests for #2945

* More concise unit tests for #2945

* Removed some more clutter (#2945)

* NetSSL_Win: fix potential endless loop due to wrong error handling

* fixed GH #2970: Poco::Data::TypeHandler<Poco::Nullable<T>>::prepare() must prepare with underlying type, not Poco::Data::Keywords::null

* Fixed linking with Data ODBC error on some platforms

* Fix set padding call for new versions of OpenSSL

* PatternFormatter priorityNames fix

* PKCS12Container: fix memory leaks on exceptions

* Fix constness of URI::getPathSegments

* Fix typo in the ThreadPool's docs

* cmake: use GNUInstallDirs

* Changed EventHandlerMap key (#3116)

* Changed EventHandlerMap key

Changed EventHandlerMap key from Socket to poco_socket_t to avoid errors in removing/access EventHandlerMap when for example we make an SSL handshake

* Changed EventHandlerMap key

Changed EventHandlerMap key from Socket to poco_socket_t to avoid errors in removing/access EventHandlerMap when for example we make an SSL handshake

* avoid too much call to sockfd() and impl()

* Fix configuration error while cross compiling (#3127)

During the configuration phase in a cross compilation scenario,
`include(InstallRequiredSystemLibraries)` fails even if
`MSVC_REDIST_DIR` is provided.

This should not be an hard error, in case someone wants to
compile/use the library, and not package it.

As explained on https://reviews.llvm.org/D41220, the most sensible fix
is to include `InstallRequiredSystemLibraries` only on a Windows host.

* crash when remove key from JSON::Object(JSON_PRESERVE_KEY_ORDER). (#3151)

* #3153: Poco::Data::ODBC [N]VARCHAR(MAX) wrong maxDataSize() result

* [SharedPtr] Poco::makeSharedArray #3200

* #3202: JWT: ESxxx signature must include padding for ECDSA R and S values

* feat(HashRange): port HashRange from boost

* chore(cmake): spelling typo fix

* fix(hashRange): change function names casing

* merge changes from 1.10.2

* formatting

* merge JSON formatting changes from 1.10.2

* added Application::windowSize()

* RemoteSyslogChannel/RemoteSyslogListener: make UDP buffer size configurable

* merge fix from 1.10.2

* merge Postgres fixes from 1.10.2

* #2993: The Sec-WebSocket-Key of WebSocket is always the same one

* formatting

* #2927

* remove HowToGetHelp page due to outdated information

* formatting

* #3044: Upgrade PCRE to 8.44

* #3086: Use POCO_IOS_INIT_HACK for Linux in combination with libc++

* #3095: Digest proxy authentication does not work in 1.10.1

* #3136: Fixed null character issue when parsing a JSON

* #3114: Added JSON Array::empty() method

* #3230: ECDSADigestEngine: include missing header

* fix include order

* include order

* fix(PollSet): #3248 #3249

* chore(UDPServer): fix spelling

* feat(SocketReactor): extract and expose poll() as a member function

* feat(Endpoint): add Endpoint (socket address directly wrapping native structures)

* fix(Endpoint): osx build, align family enum with patform, some other adjustments

* fix(EndpointTest): add missing include

* feat(Endpoint): add some low-level accessors

* feat(IPAddress): add functions returning addres as raw bytes

* feat(DatagramSocket): DatagramSocket does not allow IPV6_V6ONLY #3283

* feat(SocketReactor): Add completion handling to SocketReactor #3290

* feat(SocketReactor): Add completion handling to SocketReactor #3290 (add scheduled handlers and runOne())

* chore(Net-testsuite): fix some tests warnings

* feat: move semantics for sockets and addresses

* fix(NetworkInterface): Unterminated string possible in NetworkInterfaceImpl::setPhyParams() #3301

* feat(Net): Add move semantics to Net (sockets and addresses) #3296

* fix(HostEntry): DNS HostEntry returns multiple entries #3303

* fix(SocketReactor): completion handling fixes and tests, separation of i/o and completion mutexes

* feat(SocketReactor): execute permanent completion handlers on when there are I/O handlers and the expired ones whenever they expire

* feat(Socket): expose lastError()

* fix(SocketReactor): windows compile

* windows fixes, remove Endnpoint

* feat(Socket): expose error()

* feat(PollSet): Use select() on windows for PollSet #3339

* add ci.yml

* fix compile errors

* revert(SocketReactor): back to devel branch

* feat(SocketProactor): initial version w/ completion handler and executor

* chore(SocketProactor): Sockets package

* chore(ci): add dir and run script

* feat(SocketProactor): add socket error handling #3357

* modify(SocketProactor): wait for completion handlers availability #3357

* feat(PollSet): Make PollSet::poll() interruptible #3359

* modify(SocketProactor): make addSend() public #3357

* modify(SocketProactor): platform non-interrupt sleep without Poco thread #3357

* modify(SocketProactor): allow restart #3357

* fix(SocketProactor): windows fixes and VS build

* fix(SocketProactor): race when stop() is called before run()

* fix(Socket): Windows SO_REUSEADDR is neither reliable nor safe #3380

* fix(SocketProactor): rvalue refs should not be const

* fix(DNS): DNS::hostByAddress not thread-safe #3381

* chore(SocketProactor): remove unnecessary this capture

* fix(IPAddress): IPAddress::tryParse does not work for :: #3385

* fix(SoccketProactor): add some try/catch safety nets; broaden the work list mutex coverage to protect all function access

* fix(SocketProactor): use Poco::Mutex only

* fix(SocketProactor): scheduled work skipped in the absence of socket events

* fix(SocketProactor): test

* chore (SocketProactor): add some state members

* Fix clang linker problem by defining POCO_NO_AUTOMATIC_LIBS (#3177)

* Dev/devel 1.12.0 (#3585)

* fix(PollSet): #3248 #3249

* bump version to 1.11.0

* updated changelog|

* #3299: NetSSL: Allow per-Context InvalidCertificateHandler

* #3022: Process::isRunning(PID pid) causes handle leak on Windows

* #3022: fix for WinCE

* upgrade bundled pdjson to latest master

* update build configs - add support for Apple Silicon

* #2906, #2904: Support environments without hardware floating point

* #3130: fix error handling: report original error before close()

* #3107: remove unused variable

* #3219: SMTPClientSession: invalid SMTP command if empty recipients list in MailMessage

* Poco::trim*() code cleanup - use ptrdiff_t instead of int; additional test cases

* #3182 Poco::Process:launch on MacOS BigSur: limit maximum number of file descriptors to close before exec() to 100000

* #3278: Fixing no hardware floating point support - Part II

* #3090: Do not initialize value with undefined behavior

* #3163: Correct Var::parse null value

* #3196: std::forward for Poco::Optional ctor with rvalue

* #3068: Documented ENABLE_JWT option

* #3041: PostgreSQL and TEXT column type

* #3099: Fixed Postgres extraction into Dynamic::Var

* #3138: Add support of arch riscv32

* #2825: riscv: Enable double operations when using double float abi

* #3166: Fix PostgresSQL BLOB extractor

* #3237: An error in the documentation for Poco/JSON/Parser.h

* #3193: ServerApplication::registerService() unquoted path security vulnerability

* #3266: Order of Util::Application::uninitialize() is not in reverse as documented

* #3215: XML parser returns item from different element in a array

* #3282: Update constant in setContentType documentation

* #3089: HTTPSessionFactory does not support HTTPClientSession::ProxyConfig

* #2418: SecureServerSocket doesn't work with IpV6

* fix warnings

* #3019: ObjectPool wait on borrow condition fix

* #3224: Remove SSL23 support from Poco/Crypto

* #3191: Fixing a bug in the NetSSL_Win module (Host name verification failed error)

* disallow SSLv3

* #3269: Poco::Net::Context initialization with empty certificateFile

* #3307: Poco::Crypto::X509Certificate: obtain certificate fingerprint

* #3260: Memory leak in EVPPKey::loadKey used with files & wrong password

* #3157: fix(openssl): add missing dependency to OpenSSL components

* #3066: CMake warning about MYSQL casing

* #3135: Poco::Data::SQLite::Utility::fileToMemory unsuccessful if journal exists

* #3217: CMake: warning message with -DPOCO_STATIC confusing

* #3274: Fix localtime_r for VxWorks 6.9 and later

* #2746, #3169: Fix race condition on TCPServerDispatcher stop

* #3092: add more detailed error description when LoadLibrary fails|

* #3074: Fix sessions may not return back to the pool

* #3309: optimize parsing from stream (no copying of entire JSON to memory); limit maximum depth to avoid stack overflow with malicious documents (fuzzing - #3285); code cleanup

* JSON Parser performance improvements

* #3310: Upgrade bundled SQLite to 3.35.5

* fix UB/bad cast in TCPServerTest.cpp

* add comment regarding potential UB in AnyTest::testCastToReference()

* support sanitizers in build configs

* bump version

* fix 'catching polymorphic type by value' warnings

* fix 'catching polymorphic type by value' warnings

* fix 'catching polymorphic type by value' warnings

* remove failing Android build; add sanitizer builds

* update postgres version

* fix warning

* fix warning

* add GitHub workflow

* fix ci.yml

* fix ci.yml

* additional ci builds

* fix ci.yml for macos and windows

* fix(double-conversion): Upgrade bundled double-conversion #3313

* ci fixes

* #3314: NetSSL_OpenSSL: any.pem certificate error: ca md too weak

* testReuseSession: remove bad checks for session reuse

* investigate failing test

* investigate failing test

* investigate failing test

* investigate failing test

* ci

* remove travis and appveyor

* ci, readme

* ci fixes

* fix ci

* fix ci

* fix ci

* fix memory leak when ignoring test error/failure

* fix ci

* don't define UNREACHABLE as poco_bugcheck as it triggers 'control reaches end of non-void function' warning

* add Linux cross build, build Data libs on macos

* fix ci

* add MySQL include/lib search paths for Homebrew

* ci fixes

* ci fixes

* ci fixes

* ci fixes

* fix indluce paths for brew mysql

* #3317: Data::MySQL MySQL headers and library search paths

* fix ARM-Linux build config

* fix MySQL.make

* update FindMySQL.cmake

* fix(SocketReactor): fix dataCollection test

* chore: remove troubleshooting help leftovers

* #3302: MSVC: Poco hides warnings (C4996) for the C++14 attribute [[deprecated]]

* fix potential crash in testAsyncNotify: don't delete event object while async notification is still in progress

* fix(PollSetTest): change connect to blocking

* added ActiveRecord library and compiler

* added dependencies file

* update copyright dates

* ActiveRecord: project files and fixes for MSVC

* ci: enable ActiveRecord on Windows

* fix(PollSetTest): remove poll timing check (fails on msvc ci)

* fix ActiveRecord CMake build and configuration

* feat(build): add gen directory (for generated sources) and macchina lib link dirs (if needed)

* #3318: Data: Support Poco::UUID for data binding

* ODBC tests for UUID, updated ActiveRecord projects

* ActiveRecord user guide

* update ActiveRecord documentation

* documentation fixes

* #3321: manually merge ODBC text encoding support

* CppParser: merge changes from internal repository

* updated Makefile

* AbstractObserver::accepts() - add optional name parameter

* fix SharedPtr::makeSharedArray() [merge from devel]

* remove blank line

* #2895, #2935: support OCSP stapling

* style

* clang support (merge from devel)

* #3322: remove useless struct

* link libmariadb instead of libmysql if headers indicate MariaDB

* fix nullptr passed to memcmp/memcpy reported by ubsan

* fix nullptr passed to memcmp/memcpy reported by ubsan

* fix PageCompiler cross-compile; fix Content-Security-Policy header

* remove Data release notes page

* style, remove unused var

* update docs

* improve BLOB handling, clean-up code

* fix(ICMPv4Packet): [asan] Undefined behavior in ICMPv4PacketImpl.cpp #3326

* fix(NumericString): Bug in NumericString with decSep != '.' #3159

* fix(HostEntry): DNS HostEntry returns multiple entries #3303

* fix(PollSet): #3248 #3249

* fix(NetworkInterface): Unterminated string possible in NetworkInterfaceImpl::setPhyParams() #3301

* style/whitespace

* fix warnings

* add version resources to executables

* style

* whitespace

* update changelog

* cpproj: also copy testsuite/include if it's there

* branch off 1.11.1

* #3335: XML error when build 1.11.0

* #3353: add POCO_NO_FORK_EXEC CMake option

* #3381: DNS::hostByAddress not thread-safe

* #3400: fix std::localtime not thread safe

* #3221: Crash reported on Windows in X509Certificate verification

* #3344: [bug] MacOS bundle destination path is not set

* #3360: Add POCO_PGSQL_{INCLUDE,LIB} variables

* #3363: Fixed compilation error with MongoDB::Connection and Util::Application

* #3377: Correct Poco::Path::configHome() and dataHome() documentation for Windows

* #2823: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648

* #3425: Fixed suspend/resumeEvents pair in DirectoryWatcher

* #2966: SocketReactor loads one core of CPU up to 100%

* #3330: Poco::Data::ODBC::ODBCStatementImpl causes crash

* use OpenSSL 1.1.1 on macOS

* add missing include search path

* upgrade bundled PCRE to 8.45

* upgrade bundled SQLite to 3.36.0

* updated changelog

* fix brew OpenSSL version

* branch off poco-1.11.2

* #3506: Upgrade bundled expat to 2.4.4

* manually merge #3448, part 1 (Crypto)

* manually merge #3448, part 1 (NetSSL)

* #3515: NetSSL_OpenSSL Testsuite: testInterop() and testProxy() fail due to changed certificate

* #3448: fix version check

* #3465: NetSSL_Win: bad error handling when decodeMessage() fails

* #3458: encryptString() crash on redhat/centos 8 with FIPS enabled using md5 default digest

* #3505: JSON::PrintHandler.value(bool) prints incorrect value

* #3527: Upgrade bundled expat to 2.4.5

* #3470: bug in JSON ParseHandler.cpp (RFC 7159 should be valid)

* #3507: Reference counting for bound configuration in Util::Option is broken

* #3518: Expat version check in #defines incorrect

* #3338: NamedMutex does not work on Linux distributions where fs.protected_regular=1

* CI: don't build PageCompiler in ARM cross build

* detect ARM64 on Windows

* updated README.md

* ProGen: support generation of VS 2022 project files

* ci: add windows 2022

* fix library name

* remove unused CppUnit headers

* added VS2022 project files

* #3530: Upgrade bundled expat to 2.4.6

* #3538: Upgrade bundled expat to 2.4.7

* Add back NIOS2 double conversion detection to fix compile errors

The commit
558324f672

removed the nios2 support, which was originally added in
e7b91e8125

This commit add it back.

Signed-off-by: Julien Olivain <ju.o@free.fr>

* #3466: DefinePlatformSpecific.cmake: handle RelWithDebInfo and MinSizeRel configurations

* #3524: remove XML and Util dependencies in Zip/SevenZip

* #3483: Adds Windows 11 and Server 2022 to Environment::osDisplayName()

* #3495: Array::operator[] should not throw

* #3268: Poco redis command set have a bug when you want to set nx ex or expireTime

* #3509: fix dst and utcOffset handling for Dublin time zone

* #2882: another attempt at fixing it that should also work on other platforms

* remove unused method in Timezone_WIN32.cpp

* use tm_gmtoff on Linux

* Basic support for OpenSSL 3.0.0 (#3448)

* updated README.md

* Create close-inactive-issues.yml

* check return codes of EVP_CIPHER_CTX_new and EVP_CipherInit

Especially with OpenSSL 3, it is possible that EVP_CipherInit may fail even when
passed a non-null cipher[1]. Without the checking, it will finally get to a
segfault.

[1] https://github.com/openssl/openssl/issues/16864

* Automatically load default and legacy providers with OpenSSL 3

Without the legacy provider [1], some ciphers are not available. For example,
the 'des-ecb' one used by test sutie is missed and the test will fail.

[1] OSSL_PROVIDER-LEGACY(7ossl)

* Make p12 ca order the same as pem

OpenSSL < 3 returns p12 ca order in reversed order. This is fixed
in OpenSSL 3. We work around it with old OpenSSL.

See:
https://github.com/openssl/openssl/issues/16421
https://github.com/openssl/openssl/pull/12641
f5eb85eb0f

* Implement SSL abort handling on OpenSSL 3

On an unexpected EOF, versions before OpenSSL 3.0 returned SSL_ERROR_SYSCALL,
nothing was added to the error stack, and errno was 0. Since OpenSSL 3.0 the
returned error is SSL_ERROR_SSL with a meaningful error on the error stack.[1]

[1] SSL_GET_ERROR(3ossl)

Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>
Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>

* fix(Socket): shutdown fixes from pull #3448

* #3500: Sandbox all iFrames in PocoDoc

* #3549; replace assert with assertTrue

* #3553: Upgrade bundled zlib to 1.2.12

* #3525: Bad management of file in case of OpenSSLException in X509Certificate::readPEM and X509Certificate::writePEM

* disable OpenSSL deprecation warnings

* chore: cleanup

* fix(X509Certificate): add missing string format

* #3559: Poco::Data::PostgreSQL - DateTime extraction truncates fractional seconds

* feat(EVP): 3.0 support

- add EVPCipher
- additional EVPPKey constructors
- tests
- fix and improve openssl-related exceptions

Transition towards 3.0 support;
deprecating direct EC and RSA interface portions.

* fix(openssl): pre 3.0 compile

* feat(Envelope): Add envelope to crypto #3561

* fix(Envelope): mac/clang compile

* fix(Any): #3297 #3514

* #3562: fixed OpenSSL setup/shutdown

* fix exception text

* #3563: Remove support for OpenSSL < 1.0

* ci jobs for OpenSSL 1.1 and 3

* updated CHANGELOG

* updated .vscode

* Refactor/any soo (#3564)

* refactor(Any): SOO

- encapsulate data holders
- add missing gets and ops
- eliminate g++ warnings with enable_if's
- default enable SOO

* refactor(Placeholder): encapsulate SOO memory management and fix leaks; cf. #3297 #3514

* fix(Placeholder): asan errors and add tests

cf. #3297 #3514

* fix(SSLManager): Race condition in SSLManager #3558

* remove unused include

* updated copyright date

* PocoDoc: fix iframe sandboxing

* fix(SHA2Engine): cannot use HMACEngine with SHA2Engine #3421

* refactor(Placeholder): ifdef POCO_NO_SOO only in Placeholder and remove it anywhere else (#3566)

* refactor(Placeholder): more SOO consolidation and optimization

* fix(FPEnvironment): Visual Studio Warning C4244 #3543

* fix(Extractor): move extraction decoding to AbstractExtractor #3396

* Netssl/openssl3 (#3575)

* feat(Context): DH init openssl3 port (1/2 hardcoded params)

* create poco-1.11.3 branch, bump version

* update copyright date

* #3567: check legacy provider existence for legacy exception #3567

* fix(Placeholder): comparison for zero value

* feat(Context): DH init openssl3 port (2/2 params from file)

* test(HTTPSClientSession): try/catch to understand CI failure

* chore(cmake): copy the DH parameters file

* fix(OpenSSLInitializer): unload provider on uninitialize

* chore(HTTPSClientSessionTest): remove try/catch

* fix(OpenSSLInitializer): fix provider unloading

* feat(CppUnit): make tests exceptions more descriptive

* chore(CppUnit): a more descriptive name for callback

Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>

* fix(Foundation): update VS 2019 platform version

* chore(Data): update VS project files (add Transcoder #3396)

* fix(Data): Poco::Data::ODBC-dbEncoding property not used for insert/update #3396

* fix(Data): add transcoder to Makefile #3396

* fix(JWT): remove duplicate test functions after merge

Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: Julien Olivain <ju.o@free.fr>
Co-authored-by: Robin Lee <robinlee.sysu@gmail.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>

* #2755: Fix MySQL's LONGBLOB/LONGTEXT not allocating enough space (#3474)

* Unit test for bug #2755.

* Removed condition to set buffer length to 0.

* Fixes to unit tests for LONGBLOB/TEXT data type.

* Adjusted buffer sizes to accommodate LONGBLOBs.

Co-authored-by: Hector Toledo Soto <hsoto@transperfect.com>

* fix(Data): MySQL UUID binding temporary string #3587

* feat(CI): add MySQL tests to CI #3588

* fix(CI): remove mysql client dev (using mariadb) #3588

* fix(CI): another shot at mysql

* fix(Net/testsuite): add missing include

* fix(DatagramSocket): Socket::available does not always return correct value for UDP #3589

* fix(SocketProactor): few improvements (#3357)

* fix(ICMPsocketTest): change appinf (doesn't respond to ping) to github

* fix(PollSet): windows fixes

* fix(PollSet): windows implementation fixes (multi-fd_set select); minor reactor fixes

* Extract JSON type as string (#3491)

* Declared JSON as string data

# Conflicts:
#	Data/include/Poco/Data/MetaColumn.h
#	Data/src/RecordSet.cpp
#	Data/src/StatementImpl.cpp

* Added JSON extractor as string

* Added unit test

* Update comment

Co-authored-by: Joerg-Christian Boehme <joerg@chaosdorf.de>
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
Co-authored-by: tbarbier <thomas.barbier@amadeus.com>
Co-authored-by: Linquize <linquize@yahoo.com.hk>
Co-authored-by: Jan Kevin Dick <fixed-term.jan.dick@de.bosch.com>
Co-authored-by: Neelima Patil <neelima.patil@honeywell.com>
Co-authored-by: akete <akete@users.noreply.github.com>
Co-authored-by: YuriAzathoth <iamkiller@mail.com>
Co-authored-by: Jonathan Horvath <byteme@bytedreamer.com>
Co-authored-by: Maksim Kita <kitaetoya@gmail.com>
Co-authored-by: Alexander Galanin <al@galanin.nnov.ru>
Co-authored-by: Thomas Sablik <thomas.sablik@wombytes.de>
Co-authored-by: Nikita Migunov <nmigunov@iponweb.net>
Co-authored-by: Ben Wolsieffer <benwolsieffer@gmail.com>
Co-authored-by: micheleselea <michele.pradella@selea.com>
Co-authored-by: Federico Kircheis <federico.kircheis@gmail.com>
Co-authored-by: fenghao119 <fenghao119@gmail.com>
Co-authored-by: Alex Fabijanic <alex@pocoprojecct.org>
Co-authored-by: linquize <linquize2@yahoo.com>
Co-authored-by: Julien Olivain <ju.o@free.fr>
Co-authored-by: Robin Lee <robinlee.sysu@gmail.com>
Co-authored-by: Robin Lee <cheeselee@fedoraproject.org>
Co-authored-by: hectots <monkey.instinct@gmail.com>
Co-authored-by: Hector Toledo Soto <hsoto@transperfect.com>
Co-authored-by: Hernan Martinez <hernan.c.martinez@gmail.com>
2022-05-15 11:05:56 -05:00
Günter Obiltschnig
2b3662c854 added VS2022 project files 2022-02-19 21:06:24 +01:00
Günter Obiltschnig
b89baaa1c3 #2966: SocketReactor loads one core of CPU up to 100% 2021-11-05 15:18:04 +01:00
Günter Obiltschnig
fc0cc6af36 #3381: DNS::hostByAddress not thread-safe 2021-11-05 13:18:06 +01:00
Alex Fabijanic
9155121866 fix(NetworkInterface): Unterminated string possible in NetworkInterfaceImpl::setPhyParams() #3301 2021-06-25 21:31:26 +02:00
Alex Fabijanic
0a3c76ffd0 fix(PollSet): #3248 #3249 2021-06-25 21:24:38 +02:00
Alex Fabijanic
8030564ff5 fix(HostEntry): DNS HostEntry returns multiple entries #3303 2021-06-25 21:05:29 +02:00
Alex Fabijanic
4ec21a62c2 fix(ICMPv4Packet): [asan] Undefined behavior in ICMPv4PacketImpl.cpp #3326 2021-06-25 20:07:55 +02:00
Alex Fabijanic
1ec15a020a fix(PollSetTest): remove poll timing check (fails on msvc ci) 2021-06-18 12:29:07 +02:00
Alex Fabijanic
7719303191 fix(PollSetTest): change connect to blocking 2021-06-18 07:13:05 +02:00
Günter Obiltschnig
22eb76d3ae #3302: MSVC: Poco hides warnings (C4996) for the C++14 attribute [[deprecated]] 2021-06-17 18:20:29 +02:00
Alex Fabijanic
2740068e59 chore: remove troubleshooting help leftovers 2021-06-17 17:53:17 +02:00
Alex Fabijanic
8c31d76e2b fix(SocketReactor): fix dataCollection test 2021-06-17 17:34:11 +02:00
Günter Obiltschnig
999feab779 fix 'catching polymorphic type by value' warnings 2021-06-16 08:52:56 +02:00
Günter Obiltschnig
330bc22b30 #2746, #3169: Fix race condition on TCPServerDispatcher stop 2021-06-15 15:26:26 +02:00
Günter Obiltschnig
7917abf727 #2418: SecureServerSocket doesn't work with IpV6 2021-06-15 10:23:22 +02:00
Günter Obiltschnig
59ae91e5ba #3089: HTTPSessionFactory does not support HTTPClientSession::ProxyConfig 2021-06-15 09:45:01 +02:00
Günter Obiltschnig
d1e9452414 #3282: Update constant in setContentType documentation 2021-06-15 09:05:52 +02:00
Günter Obiltschnig
2f9c7cd6d3 #3219: SMTPClientSession: invalid SMTP command if empty recipients list in MailMessage 2021-06-14 19:13:48 +02:00
Alex Fabijanic
b27f440e36 fix(PollSet): #3248 #3249 2021-05-25 13:56:58 +02:00
Günter Obiltschnig
fff8eb6f45 Fix typo: overriden -> overridden 2021-04-14 20:12:17 +02:00
Günter Obiltschnig
d7101ec091 fix socket address test 2021-04-14 18:50:44 +02:00
Günter Obiltschnig
e4bdfdff0c #3242: RemoteSyslogListener: add reusePort option 2021-04-14 18:50:30 +02:00
Günter Obiltschnig
e4b258765e #3095: Digest proxy authentication does not work in 1.10.1 2021-04-12 20:19:48 +02:00
Günter Obiltschnig
f1c4c9a27d #2993: The Sec-WebSocket-Key of WebSocket is always the same one 2021-04-11 16:56:59 +02:00
Günter Obiltschnig
b30bebffb0 merge WebSocket fixes from devel 2021-04-11 16:46:48 +02:00
Günter Obiltschnig
9f02ea1715 #2783: fix Invalid condition [ICMPv4PacketImpl.cpp:234] 2021-04-11 16:15:02 +02:00
Günter Obiltschnig
9800de3b6a #2932: Poco::Net::NTLMContext is missing dllexport/dllimport symbols 2021-04-11 16:11:33 +02:00
Günter Obiltschnig
aa7667d427 RemoteSyslogChannel/RemoteSyslogListener: add buffer size configuration property 2021-04-11 16:03:08 +02:00
Günter Obiltschnig
4de9a21187 make CMake files style (more) consistent 2020-02-14 11:07:32 +01:00
Günter Obiltschnig
75a86ad868 remove POCO_STATIC 2020-02-12 22:10:01 +01:00
Günter Obiltschnig
c890576b9a add timeout to testMulticast 2020-02-08 20:25:25 +01:00
Günter Obiltschnig
137c6ad136 clarify documentation of flags parameter 2020-02-08 16:29:01 +01:00
Günter Obiltschnig
b3f75eb850 #2902: [FTPClient] Optimize expression 2020-02-04 10:56:58 +01:00
Günter Obiltschnig
3bdb47ae66 GH #2892: SocketImpl::bind --> bind wrong config 2020-01-25 14:22:27 +01:00
Günter Obiltschnig
58b257c0a8 fixed docs 2020-01-23 19:18:41 +01:00
Günter Obiltschnig
d65bf03a83 fixes and improvements to FTP(S)ClientSession 2020-01-23 17:55:30 +01:00
Günter Obiltschnig
878b8bbeca fixes for FTPSClientSession 2020-01-23 13:29:54 +01:00
Günter Obiltschnig
5d481ff493 merge FTPSClientSession from develop-experimental 2020-01-23 11:57:28 +01:00
Günter Obiltschnig
b52e063e0d fixed memory leak in testsuite 2020-01-22 21:51:04 +01:00
Günter Obiltschnig
f1fcdffcb5 fixed GH #2863: NetworkInterface::map can fail to reveal some interfaces if an earlier one can not be handled 2020-01-22 13:36:46 +01:00
Günter Obiltschnig
f6dafb437e fixed GH #2843: Poco::Net::MediaType::parse() does not split parameters 2020-01-22 11:56:11 +01:00
Günter Obiltschnig
15fa335343 fixed a crash due to invalid sockaddr cast 2020-01-22 10:59:02 +01:00
Günter Obiltschnig
35d73695f8 fixed GH #2686: Uploads larger than 2GB fail 2020-01-21 21:19:07 +01:00
Günter Obiltschnig
f55c17a295 fixed #2745 2020-01-21 19:59:17 +01:00
Günter Obiltschnig
ef648dc840 fix doc error 2020-01-17 07:09:00 +01:00
Joerg-Christian Boehme
885c5cbc55 Ignore tests in cmake from cppignore and set POCO_BASE environment. 2020-01-14 21:45:56 +01:00
Günter Obiltschnig
4920df18ce re-generated project files 2020-01-12 23:04:09 +01:00
Günter Obiltschnig
165f5cfd20 re-generated project files 2020-01-11 22:33:28 +01:00
Günter Obiltschnig
4c1e357e4a project file fixes 2020-01-11 12:45:39 +01:00
Günter Obiltschnig
fea390fe6a remove gradle files 2020-01-11 10:04:22 +01:00
Günter Obiltschnig
e84ab92ee0 removed x64 project files 2020-01-11 09:52:49 +01:00
Günter Obiltschnig
fe3f6405b6 updated progen files 2020-01-11 09:34:54 +01:00
Günter Obiltschnig
59898cd3c2 remove old VS project files 2020-01-10 14:26:36 +01:00
Günter Obiltschnig
1bf40a0cd2 merge some changes from develop branch; modernize and clean-up code; remove support for compiling without POCO_WIN32_UTF8 2020-01-09 10:08:09 +01:00
Günter Obiltschnig
7c177b6f89 fix test for updated IP addresses 2020-01-04 12:55:58 +01:00
Günter Obiltschnig
4ec5d35060 added support for SameSite cookie attribute 2020-01-04 10:15:41 +01:00
Günter Obiltschnig
9c197e0ed1 finally get rid of std::auto_ptr 2019-12-15 09:40:40 +01:00
Francis ANDRE
e59f37318e Add /MP option and remove /Gm as it is ignored and will be removed 2019-12-07 19:11:24 +01:00
Günter Obiltschnig
a7cbff393e
Merge pull request #2815 from brice-gros/brice.gros/1.10.0+allow-for-cmake-fetchcontent
Make Poco git repository fetchable using CMake's FetchContent
2019-11-25 21:24:16 +01:00
Günter Obiltschnig
665a840692 added Poco::Net::escapeHTML() and Poco::Net::EscapeHTMLStream; PageCompiler now supports optional HTML-escaping of <%= %> expressions. 2019-11-20 14:22:41 +01:00
Günter Obiltschnig
03f22ded65 fix a typo 2019-11-04 21:08:03 +01:00
Brice Gros
990f7825b5 Fix path to DLLVersion.rc and enable to skip Foundation; Fix Foundation samples referencing useless libs 2019-10-18 15:35:02 +02:00
Chris Berry-Porter
8e0a852716 Set timeouts for FTP passive connections
Set send/receive timeouts for FTP passive connections
2019-09-02 10:48:10 +10:00
Günter Obiltschnig
9a8ab0858f include version resource in DLLs built with CMake 2019-06-24 15:39:06 +02:00
Günter Obiltschnig
b782d17ced fixed timeout for WSAPoll 2019-06-22 21:29:24 +02:00
Günter Obiltschnig
78c2ef8b85 style fixes 2019-06-22 19:05:49 +02:00
Günter Obiltschnig
625dd6b51e backport #2336 2019-06-11 16:07:53 +02:00
Günter Obiltschnig
5e678b925b only auto-authorize if non-empty HTTPCredentials are provided 2019-06-04 18:37:48 +02:00
Günter Obiltschnig
96a7263219 added HTTP*Credentials::empty() and HTTP*Credentials::clear() 2019-06-04 18:33:50 +02:00
Günter Obiltschnig
a7d5d97487 added missing #include <windows.h> 2019-05-16 14:54:19 +02:00
Günter Obiltschnig
dc4d36dad5 fixed warning 2019-05-16 14:40:13 +02:00
Günter Obiltschnig
ec8ea48062 SecureSMTPClientSession now uses _host from SMTPClientSession 2019-05-16 14:35:19 +02:00
Günter Obiltschnig
2086a497f5 fix for Windows (add #define NOMINMAX) 2019-05-16 14:16:09 +02:00
Günter Obiltschnig
2510a8a055 WebSocket documentation update 2019-05-16 10:01:18 +02:00
Günter Obiltschnig
16f63eed0a WebSocket: allow setting the maximum payload size for receiving frames 2019-05-16 08:43:46 +02:00
Günter Obiltschnig
63a011e4e7 regenerated vs projects 2019-05-15 16:33:59 +02:00
Günter Obiltschnig
a335f6da89 fixes for macOS/Linux 2019-05-15 15:54:10 +02:00
Günter Obiltschnig
e821a2a9f1 added support for SSPI-based NTLM authentication using the credentials of the currently logged in Windows user (Windows only) 2019-05-15 15:43:37 +02:00
Günter Obiltschnig
2e26da9b34 added HTTPClientSession::flushRequest() 2019-04-05 13:00:55 +02:00
Günter Obiltschnig
42cf54b742 fixed NTLM SMTP authentication; added additional check for malformed server challenge to HTTPNTLMCredentials 2019-04-03 15:29:32 +02:00
Günter Obiltschnig
6ec6b58da3 added comment and link to MS-SMTPNTLM 2019-04-02 16:54:56 +02:00
Günter Obiltschnig
fa84db6d65 added NTLM authentication to SMTPClientSession 2019-04-02 16:47:12 +02:00
Günter Obiltschnig
72a9dd7ac6 Merge branch 'feature/ntlm-auth' of github.com:pocoproject/poco into feature/ntlm-auth 2019-03-19 09:11:10 +01:00
Günter Obiltschnig
a8bcb214c5 minor refactoring; check server challenge for NTLMv2 support 2019-03-19 08:38:32 +01:00
Günter Obiltschnig
ad7cad8d64 minor refactoring; check server challenge for NTLMv2 support 2019-03-19 08:07:41 +01:00
Günter Obiltschnig
9422825790 fixed c++03 compatibility issue 2019-03-18 19:29:41 +01:00
Günter Obiltschnig
dc5c87c135 fixed warnings 2019-03-18 18:15:10 +01:00
Günter Obiltschnig
5da6f3c4ee updated vs project files for testsuite 2019-03-18 18:04:47 +01:00
Günter Obiltschnig
6eebbbbb83 updated vs project files 2019-03-18 17:52:59 +01:00
Günter Obiltschnig
0f3f11a3b2 NTLM (proxy) authentication support for HTTPClientSession 2019-03-18 16:58:57 +01:00
Günter Obiltschnig
e3e8c3474b backport #2616: Restore pre-1.8.0 behaviour of Poco::Net::ServerSocket::bind 2019-02-15 20:08:02 +01:00
Günter Obiltschnig
be662f257a GH #2549: Fix keepAlive in http client session: left-over _pRequestStream could mess up new request 2019-01-16 11:37:32 +01:00
Günter Obiltschnig
69fee5d296 #2549: Fix keepAlive in http client session 2019-01-15 20:57:50 +01:00
Günter Obiltschnig
5d3d62bb54 fixed GH #2570: DialogSocket: receiveStatusMessage() - line length limit applies to entire multi-line message 2018-12-19 21:45:17 +01:00
Günter Obiltschnig
9336bc60fb remove unused iostream include 2018-12-12 18:04:48 +01:00
Günter Obiltschnig
db86fec382 #2565: HTMLForm: optional enforcement of Content-Length instead of Chunked Transfer-Encoding 2018-12-12 18:00:58 +01:00
Günter Obiltschnig
e1aac5ff95 fix typo 2018-11-28 12:14:12 +01:00
Joerg-Christian Boehme
7fd34b5a62 Use sockaddr_storage for proper stack aligment (#2523) 2018-11-27 08:25:05 -06:00
Günter Obiltschnig
ae9a7368cc backport 89da23d - don't wrap TimeoutException in ICMPException 2018-11-01 11:01:25 +01:00
Günter Obiltschnig
fd57b3b34c backport MultipartSource for MailMessage from develop branch 2018-10-29 13:46:59 +01:00
fenghao119
e7e90e2465 fix: timeout does not work when ftp passive connect (#2463) 2018-09-13 09:09:28 +02:00
Simon Gorše
f59077d0f0 Fixed WebSocket error message formatting. 2018-09-04 21:27:21 +02:00
Alex Fabijanic
b42900ee5b fix for pre-c++11 compilers 2018-09-04 20:14:18 +02:00
tomaz-beltram
f140808fab Fixed Windows http timeout #2451. (#2452) 2018-09-04 15:27:25 +02:00
Aleksandar Fabijanic
11dc0e50a6
LINKER error trying to use POCO NET #2168 2018-08-13 11:47:17 -05:00
Francis ANDRE
27147dccdb
Fix new pocoproject.org IPv4 & IPV6 addresses 2018-08-09 17:05:23 +02:00
Francis ANDRE
b2c569ec0b Merge remote-tracking branch 'origin/poco-1.9.1' into poco-1.9.1-remove-wintestrunner 2018-06-20 12:00:19 +02:00