Commit Graph

952 Commits

Author SHA1 Message Date
Aleksandar Fabijanic
309aff3579
Revert "avoid clang tidy warning (#3646)" (#3648)
This reverts commit b23488d6fe.
2022-06-27 05:44:52 -05:00
JackyWoo
b23488d6fe
avoid clang tidy warning (#3646) 2022-06-27 01:57:20 -05:00
Alex Fabijanic
ae00f1c8eb fix(NumberFormatter): Negative precision in NumberFormatter::format() #2511 2022-06-24 09:59:30 +02:00
Alex Fabijanic
b93713087d fix(strToInt): thousand separator regression #3580 2022-06-23 00:09:55 +02:00
Alex Fabijanic
284a141432 fix(strToInt): overflows #3580 2022-06-22 23:13:39 +02:00
Alex Fabijanic
6a97657df8 feat(Timespan): Add std::chrono support #2576 #2623 2022-06-22 14:25:07 +02:00
Alex Fabijanic
5cbe30e199 fix(NumberParser): Rounds very large negative numbers to the incorrect values #3580 2022-06-22 12:12:30 +02:00
Romain Geissler @ Amadeus
3e563492ef
Fix some clang 10 -Wsign-compare warnings (#2960)
In file included from /data/mwrep/res/osp/Poco/JSON/20-0-0-0/include/Poco/JSON/Object.h:22:
In file included from /data/mwrep/res/osp/Poco/JSON/20-0-0-0/include/Poco/JSON/Array.h:23:
In file included from /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/Dynamic/Var.h:26:
In file included from /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/Dynamic/VarHolder.h:22:
In file included from /data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumberFormatter.h:22:
/data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumericString.h:220:31: error: comparison of integers of different signs: 'unsigned long' and 'char' [-Werror,-Wsign-compare]
                                if ((limitCheck - result) < add) return false;
                                     ~~~~~~~~~~~~~~~~~~~  ^ ~~~
/data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumericString.h:229:31: error: comparison of integers of different signs: 'unsigned long' and 'char' [-Werror,-Wsign-compare]
                                if ((limitCheck - result) < add) return false;
                                     ~~~~~~~~~~~~~~~~~~~  ^ ~~~
/data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumericString.h:240:31: error: comparison of integers of different signs: 'unsigned long' and 'char' [-Werror,-Wsign-compare]
                                if ((limitCheck - result) < add) return false;
                                     ~~~~~~~~~~~~~~~~~~~  ^ ~~~
/data/mwrep/res/osp/Poco/Foundation/20-0-0-0/include/Poco/NumericString.h:249:31: error: comparison of integers of different signs: 'unsigned long' and 'char' [-Werror,-Wsign-compare]
                                if ((limitCheck - result) < add) return false;
                                     ~~~~~~~~~~~~~~~~~~~  ^ ~~~
4 errors generated.
2022-06-21 11:01:05 -05:00
Alex Fabijanic
15e242b4bc fix(Platform): MinGW also defines __GNUC__. #3195 2022-06-21 17:57:09 +02:00
Alex Fabijanic
6dc79c05f9 fix(URI): Decoding URI query parameters ( ::getQueryParameters) incompatible with Spring 5 #2619 2022-06-21 06:04:46 +02:00
JackyWoo
4938185ff0
FifoBuffer.advance method not throw exception when length==0 (#3641)
* fifobuffer not throw error when length = 0

* Update FIFOBuffer.h

fix indentation

Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
2022-06-20 15:09:40 -05:00
Alex Fabijanic
dc201ade08 fix(format): scope 2022-06-19 18:54:24 +02:00
junwufan
283321a11d
fix warning C4717: 'format<std::vector<std::any,std::allocatorstd::an… (#3640)
* fix warning C4717: 'format<std::vector<std::any,std::allocatorstd::any > >': recursive on all control paths, function will cause runtime stack overflow

* keep origin format.
2022-06-19 11:45:38 -05:00
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
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
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
Maksim Kita
fe59436763
HTTPDigestCredentials added support for RFC7616 algorithms (#3026) 2022-05-29 21:52:39 -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
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
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
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
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
6341ec6350 detect ARM64 on Windows 2022-02-19 15:23:03 +01:00
Günter Obiltschnig
fb4f3c0231 branch off poco-1.11.2 2022-02-07 14:49:51 +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
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
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
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
22eb76d3ae #3302: MSVC: Poco hides warnings (C4996) for the C++14 attribute [[deprecated]] 2021-06-17 18:20:29 +02:00
Günter Obiltschnig
01720ce82b #3019: ObjectPool wait on borrow condition fix 2021-06-15 13:30:51 +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
486d788a76 #3278: Fixing no hardware floating point support - Part II 2021-06-14 22:58:09 +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
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
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
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
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
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
4f59aef815 remove non-UTF8 Windows platform support 2020-02-14 09:52:50 +01:00
Günter Obiltschnig
888d8e6fb9 commit missing file 2020-02-14 09:05:38 +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
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
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
66d96744b1 merged GH #2641: Implement DataURIStream for extracting data from data URIs 2020-01-24 10:41:35 +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
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
53d4b266eb remove UnWindows.h stuff 2020-01-22 08:01:17 +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
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
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
Günter Obiltschnig
a31877372e additional move support for Nullable and Optional 2020-01-15 09:35:59 +01:00
Günter Obiltschnig
185493a82d fix CMake build of OpenSSL 2020-01-12 11:18:49 +01:00
Günter Obiltschnig
f63a7bbad5 added SHA2Engine 2020-01-12 08:58:36 +01:00
Günter Obiltschnig
6504039434 build fixes 2020-01-11 23:50:16 +01:00
Günter Obiltschnig
c7c6871c4a Android requires POCO_INT64_IS_LONG 2020-01-10 14:31:17 +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
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
Günter Obiltschnig
9c197e0ed1 finally get rid of std::auto_ptr 2019-12-15 09:40:40 +01:00
KevDi
fa20e056dd Changed Options Check in remaining File Impl Classes 2019-11-30 13:38:03 +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
d5a25f2053 Added the Options Enum advice. 2019-11-26 13:03:43 +01:00
Jan Kevin Dick
4e734553b3 Added FailOnOverwrite to File Class 2019-11-18 13:06:43 +01: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
325cfcb3c2 added SharedLibrary::setSearchPath() 2019-08-17 10:04:48 +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
dee86fbbfe bumped version to 1.10.0 2019-06-12 15:40:52 +02:00
Günter Obiltschnig
b961ea8148 added start() method that takes a Poco::SharedPtr to a Runnable 2019-02-23 13:46:54 -05:00
Alex Fabijanic
d69c5b64de POCO Net build fails with clang-cl 6.00 on Windows #2428 2018-08-15 12:26:24 -05:00
Günter Obiltschnig
e6b5288735 add support for auto-linking SLpro or OpenSSL default build OpenSSL libs 2018-08-15 08:39:48 +02:00
Aleksandar Fabijanic
231ef2762d
Preserve entries order in DynamicStruct #2410 (#2413)
* Preserve entries order in DynamicStruct #2410

* disable C++11 default

* ifdef C++11 code
2018-08-01 08:06:59 -07:00
Aleksandar Fabijanic
142bbdcef3
add ordered containers (#2408)
* add ordered containers

* move ordered_map_util.h to its proper place

* add acknowledgement
2018-07-27 07:33:25 -07:00
Alex Fabijanic
ff262d6c5f make DynamicStruct::toString() const 2018-07-26 18:47:01 -05:00
Alex Fabijanic
256b6855fa increase tuple sizes to 40 2018-07-06 21:44:29 -05:00
Alex Fabijanic
00abd06f75 Tuple assignment very slow #2383 2018-07-06 21:44:02 -05:00
Alex Fabijanic
98fd0b4124 increase TypeList max size to 40 2018-07-05 11:26:49 -05:00
Alex Fabijanic
312dc3325b add struct tm support to DateTime #2365 2018-06-12 09:54:35 -05:00
Aleksandar Fabijanic
577fb5756e
Why does Poco explicitly define _WIN32_WINNT? #2306 (#2357) 2018-06-06 17:44:40 -05:00
Alex Fabijanic
d02294a67f force NaN not infinity on windows (consistent with std and other platforms) 2018-06-05 00:42:40 -05:00
Alex Fabijanic
d7a98bf403 remove global scope for int types 2018-06-03 16:19:19 -05:00
Alex Fabijanic
b30683fd6d backport NumericString from develop (fixes #2250) 2018-06-03 13:52:25 -05:00
Aleksandar Fabijanic
c4e676d36d
Feature net udp (#2347)
* add PMTU discovery #2329

* add socket gather/scatter capabilities #2330 (win, udp)

* enable WSAPoll

* add FastMemoryPool

* add receiveFrom() with native args

* allow copying of StringTokenizer

* add AtomicFlag and SpinlockMutex

* update .gitignore

* UDPServer and client #2343 (windows)

* fix warnings

* fix warnings

* regenerate Net VS solutions

* regenerate CppUnit projects/solutions

* clang fixes

* gcc fixes

* try to fix travis

* more travis fixes

* more travis fixes

* handle UDPClient exception

* fix makefiles and init order warnings

* add UNIX gather/scatter sendto/recvfrom implementations and tests

* run travis tests as sudo

* try to run tests as sudo, 2nd attempt

* fix warning

* use mutex in reactor

* lock-order-inversion in SocketReactor #2346

* add PMTU discovery #2329 (linux)

* ICMPSocket does not check reply address #1921

* remove some ignored tests

* add PMTU discovery #2329 (reconcile logic with #1921)

* fix native receiveFrome()

* reinstate ignoring of proxy errors

* add testMTU to ignore list

* add include atomic

* NTPClient not checking reply address #2348

* some ICMP/MTU fixes

* UDPSocketReader cleanup

* resolve some socket inheritance warnings

* add NTP time sync to ignored tests

* SocketNotifier not thread-safe #2345

* prevent x64 samples build attempt for win32

* build TestApp and Library

* fix ICMP tests

* regen VS projects

* regen VS projects and add missing 2012 files

* remove debug prints
2018-06-02 14:02:33 -05:00
Francis ANDRE
e241c282ef Fix missing #endif 2018-05-06 22:01:34 +02:00
Francis ANDRE
26fa1b9e6b Support of arch riscv64 by Manuel A. Fernandez Montecelo
<mafm@debian.org>
2018-05-06 12:35:07 +02:00
Alex Fabijanic
ea38cdb740 Use PollSet in SocketReactor #2092 (linux) 2018-05-04 13:32:22 -05:00
zosrothko
d6d27036d2 PocoDoc fixes 2018-04-17 20:45:08 +02:00
Günter Obiltschnig
3283f53cf5 updated version 2018-03-07 14:28:19 +01:00
Günter Obiltschnig
f36827f5ce fixes for WEC2013 2018-03-07 12:46:02 +01:00
Günter Obiltschnig
3f75fd539f #1545: Merge partition space information methods from develop 2018-03-06 18:46:48 +01:00
Günter Obiltschnig
0d3c3ce4d4 fixed GH #2106: Undefined behavior in Delegate::equals() 2018-03-06 18:26:49 +01:00
Günter Obiltschnig
7eb1325bba style fixes 2018-03-05 15:05:04 +01:00
Joerg-Christian Boehme
73897b4357 Add POCO_OS_ANDROID as platfrom definitons (#2186)
* Add POCO_OS_ANDROID as platform definition

* Ignore test big ping when its failing
2018-02-26 19:18:45 -06:00
Günter Obiltschnig
de0f5a6b76 #2172: Add Poco::AutoPtr::reset() and Poco::SharedPtr::reset() 2018-02-21 17:48:36 +01:00
Günter Obiltschnig
488d8e05c2 fix doc typos 2018-02-17 20:53:49 +01:00
Günter Obiltschnig
5f5a358c5b bump version to 1.9.0 2018-02-17 10:39:51 +01:00
Günter Obiltschnig
f1cd23b71b fixed doc typos 2018-02-13 21:38:39 +01:00
Günter Obiltschnig
260aee9b04 Merge branch 'poco-1.8.2' of https://github.com/pocoproject/poco into poco-1.8.2 2018-02-13 21:32:34 +01:00
Günter Obiltschnig
6ed085f288 fixed doc typos; changed maximum sequence length to 4 2018-02-13 21:32:17 +01:00
Björn Schramke
43c44aacbb add Windows compliant implementation of XDG Base Directory Specification 2018-02-13 08:12:56 -06:00
Björn Schramke
b59329034f add some methods to Poco::Path for make it easy to follow XDG Base Directory Specification 2018-02-13 08:07:45 -06:00