From d92200c5b782b358990166fc79d0fdd200780d40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnter=20Obiltschnig?= Date: Fri, 14 Feb 2020 21:16:43 +0100 Subject: [PATCH 1/6] #2908 improve check whether arg needs to be quoted --- Foundation/src/Process_WIN32U.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Foundation/src/Process_WIN32U.cpp b/Foundation/src/Process_WIN32U.cpp index 2a553fd90..078872642 100644 --- a/Foundation/src/Process_WIN32U.cpp +++ b/Foundation/src/Process_WIN32U.cpp @@ -164,17 +164,26 @@ bool ProcessImpl::mustEscapeArg(const std::string& arg) { bool result = false; bool inQuotes = false; + bool escaped = false; for (char c: arg) { - if (Poco::Ascii::isSpace(c) && !inQuotes) + if (Poco::Ascii::isSpace(c) && !inQuotes && !escaped) { result = true; break; } - else if (c == '"') + else if (c == '"' && !escaped) { inQuotes = !inQuotes; } + else if (c == '\\' && !escaped) + { + escaped = true; + } + else + { + escaped = false; + } } return result || inQuotes; } From 3b14ae5ec8a6ae87df5a5f5170e15616e8e82169 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnter=20Obiltschnig?= Date: Sun, 16 Feb 2020 18:29:03 +0100 Subject: [PATCH 2/6] new x509 cert for sample --- .../samples/HTTPSTimeServer/any.pem | 92 +++++++++---------- 1 file changed, 42 insertions(+), 50 deletions(-) diff --git a/NetSSL_OpenSSL/samples/HTTPSTimeServer/any.pem b/NetSSL_OpenSSL/samples/HTTPSTimeServer/any.pem index 37d97c850..c556a3ee8 100644 --- a/NetSSL_OpenSSL/samples/HTTPSTimeServer/any.pem +++ b/NetSSL_OpenSSL/samples/HTTPSTimeServer/any.pem @@ -1,54 +1,46 @@ -----BEGIN CERTIFICATE----- -MIIEFjCCAv6gAwIBAgIBAjALBgkqhkiG9w0BAQUwgdMxEzARBgNVBAMMCmFwcGlu -Zi5jb20xNjA0BgNVBAoMLUFwcGxpZWQgSW5mb3JtYXRpY3MgU29mdHdhcmUgRW5n -aW5lZXJpbmcgR21iSDEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxEjAQBgNVBAgMCUNh -cmludGhpYTELMAkGA1UEBgwCQVQxHjAcBgNVBAcMFVN0LiBKYWtvYiBpbSBSb3Nl -bnRhbDEtMCsGCSqGSIb3DQEJAQweZ3VlbnRlci5vYmlsdHNjaG5pZ0BhcHBpbmYu -Y29tMB4XDTA5MDIyMzEzNDIwMloXDTExMTEyMDEzNDIwMlowgcoxCjAIBgNVBAMM -ASoxNjA0BgNVBAoMLUFwcGxpZWQgSW5mb3JtYXRpY3MgU29mdHdhcmUgRW5naW5l -ZXJpbmcgR21iSDEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxEjAQBgNVBAgMCUNhcmlu -dGhpYTELMAkGA1UEBgwCQVQxHjAcBgNVBAcMFVN0LiBKYWtvYiBpbSBSb3NlbnRh -bDEtMCsGCSqGSIb3DQEJAQweZ3VlbnRlci5vYmlsdHNjaG5pZ0BhcHBpbmYuY29t -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxjGFE96wa83Kdiv0m10O -XmBmZ5xuclalVTCisLzUmAekbItMjkmI6dVw9r5gd0W5zDWrgPYUmYgtvqnxSHRK -PRAN410Yq9vqWYvQscpnXGlqUag8t+OBXJhiFnnea/btA0zGVZk6RE/7cWK8AtKH -Q/Xds3AUJ1L/1uV/e/5azyUDyptsmHbCMUwWhGBrj/KZEviHmRMN/xJLrbIBPkla -4HRB61rI8in0jziCwThJ7KiQumzWRu2IJjS+VoNWvG52dYLDvfxppuY1rlF0SG/h -JuSJQqJjZZ11V4TePHscFkGU2tnHqF4UhSjLFJWsGuxnAmZTeIRmavmIIMm3/G6C -WwIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQAc+mn/ZEaK59B/UAgx8cMlGM9UigJv -L9O46pno3YirBq9SrMzf5b6rrbJm8tkQNfldqaVNA5oVbfxnAHhCUDkX8m0x/De8 -teo9nFei8kETQ25ykV+WLapOdrYxakHPtNVgDTGWNb2GY/hH3nMvtdgFvaS80ncD -tOa13tE4jopFQFY56VKq+sv4Hm5JDvr+dD/g77Cio02sUzSH96FrFIG5/kw1NihB -IJKZ4n7atQizDe4TiR/NRonmZNbsB+18yTKT8traCS30JGKQqYxXuVKPyQd7FARv -ajZxRPbcpAtvWBKXpRHXo4xIBJaPktVOG2hGovjRixXYb83hQ87t1Ozy +MIIDCTCCAfGgAwIBAgIJAN0ddIFQWmpmMA0GCSqGSIb3DQEBCwUAMDExGzAZBgNV +BAoMElBPQ08gQysrIExpYnJhcmllczESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIw +MDIxNjE3MjEzMloXDTMwMDIxMzE3MjEzMlowMTEbMBkGA1UECgwSUE9DTyBDKysg +TGlicmFyaWVzMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQDOoN7IXuV2kFeeIb78L5TuZpDqFxUMSiZJkj87Ej7yvlEe +rjOo3z7NB7+Mi06o/OZ3fBeeEhzka+TkAlDR3VLzdVr9i3NTKTztQoTaY0KjKEh0 +DWUdAvYtBrz95HQqTQpayfSx83IjrUHoqnq1BTF6RTgmhQJCKkqeDcRq/DF6keYh +MXMwDa5hx5OzdSAfkRGhSX9y4M671wwM2JG66/1olIgjZJhBFEpD/NMn1FRQFgGH +WVBKUpitiMjXP3o6Uo21j3h6PYXHmfGaj4vcCahzAfgsfDjes1b2KsGo8aXBKu/v +8kSP/ZhCcY6gwM1rX2I2wg5Yk/psHGQG3pzydGfVAgMBAAGjJDAiMAsGA1UdDwQE +AwIE8DATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEASvDm +VzUvoy9yxOrVClNIOpD1vQVJcEHU8X/tx5EjZKVW67XJtwTtBssE70j7aD/Ev8/Q +Al+EfY5KZ770D2HUX6qDHXqRzoPCxe4mWlGB0Du9sWWNwJzUQO4Yt3XizI8jgKQJ +qyFLE5RC5rVEAC8eBPxcmPlXZ8+IrI31fj6NbEjmVrg7vZeg21kOvk4u9aiK4/tU +jrGRkz1/MNfA7Z6mJXmnLGwr4CzKLXHe58Zi88fUW1y631xTkaoxvYUK0yQB9/pD +LtG0LdcafJR294sErmb4YVvyH9BpJOKH/BmiYqDDKDiJeNytcScKJ4d3r5Ey4HSg +ftk2AVM/l/XOkXcOjw== -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,0950752701CB74AF - -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 -----END RSA PRIVATE KEY----- From 4e92f3c2abde0e122aedbb49374042066160a658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnter=20Obiltschnig?= Date: Sun, 16 Feb 2020 18:48:31 +0100 Subject: [PATCH 3/6] #2922: 1.10 cmake build fails on FreeBSD 11.2 Release --- Foundation/include/Poco/Types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Foundation/include/Poco/Types.h b/Foundation/include/Poco/Types.h index 8ff310ebd..6489a6f9c 100644 --- a/Foundation/include/Poco/Types.h +++ b/Foundation/include/Poco/Types.h @@ -49,7 +49,7 @@ using UIntPtr = std::uintptr_t; #if defined(__LP64__) #define POCO_PTR_IS_64_BIT 1 #define POCO_LONG_IS_64_BIT 1 - #if POCO_OS == POCO_OS_LINUX || POCO_OS == POCO_OS_ANDROID + #if POCO_OS == POCO_OS_LINUX || POCO_OS == POCO_OS_FREE_BSD || POCO_OS == POCO_OS_ANDROID #define POCO_INT64_IS_LONG 1 #endif #endif From 647d37086719bf752139d6ee430c66523196e406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnter=20Obiltschnig?= Date: Sun, 16 Feb 2020 19:48:34 +0100 Subject: [PATCH 4/6] updated changelog --- CHANGELOG | 1 + doc/99100-ReleaseNotes.page | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 6d818640c..4db3a86f7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -19,6 +19,7 @@ Release 1.10.1 (2020-02-10) - GH #2894: Poco 1.10.0 doesn't build with cmake & POCO_UNBUNDLED - GH #2920: Close Service Handle after DeleteService Function call - GH #2919: Fixed Crash in WinService::setFailureActions +- GH #2922: 1.10 cmake build fails on FreeBSD 11.2 Release - MySQL: resetting the session when putting it back into a SessionPool is now optional (and disabled by default) due to a bug in MySQL messing up the character encoding when doing so. - Poco::AutoPtr and Poco::SharedPtr now support comparison with nullptr. diff --git a/doc/99100-ReleaseNotes.page b/doc/99100-ReleaseNotes.page index bde75f4bb..1c635b109 100644 --- a/doc/99100-ReleaseNotes.page +++ b/doc/99100-ReleaseNotes.page @@ -21,6 +21,7 @@ AAAIntroduction - GH #2894: Poco 1.10.0 doesn't build with cmake & POCO_UNBUNDLED - GH #2920: Close Service Handle after DeleteService Function call - GH #2919: Fixed Crash in WinService::setFailureActions + - GH #2922: 1.10 cmake build fails on FreeBSD 11.2 Release - MySQL: resetting the session when putting it back into a SessionPool is now optional (and disabled by default) due to a bug in MySQL messing up the character encoding when doing so. - Poco::AutoPtr and Poco::SharedPtr now support comparison with nullptr. From 4a45cfe05b455915a778c4ac7813fad237a3b1a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnter=20Obiltschnig?= Date: Sun, 16 Feb 2020 19:52:01 +0100 Subject: [PATCH 5/6] FreeBSD build config now uses clang --- build/config/FreeBSD | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/build/config/FreeBSD b/build/config/FreeBSD index 9be16adfa..c851bf3a6 100644 --- a/build/config/FreeBSD +++ b/build/config/FreeBSD @@ -1,8 +1,7 @@ # # FreeBSD # -# Make settings for FreeBSD 6.0/gcc 3.4 -# +# Make settings for FreeBSD 12.x/clang # # @@ -13,14 +12,14 @@ LINKMODE ?= SHARED # # Define Tools # -CC = gcc -CXX = g++ +CC = clang +CXX = clang++ LINK = $(CXX) LIB = ar -cr RANLIB = ranlib SHLIB = $(CXX) -shared -Wl,-soname,$(notdir $@) -o $@ SHLIBLN = $(POCO_BASE)/build/script/shlibln -DEP = $(POCO_BASE)/build/script/makedepend.gcc +DEP = $(POCO_BASE)/build/script/makedepend.gcc STRIP = strip SHELL = sh RM = rm -rf @@ -36,7 +35,7 @@ SHAREDLIBLINKEXT = .so # # Compiler and Linker Flags # -CFLAGS = +CFLAGS = CFLAGS32 = CFLAGS64 = CXXFLAGS = @@ -61,9 +60,9 @@ RELEASEOPT_LINK = -O2 # # System Specific Flags # -SYSFLAGS = -D_REENTRANT -D_THREAD_SAFE +SYSFLAGS = -D_REENTRANT -D_THREAD_SAFE # # System Specific Libraries # -SYSLIBS = -lpthread +SYSLIBS = -lpthread From f472d3ae5291aee04e6819b22ba2f6498fd9838a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnter=20Obiltschnig?= Date: Sun, 16 Feb 2020 19:58:55 +0100 Subject: [PATCH 6/6] use TLS_CLIENT_USE instead of CLIENT_USE --- NetSSL_OpenSSL/samples/download/src/download.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NetSSL_OpenSSL/samples/download/src/download.cpp b/NetSSL_OpenSSL/samples/download/src/download.cpp index 9f7b64075..5a1604718 100644 --- a/NetSSL_OpenSSL/samples/download/src/download.cpp +++ b/NetSSL_OpenSSL/samples/download/src/download.cpp @@ -79,7 +79,7 @@ int main(int argc, char** argv) // Note: we must create the passphrase handler prior Context SharedPtr ptrCert = new ConsoleCertificateHandler(false); // ask the user via console - Context::Ptr ptrContext = new Context(Context::CLIENT_USE, "", "", "rootcert.pem", Context::VERIFY_RELAXED, 9, false, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"); + Context::Ptr ptrContext = new Context(Context::TLS_CLIENT_USE, "", "", "rootcert.pem", Context::VERIFY_RELAXED, 9, false, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"); SSLManager::instance().initializeClient(0, ptrCert, ptrContext); try