git: 35c0a8c449fd - main - Add 'contrib/libder/' from commit '9c40c4de4c33b2ba1124fb752ebea0bebaa6013f'
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 01 Jan 2025 21:11:34 UTC
The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=35c0a8c449fd2b7f75029ebed5e10852240f0865 commit 35c0a8c449fd2b7f75029ebed5e10852240f0865 Merge: d11904b35021 9c40c4de4c33 Author: Kyle Evans <kevans@FreeBSD.org> AuthorDate: 2025-01-01 21:11:02 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2025-01-01 21:11:02 +0000 Add 'contrib/libder/' from commit '9c40c4de4c33b2ba1124fb752ebea0bebaa6013f' git-subtree-dir: contrib/libder git-subtree-mainline: d11904b350214943dedb64c7121d4602799d7afd git-subtree-split: 9c40c4de4c33b2ba1124fb752ebea0bebaa6013f contrib/libder/.cirrus.yml | 16 + contrib/libder/.github/workflows/build.yml | 41 + contrib/libder/.gitignore | 11 + contrib/libder/CMakeLists.txt | 28 + contrib/libder/LICENSE | 22 + contrib/libder/README.md | 28 + contrib/libder/derdump/.gitignore | 1 + contrib/libder/derdump/CMakeLists.txt | 6 + contrib/libder/derdump/derdump.1 | 51 ++ contrib/libder/derdump/derdump.c | 52 ++ contrib/libder/libder/CMakeLists.txt | 12 + contrib/libder/libder/libder.3 | 179 +++++ contrib/libder/libder/libder.c | 119 +++ contrib/libder/libder/libder.h | 181 +++++ contrib/libder/libder/libder_error.c | 76 ++ contrib/libder/libder/libder_obj.3 | 138 ++++ contrib/libder/libder/libder_obj.c | 1192 ++++++++++++++++++++++++++++ contrib/libder/libder/libder_private.h | 178 +++++ contrib/libder/libder/libder_read.3 | 101 +++ contrib/libder/libder/libder_read.c | 864 ++++++++++++++++++++ contrib/libder/libder/libder_type.3 | 71 ++ contrib/libder/libder/libder_type.c | 150 ++++ contrib/libder/libder/libder_write.3 | 54 ++ contrib/libder/libder/libder_write.c | 229 ++++++ contrib/libder/tests/.gitignore | 12 + contrib/libder/tests/CMakeLists.txt | 41 + contrib/libder/tests/fuzz_parallel.c | 111 +++ contrib/libder/tests/fuzz_stream.c | 246 ++++++ contrib/libder/tests/fuzz_write.c | 79 ++ contrib/libder/tests/fuzzers.h | 40 + contrib/libder/tests/make_corpus.c | 137 ++++ contrib/libder/tests/repo.priv | Bin 0 -> 64 bytes contrib/libder/tests/repo.pub | Bin 0 -> 88 bytes contrib/libder/tests/test_common.h | 29 + contrib/libder/tests/test_privkey.c | 175 ++++ contrib/libder/tests/test_pubkey.c | 143 ++++ 36 files changed, 4813 insertions(+) diff --cc contrib/libder/.cirrus.yml index 000000000000,000000000000..a63de71d8bf4 new file mode 100644 --- /dev/null +++ b/contrib/libder/.cirrus.yml @@@ -1,0 -1,0 +1,16 @@@ ++build_task: ++ matrix: ++ - name: FreeBSD 13 ++ freebsd_instance: ++ image: freebsd-13-2-release-amd64 ++ - name: FreeBSD 14 ++ freebsd_instance: ++ image: freebsd-14-0-release-amd64-ufs ++ setup_script: ++ sudo pkg install -y cmake ++ configure_script: ++ - cmake -B build -DCMAKE_BUILD_TYPE=Debug ++ build_script: ++ make -C build ++ test_script: ++ make -C build check diff --cc contrib/libder/.github/workflows/build.yml index 000000000000,a10daa25e38f..a10daa25e38f mode 000000,100644..100644 --- a/contrib/libder/.github/workflows/build.yml +++ b/contrib/libder/.github/workflows/build.yml diff --cc contrib/libder/.gitignore index 000000000000,000000000000..34fb4e06c50b new file mode 100644 --- /dev/null +++ b/contrib/libder/.gitignore @@@ -1,0 -1,0 +1,11 @@@ ++.*.swp ++.depend* ++*.a ++*.so ++*.so.* ++*.o ++*.pico ++*.debug ++*.full ++ ++build/ diff --cc contrib/libder/CMakeLists.txt index 000000000000,cf0d39e32489..cf0d39e32489 mode 000000,100644..100644 --- a/contrib/libder/CMakeLists.txt +++ b/contrib/libder/CMakeLists.txt diff --cc contrib/libder/LICENSE index 000000000000,477af8f22e4c..477af8f22e4c mode 000000,100644..100644 --- a/contrib/libder/LICENSE +++ b/contrib/libder/LICENSE diff --cc contrib/libder/README.md index 000000000000,000000000000..9f700493520d new file mode 100644 --- /dev/null +++ b/contrib/libder/README.md @@@ -1,0 -1,0 +1,28 @@@ ++# libder ++ ++## What is libder? ++ ++libder is a small library for encoding/decoding DER-encoded objects. It is ++expected to be able to decode any BER-encoded buffer, and an attempt to ++re-encode the resulting tree would apply any normalization expected by a DER ++decoder. The author's use is primarily to decode/encode ECC keys for ++interoperability with OpenSSL. ++ ++The authoritative source for this software is located at ++https://git.kevans.dev/kevans/libder, but it's additionally mirrored to ++[GitHub](https://github.com/kevans91/libder) for user-facing interactions. ++Pull requests and issues are open on GitHub. ++ ++## What is libder not? ++ ++libder is not intended to be a general-purpose library for working with DER/BER ++specified objects. It may provide some helpers for building more primitive ++data types, but libder will quickly punt on anything even remotely complex and ++require the library consumer to supply it as a type/payload/size triple that it ++will treat as relatively opaque (modulo some encoding normalization rules that ++can be applied without deeply understanding the data contained within). ++ ++libder also doesn't do strict validation of what it reads in today, for better ++or worse. e.g., a boolean may occupy more than one byte and libder will happily ++present it to the application in that way. It would be normalized on ++re-encoding to 0xff or 0x00 depending on whether any bits are set or not. diff --cc contrib/libder/derdump/.gitignore index 000000000000,a35adcc4b71d..a35adcc4b71d mode 000000,100644..100644 --- a/contrib/libder/derdump/.gitignore +++ b/contrib/libder/derdump/.gitignore diff --cc contrib/libder/derdump/CMakeLists.txt index 000000000000,11657426fbc9..11657426fbc9 mode 000000,100644..100644 --- a/contrib/libder/derdump/CMakeLists.txt +++ b/contrib/libder/derdump/CMakeLists.txt diff --cc contrib/libder/derdump/derdump.1 index 000000000000,414799f3055f..414799f3055f mode 000000,100644..100644 --- a/contrib/libder/derdump/derdump.1 +++ b/contrib/libder/derdump/derdump.1 diff --cc contrib/libder/derdump/derdump.c index 000000000000,7ea3768524d8..7ea3768524d8 mode 000000,100644..100644 --- a/contrib/libder/derdump/derdump.c +++ b/contrib/libder/derdump/derdump.c diff --cc contrib/libder/libder/CMakeLists.txt index 000000000000,8e6f3426d649..8e6f3426d649 mode 000000,100644..100644 --- a/contrib/libder/libder/CMakeLists.txt +++ b/contrib/libder/libder/CMakeLists.txt diff --cc contrib/libder/libder/libder.3 index 000000000000,0e06254ef3fb..0e06254ef3fb mode 000000,100644..100644 --- a/contrib/libder/libder/libder.3 +++ b/contrib/libder/libder/libder.3 diff --cc contrib/libder/libder/libder.c index 000000000000,2d52fedd62bd..2d52fedd62bd mode 000000,100644..100644 --- a/contrib/libder/libder/libder.c +++ b/contrib/libder/libder/libder.c diff --cc contrib/libder/libder/libder.h index 000000000000,4d28aa3052ba..4d28aa3052ba mode 000000,100644..100644 --- a/contrib/libder/libder/libder.h +++ b/contrib/libder/libder/libder.h diff --cc contrib/libder/libder/libder_error.c index 000000000000,6ca0acc83e6d..6ca0acc83e6d mode 000000,100644..100644 --- a/contrib/libder/libder/libder_error.c +++ b/contrib/libder/libder/libder_error.c diff --cc contrib/libder/libder/libder_obj.3 index 000000000000,d7e51da1d2fb..d7e51da1d2fb mode 000000,100644..100644 --- a/contrib/libder/libder/libder_obj.3 +++ b/contrib/libder/libder/libder_obj.3 diff --cc contrib/libder/libder/libder_obj.c index 000000000000,21d39e01fc17..21d39e01fc17 mode 000000,100644..100644 --- a/contrib/libder/libder/libder_obj.c +++ b/contrib/libder/libder/libder_obj.c diff --cc contrib/libder/libder/libder_private.h index 000000000000,3324420ef6d8..3324420ef6d8 mode 000000,100644..100644 --- a/contrib/libder/libder/libder_private.h +++ b/contrib/libder/libder/libder_private.h diff --cc contrib/libder/libder/libder_read.3 index 000000000000,69c9ba8d0d2c..69c9ba8d0d2c mode 000000,100644..100644 --- a/contrib/libder/libder/libder_read.3 +++ b/contrib/libder/libder/libder_read.3 diff --cc contrib/libder/libder/libder_read.c index 000000000000,dba56746be21..dba56746be21 mode 000000,100644..100644 --- a/contrib/libder/libder/libder_read.c +++ b/contrib/libder/libder/libder_read.c diff --cc contrib/libder/libder/libder_type.3 index 000000000000,df577a70f406..df577a70f406 mode 000000,100644..100644 --- a/contrib/libder/libder/libder_type.3 +++ b/contrib/libder/libder/libder_type.3 diff --cc contrib/libder/libder/libder_type.c index 000000000000,dec942ce68f9..dec942ce68f9 mode 000000,100644..100644 --- a/contrib/libder/libder/libder_type.c +++ b/contrib/libder/libder/libder_type.c diff --cc contrib/libder/libder/libder_write.3 index 000000000000,8b1a5aa2bbff..8b1a5aa2bbff mode 000000,100644..100644 --- a/contrib/libder/libder/libder_write.3 +++ b/contrib/libder/libder/libder_write.3 diff --cc contrib/libder/libder/libder_write.c index 000000000000,66ccbcfbf21d..66ccbcfbf21d mode 000000,100644..100644 --- a/contrib/libder/libder/libder_write.c +++ b/contrib/libder/libder/libder_write.c diff --cc contrib/libder/tests/.gitignore index 000000000000,075588a81e75..075588a81e75 mode 000000,100644..100644 --- a/contrib/libder/tests/.gitignore +++ b/contrib/libder/tests/.gitignore diff --cc contrib/libder/tests/CMakeLists.txt index 000000000000,fc366ab88ed7..fc366ab88ed7 mode 000000,100644..100644 --- a/contrib/libder/tests/CMakeLists.txt +++ b/contrib/libder/tests/CMakeLists.txt diff --cc contrib/libder/tests/fuzz_parallel.c index 000000000000,afd4425970a2..afd4425970a2 mode 000000,100644..100644 --- a/contrib/libder/tests/fuzz_parallel.c +++ b/contrib/libder/tests/fuzz_parallel.c diff --cc contrib/libder/tests/fuzz_stream.c index 000000000000,0f7cc6167e7e..0f7cc6167e7e mode 000000,100644..100644 --- a/contrib/libder/tests/fuzz_stream.c +++ b/contrib/libder/tests/fuzz_stream.c diff --cc contrib/libder/tests/fuzz_write.c index 000000000000,2ad5b5eb1764..2ad5b5eb1764 mode 000000,100644..100644 --- a/contrib/libder/tests/fuzz_write.c +++ b/contrib/libder/tests/fuzz_write.c diff --cc contrib/libder/tests/fuzzers.h index 000000000000,0f94bc7f25fb..0f94bc7f25fb mode 000000,100644..100644 --- a/contrib/libder/tests/fuzzers.h +++ b/contrib/libder/tests/fuzzers.h diff --cc contrib/libder/tests/make_corpus.c index 000000000000,68554d7c17de..68554d7c17de mode 000000,100644..100644 --- a/contrib/libder/tests/make_corpus.c +++ b/contrib/libder/tests/make_corpus.c diff --cc contrib/libder/tests/repo.priv index 000000000000,74a030b6802c..74a030b6802c mode 000000,100644..100644 Binary files differ diff --cc contrib/libder/tests/repo.pub index 000000000000,bdcb1a20a1c7..bdcb1a20a1c7 mode 000000,100644..100644 Binary files differ diff --cc contrib/libder/tests/test_common.h index 000000000000,76e850f19128..76e850f19128 mode 000000,100644..100644 --- a/contrib/libder/tests/test_common.h +++ b/contrib/libder/tests/test_common.h diff --cc contrib/libder/tests/test_privkey.c index 000000000000,5e7519f5a715..5e7519f5a715 mode 000000,100644..100644 --- a/contrib/libder/tests/test_privkey.c +++ b/contrib/libder/tests/test_privkey.c diff --cc contrib/libder/tests/test_pubkey.c index 000000000000,9fbd070f0e87..9fbd070f0e87 mode 000000,100644..100644 --- a/contrib/libder/tests/test_pubkey.c +++ b/contrib/libder/tests/test_pubkey.c