310 Commits

Author SHA1 Message Date
Aleksandar Fabijanic
bd09152aff feat(ODBC): nix shells for mssql and oracle #5144 (#5145)
* feat(ODBC): nix shells for mssql and oracle #5144

* fix(cmake): not using cppignore #5146

* fix(Data/ODBC): Improve Nix CI container startup and debugging

Oracle (oracle.nix):
- Add --shm-size=1g for Oracle container (requires 1GB shared memory)
- Add container state verification before exec commands
- Add proper error handling with container log output on failure
- Add pre-flight checks in build_and_test to verify container running
- Add Podman environment info for CI debugging
- Add progress indicators during Oracle startup wait
- Exit with error in CI mode if container fails to start

MSSQL (mssql.nix):
- Add ODBCINSTINI environment variable
- Add sync command to flush ODBC configs to disk
- Add odbcinst verification commands

Temporarily disable all ci except nix #5144

* try newer oracle version

* use ubuntu 24.04 for nix ci (podman related)

* chore(c): restore ci.yml

* Update Data/ODBC/oracle.nix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update Data/ODBC/oracle.nix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update Data/ODBC/mssql.nix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update Data/ODBC/oracle.nix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(odbc): verify oracle downloads #5144

* chore(doc): update nix documentation #5144

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-05 05:13:58 +01:00
Matej Kenda
1461ec618b fix: Resolve compiler warnings and fix potential bugs (#5130) 2025-12-22 15:27:11 +01:00
Matej Kenda
3a6f5b8f12 enh(Crypto,NetSSL): Drop support for OpenSSL < 1.1.1 (#3739) 2025-12-18 10:56:41 +01:00
Aleksandar Fabijanic
03dedff47e 5069 missing dll (#5071)
* fix(SharedLibrary): Missing DLLs not reported #5069

* fix(CMake): not producing proper binary names #5070

* fix(SharedLibrary): disable shared lib tests in static build #5069

* fix(misc): add pdjson links to gitignore, remove unused var in SharedLibrary, harden TaskManagerTest

* fic(ci): separate oracle and sqlserver odbc (out of disk space) (#5075)

* fic(ci): separate oracle and sqlserver odbc (out of disk space)

* use oracle odbc driver

* use oracle free

* ad db user

* postpone adding user after build

* remove default tablespace (does not exist)

* reinstate all ci jobs

* add postgresl odb tests to ci

* remove spurious syminks

* fix gitignore (pdjson)

* Remove VS projects #5076

* chore: revert leftover ODB IP address

* fix(CodeQL): float comparison alerts

* fix: compile errors

* chore: upgrade asan to macos-14 (tryout)

* fix(CI): Github macos-13 runner is deprecated, use macos-15-intel to run tests on Intel macOS

---------

Co-authored-by: Matej Kenda <matejken@gmail.com>
2025-12-09 02:04:50 +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
317ce8aae8 CMake minimal build and dependencies (#5013) 2025-09-06 13:34:59 +02:00
Günter Obiltschnig
057a5294a3 fix(NetSSL): NetSSL_OpenSSL: non-blocking functions return value #4906 2025-03-22 18:58:08 +01:00
Günter Obiltschnig
fd8322e771 fix(NetSSL): SecureSocketImpl::currentSession() regression since 1.12.4 #4882 2025-02-27 20:59:29 +01:00
Rajendra Singh
1facbebb62 Fixes crashes for openssl 1.0.x (#4878)
Fixes crash for openssl 1.0.x

#fixes #4877
2025-02-22 17:44:19 +01:00
Günter Obiltschnig
8d1aab0d27 Merge pull request #4863 from pocoproject/fix-sendFile
Fix StreamSocket::sendFile()
2025-02-08 19:05:46 +01:00
Günter Obiltschnig
47a77751fb fix(tests): another attempt at fixing the flaky testSendFile*() 2025-02-08 18:04:36 +01:00
Günter Obiltschnig
db88e0ec00 fix(test): fix flaky test 2025-02-08 15:20:14 +01:00
Günter Obiltschnig
a1abf9659d enh(Net): additional tests for StreamSocket::sendFile() 2025-02-08 13:02:43 +01:00
Günter Obiltschnig
66c1d30bb4 enh(Net): StreamSocket::sendFile() takes additional count parameter 2025-02-08 12:57:24 +01:00
Günter Obiltschnig
1319f31e6e fix(cmake): project name typo 2025-02-08 10:45:42 +01:00
Günter Obiltschnig
605baa13d2 fix: OpenSSL: Need to add openssl/applink.c to Windows executables using OpenSSL #4864 2025-02-08 10:29:31 +01:00
Günter Obiltschnig
3d8040bb17 fix(tests): remove unused variables 2025-02-07 20:43:28 +01:00
Günter Obiltschnig
6fb0debd71 chore: add test for sendFile() 2025-02-07 18:42:17 +01:00
Günter Obiltschnig
24fba7b77c fix(NetSSL): Incorrect setting of ciphersuites for TLSv1.3 #4610 2024-12-01 10:10:06 +01:00
Günter Obiltschnig
0eb2e1b3b3 fix(NetSSL): handle EWOULDBLOCK when calling SSL_shutdown() 2024-11-28 08:19:45 +01:00
Günter Obiltschnig
1811f2f35c fix(NetSSL): shutdown behavior 2024-11-28 08:19:45 +01:00
Günter Obiltschnig
ea4b07a77d fix(tests): CodeQL issues 2024-11-16 21:54:16 +01:00
Günter Obiltschnig
a106ebd1f1 fix(tests): CodeQL warnings 2024-11-16 20:06:59 +01:00
Günter Obiltschnig
c95ac60a6e fix: data race in test 2024-11-16 20:00:48 +01:00
Günter Obiltschnig
6b2a8abd96 chore: fix tests 2024-11-16 18:05:10 +01:00
Günter Obiltschnig
a4159b1723 chore(NetSSL): msvc project files 2024-11-16 17:23:44 +01:00
Günter Obiltschnig
bf09be3f33 fix(NetSSL): Non-blocking sockets support #4773 2024-11-16 16:50:38 +01:00
Aleksandar Fabijanic
c4f66d5188 fix(OpenSSL) Openssl DH key size (#4753)
* Fixed incorrect SSL_CTX_set0_tmp_dh_pkey() usage

* fix(OpenSSL): use DH group enum

* fix(IPAddress): windows scoped test, part II #4644

* fix(OpenSSL): fuzz errors #4663

* chore: remove misplaced comment

---------

Co-authored-by: Peter Klotz <peter.klotz99@gmail.com>
2024-11-11 19:01:00 +01:00
Aleksandar Fabijanic
c156f0b357 fix(HTTPSClientSession): There is no way to resolve host in advance and connect to HTTPS server with SNI. #4395 (#4751) 2024-11-05 20:46:42 +01:00
Aleksandar Fabijanic
59afdc2c04 fix(NetSSL): Incorrect setting of ciphersuites for TLSv1.3 #4610 (#4752) 2024-10-31 01:12:51 +01:00
Matej Kenda
c038b52f36 chore(Poco): Resolve a lot of warnings, reported by g++ 13. 2024-10-10 10:41:24 +02: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
c8bb5b8cac chore(build): re-generated VS project files 2024-04-03 12:33:13 +02:00
Günter Obiltschnig
cd22900a37 enh(build): vcpkg support, cleanup/consistency 2024-04-03 09:20:14 +02:00
Günter Obiltschnig
04ef2698b1 chore(build): vcpkg dependencies 2024-04-03 08:42:20 +02:00
Günter Obiltschnig
68d12fdd52 fix(NetSSL): SecureSocketImpl::peerCertificate() should just return certificate, not verify it 2024-04-03 07:51:55 +02:00
Aleksandar Fabijanic
ece360393f 4435 secure sock thread (#4512)
* fix(SecureSocket): Refactor detection of timeout when reading, writing or handshaking. (#3725)

* enh(SecureSocket): some trivial C++17 modernisation changes.

* chore: indentation and compiler warning

* fix(SecureSocketImpl): not thread-safe (1st attempt) #4435

* fix(SecureSocketImpl): silence CodeQL cpp/certificate-not-checked

---------

Co-authored-by: Matej Kenda <matejken@gmail.com>
2024-04-02 18:53:42 +02:00
Matej Kenda
8d3de8a5ed fix(SecureSocket): Reset does not close socket, it is closed in dtor. (#4415) 2024-03-29 19:09:28 +01:00
Matej Kenda
47a4db37e5 fix(CI): cmake: add simple client and server only when source files exist. 2024-03-29 15:34:17 +01:00
Alex Fabijanic
78c9dd1879 fix(CI): cmake can't find files 2024-03-29 08:54:28 -05:00
Matej Kenda
7efa7b7edc fix(NetSSL test): add missing includes. 2024-03-29 11:23:21 +01:00
Matej Kenda
6bff0307d3 test(WebSocket): simple ping/pong WebSocket client and server. (#2631) 2024-03-28 16:04:29 +01:00
Matej Kenda
482c066307 fix(SecureSocket): Refactor detection of timeout when reading, writing and handshaking (#4510)
* fix(SecureSocket): Refactor detection of timeout when reading, writing or handshaking. (#3725)

* enh(SecureSocket): some trivial C++17 modernisation changes.

* chore: indentation and compiler warning

---------

Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
2024-03-27 00:29:58 +01:00
Günter Obiltschnig
37e17092ff chore: fix vs project files 2024-02-19 22:29:26 +01:00
Aleksandar Fabijanic
499a7d35f9 fix(build): regenerate VS projects #4453 2024-02-14 00:25:14 +01:00
Aleksandar Fabijanic
c7d16b2a7e 4368 oracle odbc tests (#4410)
* feat(format): Add string_view format type spec #4409

* chore(Types): add demangle

* fix(Data): Oracle failing ODBC tests #4368

* fix some CQL and fuzz warnings; add Var::typeName()

* fix(build): -std=c++17 and c11

* fix windows build

* fix(Foundation): test apps vs projects c++17

* chore(build): remove uneeded compiler flag

* fix(VarHolder): number of digits range check for int->float conversion (reported by CIFuzz)

* fix(test): CIFuzz

* fix(CIFuzz): another attempt

* fix(progen): add LanguageStandard (stdcpp17, stdc11); regenerate vs170 projects

* fix(CiFuzz): add int->float precision loss barrier; fix erroneous number of digits logic

* enh(Var): silent loss of precision on int->float conversion #4423

* enh(Var): silent loss of precision on int->float conversion #4423

* chore(build): remove old build files

* chore: fix missing parens warning

* enh(Thread_POSIX): prevent double-joining; add error description to exceptions

* fix(Data): unresolved Column<long> linkage in test

* fix(demangle): determine type name from template parameter; add eror diagnostic for demangling failures

* chore(buildwin): remove old vs versions from build and progen scripts; update documentation

* chore(buildwin): remove leftover closing curly
2024-01-31 22:07:07 +01:00
Matej Kenda
db5a8a7112 fix(SSLManager): Fixed regression introduced in PR #4103, fixes #4421 2024-01-31 10:50:21 +01:00
Günter Obiltschnig
d5a5ebc2d7 enh: #3890: Get rid of SingletonHolder 2024-01-30 09:56:27 +01:00
Matej Kenda
287befc4a3 fix(test): lock std:cerr to prevent data race in TCP server tests (reported by clang thread sanitizer) #4313 2024-01-05 22:57:53 +01:00
Kari Argillander
d1d557a4f7 Remove vs140 and vs150 project files
As we now only support C++17 these does not make much sense to keep.
2023-12-18 17:26:13 +01:00