Commit Graph

1739 Commits

Author SHA1 Message Date
Guillermo Frontera
5cc73c6223
indicate compiler that functions will never return (#3639) 2022-06-18 14:45:23 -05:00
Alex Fabijanic
7f4bdca6e0 Static code analyzer warnings #2688 2022-06-17 22:36:16 +02:00
Alex Fabijanic
2bd71b4ea4 fix(AsyncChannel): race condition in AsyncChannel close/log #1039 2022-06-10 19:56:29 -05:00
Alex Fabijanic
fbdb6120aa fix(Event): Event data race #3629 2022-06-02 11:40:40 -05:00
Alex Fabijanic
420664ea99 fix(cmake): TestLibrary debug postfix 2022-06-02 08:18:40 -05:00
Alex Fabijanic
7035844108 fix(double-conversion): riscv defines 2022-06-02 08:11:53 -05:00
Alex Fabijanic
2967db2778 fix(double-conversion): nios2 and riscv defines 2022-06-02 08:10:04 -05:00
Matej Kenda
eaf88cca34
Windows embedded OpenSSL: Fixed bogus warning during compilation (External OpenSSL defined but internal headers used - possible mismatch!) (#3627) 2022-06-02 08:00:14 -05:00
BeBinder
ec41521ca5
added facility to SyslogChannel (#3453) 2022-06-02 00:04:27 -05:00
Aleksandar Fabijanic
ff879f5905
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
2022-06-01 23:47:26 -05:00
Spaky
17fec1b985
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
2022-05-31 13:13:06 -05:00
Alex Fabijanic
2b7b9531f1 chore(SHA2Engine): fix formatting for #3026 2022-05-29 21:54:40 -05:00
Maksim Kita
fe59436763
HTTPDigestCredentials added support for RFC7616 algorithms (#3026) 2022-05-29 21:52:39 -05:00
Fritz Elfert
1f587cfd3b
Output to stderr in Poco::WindowsConsoleChannel (#3058)
- Fixes #3056
2022-05-29 21:48:41 -05:00
Alex Fabijanic
f860c26b3d chore(Message): fix formatting for #3104 2022-05-29 21:42:33 -05:00
Mathieu Stefani
8fa4d5273d
Add Message::getAll (#3104) 2022-05-29 21:37:31 -05:00
Romain Geissler @ Amadeus
75eb0ca7cb
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);
                ^
2022-05-28 21:14:04 -05:00
Alex Fabijanic
b52ec8cc47 fix(LogFile): LogFile_STD (LogFileImpl) fails to recover from getting out of space #2084 2022-05-28 20:50:29 -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
0df6a6a7d9 feat(Platform): LoongArch support #3460 2022-05-27 09:52:24 -05:00
Hernan Martinez
6cf3a53997
Remaining changes for Windows on ARM64 support (#3608)
* Add ARM64 to Foundation

* Changed lib, and bin folders of ARM64 builds

* Updated buildwin.cmd
2022-05-26 22:40:30 -05:00
Hernan Martinez
76fa43062f
Remove SDK version from VS2022 test projects (#3607) 2022-05-26 22:39:28 -05:00
Alex Fabijanic
d24bbd636d fix(Foundation): remove SDK version from VS 2022 project #3605 2022-05-26 12:53:21 -05:00
cesar
3d316bd548
Readded named substring support for regexes (#3569)
Original merged PR #952 was merged in 2015, but has gone missing. This is adding it back in.
2022-05-26 09:11:05 -05:00
Spaky
dbf3a589df
Add missing changes from zlib update (#3601) 2022-05-26 08:49:56 -05:00
Alex Fabijanic
cf4dc753f0 fix(Platform): Poco errors with _DEBUG and NDEBUG #3039 2022-05-19 09:15:27 -07:00
Alex Fabijanic
2aa53f486a fix(Task): Task::postNotification possible leak #3240 2022-05-19 08:38:43 -07:00
Alex Fabijanic
07bb778799 fix(SharedLibrary): SharedLibrary::isLoaded() not thread safe #3175 2022-05-18 16:03:28 -07:00
Matej Kenda
8a8c23c352
Fixes from develop experimental (on top of 1.11.2) (#3017)
* MongoDB::PooledConnection: Prevent unwanted release by disabling copy semantics. Enabled move semantics for C++11.

* Construct MongoDB::Cursor from aggragation cursor.

* Added function to get OS-specific numerical thread ID and %J pattern to use numerical OS thread id in pattern formatter.

Co-authored-by: Tomaz Beltram <tomaz.beltram@topit.si>
2022-05-18 17:23:16 -05:00
Günter Obiltschnig
9577af8c6c set version number to 1.12.0 2022-05-17 07:24:22 +02: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
Alex Fabijanic
e852700761 fix(Foundation): update VS 2019 platform version 2022-05-03 10:48:41 -05:00
Aleksandar Fabijanic
7db9831f32
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>
2022-04-28 22:24:43 -05:00
Alex Fabijanic
7f26310ef2 fix(FPEnvironment): Visual Studio Warning C4244 #3543 2022-04-26 22:14:09 -05:00
Alex Fabijanic
a1819107de refactor(Placeholder): more SOO consolidation and optimization 2022-04-19 09:03:47 +00:00
Aleksandar Fabijanic
45cbee7c0e
refactor(Placeholder): ifdef POCO_NO_SOO only in Placeholder and remove it anywhere else (#3566) 2022-04-18 14:28:27 -05:00
Alex Fabijanic
4f5b7c1891 fix(SHA2Engine): cannot use HMACEngine with SHA2Engine #3421 2022-04-18 17:58:31 +02:00
Aleksandar Fabijanic
9c976da830
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
2022-04-16 06:38:55 -05:00
Alex Fabijanic
7ae6b60e9f fix(Any): #3297 #3514 2022-04-13 21:10:56 +02:00
Alex Fabijanic
063520c8ef Merge branch 'poco-1.11.2' into feat/openssl3-1.11.2 2022-04-04 10:20:56 +00:00
Alex Fabijanic
1d4d444e08 chore: cleanup 2022-04-02 05:15:08 -07:00
Günter Obiltschnig
9fac40afa5 #3553: Upgrade bundled zlib to 1.2.12 2022-04-01 21:14:55 +02:00
Günter Obiltschnig
5a0b18246b use tm_gmtoff on Linux 2022-03-28 13:50:31 +02:00
Günter Obiltschnig
c0ea70c2bf remove unused method in Timezone_WIN32.cpp 2022-03-28 13:18:50 +02:00
Günter Obiltschnig
2c15b93dee #2882: another attempt at fixing it that should also work on other platforms 2022-03-28 12:57:16 +02:00
Günter Obiltschnig
6aa29ade17 #3509: fix dst and utcOffset handling for Dublin time zone 2022-03-27 21:25:51 +02:00
Günter Obiltschnig
2ec44c756b #3495: Array::operator[] should not throw 2022-03-27 20:02:50 +02:00
Günter Obiltschnig
292d137909 #3483: Adds Windows 11 and Server 2022 to Environment::osDisplayName() 2022-03-27 19:53:13 +02:00
Julien Olivain
13e2199827 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>
2022-03-25 20:08:22 +01:00
Günter Obiltschnig
2b3662c854 added VS2022 project files 2022-02-19 21:06:24 +01:00
Günter Obiltschnig
6341ec6350 detect ARM64 on Windows 2022-02-19 15:23:03 +01:00
Günter Obiltschnig
7099821df8 #3338: NamedMutex does not work on Linux distributions where fs.protected_regular=1 2022-02-19 11:12:48 +01:00
Günter Obiltschnig
fb4f3c0231 branch off poco-1.11.2 2022-02-07 14:49:51 +01:00
Günter Obiltschnig
50e39b731a upgrade bundled PCRE to 8.45 2021-11-05 19:28:23 +01:00
Günter Obiltschnig
58fd4fcd6a #3425: Fixed suspend/resumeEvents pair in DirectoryWatcher 2021-11-05 15:05:01 +01:00
Günter Obiltschnig
a032f771af #2823: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 2021-11-05 14:58:40 +01:00
Günter Obiltschnig
8bfeb52018 #3377: Correct Poco::Path::configHome() and dataHome() documentation for Windows 2021-11-05 14:26:59 +01:00
Günter Obiltschnig
5902bb1277 #3400: fix std::localtime not thread safe 2021-11-05 13:37:02 +01:00
Günter Obiltschnig
8582ac9493 branch off 1.11.1 2021-11-05 12:30:27 +01:00
Günter Obiltschnig
70da508a79 style/whitespace 2021-06-26 06:30:49 +02:00
Alex Fabijanic
b9b540faff fix(NumericString): Bug in NumericString with decSep != '.' #3159 2021-06-25 21:03:28 +02:00
Günter Obiltschnig
2f33db9053 fix nullptr passed to memcmp/memcpy reported by ubsan 2021-06-24 07:53:22 +02:00
Günter Obiltschnig
230812093b fix nullptr passed to memcmp/memcpy reported by ubsan 2021-06-24 07:49:45 +02:00
Günter Obiltschnig
9017c36884 #3322: remove useless struct 2021-06-23 08:52:41 +02:00
Günter Obiltschnig
106ba6a020 fix SharedPtr::makeSharedArray() [merge from devel] 2021-06-23 08:34:33 +02:00
Günter Obiltschnig
d66acced93 AbstractObserver::accepts() - add optional name parameter 2021-06-23 08:33:45 +02:00
Günter Obiltschnig
7569ccf82b #3318: Data: Support Poco::UUID for data binding 2021-06-19 08:40:49 +02:00
Günter Obiltschnig
9dfda83305 Merge branch 'poco-1.11.0' of github.com:pocoproject/poco into poco-1.11.0 2021-06-17 18:50:04 +02:00
Günter Obiltschnig
08fa87936a fix potential crash in testAsyncNotify: don't delete event object while async notification is still in progress 2021-06-17 18:49:48 +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
Günter Obiltschnig
13e62ef2e2 don't define UNREACHABLE as poco_bugcheck as it triggers 'control reaches end of non-void function' warning 2021-06-17 09:49:37 +02:00
Günter Obiltschnig
08de17cec6 ci 2021-06-16 20:23:19 +02:00
Günter Obiltschnig
1c4b3694a4 investigate failing test 2021-06-16 19:35:59 +02:00
Günter Obiltschnig
b7e7b5b26d investigate failing test 2021-06-16 19:03:21 +02:00
Alex Fabijanic
558324f672 fix(double-conversion): Upgrade bundled double-conversion #3313 2021-06-16 15:52:56 +02:00
Günter Obiltschnig
1c248cd63f fix 'catching polymorphic type by value' warnings 2021-06-16 08:49:11 +02:00
Günter Obiltschnig
0693ff95f7 fix 'catching polymorphic type by value' warnings 2021-06-16 08:47:17 +02:00
Günter Obiltschnig
35a53d8f2d add comment regarding potential UB in AnyTest::testCastToReference() 2021-06-16 08:07:39 +02:00
Günter Obiltschnig
c512a69f3e #3092: add more detailed error description when LoadLibrary fails| 2021-06-15 16:03:06 +02:00
Günter Obiltschnig
19b2c5b415 #3274: Fix localtime_r for VxWorks 6.9 and later 2021-06-15 15:14:11 +02:00
Günter Obiltschnig
01720ce82b #3019: ObjectPool wait on borrow condition fix 2021-06-15 13:30:51 +02:00
Günter Obiltschnig
f6a0ede79a #2825: riscv: Enable double operations when using double float abi 2021-06-15 07:14:14 +02:00
Günter Obiltschnig
38fc5e5833 #3138: Add support of arch riscv32 2021-06-15 07:11:19 +02:00
Günter Obiltschnig
8e5a2c313b #3196: std::forward for Poco::Optional ctor with rvalue 2021-06-14 23:47:51 +02:00
Günter Obiltschnig
06fe07e7ad #3163: Correct Var::parse null value 2021-06-14 23:40:03 +02:00
Günter Obiltschnig
486d788a76 #3278: Fixing no hardware floating point support - Part II 2021-06-14 22:58:09 +02:00
Günter Obiltschnig
d7d39e54b3 #3182 Poco::Process:launch on MacOS BigSur: limit maximum number of file descriptors to close before exec() to 100000 2021-06-14 22:52:37 +02:00
Günter Obiltschnig
7d267378f5 Poco::trim*() code cleanup - use ptrdiff_t instead of int; additional test cases 2021-06-14 21:55:13 +02:00
Günter Obiltschnig
5c2cd1a4ff #3107: remove unused variable 2021-06-14 19:04:29 +02:00
Günter Obiltschnig
97ae6924dd #3130: fix error handling: report original error before close() 2021-06-14 18:59:56 +02:00
Günter Obiltschnig
90be9b0e53 #2906, #2904: Support environments without hardware floating point 2021-06-14 18:50:02 +02:00
Günter Obiltschnig
ee1ad75c2b #3022: fix for WinCE 2021-06-14 17:29:52 +02:00
Günter Obiltschnig
842f2599c0 #3022: Process::isRunning(PID pid) causes handle leak on Windows 2021-06-14 17:25:08 +02:00
Günter Obiltschnig
29dd13c83d bump version to 1.11.0 2021-06-06 14:31:15 +02:00
Günter Obiltschnig
fff8eb6f45 Fix typo: overriden -> overridden 2021-04-14 20:12:17 +02:00
Günter Obiltschnig
a8e11be069 formatting 2021-04-14 19:25:03 +02:00
Günter Obiltschnig
ce7e6eeea0 #3078: Fix typo in the ThreadPool's docs 2021-04-14 19:13:17 +02:00
Günter Obiltschnig
630afde3fd #3086: Use POCO_IOS_INIT_HACK for Linux in combination with libc++ 2021-04-12 20:15:30 +02:00
Günter Obiltschnig
bfe4213f54 #3044: Upgrade PCRE to 8.44 2021-04-11 21:08:18 +02:00
Günter Obiltschnig
53391151d1 PatternFormatter: add %O format specifier 2021-04-11 20:21:28 +02:00
Günter Obiltschnig
c5ee4b1184 #2989: setting priorityNames property on PatternFormatter has no effect 2021-04-11 17:26:13 +02:00
Günter Obiltschnig
0a2a175f8a make URI::getPathSegments() const 2021-04-11 16:37:41 +02:00
Günter Obiltschnig
12d3bf9c75 #2945: Iterating over Var containing empty container throws "Out of range" exception 2021-04-11 16:22:42 +02:00
Günter Obiltschnig
8625b29f9f add AbstractCache::forEach() 2021-04-11 15:58:19 +02:00
Günter Obiltschnig
9e36cea203 fix JSON object formatting and tests 2020-07-29 11:40:40 +02:00
Günter Obiltschnig
7e866396aa remove unnecessary escaping in JSONString 2020-07-29 08:59:44 +02:00
Günter Obiltschnig
75821fc591 create 1.10.2 branch 2020-07-29 08:57:35 +02:00
Daniil Zotkin
908ca6ec68 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.
2020-03-18 17:23:09 +03:00
Günter Obiltschnig
4e92f3c2ab #2922: 1.10 cmake build fails on FreeBSD 11.2 Release 2020-02-16 18:48:31 +01:00
Günter Obiltschnig
d92200c5b7 #2908 improve check whether arg needs to be quoted 2020-02-14 21:16:43 +01:00
Günter Obiltschnig
4de9a21187 make CMake files style (more) consistent 2020-02-14 11:07:32 +01:00
Günter Obiltschnig
4f59aef815 remove non-UTF8 Windows platform support 2020-02-14 09:52:50 +01:00
Günter Obiltschnig
76012717b0 #2908 tests 2020-02-14 09:28:21 +01:00
Günter Obiltschnig
888d8e6fb9 commit missing file 2020-02-14 09:05:38 +01:00
Günter Obiltschnig
1cfe6b0f02 #2908: [Windows] Process arguments quoting is broken. 2020-02-14 09:03:03 +01:00
Günter Obiltschnig
dea91c8105 style fix 2020-02-13 22:08:44 +01:00
Günter Obiltschnig
23da8c21c9 fixed a bug in RefAnyCast causing a crash if the cast is invalid 2020-02-13 21:56:59 +01:00
Günter Obiltschnig
75a86ad868 remove POCO_STATIC 2020-02-12 22:10:01 +01:00
Günter Obiltschnig
29f745ff65 backport #2921 2020-02-12 20:15:02 +01:00
Günter Obiltschnig
4092984256 fix UTF16/UTF32Encoding wrong byte order handling on bigendian 2020-02-08 20:25:00 +01:00
Günter Obiltschnig
ed2f6b813e GH #2909: fix SHA2Engine for big-endian architectures 2020-02-08 16:09:37 +01:00
Günter Obiltschnig
e51449e159 AutoPtr and SharedPtr comparison with nullptr 2020-02-07 18:13:22 +01:00
Günter Obiltschnig
c4bdadffb3 #2787: add queueSize property to the AsyncChannel 2020-02-04 10:53:01 +01:00
Günter Obiltschnig
6e321e6256 #2791: allow pre-allocation of the buffer in LogStreamBuf 2020-02-04 09:45:26 +01:00
Günter Obiltschnig
fafa92d353 #2818: Add getSpecifiedPort() method to URI 2020-02-04 09:06:49 +01:00
Günter Obiltschnig
8d227dc8d3 bump version to 1.10.1 2020-02-04 08:52:26 +01:00
Günter Obiltschnig
d7f3ba9f95 fixed CppUnit includes 2020-01-26 15:18:12 +01:00
Günter Obiltschnig
b6f176f384 fixed CppUnit includes 2020-01-26 13:54:32 +01:00
Günter Obiltschnig
7f071c9171 use correct printf format spec for UIntPtr 2020-01-26 10:32:06 +01:00
Günter Obiltschnig
958387b6ba improved Lambda support 2020-01-26 08:41:22 +01:00
Günter Obiltschnig
701a34f2e7 add additional overloads for Poco::format 2020-01-24 13:42:46 +01:00
Günter Obiltschnig
3ccc2baaf8 updated project files 2020-01-24 10:51:17 +01:00
Günter Obiltschnig
66d96744b1 merged GH #2641: Implement DataURIStream for extracting data from data URIs 2020-01-24 10:41:35 +01:00
Günter Obiltschnig
958ce15bb5 fixed GH #2624: Poco::FileChannel/Poco:LogFileImpl::writeImpl() on Windows should translate \n to \r\n. 2020-01-23 11:26:26 +01:00
Günter Obiltschnig
f7f51b059a fix Buffer move ctor/assignment 2020-01-23 08:14:55 +01:00
Günter Obiltschnig
1cdc77ebc1 fixed GH #2812: String trimInPlace crashes with 0 size on Visual Studio Express 2017 2020-01-22 13:26:29 +01:00
Günter Obiltschnig
0865fcf039 mark some tests as long-running 2020-01-22 13:06:49 +01:00
Günter Obiltschnig
eddcd7664c #2853: make it actually compile 2020-01-22 12:50:47 +01:00
Günter Obiltschnig
15ac1aec08 fixed GH #2853: Poco::Process::launch process environment unicode support is broken on Windows 2020-01-22 12:34:48 +01:00
Günter Obiltschnig
4d0eeb257e fix raw pointer usage 2020-01-22 09:22:35 +01:00
Günter Obiltschnig
924cdf235c GH #2689: Added tryWait() into Process and ProcessHandle. Handle kill()-ed UNIX process exit codes. 2020-01-22 08:23:36 +01:00
Günter Obiltschnig
5f0e0a0374
Merge pull request #2867 from vfjpl/poco-1.10.0
unescape Backslash char in UTF8 unescape method
2020-01-22 08:09:14 +01:00
Günter Obiltschnig
53d4b266eb remove UnWindows.h stuff 2020-01-22 08:01:17 +01:00
Günter Obiltschnig
7f7c2f5484 fixed GH #2772: On iOS real device (not simulator) the home directory is not usable 2020-01-22 06:53:13 +01:00
Günter Obiltschnig
bd3c75293e fixed GH #2824: Poco::Environment missing UTF8/wstring support on Windows 2020-01-21 21:36:08 +01:00
Günter Obiltschnig
2327592bab fixed GH #2217: UUIDGenerator should allow random seed 2020-01-21 21:30:48 +01:00
Günter Obiltschnig
71585b7daa #2152: XDG support 2020-01-21 21:20:35 +01:00
Günter Obiltschnig
2018a698ba fix assignment operator 2020-01-21 19:58:38 +01:00
Günter Obiltschnig
eeb64cc340 fix move ctor/assignment 2020-01-21 19:58:12 +01:00
Günter Obiltschnig
18adb1e43b code cleanup; fix move ctors and assignment 2020-01-21 17:52:43 +01:00
Günter Obiltschnig
0658044260 fixed another issue with backslash handling in Var JSON parsing 2020-01-20 14:40:07 +01:00
Feng Hao
b8320ccb7b fix Dynamic::Var parse string issue 2020-01-20 19:09:22 +08:00
Günter Obiltschnig
6058f5dd23
Merge pull request #2881 from Ludorg/poco-1.10.0
Add an option to force the use of PollingDirectoryWatcherStrategy
2020-01-17 08:34:10 +01:00
Ludovic LIEVRE
15e96159e2 Option to force PollingDirectoryWatcherStrategy
Add an option to force the use of PollingDirectoryWatcherStrategy
Should work on any platform
(Not Linux only)

See previous PR on this topic :
https://github.com/pocoproject/poco/pull/2881

On Linux, inotfy does not work for network volumes (such as NFS).

See https://stackoverflow.com/questions/4231243/inotify-with-nfs

By adding flag POCO_DW_FORCE_POLLING in Foundation/Config.h,
the use of PollingDirectoryWatcherStrategy is forced.

This is not the same behavior as flag POCO_NO_INOTIFY.
This only disables compilation of DirectoryWatcher.
2020-01-15 21:48:36 +00:00
Ludovic LIEVRE
b651764007 Option to force PollingDirectoryWatcherStrategy
Add an option to force the use of PollingDirectoryWatcherStrategy
Should work on any platform
(Not Linux only)

See previous PR on this topic :
https://github.com/pocoproject/poco/pull/2881

On Linux, inotfy does not work for network volumes (such as NFS).

See https://stackoverflow.com/questions/4231243/inotify-with-nfs

By adding flag POCO_DW_FORCE_POLLING in Foundation/Config.h,
the use of PollingDirectoryWatcherStrategy is forced.

This is not the same behavior as flag POCO_NO_INOTIFY.
This only disables compilation of DirectoryWatcher.
2020-01-15 21:38:51 +00:00
Joerg-Christian Boehme
10b99ad95a Set PATH for ProcessTests 2020-01-15 17:03:08 +01:00
Joerg-Christian Boehme
611a455165 Set absolute LD_LIBRARY_PATH in Foundation test 2020-01-15 12:21:23 +01:00
Günter Obiltschnig
a31877372e additional move support for Nullable and Optional 2020-01-15 09:35:59 +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
ca85c2e084 fix CppUnit includes 2020-01-12 20:58:07 +01:00
Günter Obiltschnig
185493a82d fix CMake build of OpenSSL 2020-01-12 11:18:49 +01:00
Günter Obiltschnig
599fa8f24b updated project files 2020-01-12 09:23:55 +01:00
Günter Obiltschnig
4db35d016c remove progen support for Foundation lib and testsuite 2020-01-12 09:04:07 +01:00
Günter Obiltschnig
f63a7bbad5 added SHA2Engine 2020-01-12 08:58:36 +01:00
Günter Obiltschnig
39a0439132 revert Foundation project files 2020-01-11 23:59:05 +01:00
Günter Obiltschnig
6504039434 build fixes 2020-01-11 23:50:16 +01:00
Günter Obiltschnig
fce1f89aff fix CppUnit includes 2020-01-11 22:51:54 +01:00
Günter Obiltschnig
165f5cfd20 re-generated project files 2020-01-11 22:33:28 +01:00
Günter Obiltschnig
79709b72b8 fix project files 2020-01-11 14:01:54 +01:00
Günter Obiltschnig
23c73d325f project files 2020-01-11 13:10:07 +01:00
Günter Obiltschnig
d4ee76de33 fix projects 2020-01-11 13:07:11 +01:00
Günter Obiltschnig
27a3812264 project files 2020-01-11 13:02:52 +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
7872c35324 remove POCO_WIN32_UTF8 2020-01-10 15:58:16 +01:00
Günter Obiltschnig
c7c6871c4a Android requires POCO_INT64_IS_LONG 2020-01-10 14:31:17 +01:00
Günter Obiltschnig
59898cd3c2 remove old VS project files 2020-01-10 14:26:36 +01:00
Ludovic LIEVRE
42629d1ed4 add an option to force the use of PollingDirectoryWatcherStrategy on Linux 2020-01-10 09:54:19 +00:00
Günter Obiltschnig
c462b76b08 Merge branch 'poco-1.10.0-modernize' of github.com:pocoproject/poco into poco-1.10.0-modernize 2020-01-09 18:51:04 +01:00
Günter Obiltschnig
b7ad1f6c3a fixed mix of raw and smart pointers 2020-01-09 18:50:50 +01:00
Guenter Obiltschnig
f7fc4a239f fixed more issues discovered while testing on Linux 2020-01-09 17:43:31 +00:00
Günter Obiltschnig
aa46e9b6e4 fixed type overloads 2020-01-09 18:02:29 +01:00
Günter Obiltschnig
03d1dd9822 fixes for macos/clang 2020-01-09 11:53:03 +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
50e9d35c3c remove deprecated std::pointer_to_unary_function 2020-01-04 11:28:24 +01:00
Kacper Piwiński
29de485a46 unescape Backslash char in UTF8 unescape method 2019-12-16 22:43:40 +01:00
Günter Obiltschnig
9c197e0ed1 finally get rid of std::auto_ptr 2019-12-15 09:40:40 +01:00
Günter Obiltschnig
56fe4eaf97
Merge pull request #2842 from KevDi/feature/FileFailOnOverwrite
File fail on overwrite
2019-12-09 08:37:33 +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
KevDi
fa20e056dd Changed Options Check in remaining File Impl Classes 2019-11-30 13:38:03 +01:00
KevDi
f6f8ef8681 Merge branch 'feature/FileFailOnOverwrite' of github.com:KevDi/poco into feature/FileFailOnOverwrite 2019-11-30 13:21:34 +01:00
KevDi
7f3271f1d0 Changes 2019-11-30 13:21:23 +01:00
Jan Kevin Dick
0a9525044d Added Fix to put Options inside the File Impl Classes 2019-11-27 14:44:55 +01:00
Jan Kevin Dick
9daaec4ec0 Updated Comments and fixed bug within the Unix File Implementation 2019-11-26 14:10:32 +01:00
Jan Kevin Dick
3424ee7bc8 Merge branch 'feature/FileFailOnOverwrite' of https://github.com/KevDi/poco into feature/FileFailOnOverwrite 2019-11-26 13:04:49 +01:00
Jan Kevin Dick
d5a25f2053 Added the Options Enum advice. 2019-11-26 13:03:43 +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
KevDi
936441df93 Fixed missing failOnOverwrite check 2019-11-18 18:43:34 +01:00
KevDi
6c662bfb4a Fixed File on Unix to pass the Rename Tests 2019-11-18 18:24:36 +01:00
Jan Kevin Dick
8b4ef5f706 Fixed wrong method parameter 2019-11-18 13:59:34 +01:00
Jan Kevin Dick
1eab6cfd1f Refactor 2019-11-18 13:34:02 +01:00
Jan Kevin Dick
062a662cd8 Added Tests 2019-11-18 13:33:49 +01:00
Jan Kevin Dick
4e734553b3 Added FailOnOverwrite to File Class 2019-11-18 13:06:43 +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
Brice Gros
22c3ae8d30 allow to select long tests to be run from cmdline 2019-10-18 15:09:38 +02:00
Francis ANDRE
f4b4187d0a By default on Windows with VS, Poco should use the internaly compiled OpenSSL from the openssl directory 2019-09-02 15:38:28 +02:00
Günter Obiltschnig
b4fd25c620 fixed exception messages if writing to output stream fails 2019-08-23 20:55:19 +02:00
Günter Obiltschnig
aec24aa4f7
Merge pull request #2766 from dukeru/support_QNX_SDP7
Support qnx sdp7
2019-08-19 08:41:16 +02:00
Günter Obiltschnig
325cfcb3c2 added SharedLibrary::setSearchPath() 2019-08-17 10:04:48 +02:00
Joerg-Christian Boehme
2637aa6610 Remove POCO_NO_AUTOMATIC_LIBS
POCO_NO_AUTOMATIC_LIBSis relevant only for Windows and should not be set.
It is used to automatically link the byside symbol file of each DLL
produced. It could be set on a user basis to avoid this automatic link.
2019-08-13 09:43:17 +02:00
Dooeui
61a49ccb98 Fix build error for QNX SDP7.0
- Use statvfs instead of statfs
2019-08-10 21:27:42 +09:00
Alexander Galanin
5cd9f65704 epoll() is absent on AIX (fix whitespace indent) 2019-07-10 14:11:27 +03:00
Alexander Galanin
8af21cb8cb epoll() is absent on AIX 2019-07-10 14:11:19 +03:00
Günter Obiltschnig
067ac73cc9 testsuite: assert() -> assertTrue() 2019-07-01 18:01:05 +02:00
Günter Obiltschnig
12897d3d63 fixed GH #2738: Poco::AccessExpireStrategy::onGet() must not extend expiration time after expiration 2019-07-01 17:51:38 +02:00
Günter Obiltschnig
9a8ab0858f include version resource in DLLs built with CMake 2019-06-24 15:39:06 +02:00
Günter Obiltschnig
5ba6ec6885 fixed GH #2700: Invalid read of memory in Poco::Environment::set which may cause crashes. 2019-06-22 18:19:22 +02:00
Günter Obiltschnig
ee5a7269c3 fixed GH# #2712: File_WIN32.cpp(168): error C2065: “_upath”:Undeclared identifier 2019-06-22 13:44:25 +02:00
Günter Obiltschnig
5a5028fe6d Merge branch 'poco-1.10.0' of github.com:pocoproject/poco into poco-1.10.0 2019-06-12 15:41:09 +02:00
Günter Obiltschnig
dee86fbbfe bumped version to 1.10.0 2019-06-12 15:40:52 +02:00
Transporter
edb8bed56d Copy of pr #2694 for poco-1.10.0 including fix for #2718 2019-06-12 14:10:21 +02:00
Joerg-Christian Boehme
e1435a6620
Fix cross-compilation against Poco pre-built (#2599) (#2679)
* Use ZLIB and PCRE imported target to improve portability
* Set EXPAT and SQLite3 library for XML and SQL if POCO_UNBUNDLED is true in cmake build
2019-04-22 23:47:11 +02:00
Joerg-Christian Boehme
02d5743a4b
Fix check of cmake version (#2672)
Verify cmake version in Foundation library build.
2019-04-08 13:11:30 +02:00
Günter Obiltschnig
da7de5e586 Merge branch 'poco-1.9.1' of github.com:pocoproject/poco into poco-1.9.1 2019-03-17 09:59:22 +01:00
Günter Obiltschnig
b961ea8148 added start() method that takes a Poco::SharedPtr to a Runnable 2019-02-23 13:46:54 -05:00
Francis ANDRE
63f819fc6d Remove printing PATH
Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>
2019-02-10 17:25:25 +01:00
Francis ANDRE
90de6442c1 Merge remote-tracking branch 'pocoproject/poco-1.9.1' into poco-1.9.1 2018-10-20 01:08:43 +02:00
Francis ANDRE
4d7c1bd4c0 # WARNING: head commit changed in the meantime
Merge remote-tracking branch 'pocoproject/poco-1.9.1' into poco-1.9.1
2018-10-20 01:05:20 +02:00
Joerg-Christian Boehme
eec8dedbb8
Merge cmake changes from develop (#2504)
* Increase PostgreSQL version number

* Take changes from develop for Define Platform Specific cmake

* Take changes from develop for find MySQL modul

* Take changes from develop for find ODBC modul

* Cleanup standard language compile features

* Fix cmake compile features

* Improve to find ODBC on windows

* Enable 64-bit build on AppVeyor

* Switch MySQL off on AppVeyor because of error LNK2038: mismatch detected for _MSC_VER: value 1800 doesnt match value 1900

* Move LCC define to MySQL
2018-10-18 07:07:46 +02:00
Francis ANDRE
d2f164e4d1 Remove the prefix './' for Linux so that TestApp be anywhere 2018-10-11 19:23:54 +02:00
Francis ANDRE
cee1d25535 Update for Linux 2018-10-11 19:23:00 +02:00
Francis ANDRE
1eaf51dcdb Merge remote-tracking branch 'pocoproject/poco-1.9.1' into poco-1.9.1 2018-10-11 18:29:47 +02:00
Francis ANDRE
d316f9e1de Remove the "./" prefix for building the name of the TestApp executable.
Factor the name build in the SetUp method.
2018-10-10 16:56:06 +02:00
Francis ANDRE
9ea3493038 Update PATH with TestApp for the unittest Foundation:ProcessTest 2018-10-10 16:54:39 +02:00
Joerg-Christian Boehme
85b9fe7a21
Fix cmake build on FreeBSD (#2476)
* Fix cmake build on FreeBSD
2018-10-10 13:48:08 +02:00
Francis ANDRE
3e242f741a Fix update PATH with the TestApp directoy for ProcessTest 2018-10-05 15:31:16 +02:00
Francis ANDRE
4cd077101b Fix PATH for RunTestExecutable 2018-10-03 19:42:00 +02:00
Francis ANDRE
302d5b741f Use ':' as path separator 2018-09-30 16:58:53 +02:00
Francis ANDRE
4850dc134a Add TestApp.exe path to PATH for running ProcessTest 2018-09-30 16:44:28 +02:00
Francis ANDRE
7de5b1a776 Reformat 2018-09-28 16:31:45 +02:00
Francis ANDRE
4dbb2aa78d Cleanup 2018-09-28 15:48:15 +02:00
Francis ANDRE
0224849d9c Dump Crypto/guild/tmp/linkCryptoLinux64DebugSharedLibrary/* 2018-09-26 10:47:12 +02:00
Francis ANDRE
d7c18656f1 Remove wrong dependencies from TestApp 2018-09-25 14:40:17 +02:00
Francis ANDRE
3a4244fa0b Merge branch 'poco-1.9.1' of https://github.com/pocoproject/poco.git into poco-1.9.1 2018-09-22 21:15:16 +02:00
Francis ANDRE
ed07b476c8 Add TestLibrary as dependancy 2018-09-22 20:28:04 +02:00
Joerg-Christian Boehme
a7f9ebe116
Fix static build in cmake (#2455)
* Fix cmake build issue when poco build as static lib with enabled tests

* Cleanup compile flags output in cmake

* Some minor improvements in cmake
2018-09-22 12:02:05 +02:00
Günter Obiltschnig
43f1d5617a Merge branch 'poco-1.9.1' of github.com:pocoproject/poco into poco-1.9.1 2018-09-13 08:30:29 +02:00