aboutsummaryrefslogtreecommitdiffstats
path: root/src/cli/asn1.cpp
Commit message (Collapse)AuthorAgeFilesLines
* In cli ASN1 pretty printer default to printing context specificJack Lloyd2018-07-041-2/+2
| | | | This means things like GeneralNames are printed properly now.
* Add "info" and "codec" groups for cli commands [ci skip]Jack Lloyd2018-06-071-1/+1
|
* Improve PEM detection for asn1 printerJack Lloyd2018-05-031-5/+22
|
* Fix ASN1 printer testJack Lloyd2018-03-051-1/+1
|
* Enforce an overall max depth on recursion in ASN1 printerJack Lloyd2018-01-151-6/+10
| | | | | Otherwise a sufficiently nested value can cause us to recurse endlessly, causing stack exhaustion. OSS-Fuzz 5333
* Merge GH #1387 Improve help output of cli toolJack Lloyd2018-01-141-0/+10
|\
| * Print a command description for cli helpRené Korthaus2018-01-041-0/+10
| |
* | In asn1print, if input file ends in .pem assume --pem flagJack Lloyd2018-01-101-1/+1
|/
* Allow building asn1print even if PEM is disabledJack Lloyd2017-11-211-2/+9
| | | | Just throws if --pem arg is used.
* Move ASN1 printer to the libraryJack Lloyd2017-11-151-382/+3
|
* Encapsulate ASN1 printer logic in a classJack Lloyd2017-11-151-133/+163
|
* Consolidate function for testing for ASN.1 string typesJack Lloyd2017-11-141-7/+1
|
* Remove use of transcodeJack Lloyd2017-11-091-14/+1
|
* Avoid using std::cout and std::cerr within cli codeJack Lloyd2017-09-021-51/+52
| | | | Prevents redirection using --output and --error-output
* Fix transcoding of asn1print strings to UTF-8René Korthaus2017-06-281-2/+2
| | | | | | | | When the terminal used supports UTF-8, asn1print should convert strings from internal Latin1 to UTF-8 encoding for printing to terminal. However, it previously tried to convert in the opposite direction, probably because of the misconception that Charset::transcode() expects the two encodings as "from, to" instead of "to, from".
* Reformat code with astyle + fix code styleTomasz Frydrych2017-05-011-16/+50
|
* Content:Tomasz Frydrych2017-04-031-2/+0
| | | | | | | | | * fixes for deprecated constructions in c++11 and later (explicit rule of 3/5 or implicit rule of 0 and other violations) * `default` specifier instead of `{}` in some places(probably all) * removal of unreachable code (for example `return` after `throw`) * removal of compilation unit only visible, but not used functions * fix for `throw()` specifier - used instead `BOTAN_NOEXCEPT` * removed not needed semicolons
* Fix remaining Wshadow warnings and enable on gcc and clangRené Korthaus2016-02-181-8/+8
|
* Add missing overrides and fix -Wpedantic 'extra ;' warningsJack Lloyd2016-01-171-1/+1
| | | | | | | | | | Remove -Wsuggest-attribute=noreturn from maintainer mode flags as it seems like outside of the assertion failure macro any other suggestion would always be a false positive (an unimplemented function or the like). Or at least, if such a function needing noreturn to assist with static analysis is added in the future it will be obvious, by virtue of the static analyzer warnings which occur due to the missing noreturn preventing the analyzer from understanding code flow.
* Add final attribute to many classesJack Lloyd2016-01-101-1/+1
| | | | | | | In some cases this can offer better optimization, via devirtualization. And it lets the user know the class is not intended for derivation. Some discussion in GH #402
* Avoid having Command* objects be created until requested.Jack Lloyd2015-12-301-1/+1
| | | | Avoids various static init and destruction hassles.
* Fix Clang warningJack Lloyd2015-12-251-0/+3
|
* CLI rewriteJack Lloyd2015-12-191-100/+127
| | | | | | | | | | | | | | | | | | The command line tools' origin as a collection of examples and test programs glued together led to some unfortunate problems; lots of hardcoded values, missing parameters, and obsolete crypto. Adds a small library for writing command line programs of the sort needed here (cli.h), which cuts the length of many of the commands in half and makes commands more pleasant to write and extend. Generalizes a lot of the commands also, eg previously only signing/verification with DSA/SHA-1 was included! Removes the fuzzer entry point since that's fairly useless outside of an instrumented build. Removes the in-library API for benchmarking.
* Rename cmd/app -> cliSimon Warta2015-12-091-0/+356