Commit Graph

802 Commits

Author SHA1 Message Date
Alex Fabijanic
f1e4d592c4 CRC64 support in the Poco lib. #164 2017-10-11 19:03:20 -05:00
Rangel Reale
6bfbd5db96 Fix Android port: (#1933)
- Switch to clang from gcc
- std::timed_mutex is not available on the latest NDK, revert to the POSIX implementation for now
- eabi is deprecated, switch to eabi-v7a by default
2017-10-11 11:34:38 -05:00
Alex Fabijanic
8b8c88b4f6 MailMessage::_recipients are not filled by POP3ClientSession::retrieveMessage() #1773 2017-10-07 17:14:22 -05:00
ljx0305
748394ab55 Update Timer.h (#1527)
* Update Timer.h

* Fix MinGW 4.8.2 Compilation process appears  "error: 'SOCKADDR_INET' does not name a type" error info

The error information is as follows
$ g++  -Iinclude -I/d/open_source/src/poco-1.7.7/CppUnit/include -I/d/open_source/src/poco-1.7.7/CppUnit/WinTestRunner/
include -I/d/open_source/src/poco-1.7.7/Foundation/include -I/d/open_source/src/poco-1.7.7/XML/include -I/d/open_source
/src/poco-1.7.7/JSON/include -I/d/open_source/src/poco-1.7.7/Util/include -I/d/open_source/src/poco-1.7.7/Net/include
-DPOCO_BUILD_HOST=DESKTOP-MDEE2NJ -DPOCO_TARGET_OSNAME=MinGW -DPOCO_TARGET_OSARCH=i686  -D_WIN32 -DMINGW32 -DWINVER=0x5
01 -DPOCO_NO_FPENVIRONMENT -DPCRE_STATIC -DPOCO_THREAD_STACK_SIZE -I/usr/local/include -I/usr/include  -g -D_DEBUG  -c
src/Environment.cpp -o /d/open_source/src/poco-1.7.7/Foundation/obj/MinGW/i686/debug_static/Environment.o
In file included from c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/iphlpapi.h:16:0,
                 from src/Environment_WIN32U.cpp:26,
                 from src/Environment.cpp:33:
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:44:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET Address;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:56:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET Prefix;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:64:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET     NextHop;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:79:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET     Address;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:152:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET    Address;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:250:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET Source;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:251:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET Destination;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:254:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET CurrentNextHop;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:273:3: error: 'SOCKADDR_INET' does not name a type
   SOCKADDR_INET Address;
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:382:9: error: 'PSOCKADDR_IN6' does not name a type
   const PSOCKADDR_IN6 SourceAddressList,
         ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:384:9: error: 'PSOCKADDR_IN6' does not name a type
   const PSOCKADDR_IN6 DestinationAddressList,
         ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:387:3: error: 'PSOCKADDR_IN6_PAIR' has not been declared
   PSOCKADDR_IN6_PAIR *SortedAddressPairList,
   ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:454:9: error: 'SOCKADDR_INET' does not name a type
   const SOCKADDR_INET *SourceAddress,
         ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:455:9: error: 'SOCKADDR_INET' does not name a type
   const SOCKADDR_INET *DestinationAddress,
         ^
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:458:3: error: 'SOCKADDR_INET' has not been declared
   SOCKADDR_INET *BestSourceAddress
   ^
In file included from c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/iphlpapi.h:16:0,
                 from src/Environment_WIN32U.cpp:26,
                 from src/Environment.cpp:33:
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/netioapi.h:585:9: error: 'SOCKADDR_INET' does not name a type
   const SOCKADDR_INET *SourceAddress
         ^
In file included from src/Environment_WIN32U.cpp:26:0,
                 from src/Environment.cpp:33:
c:/Qt/4.8.7/mingw482_32/i686-w64-mingw32/include/iphlpapi.h:147:5: error: 'SOCKADDR_IN6' does not name a type
     SOCKADDR_IN6 Ipv6Address;
     ^
2017-10-07 12:55:25 -05:00
Alex Fabijanic
a47ceecab2 Fix compilation errors using TDMGCC #1310 2017-10-06 20:01:52 -05:00
Thomas Köppe
c4312f8367 Added some missing inclusions (#1274) 2017-10-06 19:47:53 -05:00
Alex Fabijanic
0a58a30c1b Make *LRUCache constructor data types match LRUStrategy constructor. #1328 2017-10-06 19:27:35 -05:00
Alex Fabijanic
45dbbc66f5 another attempt at #1904 2017-10-06 13:32:42 -05:00
Alex Fabijanic
fccdd99135 Move to standard integer types #1147 2017-10-05 14:55:38 -05:00
Alex Fabijanic
426368c016 Move to standard integer types #1147 2017-10-05 14:36:02 -05:00
Alex Fabijanic
a6fa326c26 Move to standard integer types #1147 2017-10-05 14:02:36 -05:00
Alex Fabijanic
8ab8dcc368 Move to standard integer types #1147 2017-10-04 14:58:17 -05:00
Alex Fabijanic
48c86cf806 supress warning 2017-10-04 14:55:47 -05:00
Alex Fabijanic
08eb1c7a4f make Activity bool flags atomic 2017-10-04 14:55:01 -05:00
Alex Fabijanic
dfa32cc158 Message Doesn't Support 64-bit Thread IDs #1913 2017-09-28 18:33:36 -05:00
Alex Fabijanic
31c25e9ff2 revert change 2017-09-26 22:50:35 -05:00
proller
b9d8aaa0c6 Fix warning ( warning: comparison between signed and unsigned integer expressions ) (#1904) 2017-09-25 17:40:20 -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
Günter Obiltschnig
64a733f27f added POCO_NO_DEPRECATED to disarm POCO_DEPRECATED macro 2017-09-08 12:18:39 +02:00
Günter Obiltschnig
5ff8bdafdd added POCO_DEPRECATED macro 2017-09-08 11:46:59 +02:00
Yasuhiro Horimoto
9ea7000533 Modify validation check in Poco::DateTime (#1859)
* Modify validation check in Poco::DateTime

* Modify exception message
2017-09-04 10:30:57 -05:00
Günter Obiltschnig
6689e3d7c9 fixes for QNX from 1.7.9 2017-09-01 20:41:52 +02:00
Günter Obiltschnig
96ca6e865d fixed GH #1865: AbstractEvent::hasDelegates() is not thread-safe 2017-08-31 08:35:27 +02:00
Robin Lee
6714322122 Remove redundant memmove call in BasicFIFOBuffer::advance() (#1862)
The memmove call is redundant since begin() is always the same as
_buffer.begin().

And since the call to begin() is removed, this function will not move
the data to the start of the buffer.
2017-08-28 14:24:09 -05:00
zosrothko
0f6c528435 PocoDoc: support generation on Windows (#1854)
* PocoDoc: support generation on Windows

* Replace hard code path with variables:
VC should be set to the path of the C++ compiler (cl.exe)
WDK should be set to the Windows Development Kit

* Update CHANGELOG with the latest 1.7.8p4 one
2017-08-23 09:52:00 -05:00
Rangel Reale
6cd8f3f73c * Emscripten build support (#1845) 2017-08-14 14:03:07 -05:00
was4444
303e398803 [Format] add variable width support (#1743)
* add variable width test cases

* add variable width support

* update the documentation for variable width
2017-07-24 12:21:35 +02:00
zosrothko
7bf53d4f3f c++11 support: update the develop branch (#1819)
* Use appveyor.yaml from c++11 branch so that CI run ok.

* Use .travis.yml from the c++ branch so that Travis CI jobs run ok.

* Add c++11 scripts and Linux config so that Travis CI jobs are ok.

* Use mkdocumentation & mkrelease from c++11 branch.

* Use PocoDoc config files from c++11 branch.

* define POCO_ENABLE_C11 as the default

* CMake: ignore Crypto for now. To be fixed since it fails.

* Backport c++11 changes from the c++11 branch

* Add Cygwin config with c++11 setup.

* Update appveyor.yml from c++11 branch.
2017-07-23 21:09:22 +02:00
Stefan Weil
8ccee8928c Fix typos in comments, documentation and strings (#1615)
All of them were found using codespell.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2017-07-06 00:17:38 +02:00
andred
a9598960e4 Error: simplify strerror_r() handling (#1647)
This is a simpler version of the existing strerror_r()
handling.

Idea borrowed from boost.asio:
  443bc17d13
2017-07-06 00:14:00 +02:00
Iskandar Safarov
d7d6b739a2 Exception in destructor (#1777)
* The destructor of BasicBufferedStreamBuf() calls Allocator::deallocate which can throw exceptions. In particular it throws Poco::SystemException when can't lock mutex.

* Added poco_unexpected(); into exception handler
2017-07-02 20:04:58 +02:00
Alex Fabijanic
41e3f38c06 ODBC RecordSet (internal extraction) broken #1775; some style fixes 2017-06-29 23:49:42 +02:00
Alex Fabijanic
12f61b8ccf Wrong limit check in Poco::Dynamic::Var #996 2017-06-27 18:33:48 +02:00
Günter Obiltschnig
6467bc5aad Merge pull request #1690 from zosrothko/patch-2
Publish poco_trace & poco_debug macro even in release mode
2017-06-02 18:28:31 +02:00
Aleksandar Fabijanic
e836f91d90 Log file fix (#1678)
* fix for RotateBySizeStrategy runaway when fstream bad #1676

* fix for LogFile does not recover after write error #1677

* remove unnecesary throw
2017-04-17 12:47:33 -05:00
zosrothko
ff7ec4cb68 Publish poco_trace & poco_debug macro even in release mode
A user of a prepackaged release versio of poco would have to add the constant POCO_DEBUG_LOG in order to get non empty  poco_trace and poco_debug macros. There is nothing removed or added to poco itself if those macros are published even in a release build. Publishing those macros by default make life easier for the poco's users.
2017-04-17 10:07:06 +02:00
Günter Obiltschnig
61f0bb2c2b Merge pull request #1650 from Kampbell/fix-mkdoc-excluded-files
Fix mkdoc excluded files
2017-04-13 15:25:30 +02:00
Günter Obiltschnig
8147ecf810 Merge pull request #1664 from OgreTransporter/develop
Add SHA3 and BLAKE2 hashing algorithm
2017-04-06 09:32:53 +02:00
Transporter
ecaa7887a1 Add SHA3 and BLAKE2 hashing algorithm 2017-04-01 12:41:14 +02:00
Francis ANDRE
42ae8f60b8 Add a new constant to avoid including <windows.h> on Linux 2017-03-23 17:14:57 +01:00
André Draszik
54777d7f18 fp: support environments without hardware floating point
| cd <build>/Foundation && \
|    mipsel-poky-linux-musl-g++   -DFoundation_EXPORTS -DHAVE_PTHREAD_SETAFFINITY_NP -DHAVE_THREE_PARAM_SCHED_SETAFFINITY \
|         -DPCRE_STATIC -DPOCO_HAVE_FD_EPOLL -DPOCO_NO_AUTOMATIC_LIBS -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED \
|         -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 \
|         -I<sysroot>/usr/include -I<poco>/Foundation/include -I<poco>/Foundation/src  \
|         -mel -mabi=32 -msoft-float -march=mips32r2 -mno-mips16  -minterlink-compressed -mtune=24kec -mdsp  \
|         --sysroot=<sysroot> -O2 -pipe -g -feliminate-unused-debug-types \
|         -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security \
|         -fvisibility-inlines-hidden  -mel -mabi=32 -msoft-float -march=mips32r2 -mno-mips16  -minterlink-compressed \
|         -mtune=24kec -mdsp  --sysroot=<sysroot> -O2 -g -DNDEBUG -fPIC   \
|         -o CMakeFiles/Foundation.dir/src/ArchiveStrategy.cpp.o \
|         -c <poco>/Foundation/src/ArchiveStrategy.cpp
| In file included from <poco>/Foundation/include/Poco/FPEnvironment.h:33:0,
|                  from <poco>/Foundation/include/Poco/NumericString.h:25,
|                  from <poco>/Foundation/include/Poco/NumberFormatter.h:24,
|                  from <poco>/Foundation/include/Poco/ArchiveStrategy.h:27,
|                  from <poco>/Foundation/src/ArchiveStrategy.cpp:17:
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:36:30: error: 'FE_DOWNWARD' was not declared in this scope
|    FP_ROUND_DOWNWARD_IMPL   = FE_DOWNWARD,
|                               ^~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:37:30: error: 'FE_UPWARD' was not declared in this scope
|    FP_ROUND_UPWARD_IMPL     = FE_UPWARD,
|                               ^~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:39:30: error: 'FE_TOWARDZERO' was not declared in this scope
|    FP_ROUND_TOWARDZERO_IMPL = FE_TOWARDZERO
|                               ^~~~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:43:28: error: 'FE_DIVBYZERO' was not declared in this scope
|    FP_DIVIDE_BY_ZERO_IMPL = FE_DIVBYZERO,
|                             ^~~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:44:28: error: 'FE_INEXACT' was not declared in this scope
|    FP_INEXACT_IMPL        = FE_INEXACT,
|                             ^~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:45:28: error: 'FE_OVERFLOW' was not declared in this scope
|    FP_OVERFLOW_IMPL       = FE_OVERFLOW,
|                             ^~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:46:28: error: 'FE_UNDERFLOW' was not declared in this scope
|    FP_UNDERFLOW_IMPL      = FE_UNDERFLOW,
|                             ^~~~~~~~~~~~
| <poco>/Foundation/include/Poco/FPEnvironment_C99.h:47:28: error: 'FE_INVALID' was not declared in this scope
|    FP_INVALID_IMPL        = FE_INVALID
|                             ^~~~~~~~~~

The reason is that some (notably FPU-less) architectures,
including mips*-nf, don't define/implement some of the
floating point constants, even though fenv.h is
available.

The key point is:
  A fully standards conforming fenv.h does not have to
  define any FE_* macros, and if it does define them,
  then it defines macros only for the FP exceptions it
  actually supports.

See similar issue in boost:
  https://svn.boost.org/trac/boost/ticket/11756
2017-03-22 11:10:28 +00:00
Transporter
bbce66e2de Bugfix for gcc and add copyright text 2017-03-21 16:35:16 +01:00
Transporter
2f66ecba38 Add license information to SHA2Engine 2017-03-21 14:14:00 +01:00
Transporter
a721b1cb47 Add SHA2 algorithm 2017-03-21 11:06:18 +01:00
Robert Acksel
8fd909a016 -change access from private to protected for shared ptr members. it allows to extend shared ptr to work together with derived classes. in other words it allows to extend shared ptr 2017-03-06 16:34:03 +01:00
Rudolf-Walter Kiss-Szakács
ed819feb83 Fix XDG Base Dir Spec implementation and remove tempHome. 2017-02-23 08:23:41 +02:00
Guenter Obiltschnig
c32e683b6c fixed GH #1260: URI encoding 2017-02-17 09:24:16 +01:00
Guenter Obiltschnig
76ab7c65a6 GH #1586: Upgrade bundled PCRE to 8.40 2017-02-11 12:14:02 +01:00
Guenter Obiltschnig
8557dc4469 fixed GH #1581: Cannot find 'pcre.h' when using POCO_UNBUNDLED, a non-system PCRE, and CMake
Conflicts:
	Foundation/include/Poco/RegularExpression.h
	Foundation/src/RegularExpression.cpp
2017-02-11 12:13:29 +01:00