Commit Graph

93 Commits

Author SHA1 Message Date
Joerg-Christian Boehme
b1715f90b2 Fix ctest execution in AppVeyor (#2514)
* Test

* Fix execution of ctest in AppVeyor

* Revert "Test"

This reverts commit d50863c1da1757d15e8e9d058cd5a887dabfcd38.

* Use internal/embedded openssl on windows

* Fix apache connector build findings

* Fix appveyor

* Use openssl embedded for windows

* Improve windows embedded openssl checkout

* Test openssl embedded cmake

* Cleanup cmake

* Switch of NetSSLWin. Needs to fix

* Fix copy of embedded openssl

* Fix set correct windows path environment

* Remove path environment for windows

* Comment out AsyncChannel test on windows. Its chrashing

* Commont out async test

* Commont in async test

* Add ChannelTest::testAsync to cppunit ignore

* Remove CppUnit ignore for testasync

* Fix NetSSL_WIN test

* Improve travis script

* Fix source path in travis cmake build

* Fix travis cmake build

* Fix cmake source path in travis

* Change to ninja for faster build

* Fix test from cmake build
2019-01-02 10:40:40 -06:00
Lyashenko Arsenii Maksimovich
0379a1e768 MinGW support (#2360)
* Add MinGW support (not full yet).

TODO list:
* Fix tests compilation (undefined reference to CppUnit::...)
* Fix SQLs compilation (No rule to make target '${LIBNAME}.dll.a', needed by '${LIBNAME}.dll'.  Stop.)
* Fix crypto executables compilation
* Test static compilation
* Test MSVC compilation
* Add unicode support

See pocoproject/poco#2356

* Code rearrange.

Also fix PDF test runner.

TODO list:
* Fix tests compilation (undefined reference to CppUnit::...)
* Add unicode support
* Resolve what to do with message compiler

See pocoproject/poco#2356

* Normal "_DLL" definition for MinGW. Add missing "Crypto_API" for several implementations. Add "POCO_NO_MINGW_UNICODE" for "wmain".

TODO list:
* Check PostgreSQL and MySQL
* Resolve what to do with message compiler

See pocoproject/poco#2356

* Test PostgreSQL. Fix message compiler problem.

See pocoproject/poco#2356

* Perform requested changes. Add WinCE check.

See pocoproject/poco#2360

* Perform requested changes #2. Delete WinCE check.

See pocoproject/poco#2360

* Perform requested changes #3. Net initializer should works now.

See pocoproject/poco#2360

* Fix invalid indent.

See pocoproject/poco#2360

* Correct definition of POCO_NO_MINGW_UNICODE.

See pocoproject/poco#2360

* Remove macro and set global linke flags for testing purpose

* Add -municode for mingw where wmain is used

* Delete "POCO_ENABLE_EXE_WMAIN". Add PollSet support.

See pocoproject/poco#2360

* Restore WinCE linker flags. Set _WIN32_WINNT in PollSet.cpp separately. Add var to disable MinGW wmain wrapper.

* Fix compilation.

* Fix missing argument name in functions "setEscapeUnicode" in JSON package.
2018-06-19 08:17:03 -07:00
Joerg-Christian Boehme
8a70ab8a1c Cleanup cmake build system (develop) to use transitive dependency management from cmake (#2322)
* Cleanup cmake Root CMakeLists.txt

* Cleanup cmake targets

* Add find openssl modul for older cmake version

* set proper scope

* Switch off make based builds in travis and appveyor

* Fix build break, set C11 on c file

* Set from C11 to C99

* Fix NetSSL win build

* Set C99 compile features

* Fix Windows build

* Fix windows build

* Revert "Fix windows build"

This reverts commit 678d44216bd964f61655df809efbf63ddd8a7bfd.

* Cleanup poco unbundle definition

* Fix PDF build

* Remove unused set affinity

* Add _AFXDLL as target compile definitions

* Refactor add_definitions to target_compile_definitons in Util

* Refactor add_definitions to target_compile_definitons in XML

* Remove THREADSAFE in data sql cmake build

* Refactor add_definitions to target_compile_definition in cmake mysql

* Refactor add_definitions to target_compile_definition in cmake odbc

* Refactor add_definitions to target_compile_definition in cmake sqlite

* Refactor add_definitions to target_compile_definitions in platform specific cmake

* Add _DEBUG as compile definition

* Add build dependencies between Foundation-testrunner and TestApp, TestLibrary in cmake build

* cleanup LIB_MODE_DEFINITIONS in cmake buld system

* Fix broken merge

* Fix android foundation test

* Fix old redis build version

* Fix android fondation test

* Cleanup target link libraries.

* Update cmake documentation

* Some fixese in crypto and netssl for win and some cleanup an SQL

* Minor fix in root CMakeList.txt

* Squashed commit of the following:

commit df050b56b6d81eaf9bdb37bb016fe9a3554eba4f

    Fix build dependecies in cmake

* Squashed commit of the following:

commit f41ce2bb404e197ff04b1e64f7b66c9a2b1e03c8

    Fix PostgreSQL build

* Squashed commit of the following:

commit b7da0deed67ffff23a8b7a50d6deff1e022b2577

    Set db hostnames

* Update doc

* Update cmake build commands

* Set public on target link libraries in cmake build

* Fix broken cppunit merge
2018-06-03 11:19:00 -05:00
zosrothko
b3d107de94 Replace assert by assertTrue (#2242)
* Update Nuget packaging

* Split a single Nuget package into 2: x86/x64 because its size is greater
than 250Mb, which is the upper limit of Bintray

* CppUnit/Test.h: Rename assert by assertTrue

* Restore poco_assert

* leave old assert for backward compatibility

* add undef

* remove whitespace

* Display PocoDic.ini

* Fix CppUnit includes path

* Delete TestCaller.h

* Create dependencies
2018-03-26 06:56:33 -06:00
Timothy Brackett
43cbd82b7f Fix #1241 Rename CMAKE Variables to allow grouping (#1437)
* Add macro to map ENABLE_* variables provided on CMake command-line to POCO_ENABLE_* variables.

* Properly map ENABLE_* values to POCO_ENABLE_* variables instead of assuming ON
2018-03-26 07:13:54 +02:00
Joerg-Christian Boehme
d90dca6865 Improve cmake build to find openssl and fix windows build (#2120)
* Improve cmake build. Use cmake to find openssl and set proper dependencies to internal openssl.
2018-03-11 22:17:21 +01:00
Günter Obiltschnig
da8ad649ae merge GCM fixes from 1.9 2018-03-06 23:12:08 +01:00
Alex Fabijanic
948e8950a3 RSAKeyImpl #2201 2018-03-05 20:04:25 -06:00
Joerg-Christian Boehme
a834aad0b1 Add android build on travis (#1981)
* Add build for android in travis CI.

* Fix review findings. Change from __ANDORID__ to POCO_ANDROID

* Add android test

* Fix compile issue after rebase

* Ignore test big ping when its failing
2018-03-05 22:02:40 +01:00
zosrothko
5fa3d6094e Backport of pocoproject/feature-gradle to pocoproject/develop (#2127)
* Backport of feature-gradle

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>

* Replace '/' by '\' to comply with DOS path

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>

* Cleanup

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>

* Put environment setting at the Exec task.

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>

* Use standard release

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>

* Updated mkdoc configuration

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>

* Remove lines guarded by POCO_ENABLE_CPP11

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>

* Merge remote-tracking branch 'origin/develop' into develop

* Fix NuGet & Wix input dependencies file set.

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>

* Remaining fixes for Data2SQL switch.

* Use $global:LastExitCode instead of a local LastExitCode
2018-02-09 08:05:15 -06:00
Alex Fabijanic
e3e2277171 update VS projects for unified openssl dir name 2018-01-29 10:41:40 -06:00
Aleksandar Fabijanic
b49ac67225 Data2sql (#2070)
* remove leftover progen files

* remove Data sources and turn headers into forwards

* add SQL files #2059

* Data2sql: adjust Travis, AppVeyor & Makefiles (#2069)

* Replace Data by SQL

* Replace Data by SQL

* Replace Data by SQL

* Replace Data by SQL

* fix header forwarding

* Data2sql: Fixes for complete Travis CI success (#2071)

* Replace Data by SQL

* Replace Data by SQL

* Replace Data by SQL

* Replace Data by SQL

* Replace Data by SQL

* Restore DataFormatException

* Replace Data by SQL

* Replace Data by SQL

* Replace Data by SQL

* Replace Data by SQL

* construct RowFilter from RecordSet reference instead of pointer

* pass Container ref instead of ptr to Column

* elimitate g++ warnings

* SQL: remove raw pointers from interfaces #2094; add constness and move ops where appropriate

* tidy up Postgres

* ODBC fixes
2018-01-18 11:29:28 -06:00
Scott Talbert
d962ffc81b Fix EVPTest on RHEL/Fedora by removing hard-coded EC curve name (#2002)
RHEL/Fedora seem to have a much more limited set of EC curves available by
default.  This change will instead use the first curve name as used in other
places.
2017-11-15 20:29:56 -06:00
Aleksandar Fabijanic
151304135e purge trailing whitespace (#1947) 2017-10-20 15:37:19 -05:00
Alex Fabijanic
6e69babf2e add some elliptic curve utility functions 2017-09-29 20:51:12 -05:00
Alex Fabijanic
9bf32f1e81 add script to print system openssl version 2017-09-29 17:44:09 -05:00
Alex Fabijanic
6121d55819 add X509 version, serialNumber and signatureAlgorithm 2017-09-29 13:45:56 -05:00
Alex Fabijanic
43ee77f315 add PKCS12 CA-cert friendly names extraction 2017-09-28 20:32:41 -05:00
Alex Fabijanic
528b5d615a 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 15:17:15 -05:00
Alex Fabijanic
378548fc33 backport changes from 1.8 branch 2017-09-27 22:27:21 -05:00
Alex Fabijanic
b014fa429f read/write list of X509 certificates 2017-09-26 22:16:37 -05:00
Alex Fabijanic
ddbe53e1d0 EVPPKey == operator; PKCS12 copy/move 2017-09-26 14:40:04 -05:00
Aleksandar Fabijanic
238306a6ed C++11 support #1793 (#1795)
* * C++14 detection
* C++14 RWLock (disabled: std::shared_timed_mutex has separate read and write unlock)

* * C++11 Event - disable because
std::condition_variable nas no built-in concept of reset
std::condition_variable may be unblocked spuriously, must handle?

* * Fix std::condition_variable handling

* * C++11 semaphore

* * Use Semaphore max paramater

* * Implement manual reset Event and re-enable
* Disable std semaphore, C++ doesn't have native semaphore, better to use native ones for now

* * C++11 Thread (in progress)

* * Fix auto reset event

* * std::*mutex with timeout doesn't guarantee that the timeout will be respected
* Thread in unix has special member for signal handling

* * Workaround for AppleClang lack of thread_local

* * C++11 format

* * C++11 Logger

* * Fix Poco::format

* * std::function event delegate

* * Fix StdFunctionDelegate for GCC

* * C++11 move semantics

* * Fix format test

* * Add cpp11_changes files

* * Auto detect compiler C++11/14 support
* Option to force disable C++11/14

* * GCC/Clang need to enable C++11/14 support via command line switches

* * Fixes for VS2013 C++11 support

* * Makefile C++11/14 compiler detection (in progress)

* * Simple GCC version detection

* AppleClang version detection

* Fix gcc c++11 build script
Update c++11 status document

* Use predefined constant instead of --version

* Fix CC & CXX to gcc 4.8 for all matrix rows.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Restore apt-get update -qq

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Display g++ version and full g++ command line

* Fix typo

* Use command line/environment variables for CC & CXX

* Display GCCVERSION

* Use $(CXX) for setting GCCVERSION

* Do not use <cstdint>, otherwise NumberFormatter wo'nt compile

* restore silent mode on make

* Use predefined constants __clang_major__ and __clang_minor__

* Reverse clang++ options

* Add c++11/14 detection

* -std=c++14 is not valid for clang 3.4

* Run tests for both gcc 4.6 & gcc 4.8

* Restore Apple clang setup

* Align setup of std=c++11 from CLANGVERSION with check of clang version in Platform_POSIX.h

On Linux ubuntu at Travis, clang 3.4 does not support std=c++14

* Add OSX run with clang

* Add forgetted Linux guard on install

* Display clang's predefined constants on OSX

* Comment out Apple temporarly

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* export CC & CXX for OSX

* Test when clang is from Apple

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Remove typo

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Align test with comment

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Add Cygwin-clang

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Install CppUnit for running the unit tests on OSX. 

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Looking for libCppUnit.1.dylib

* Install libCppUnit*.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Exclude Redis for OSX. To be restored later on.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Remove some display lines

* Reenable tests

* Add run tests on cmake build with ctest -VV

* Split runtests.sh into ignored.sh and excluded.sh. ignored.sh will be
used for excluding tests from ctest.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Add ignored.sh to exclude CPPUNIT_IGNORE test on ctest

* Set proper path

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Exclude Data* from CTest. Run tests on ARM

* Add POCO_BASE for tests using test files under $POCO_BASE/component/testsuite

* Replace MB by KB otherwise Travis & AppVeyor are timing out.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Specialize runtests.sh & excluded.sh according to OSX or Linux

* Split OSX/Linux runtests.sh

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Removed invalid comment

* Make runtests.sh executable

* c++11 atomic<> default constructor is never initialized

* Initialize to 0 in any case.

* Comment out set -ev for now

* Comment out set -ev for now

* reset verbose mode

* reset verbose mode

*  catch SIGPIPE as returnfrom testrunner to avoid failure in networking tests

* Use source for export ignored tests to avoid the permission denied problem

* chmod 775

* Apply patches from @RangeIReale

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Add cpp11-appleclang

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Initialize AtomicCounter to 0 since the c++11 default constructor don't
do it.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* avoid SIGPIPE on send

* fix WbeSocketServer

* Remove SIGPIPE workaround

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Fix WebSocketServer

* Restore set -ev

* Restore set -ev

* Fix WebSocketServer responding loop

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Cleanup the exit test.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Add important comment.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Copy also cpp11-* so that mkrelease works!

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Avoid PocoDoc preprocessisng error.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* * Sync script and Platform_POSIX.h compiler versions

* VS2013 & VS2015 fixups.

Signed-off-by: Francis ANDRE <zosrothko@orange.fr>

* Backport to c++03 so that Travis and Appveyor be ok

Signed-off-by: Francis ANDRE <zosrothko@orange.fr>

* Add Copyright (c) 2016, Applied Informatics Software Engineering GmbH.
and Contributors.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* VS2013 fixup

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Backport to c++03

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* VS2013 fixup

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Backport to c++03

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* VS2013 fixup

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* BAckport c++03

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* OSX: clang++ rejects return (*static_cast<Derived*>(this));
cannot cast protected base class 'cpp_ex4::StoplightContext<cpp_ex4::Stoplight>' to 'cpp_ex4::Stoplight'


Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* BAckport to c++03

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Add generated file for now

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* deleted as source file name in lowercase.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Rename stoplight_sm.h to Stoplight_sm.h

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Rename stoplight_sm.h to Stoplight_sm.h

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Rename stoplight_sm.h to Stoplight_sm.h

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Put cmake and ctest on the DOS PATH

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Cygwin does not support timed_mutex

* Put installed CMake /CTest on the DOS PATH.

* Repackaging

* Build VS2013 & VS2014 first.

* Add std::string Foundation_API format(const std::string& fmt, const Any& value);

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Restore INLINES macros when compiling with c++03

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Rename stoplight_sm.h to Stoplight_sm.h

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* VS2013 fixup.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Baclport to c++03

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* cpp_ex4::StoplightContext<cpp_ex4::Stoplight> is an inaccessible base of ˜cpp_ex4::Stoplight

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Undef _XOPEN_SOURCE under Cygwin otherwise ulong is undefined.
usr/include/mysql/my_global.h:997:9: error: 'ulong' does not name a type
 typedef ulong nesting_map;  /* Used for flags of nesting constructs */
         ^
In file included from src/SQLExecutor.cpp:38:0:

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Fix merge failure. Set -ev option on shell.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Removed

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Undefine _XOPEN_SOURCE so that typedef unsigned long ulong be defined.

Signed-off-by: FrancisANDRE <zosrothko@orange.fr>

* Remove __*VISIBLE defines as GNU forbids their usage outside the system includes

Signed-off-by: Francis ANDRE <zosrothko@orange.fr>

* Use c++03 as last c++ version.

Signed-off-by: Francis ANDRE <zosrothko@orange.fr>

* MySQL needs ulong which are not visible when compiling with
c++11 and above.

Signed-off-by: Francis ANDRE <zosrothko@orange.fr>

* Add BUILD_CC=gcc to avoid strip issue

* Remove reference to FSM

* make ?= operator does not work with

* Remove BUILD_CC

* Remove FSM since it is now in its own branch

* Don't build Cygwin64 with std=c++14 until this issue be fixed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77441

* enable c++11

* remove changes tracking file (moved to project)

* C++11: fixes for Travis CI (#1798)

* Use c++11 compliant compiler: g++ 5 & clang 3.5.0

* Fix typo on IntType

* Use Linux-clang config instead of Linux

* Check arm-linux-gnueabi-g++ version. Dump compiler constants

* Fix missing namespace qualifier

* Ignore ltdl for Cygwin platform

* Fix typo

* Commented out arm-linux-gnueabi-g++ since the version 4.7.0 which does
not support c++11 standard.

* Restore logic as in develop branch

* Add CXXFLAGS for launching the CXX compilation. CXXFLAGS defaulted to
-std=c++11

* Replace auto_ptr by unique_ptr

* Comment out failing tests until be fixed

* C++11: Fix AppVeyor CI yaml (#1812)

* C++11 support #1793: It's time. g++4.9, clang3.3 and VS2015 will become
minimum compiler versions.

* Comment out image with VS2017 since it crashes.

* New release of OpenSSL: 1_1_0f

* Refactor the download steps of OpenSSL

* C++11 support: Add VS2017 Win32 & x64 (#1816)

* Add VS2017.

* Use VSSetup to get VS150COMNTOOLS

* Fix VS150COMNTOOLS value

* Ignore Install-Module

* Install VSSetUp PS module.

* Fix typo missing $

* Split InstallPath againt "="

* Adjust VS150COMMONTOOLS path.

* Exit failed is VS commontools is undefined.

* Get the InstalledPath property value

* Replace mysql-5.7.17 by mysql-5.7.18

* Replace mysql-5.7.17 by mysql-5.7.18

* c++11 thread priority and affinity, and more (#1811)

* * c++11 thread priority and affinity
* AtomicCounter wasn't using std::atomic
* Buffer wasn't setting all fields on move
* Poco::Event is not directly available in c++11, keep using the native versions
* UnWindows.h define NOMINMAX to reduce conflicts
* Remove "-static" from Linux GCC parameters, this conflicts with c++11 classes (https://stackoverflow.com/questions/7090623/c0x-thread-static-linking-problem)
* Link "-lrt" before "-lpthread" on Linux, otherwise won't build on GCC 5+

* * Fixed std::thread POSIX handle

* * Fix OSX compilation

* raise cmake min version to 3.2.0

* Remove CMake jobs since it is already tested on Travis (#1832)

* Remove CMake jobs since it is already tested on Travis

* Add clang-3.7

* Ubuntu Trusty LLVM repo for gettign clang versions.

* Remove 3.3 & 3.4

* Add clang 3.8, clang 3.9 & clang 4.0

* Add CXXFLAGS=-stdlib=libc++

* use libstdc++ instead of libc++

* Remove for now -g compiler option to avoid this spurious error on clang
error: debug information for auto is not yet supported

* Use -ftemplate-backtrace-limit=0 to dump the recursive template stack.

* Cleanup

* Use good gcc version

* Fix gcc-5 & g++-5 name

* Use libc++ instead of libstdc++

* Restore installation of gcc-5

* Readd agt-get update for gcc-5/g++-5

* Reswitch from libc++ to libstdc++

* Increase template evaluation stack size up to 340 to avoid a stack
overflow in parsing 
TupleType t = std::make_tuple(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14...

* Add clang 3.4, 3.5, 3.6

* Adjust template evaluation stack for clang  3.4, 3.5, 3.6, 3.7

* Update notifications

* Add gcc-4.9

* Backport Travis CXXFLAGS to config/Linux-clang

* Remove CXXFLAGS from clang tests

* Test g++ first, then clang++ and then arm

* remove all non-c++11 code and POCO_ENABLE_CPP11 (default now)

* remove old file

* windows c++11 fixes

* fix conversion warning

* C++11: Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex (#1864)

* Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex

* Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex

* Add Mutext_POSIX.cpp

* Json/parser (#1858)

* move parser implementation in separate file

* parser replacement, first attempt (wip)

* making tests pass (mostly done, 3 to go)

* add missing headers

* honor no-null-byte-in-string setting

* few more fixes

* add -std=c99

* fix cmake JSON build and formatting

* accept utf-8, fix tests

* skip calling isdigit()

* #740, #1860, license update, a warning fix

* var emtpy()->clear(); json array and object tidy up

* vs 2015 32-bit project update

* update VS2017 projects

* remove ProGen and all VS files older than 2015

* fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe

* merge develop

* add missing files

* add VS generated dir to gitignore

* add WEC2013.cmake

* fix exception message

* fix VS2017 ODBC project filter

* integrate PageCompiler changes from poco-1.7.9

* vs2015 openssl build

* added POCO_DEPRECATED macro

* added POCO_NO_DEPRECATED to disarm POCO_DEPRECATED macro

* PageCompiler: support <%@ include file="<path>" %> syntax for includes.

* remove '$Id$' headers

* remove '$Id$' headers

* remove old VMS and VxWorks build support

* Poco::NamedMutex and Poco::NamedEvent (System V Semaphores implementation): files are now opened with O_RDONLY | O_CREAT instead of O_WRONLY | O_CREAT, allowing sharing between different users. Furthermore, ftok() is called with 'p' as project ID argument.

* C++11 (#1887)

* Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex

* Use Mutex_POSIX for Cygwin since it does not support std::timed_mutex

* Add Mutext_POSIX.cpp

* Remove clang 3.4, 3.5, 3.6, 3.7, 3.8, 3.9 since LLVM does not provide
anymore their packages for Ubuntu Trusy

* Remove ubuntu-toolchain-r/test/ubuntu since it is already installed

* Comment our the llvl-toolchain-trusty since its checksum is buggy
See https://bugs.llvm.org/show_bug.cgi?id=34572

* Display g++ version (#1889)

* merge change from develop|

* Support for PKCS#12 (#1876)

* rebuild openssl binaries; warning and stlye fixes

* fix vs2015 projects and openssl linking

* add PKCS12Container

* remove comments

* style

* add ECKey* and CryptoException

* EC key, unify RSA and EC under same inheritance, add constructor from PKCS12, couple of EC key tests

* simplify EVPPKey, ad EC tests

* EVPPKey test and fixes

* fix linux build

* PKCS12 tests and fixes

* linux build, fix crash

* fix leaks

* uncomment ifstream tests, some minor fixes

* fix stream tests and some tidy-up

* remove $Id

* add ECDSA

* update makefile

* align PKCS12 constructors signatures with X509

* EVPPKey EC curve name constructor

* ECDSA fixes and tests

* linux build, wrap tests in try/catch to get full exception message

* style

* update VS projects

* remove openssl, modify VS projects for git submodule directories

* add openssl submodule

* add _CRT_SECURE_NO_WARNINGS

* port crypto dev fixes from 1.8

* lock whole Event:set()

* fix openssl include path

* Add <memory> for std::unique_ptr (#1891)

* Missing include <iostream> (#1893)

* add file/stream load/save capabilities to EVPPKey

* add EVPTest

* add #include <typeinfo>

* fix posix compile

* update samples VS projects

* fix g++ test compile error
2017-09-20 22:13:19 -05:00
Günter Obiltschnig
06373b5d0c remove '$Id$' headers 2017-09-09 10:50:32 +02:00
Pascal Bach
b16ce1e4d9 Add addtional NIDs to be extracted from X.509 certificates.
- SerialNumber is especially useful on embedded devices
- email is commonly found in certificates

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
2017-03-28 17:18:22 +02:00
Guenter Obiltschnig
f453dd145c added Visual Studio 2017 project files 2017-02-20 16:46:44 +01:00
Alex Fabijanic
3eb023132b Merge branch 'develop' into pr/1113
Conflicts:
	Foundation/testsuite/TestSuite_vs120.vcxproj
2016-03-07 21:38:26 -08:00
Alex Fabijanic
92225086a4 generated CppUnit and testsuites VS projects 2016-03-06 20:54:26 -08:00
Guenter Obiltschnig
fdd68b17f3 added X509Certificate::equals() 2016-02-25 22:15:32 +01:00
FrancisANDRE
ce797f7700 Make CppUnit a component of Poco
Signed-off-by: FrancisANDRE <zosrothko@orange.fr>
2016-01-08 00:17:13 +01:00
FrancisANDRE
abfb94cd0d Remove NetSSL from crypto test dependencies.
Signed-off-by: FrancisANDRE <zosrothko@orange.fr>
2015-12-19 18:02:25 +01:00
Alex Fabijanic
a495cc3661 OpenSSL: rebuilt binaries w/ VS 2013, fixed progen files, regenerated VS projects 2015-12-12 19:10:09 -06:00
Benoît Bleuzé
a399ff6015 Crypto: add tests for cipher custom digests 2015-09-03 18:54:31 +02:00
Günter Obiltschnig
b6ae5128ce added Visual Studio 2015 project files 2015-07-30 15:48:45 +02:00
Alex Fabijanic
6ef38bff0b updated Crypto and NetSSL VS projects, progen files; rebuilt openssl binaries 2015-05-22 00:11:56 -05:00
Alex Fabijanic
f38cf4a484 removed openssl headers, updated Crypto, teststuie progen files and VS projects 2015-05-21 20:05:44 -05:00
Alex Fabijanic
ca3cabf064 remove header copying from pre-build (done by build script) 2015-04-25 17:16:07 -05:00
Alex Fabijanic
af6c22c0ac simplify Crypto and NetSSL VS projects 2015-04-25 16:18:19 -05:00
Alex Fabijanic
100fa63a55 adapted Crypto and NetSSL projects for poco OpenSSL binaries 2015-04-21 22:20:38 -05:00
Guenter Obiltschnig
b5e5673b6e X509Certificate::issuedBy(): explicitely check for X509_verify() return value 1, disable test due to failure with newer OpenSSL versions (need to investigate) 2015-03-21 00:07:01 +01:00
Pascal Bach
10ef2b2335 CMake: Remove WinDriver usage in tests
Add WinCEDriver to packages supporting it
2014-12-21 16:23:35 +01:00
Guenter Obiltschnig
931a5a5252 Removing support for Visual Studio.NET 2003 and Visual Studio 2005 - it's time to say goodbye to the past 2014-12-15 11:05:13 +01:00
Guenter Obiltschnig
c7e9067fde fixed GH #622: Crypto: RSATest::testSign() should verify with public key only 2014-11-25 10:05:44 +01:00
Günter Obiltschnig
bc0978d01e fixed GH #471: vs2010 release builds have optimization disabled
fixed GH #616: Visual Studio warning C4244
2014-11-20 21:22:52 +01:00
Guenter Obiltschnig
e657309a0b GH #506: removed -lkrb5 dependency 2014-11-19 18:22:22 +01:00
John Nelson
18ffcdd7c3 Don't DES-encrypt priv keys without a passphrase
Per https://www.openssl.org/docs/crypto/pem.html, specifying to encrypt
a private key with DES *without* providing a passphrase causes OpenSSL
to prompt for the passphrase to use on the console -- which is
problematic for GUI applications which generally lack a console.

This modifies the behavior of RSAKeyImpl::save() so that DES encryption
of private keys will not be attempted unless the passphrase argument is
non-empty. This will also suppress OpenSSL's prompting for that
passphrase on the console.

Also added a case to the test suite.
2014-10-13 13:33:22 -06:00
Günter Obiltschnig
6fe2e4fb11 VS project files: do not share intermediate directory between projects in same folder 2014-10-06 13:51:49 +02:00
Guenter Obiltschnig
9ad81fd6a2 improved Crypto tests 2014-09-18 20:58:41 +02:00
Pascal Bach
7950001803 cmake: Cleanup CMakeLists.txt for all components
- Add missing CMakeLists.txt
- Use POCO_ macros to improve code structure in XCode/VisualStudio
- Better ODBC detection
- Remove unnecessary commented out code

The CMake documentation recommends explicitly listing source files, but because CMake is not the primary build system GLOB patterns are used for the moment.
2014-08-22 17:11:03 +02:00
Günter Obiltschnig
30bb18f394 added VS2013 project/solution files for Windows Embedded Compact 2013 2014-08-09 10:49:04 +02:00