aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/utils/parsing.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix X509 DN comparisonsJack Lloyd2017-04-041-0/+2
| | | | CVE-2017-2801
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-181-10/+10
| | | | | | Renames a couple of functions for somewhat better name consistency, eg make_u32bit becomes make_uint32. The old typedefs remain for now since probably lots of application code uses them.
* String comparision fixesDaniel Neus2016-01-041-7/+7
| | | | fix PVS-Studio perfomance warnings
* Missing addsJack Lloyd2015-12-111-1/+0
|
* Reroot the exception hierarchy into a toplevel Exception classJack Lloyd2015-12-111-1/+1
| | | | | | | | As the alternatives are unfortunate for applications trying to catch all library errors, and it seems deriving from std::runtime_error causes problems with MSVC DLLs (GH #340) Effectively reverts 2837e915d82e43
* Fix cert validation bugs found by x509test.Jack Lloyd2015-10-231-1/+22
| | | | Add test suite with certs from x509test
* Internal header cleanupsJack Lloyd2015-09-191-1/+1
| | | | Only user-visible change is the removal of get_byte.h
* Strict uint32 parsingSimon Warta2015-08-111-0/+10
|
* Avoid integer overlow in string->uint32 converterSimon Warta2015-08-101-3/+16
| | | | | | | On systems where unsigned long is uint64 (typically 64 bit systems), a string containing a number greater than 2^32-1 was sucessfully converted to a uint64 and than reduced to uint32, causing an overflow. E.g. to_u32bit("4294967296") was 0 and to_u32bit("4294967297") was 1.
* Add a runtime map of string->func() which when called returnlloyd2015-01-281-1/+9
| | | | | | | | | | | | | | | | | Transforms and BlockCiphers. Registration for all types is done at startup but is very cheap as just a std::function and a std::map entry are created, no actual objects are created until needed. This is a huge improvement over Algorithm_Factory which used T::clone() as the function and thus kept a prototype object of each type in memory. Replace existing lookup mechanisms for ciphers, AEADs, and compression to use the transform lookup. The existing Engine framework remains in place for BlockCipher, but the engines now just call to the registry instead of having hardcoded lookups. s/Transformation/Transform/ with typedefs for compatability. Remove lib/selftest code (for runtime selftesting): not the right approach.
* Ensure all files have copyright and license info.lloyd2015-01-101-1/+1
| | | | | Update license header line to specify the terms and refer to the file, neither of which it included before.
* Remove dependency on boost string algoslloyd2014-02-131-5/+8
|
* Move lib into srclloyd2014-01-101-0/+302