Commit Graph

91 Commits

Author SHA1 Message Date
Matej Kenda
5bbd542b6b fix(Crypto): Prevent stdin password prompt when loading protected key (#4627) (#5128) 2025-12-18 17:25:30 +01:00
Matej Kenda
3a6f5b8f12 enh(Crypto,NetSSL): Drop support for OpenSSL < 1.1.1 (#3739) 2025-12-18 10:56:41 +01:00
Matej Kenda
7addcfbc81 fix: Resolve compiler warnings across multiple modules 2025-12-17 18:06:59 +01:00
Matej Kenda
8a4a2955d5 Use nullptr in C++ code (solves #4348) (#5043)
* chore(CppParser): 0, NULL --> nullptr

* chore(Crypto): 0, NULL --> nullptr

* chore(DNSSD): 0, NULL --> nullptr

* chore(Encodings): 0, NULL --> nullptr

* chore(CppUnit): Correct indentation.

* chore(Foundation): 0, NULL --> nullptr

* chore(CMake): Always warn about wrong nullptr usage when compiling with GCC or CLang

* chore(Net): 0, NULL --> nullptr

* chore(Foundation): 0, NULL --> nullptr

* chore(Data): 0, NULL --> nullptr

* chore(macOS): 0, NULL --> nullptr

* chore(XML): 0, NULL --> nullptr

* chore(Zip): 0, NULL --> nullptr

* chore(Util): 0, NULL --> nullptr

* chore(Net/NetSSL): 0, NULL --> nullptr

* chore(Bonjour): 0, NULL --> nullptr

* chore(MongoDB, Redis): 0, NULL --> nullptr

* chore(Poco): 0, NULL --> nullptr

* chore(Win32): 0, NULL --> nullptr

* chore(CMake): Only warn about nullptr when verbose warnings are enabled.

* Potential fix for code scanning alert no. 1634: Guarded Free

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* chore(Net): Fix warning reported by gitlab.

* chore(gitlab CI): attempt to clean to gain disk space on the runner.

* chore(gitlab CI): Run build with  --parallel 4, correct docker cleanup.

---------

Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-10-30 15:20:53 +01:00
Matej Kenda
f24547cdcf enh(Poco): Mark deprecated functionality with C++ attributes and resolve internal usage of deprecated functions (#4551)
* enh(poco): Replace deprecated comments with C++ deprecated attribute.

* enh(Poco): Replace some deprecated functionality in Poco sources. (#4426)

* enh(Poco): Replace more deprecated functionality in Poco sources. (#4426)

* fix(CMake): Variable BUILD_SHARED_LIBS must be defined properly to create valid binaries.

* enh: Code improvements done while resolving deprecated functionality (#4426)

* Un-deprecate LocalDateTme (#4426)

* enh(Poco): Replace usage of deprecated functionality with other functions/classes (#4426)

* chore(SSL): temporarily un-deprecate SSL-related functionality (#4426)

* chore(SSL): temporarily un-deprecate old MongoDB protocol functionality (#4426)

* enh(Poco): Minor Hash improvements (#4426)

* enh(Foundation): Compile deprecated hash tests only when POCO_TEST_DEPRECATED is enabled (#4426)

* enh(Net): Compile deprecated Socket::select functionality only when POCO_TEST_DEPRECATED is enabled (#4426)

* enh(Bonjour): Replace deprecated Socket::select with PollSet (#4426)

* enh(Poco): Introduce POCO_DEPRECATED macro to have the ability to disable deprecation warnings in applications (#4426)

* test(ODBC): add few asserts to testStoredProcedureDynamicVar

* fix(ODBC): rename DynamicAny -> DynamicVar in tests

* fix(ODBC): make Dignostics static members inline to prevent explicit instantiation warnings on windows

---------

Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
2024-07-29 08:37:35 +02:00
Günter Obiltschnig
cd22900a37 enh(build): vcpkg support, cleanup/consistency 2024-04-03 09:20:14 +02:00
Matej Kenda
843ed4345e gcc/clang (-fvisibility=hidden): corrections to compile and work properly (#4394)
* fix(ActiveRecord): missing ActiveRecordLib_API definitions for clang/gcc.

* fix(FPEnvironment): export FPEnvironmentImpl classes (#4393, #3331)

* fix(Crypto): export *Impl classes used from inlines (#4393, #3331)

* fix(Dynamic): explicitly instantiate and export Dynamic::Struct for string and int (-fvisibility=hidden) (#4393, #3331)

* fix(JSON): explicitly instantiate and export SharedPtr for JSON::Array and JSON::Object (-fvisibility=hidden) (#4393, #3331)

* enh(CMake): Set symbol visibility to hidden (#4393, #3331)

* enh(configure): user c++17 standard for iphone, Darwin and ARM-Linux.

* fix(UTF): explicitly instantiate and export 16 and 32-bit strings (-fvisibility=hidden) (#4393, #3331)

* fix(RecordSet): make Extraction.h internal and instantiate RecordsSet::column template functions only for supported types. (-fvisibility=hidden) (#4393, #3331)

* fix(UTF): fix explicitly instantiation on Windows (-fvisibility=hidden) (#4393, #3331)

* enh(CMake): Add github jobs for macOS with visibility set to hidden (#4393, #3331)

* fix(CppParser): Add missing declarations for CppParser_API (#4393, #3331)

* enh(CMake): Enable more options in github jobs for macOS with visibility set to hidden (#4393, #3331)

* fix(MongoDB): Add missing MongoDB_API (#4393, #3331)
2024-01-17 14:13:24 +01:00
Alex Fabijanic
92b3bb5455 fix(Crypto): some ASAN errors (still probem with bignum alloc) 2023-10-16 15:28:56 +02:00
Günter Obiltschnig
0bf69ab832 fix haveLegacyProvider for OpenSSL < 3 2023-07-11 07:00:35 +02:00
Günter Obiltschnig
4c1e83b8e8 Don't throw if OpenSSL legacy provider is not available. Add OpenSSLInitializer::haveLegacyProvider() to check for legacy provider. 2023-07-10 17:02:49 +02:00
micheleselea
ead93baadf EVPPKey constructor for modulus/exponent (#4025)
* Create EVPPkey from modulus and exponent

Add constructor for creating EVPPkey (RSA) using modulus and exponent

* Add EVPPKey constructor for modulus/exponent

* Add testEVPKeyByModulus

* fix test for mudulus

* Update EVPTest.cpp
2023-06-20 22:46:43 -05:00
Alex Fabijanic
05598faab8 fix(OpenSSLInitializer): SIGABRT in OSSL_PROVIDER_unload with static OpenSSL3 #3698 2022-07-19 18:03:14 +02:00
Alex Fabijanic
0817b256b5 fix(): Linking Crypto-testrunner fails #3688 2022-07-18 13:05:51 +02:00
John Vandenberg
0e6e16645c Remove trailing whitespace (#3668) 2022-07-07 04:18:20 -05:00
Aleksandar Fabijanic
168f1eb6e2 As of C++11, std::swap is noexcept. #2386 (#3645)
* As of C++11, std::swap is noexcept. #2386

* fix(Any): remove throw on swap

* fix(Any): As of C++11, std::swap is noexcept. #2386

* fix(Any): make size const #2386

* fix(SimpleRowFormatter): clang won't compile noexcept #2386

* a couple of arm fixes

* fix(Any): As of C++11, std::swap is noexcept. #2386

* fix(AnyTest): local() for POCO_NO_SOO# 2386

* test(RSACipher): RSA encryption without private key #2367

* chore(RSACipherTest): delete ciphers #2367
2022-06-28 12:14:36 -05:00
Alex Fabijanic
0903810e58 feat(Cipher): No access to padding in Cipher #3374 2022-06-24 00:04:28 +02: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
7b051851b6 merge 1.11.2 2022-04-16 21:10:45 +02:00
Günter Obiltschnig
e99f4fd31a #3563: Remove support for OpenSSL < 1.0 2022-04-16 08:05:12 +02:00
Günter Obiltschnig
720dbe1262 #3562: fixed OpenSSL setup/shutdown 2022-04-15 17:22:01 +02:00
Alex Fabijanic
e6afb8749c feat(Envelope): Add envelope to crypto #3561 2022-04-13 10:02:05 +00:00
Alex Fabijanic
45c456653f 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.
2022-04-09 18:55:26 +00:00
Günter Obiltschnig
b158f90381 disable OpenSSL deprecation warnings 2022-04-02 10:21:55 +02:00
Günter Obiltschnig
6341ec6350 detect ARM64 on Windows 2022-02-19 15:23:03 +01:00
Günter Obiltschnig
11ffdc7807 manually merge #3448, part 1 (Crypto) 2022-02-07 17:00:45 +01: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
f5de69b854 #3260: Memory leak in EVPPKey::loadKey used with files & wrong password 2021-06-15 14:43:21 +02:00
Günter Obiltschnig
aa32399e26 #3307: Poco::Crypto::X509Certificate: obtain certificate fingerprint 2021-06-15 14:36:57 +02:00
Günter Obiltschnig
46ef044d7b #3224: Remove SSL23 support from Poco/Crypto 2021-06-15 13:38:37 +02:00
Günter Obiltschnig
0f49493d0e remove raw pointer interfaces 2020-01-23 09:50:36 +01:00
Günter Obiltschnig
18adb1e43b code cleanup; fix move ctors and assignment 2020-01-21 17:52:43 +01:00
Günter Obiltschnig
e1f09a602b cleanup and modernization 2020-01-10 12:20:30 +01:00
Günter Obiltschnig
9c197e0ed1 finally get rid of std::auto_ptr 2019-12-15 09:40:40 +01:00
Günter Obiltschnig
df4cb29ea5 provide OPENSSL_VERSION_PREREQ if not defined by OpenSSL; fix SLPro OpenSSL library names for 64bit 2019-08-16 22:30:19 +02:00
Günter Obiltschnig
6c828018df added JWT library 2019-07-30 11:19:49 +02:00
Günter Obiltschnig
27335031e1 fixed GH #2380: Calling Poco::Net::X509Certificate::addChainCertificate() leads to double free. 2019-06-22 18:11:05 +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
Günter Obiltschnig
66fafef3e4 fix SLPro OpenSSL auto linking for POCO_DLL 2018-08-17 18:26:03 +02: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
Günter Obiltschnig
826dc92fda style and doc fixes 2018-03-06 23:13:07 +01:00
Günter Obiltschnig
e7d2b4593a fix for OpenSSL 1.0 2018-03-06 22:58:14 +01:00
Günter Obiltschnig
943595c937 GH #2129: Add support for AES-GCM ciphers 2018-03-06 22:53:27 +01:00
Günter Obiltschnig
e19f33351d add additional cipher modes 2018-03-06 19:46:24 +01:00
Aleksandar Fabijanic
a4c744fdba fix #endif comment 2018-01-29 18:43:25 -06:00
Alex Fabijanic
8f2ecfccef openssl VS projects modifications 2018-01-29 09:22:45 -06:00
Guenter Obiltschnig
c672c14e5a remove duplicate files and remaining Id headers 2017-11-10 09:26:24 +01:00
Alex Fabijanic
210bc6d30c add X509 version, serialNumber and signatureAlgorithm 2017-09-29 18:20:10 -05:00
Alex Fabijanic
4c4de6b7fb add PKCS12 CA-cert friendly names extraction 2017-09-28 20:50:30 -05:00
Alex Fabijanic
8fff0cf586 fix incomplete EC key creation from curve name; make sure tests use curves that exist; add validation checks on EC key creation 2017-09-28 14:42:50 -05:00
Alex Fabijanic
ba5af017cc remove unneeded include and duplicate declaration 2017-09-27 21:56:40 -05:00