...
 
Commits (62)
*.gcda
*.gcno
*.gcov
*~ *~
ChangeLog
INSTALL
Makefile
Makefile.in
aclocal.m4 aclocal.m4
autom4te.cache/ autom4te.cache/
build-aux/ar-lib build-aux/ar-lib
build-aux/compile
build-aux/config.guess build-aux/config.guess
build-aux/config.sub build-aux/config.sub
build-aux/depcomp build-aux/depcomp
...@@ -16,22 +10,23 @@ build-aux/install-sh ...@@ -16,22 +10,23 @@ build-aux/install-sh
build-aux/ltmain.sh build-aux/ltmain.sh
build-aux/mdate-sh build-aux/mdate-sh
build-aux/missing build-aux/missing
build-aux/test-driver
build-aux/texinfo.tex build-aux/texinfo.tex
build-aux/ylwrap build-aux/ylwrap
ChangeLog
config.h config.h
config.h.in config.h.in
config.log config.log
config.status config.status
configure configure
doc/Makefile .deps
doc/Makefile.in
doc/asn1Coding.1 doc/asn1Coding.1
doc/asn1Decoding.1 doc/asn1Decoding.1
doc/asn1Parser.1 doc/asn1Parser.1
doc/coverage/ doc/coverage/
doc/cyclo/cyclo-libtasn1.html
doc/cyclo/Makefile doc/cyclo/Makefile
doc/cyclo/Makefile.in doc/cyclo/Makefile.in
doc/cyclo/cyclo-libtasn1.html
doc/libtasn1.aux doc/libtasn1.aux
doc/libtasn1.cp doc/libtasn1.cp
doc/libtasn1.cps doc/libtasn1.cps
...@@ -45,67 +40,75 @@ doc/libtasn1.log ...@@ -45,67 +40,75 @@ doc/libtasn1.log
doc/libtasn1.pdf doc/libtasn1.pdf
doc/libtasn1.pg doc/libtasn1.pg
doc/libtasn1.ps doc/libtasn1.ps
doc/libtasn1.t2d/
doc/libtasn1.t2p/
doc/libtasn1.toc doc/libtasn1.toc
doc/libtasn1.tp doc/libtasn1.tp
doc/libtasn1.vr doc/libtasn1.vr
doc/Makefile
doc/Makefile.in
doc/man/ doc/man/
doc/reference/Makefile doc/reference/html/
doc/reference/Makefile.in
doc/reference/html-build.stamp doc/reference/html-build.stamp
doc/reference/html.stamp doc/reference/html.stamp
doc/reference/html/ doc/reference/libtasn1.args
doc/reference/libtasn1-decl-list.txt doc/reference/libtasn1-decl-list.txt
doc/reference/libtasn1-decl.txt doc/reference/libtasn1-decl.txt
doc/reference/libtasn1-overrides.txt
doc/reference/libtasn1-sections.txt
doc/reference/libtasn1-undeclared.txt
doc/reference/libtasn1-undocumented.txt
doc/reference/libtasn1-unused.txt
doc/reference/libtasn1.args
doc/reference/libtasn1.hierarchy doc/reference/libtasn1.hierarchy
doc/reference/libtasn1.interfaces doc/reference/libtasn1.interfaces
doc/reference/libtasn1-overrides.txt
doc/reference/libtasn1.pdf doc/reference/libtasn1.pdf
doc/reference/libtasn1.prerequisites doc/reference/libtasn1.prerequisites
doc/reference/libtasn1-sections.txt
doc/reference/libtasn1.signals doc/reference/libtasn1.signals
doc/reference/libtasn1.types doc/reference/libtasn1.types
doc/reference/libtasn1-undeclared.txt
doc/reference/libtasn1-undocumented.txt
doc/reference/libtasn1-unused.txt
doc/reference/Makefile
doc/reference/Makefile.in
doc/reference/pdf-build.stamp doc/reference/pdf-build.stamp
doc/reference/pdf.stamp doc/reference/pdf.stamp
doc/reference/scan-build.stamp doc/reference/scan-build.stamp
doc/reference/setup-build.stamp doc/reference/setup-build.stamp
doc/reference/sgml-build.stamp doc/reference/sgml-build.stamp
doc/reference/sgml.stamp doc/reference/sgml.stamp
doc/reference/tmpl/
doc/reference/tmpl-build.stamp doc/reference/tmpl-build.stamp
doc/reference/tmpl.stamp doc/reference/tmpl.stamp
doc/reference/tmpl/
doc/reference/version.xml doc/reference/version.xml
doc/reference/xml/ doc/reference/xml/
doc/stamp_docs
doc/stamp-vti doc/stamp-vti
doc/texi/ doc/texi/
doc/version.texi doc/version.texi
examples/.deps/
examples/.libs/
examples/CertificateExample examples/CertificateExample
examples/CertificateExample.o examples/CertificateExample.o
examples/CrlExample examples/CrlExample
examples/CrlExample.o examples/CrlExample.o
examples/.deps/
examples/.libs/
examples/Makefile examples/Makefile
examples/Makefile.in examples/Makefile.in
examples/pkix_asn1_tab.c examples/pkix_asn1_tab.c
examples/pkix_asn1_tab.o examples/pkix_asn1_tab.o
gl/.deps/ *.gcda
gl/.libs/ *.gcno
gl/Makefile *.gcov
gl/Makefile.in
gl/arg-nonnull.h gl/arg-nonnull.h
gl/c++defs.h gl/c++defs.h
gl/.deps/
gl/getopt1.lo
gl/getopt1.o
gl/getopt.h gl/getopt.h
gl/getopt.lo gl/getopt.lo
gl/getopt.o gl/getopt.o
gl/getopt1.lo
gl/getopt1.o
gl/gettime.lo gl/gettime.lo
gl/gettime.o gl/gettime.o
gl/libgnu.la gl/libgnu.la
gl/.libs/
gl/Makefile
gl/Makefile.in
gl/progname.lo gl/progname.lo
gl/progname.o gl/progname.o
gl/read-file.lo gl/read-file.lo
...@@ -126,58 +129,64 @@ gl/version-etc.lo ...@@ -126,58 +129,64 @@ gl/version-etc.lo
gl/version-etc.o gl/version-etc.o
gl/warn-on-use.h gl/warn-on-use.h
gl/wchar.h gl/wchar.h
lib/.deps/ gtk-doc.m4
lib/.libs/ INSTALL
lib/ASN1.lo lib/ASN1.lo
lib/ASN1.o lib/ASN1.o
lib/ASN1.tab.c lib/ASN1.tab.c
lib/Makefile
lib/Makefile.in
lib/coding.lo lib/coding.lo
lib/coding.o lib/coding.o
lib/decoding.lo lib/decoding.lo
lib/decoding.o lib/decoding.o
lib/.deps/
lib/element.lo lib/element.lo
lib/element.o lib/element.o
lib/errors.lo lib/errors.lo
lib/errors.o lib/errors.o
lib/gl/.deps/
lib/gllib/.deps/ lib/gllib/.deps/
lib/gllib/.libs/
lib/gllib/Makefile
lib/gllib/Makefile.in
lib/gllib/arg-nonnull.h
lib/gllib/c++defs.h
lib/gllib/dummy.lo lib/gllib/dummy.lo
lib/gllib/dummy.o lib/gllib/dummy.o
lib/gl/libgnu.la
lib/gllib/hash-pjw-bare.lo lib/gllib/hash-pjw-bare.lo
lib/gllib/hash-pjw-bare.o lib/gllib/hash-pjw-bare.o
lib/gllib/libgnu.la lib/gllib/libgnu.la
lib/gllib/.libs/
lib/gllib/Makefile
lib/gllib/Makefile.in
lib/gl/.libs/
lib/gllib/string.h lib/gllib/string.h
lib/gllib/warn-on-use.h
lib/gllib/wchar.h lib/gllib/wchar.h
lib/gl/limits.h
lib/gl/*.lo
lib/gl/*.o
lib/gl/string.h
lib/gl/sys/
lib/gstr.lo lib/gstr.lo
lib/gstr.o lib/gstr.o
lib/.libs/
lib/libtasn1.la lib/libtasn1.la
lib/libtasn1.pc lib/libtasn1.pc
lib/Makefile
lib/Makefile.in
lib/parser_aux.lo lib/parser_aux.lo
lib/parser_aux.o lib/parser_aux.o
lib/structure.lo lib/structure.lo
lib/structure.o lib/structure.o
lib/version.lo
lib/version.o
libtasn1-*.tar.gz libtasn1-*.tar.gz
libtasn1-*.tar.gz.sig libtasn1-*.tar.gz.sig
libtool libtool
lib/version.lo
lib/version.o
m4/libtool.m4 m4/libtool.m4
m4/lt~obsolete.m4
m4/ltoptions.m4 m4/ltoptions.m4
m4/ltsugar.m4 m4/ltsugar.m4
m4/ltversion.m4 m4/ltversion.m4
m4/lt~obsolete.m4 Makefile
Makefile.in
README
scan.tmp scan.tmp
src/.deps/
src/.libs/
src/Makefile
src/Makefile.in
src/asn1Coding src/asn1Coding
src/asn1Coding.o src/asn1Coding.o
src/asn1Decoding src/asn1Decoding
...@@ -185,11 +194,23 @@ src/asn1Decoding.o ...@@ -185,11 +194,23 @@ src/asn1Decoding.o
src/asn1Parser src/asn1Parser
src/asn1Parser.o src/asn1Parser.o
src/benchmark.o src/benchmark.o
src/.deps/
src/.libs/
src/Makefile
src/Makefile.in
stamp-h1 stamp-h1
tags tags
tests/CVE-2018-1000654-1_asn1_tab.h
tests/CVE-2018-1000654-2_asn1_tab.h
tests/.deps/ tests/.deps/
tests-gl/
tests/*.log
tests/Makefile tests/Makefile
tests/Makefile.in tests/Makefile.in
tests/*.o
tests/strict-der
tests/Test_choice
tests/Test_choice.o
tests/Test_encoding tests/Test_encoding
tests/Test_encoding.o tests/Test_encoding.o
tests/Test_errors tests/Test_errors
...@@ -199,17 +220,14 @@ tests/Test_indefinite.o ...@@ -199,17 +220,14 @@ tests/Test_indefinite.o
tests/Test_overflow tests/Test_overflow
tests/Test_overflow.o tests/Test_overflow.o
tests/Test_parser tests/Test_parser
tests/Test_parser.o
tests/Test_parser_ERROR.asn tests/Test_parser_ERROR.asn
tests/Test_parser.o
tests/Test_simple tests/Test_simple
tests/Test_simple.o tests/Test_simple.o
tests/Test_strings tests/Test_strings
tests/Test_strings.o tests/Test_strings.o
tests/Test_tree tests/Test_tree
tests/Test_tree.o tests/Test_tree.o
tests/Test_choice tests/*.trs
tests/Test_choice.o
windows/libtasn1-*-win??.zip windows/libtasn1-*-win??.zip
windows/tmp windows/tmp
tests/*.log
tests/*.trs
image: centos:7 variables:
BUILD_IMAGES_PROJECT: gnutls/build-images
before_script: FEDORA_BUILD: buildenv-f30
- yum install -y git make bison autoconf libtool automake gettext-devel glibc-devel gcc valgrind clang libasan-static libubsan DEBIAN_X86_CROSS_BUILD: buildenv-debian-x86-cross
GET_SOURCES_ATTEMPTS: "3"
# See http://doc.gitlab.com/ce/ci/yaml/ for documentation. # See http://doc.gitlab.com/ce/ci/yaml/ for documentation.
Build and Check (x86-64): x86-64:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script: script:
- git submodule update --init && make autoreconf && ./configure --disable-doc && make -j4 && make -j4 check - yum remove -y libtasn1-devel
- ./bootstrap
- ./configure --disable-doc && make -j$(nproc)
- make abi-check
- make -j$(nproc) check
- make distcheck
except: except:
- tags - tags
tags: tags:
- shared - shared
Build and Check (x86):
x86:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_X86_CROSS_BUILD
script: script:
- yum install -y libgcc.i686 glibc-devel.i686 - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
- git submodule update --init && make autoreconf && - host=i686-linux-gnu
PKG_CONFIG_PATH="/usr/lib/pkgconfig/" CFLAGS="-O2 -g -m32" LDFLAGS="-m32" ./configure --build=i686-redhat-linux --target=i686-redhat-linux --disable-doc && make -j4 && make -j4 check - export CC_FOR_BUILD="gcc"
except: - export CC="$host-gcc"
- tags - ./bootstrap
- mkdir -p build
- cd build
- dash ../configure --build=$build --host=$host --disable-doc
- make -j$(nproc)
- make check -j$(nproc)
- cd ..
tags: tags:
- shared - shared
Build and Check with clang: - docker
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- build/guile/tests/*.log
- build/*.log
- build/tests/*.log
- build/tests/*/*.log
- build/tests/suite/*/*.log
retry: 1
clang:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script: script:
- git submodule update --init && make autoreconf && CC=clang - yum remove -y libtasn1-devel
./configure --disable-doc --disable-valgrind-tests && make -j4 && make check -j4 - ./bootstrap
- CC=clang ./configure --disable-doc --disable-valgrind-tests && make -j$(nproc)
- make check -j$(nproc)
except: except:
- tags - tags
tags: tags:
- shared - shared
Build and Check with asan:
asan:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script: script:
- git submodule update --init && make autoreconf && CFLAGS="-fsanitize=address -g - yum remove -y libtasn1-devel
-O2" LDFLAGS="-static-libasan" ./configure --disable-doc --disable-valgrind-tests && make -j4 && make check -j4 - ./bootstrap
- CFLAGS="-fsanitize=address -g -O2" LDFLAGS="-static-libasan" ./configure --disable-doc --disable-valgrind-tests && make -j$(nproc) && make check -j$(nproc)
except: except:
- tags - tags
tags: tags:
- shared - shared
Build and Check with ubsan:
image: fedora:24 ubsan:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script: script:
- yum install -y git make autoconf libtool automake gettext-devel glibc-devel gcc valgrind clang libasan-static libubsan - yum remove -y libtasn1-devel
- git submodule update --init && make autoreconf && CFLAGS="-fsanitize=undefined -fno-sanitize-recover -g - ./bootstrap
-O2" ./configure --disable-doc --disable-valgrind-tests && make -j4 && make check -j4 - CFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" ./configure --disable-doc --disable-valgrind-tests && make -j$(nproc) && make check -j$(nproc)
tags: tags:
- shared - shared
except: except:
- tags - tags
MinGW32: MinGW32:
image: fedora:24 image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script: script:
- dnf install -y wine.i686 mingw32-gcc util-linux - dnf install -y wine.i686 mingw32-gcc util-linux
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc - mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
- echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register - echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
- make autoreconf && rm -f tests/suite/mini-eagain2.c && mkdir -p build && cd build && - ./bootstrap && rm -f tests/suite/mini-eagain2.c && mkdir -p build && cd build &&
mingw32-configure --disable-doc --disable-valgrind-tests && mingw32-configure --disable-doc --disable-valgrind-tests &&
mingw32-make -j$(nproc) && mingw32-make -C tests check -j$(nproc) mingw32-make -j$(nproc) && mingw32-make -C tests check -j$(nproc)
tags: tags:
...@@ -68,3 +105,77 @@ MinGW32: ...@@ -68,3 +105,77 @@ MinGW32:
- build/tests/*.log - build/tests/*.log
- build/tests/*/*.log - build/tests/*/*.log
gnutls:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- yum remove -y libtasn1-devel
- ./bootstrap
- ./configure --disable-doc --prefix=/usr --libdir=/usr/lib64 &&
make -j$(nproc) && make install
- git clone --depth 1 --branch master https://gitlab.com/gnutls/gnutls.git gnutls-git
- cd gnutls-git && git submodule update --init && ./bootstrap &&
./configure --disable-cxx --disable-guile --disable-doc && make -j$(nproc) &&
make -j $(nproc) check
tags:
- shared
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- gnutls-git/guile/tests/*.log
- gnutls-git/tests/*.log
- gnutls-git/*.log
- gnutls-git/tests/*/*.log
- gnutls-git/tests/suite/*/*.log
static-analyzers:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- ./bootstrap
- scan-build ./configure --disable-doc
- make -j$(nproc) syntax-check
- make -j$(nproc) -C lib/gl
- make -j$(nproc) -C lib ASN1.lo
- scan-build --status-bugs -o scan-build-lib make -j$(nproc) -C lib
tags:
- shared
except:
- tags
artifacts:
expire_in: 1 week
when: on_failure
paths:
- scan-build-lib/
# Target to run code coverage on non-master branches. That is intended
# to ensure that compilation in master will not break the pages rule.
pages-test:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- ./bootstrap
- ./configure --enable-gtk-doc --disable-gcc-warnings
- make -C doc libtasn1.html libtasn1.pdf
tags:
- shared
except:
- master
pages:
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
script:
- ./bootstrap
- ./configure --enable-gtk-doc --disable-gcc-warnings
- mkdir -p public
- make -C doc libtasn1.html libtasn1.pdf
- mv doc/libtasn1.pdf doc/libtasn1.html public/
- cp public/libtasn1.html public/index.html
tags:
- shared
artifacts:
when: on_success
paths:
- public
only:
- master
[submodule "gnulib"]
path = gnulib
url = git://git.sv.gnu.org/gnulib.git
# libtasn1 -- Information about our contribution rules and coding style
Unless otherwise stated or implied the [GnuTLS contribution rules apply](https://gitlab.com/gnutls/gnutls/blob/master/CONTRIBUTING.md).
The following sections document any differences that apply:
# Function names
All the function names use underscore `_`, to separate words, functions like
asn1DoThat are not used. The exported function names start with the
`asn1_` prefix.
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# It is necessary if you want to build targets usually of interest # It is necessary if you want to build targets usually of interest
# only to the maintainer. # only to the maintainer.
# Copyright (C) 2001, 2003, 2006-2017 Free Software Foundation, Inc. # Copyright (C) 2001, 2003, 2006-2019 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
# GNU General Public License for more details. # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
# If the user runs GNU make but has not yet run ./configure, # If the user runs GNU make but has not yet run ./configure,
# give them a diagnostic. # give them a diagnostic.
......
...@@ -24,42 +24,72 @@ EXTRA_DIST = windows/asn1-parser/asn1-parser.vcproj \ ...@@ -24,42 +24,72 @@ EXTRA_DIST = windows/asn1-parser/asn1-parser.vcproj \
windows/gnulib/getopt.h windows/gnulib/gnulib.vcproj \ windows/gnulib/getopt.h windows/gnulib/gnulib.vcproj \
windows/libtasn1/libtasn1.vcproj \ windows/libtasn1/libtasn1.vcproj \
windows/test-parser/test-parser.vcproj \ windows/test-parser/test-parser.vcproj \
windows/test-tree/test-tree.vcproj windows/libtasn14win.mk windows/test-tree/test-tree.vcproj windows/libtasn14win.mk \
CONTRIBUTING.md cfg.mk maint.mk AUTHORS NEWS ChangeLog \
THANKS
SUBDIRS = gl lib src tests SUBDIRS = lib src tests
if ENABLE_DOC if ENABLE_DOC
SUBDIRS += doc examples SUBDIRS += doc examples
endif endif
ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I lib/glm4 ACLOCAL_AMFLAGS = -I m4 -I m4-gl
EXTRA_DIST += cfg.mk maint.mk .clcopying EXTRA_DIST += cfg.mk maint.mk .clcopying README.md
gnulib-update: ABIDW_COMMON = --no-show-locs --no-corpus-path
gnulib-tool --add-import --dir=. --lib=libgnu --source-base=lib/gllib --m4-base=lib/glm4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=2 --no-conditional-dependencies --libtool --macro-prefix=lgl --no-vc-files ABIGNORE_FILE = "$(top_srcdir)/devel/libtasn1.abignore"
LIBGNUTLS_ABI_LAST_FILE = "$(top_srcdir)/devel/libtasn1-latest-$$(uname -m).abi"
TMPFILE="abi-temp.xml" abi-dump-versioned: lib/libtasn1.la
@echo "**************************************************"
@echo "Generating versioned ABI files of current libtasn1"
@echo "**************************************************"
@abidw lib/.libs/libtasn1.so $(ABIDW_COMMON) --suppressions $(ABIGNORE_FILE) --out-file "$(srcdir)/devel/libtasn1-$(VERSION)-$$(uname -m).abi"
abi-check: abi-dump-latest: lib/libtasn1.la
@rm -f $(TMPFILE) @echo "****************************************"
@echo "Checking libtasn1 ABI" @echo "Generating ABI files of current libtasn1"
@echo "<version>$(VERSION)</version>" >$(TMPFILE) @echo "****************************************"
@echo "<headers>$(srcdir)/lib/libtasn1.h" >>$(TMPFILE) @abidw lib/.libs/libtasn1.so $(ABIDW_COMMON) --suppressions $(ABIGNORE_FILE) --out-file $(LIBGNUTLS_ABI_LAST_FILE)
@echo "$(builddir)/lib/libtasn1.h</headers>" >>$(TMPFILE) @rm -f "./devel/libtasn1-latest-$$(uname -m).tmp"
@echo "<libs>$(builddir)/lib/.libs</libs>" >>$(TMPFILE)
test ! -f "$(srcdir)/devel/ABI-$$(uname -m).dump" || \
abi-compliance-checker -abi -lib libtasn1 -old "$(srcdir)/devel/ABI-$$(uname -m).dump" -new $(TMPFILE)
@rm -f $(TMPFILE)
abi-dump: abi-check-latest: lib/libtasn1.la
@mkdir -p devel/headers-tmp @echo "Checking whether the latest ABI dump matches"
@cp lib/libtasn1.h devel/headers-tmp @abidiff --suppressions $(ABIGNORE_FILE) lib/.libs/libtasn1.so $(LIBGNUTLS_ABI_LAST_FILE) --hd2 "$(srcdir)/lib/includes/"; if test $$? != 0;then \
@abi-dumper lib/.libs/libtasn1.so -o "./devel/ABI-$$(uname -m).dump" -public-headers devel/headers-tmp echo "*********************************************************"; \
@rm -rf devel/headers-tmp echo "libtasn1 ABI has changed; use 'make files-update' "; \
echo "and use 'git diff' to check correctness before committing"; \
echo "*********************************************************"; \
false; \
fi
@echo "********************************"
@echo "Current release matches ABI dump"
@echo "********************************"
ABICHECK_COMMON = --no-added-syms
abi-check: lib/libtasn1.la
@for file in $$(echo $(srcdir)/devel/libtasn1-*-$$(uname -m).abi);do \
echo "Comparing libtasn1 with $$file"; \
abidiff $${file} lib/.libs/libtasn1.so $(ABICHECK_COMMON) --suppressions $(ABIGNORE_FILE) --hd2 "$(srcdir)/lib/includes//"; \
if test $$? != 0;then \
echo "****************************************************************************"; \
echo "ABI check failed; If intentional add suppression in devel/libtasn1.abignore"; \
echo "****************************************************************************"; \
false; \
fi; \
done
@echo "********************"
@echo "ABI checks completed"
@echo "********************"
dist-hook: abi-check files-update: abi-dump-latest
make -C doc/ compare-makefile
.PHONY: abi-dump abi-check dist-hook:
if test -d "$(top_srcdir)/devel";then \
$(MAKE) -C $(top_srcdir) abi-check-latest; \
make -C doc/ compare-makefile; \
fi
.PHONY: abi-check abi-dump-versioned abi-dump-latest
GNU Libtasn1 NEWS -*- outline -*- GNU Libtasn1 NEWS -*- outline -*-
* Noteworthy changes in release 4.14 (unreleased) [stable]
- Simplify ordering of SET OF elements.
- Marked explicitly const uses of asn1_node with the introduction
of the (compatible) asn1_node_const type.
- Limit recursion in _asn1_expand_object_id() to detect infinite
recursion in incorrect .asn files (#4).
- asn1_array2tree(): fixed thread safety issues.
- Several fixes in gtk-doc generation.
* Noteworthy changes in release 4.13 (released 2018-01-16) [stable] * Noteworthy changes in release 4.13 (released 2018-01-16) [stable]
- On indefinite string decoding, set a maximum level of allowed recursions - On indefinite string decoding, set a maximum level of allowed recursions
(3) to protect the BER decoder from a stack exhaustion. (3) to protect the BER decoder from a stack exhaustion.
......
This is GNU Libtasn1, a small ASN.1 library.
The C library (libtasn1.*) is licensed under the GNU Lesser General
Public License version 2.1 or later. See the file COPYING.LIB.
The command line tool, self tests, examples, and other auxilliary
files, are licensed under the GNU General Public License version 3.0
or later. See the file COPYING.
The manual is in doc/. You can also browse the manual and see updates
about the project on the homepage:
http://www.gnu.org/software/libtasn1/
For any copyright year range specified as YYYY-ZZZZ in this package
note that the range specifies every single year in that closed interval.
----------------------------------------------------------------------
Copyright (C) 2002-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
This file contains instructions for developers and advanced users that
wants to build from version controlled sources.
We require several tools to build the software, including:
- Make <http://www.gnu.org/software/make/>
- Automake <http://www.gnu.org/software/automake/>
- Autoconf <http://www.gnu.org/software/autoconf/>
- Libtool <http://www.gnu.org/software/libtool/>
- Texinfo <http://www.gnu.org/software/texinfo/>
- help2man <http://www.gnu.org/software/help2man/>
- Tar <http://www.gnu.org/software/tar/>
- Gzip <http://www.gnu.org/software/gzip/>
- Texlive & epsf <http://www.tug.org/texlive/> (for PDF manual)
- GTK-DOC <http://www.gtk.org/gtk-doc/> (for API manual)
- Git <http://git.or.cz/>
- Perl <http://www.cpan.org/>
- Valgrind <http://valgrind.org/> (optional)
The required software is typically distributed with your operating
system, and the instructions for installing them differ. Here are
some hints:
gNewSense/Debian/Ubuntu:
sudo apt-get install make git-core autoconf automake libtool
sudo apt-get install texinfo texlive texlive-generic-recommended texlive-extra-utils
sudo apt-get install help2man gtk-doc-tools valgrind
To download the version controlled sources:
$ git clone git://git.savannah.gnu.org/libtasn1.git
$ cd libtasn1
The next step is to run autoreconf, ./configure, etc:
$ make bootstrap
Then build the project normally:
$ make
$ make check
Happy hacking!
----------------------------------------------------------------------
Copyright (C) 2009-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
|Branch|CI system|Status|
|:----:|:-------:|-----:|
|Master|Gitlab|[![build status](https://gitlab.com/gnutls/libtasn1/badges/master/build.svg)](https://gitlab.com/gnutls/libtasn1/commits/master)|
# libtasn1
This is GNU Libtasn1, a small ASN.1 library.
The C library (libtasn1.*) is licensed under the GNU Lesser General
Public License version 2.1 or later. See the file COPYING.LIB.
The command line tool, self tests, examples, and other auxilliary
files, are licensed under the GNU General Public License version 3.0
or later. See the file COPYING.
## Building the library
We require several tools to build the software, including:
* [Make](https://www.gnu.org/software/make/)
* [Automake](https://www.gnu.org/software/automake/) (use 1.11.3 or later)
* [Autoconf](https://www.gnu.org/software/autoconf/)
* [Libtool](https://www.gnu.org/software/libtool/)
* [Texinfo](https://www.gnu.org/software/texinfo/)
* [help2man](http://www.gnu.org/software/help2man/)
* [Tar](https://www.gnu.org/software/tar/)
* [Gzip](https://www.gnu.org/software/gzip/)
* [Texlive & epsf](https://www.tug.org/texlive/) (for PDF manual)
* [GTK-DOC](https://www.gtk.org/gtk-doc/) (for API manual)
* [Git](https://git-scm.com/)
* [libabigail](https://pagure.io/libabigail/) (for abi comparison in make dist)
* [Valgrind](https://valgrind.org/) (optional)
The required software is typically distributed with your operating
system, and the instructions for installing them differ. Here are
some hints:
gNewSense/Debian/Ubuntu:
```
sudo apt-get install make git-core autoconf automake libtool
sudo apt-get install texinfo texlive texlive-generic-recommended texlive-extra-utils
sudo apt-get install help2man gtk-doc-tools valgrind abigail-tools
```
The next step is to run autoreconf, ./configure, etc:
```
$ ./bootstrap
```
Then build the project normally:
```
$ make
$ make check
```
Happy hacking!
## Manual
The manual is in the `doc/` directory of the release. You can also browse
the manual online at:
https://gnutls.gitlab.io/libtasn1/
## Homepage
The project homepage at the gnu site is at:
http://www.gnu.org/software/libtasn1/
For any copyright year range specified as YYYY-ZZZZ in this package
note that the range specifies every single year in that closed interval.
This diff is collapsed.
# Copyright (C) 2016,2018 Tim Rühsen
# Copyright (C) 2016-2017 Simon Josefsson
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# gnulib library name
source_base=lib/gl
tests_base=tests-gl
m4_base=m4-gl
gnulib_name=libgnu
gnulib_tool_option_extras="--lgpl=2 --without-tests --no-vc-files"
use_libtool=1
checkout_only_file=
local_gl_dir=lib/gl/override/
gnulib_modules="
hash-pjw-bare \
intprops \
lib-symbol-versions \
lib-symbol-visibility \
minmax \
stdint \
strverscmp \
valgrind-tests \
maintainer-makefile
"
# Build prerequisites
buildreq="\
autoconf 2.62
automake 1.11.1
git 1.4.4
"
GTKDOCIZE=$(which gtkdocize 2>/dev/null)
if test $? -ne 0; then
echo "No gtk-doc support found. You can't build the docs."
# rm because gtk-doc.make might be a link to a protected file
rm -f gtk-doc.make 2>/dev/null
echo "EXTRA_DIST =" >gtk-doc.make
echo "CLEANFILES =" >>gtk-doc.make
GTKDOCIZE=""
else
$GTKDOCIZE
fi
# update git submodules
git_options=
if test -n "$SUBMODULE_NOFETCH"; then
git_options="--no-fetch"
fi
bootstrap_post_import_hook ()
{
touch ChangeLog
}
eval '(exit $?0)' && eval 'exec perl -wST "$0" "$@"' #!/bin/sh
& eval 'exec perl -wST "$0" $argv:q' #! -*-perl-*-
if 0;
# Detect instances of "if (p) free (p);". # Detect instances of "if (p) free (p);".
# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces. # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
my $VERSION = '2016-08-01 17:47'; # UTC # Copyright (C) 2008-2019 Free Software Foundation, Inc.
# The definition above must lie within the first 8 lines in order #
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
# Copyright (C) 2008-2017 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# Written by Jim Meyering # Written by Jim Meyering
# This is a prologue that allows to run a perl script as an executable
# on systems that are compliant to a POSIX version before POSIX:2017.
# On such systems, the usual invocation of an executable through execlp()
# or execvp() fails with ENOEXEC if it is a script that does not start
# with a #! line. The script interpreter mentioned in the #! line has
# to be /bin/sh, because on GuixSD systems that is the only program that
# has a fixed file name. The second line is essential for perl and is
# also useful for editing this file in Emacs. The next two lines below
# are valid code in both sh and perl. When executed by sh, they re-execute
# the script through the perl program found in $PATH. The '-x' option
# is essential as well; without it, perl would re-execute the script
# through /bin/sh. When executed by perl, the next two lines are a no-op.
eval 'exec perl -wSx "$0" "$@"'
if 0;
my $VERSION = '2018-03-07 03:47'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
use strict; use strict;
use warnings; use warnings;
use Getopt::Long; use Getopt::Long;
(my $ME = $0) =~ s|.*/||; (my $ME = $0) =~ s|.*/||;
# use File::Coda; # http://meyering.net/code/Coda/ # use File::Coda; # https://meyering.net/code/Coda/
END { END {
defined fileno STDOUT or return; defined fileno STDOUT or return;
close STDOUT and return; close STDOUT and return;
...@@ -202,7 +217,8 @@ EOF ...@@ -202,7 +217,8 @@ EOF
## Local Variables: ## Local Variables:
## mode: perl ## mode: perl
## indent-tabs-mode: nil ## indent-tabs-mode: nil
## eval: (add-hook 'write-file-hooks 'time-stamp) ## eval: (add-hook 'before-save-hook 'time-stamp)
## time-stamp-line-limit: 50
## time-stamp-start: "my $VERSION = '" ## time-stamp-start: "my $VERSION = '"
## time-stamp-format: "%:y-%02m-%02d %02H:%02M" ## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
## time-stamp-time-zone: "UTC0" ## time-stamp-time-zone: "UTC0"
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
# List version-controlled file names. # List version-controlled file names.
# Print a version string. # Print a version string.
scriptversion=2016-01-11.22; # UTC scriptversion=2018-03-07.03; # UTC
# Copyright (C) 2006-2017 Free Software Foundation, Inc. # Copyright (C) 2006-2019 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
...@@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC ...@@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details. # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
# List the specified version-controlled files. # List the specified version-controlled files.
...@@ -49,7 +49,7 @@ EOF ...@@ -49,7 +49,7 @@ EOF
cat <<EOF cat <<EOF
vc-list-files $scriptversion vc-list-files $scriptversion
Copyright (C) $year Free Software Foundation, Inc, Copyright (C) $year Free Software Foundation, Inc,
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. There is NO WARRANTY, to the extent permitted by law.
EOF EOF
...@@ -65,7 +65,7 @@ test $# = 0 && set . ...@@ -65,7 +65,7 @@ test $# = 0 && set .
for dir for dir
do do
if test -d .git; then if test -d .git || test -f .git; then
test "x$dir" = x. \ test "x$dir" = x. \
&& dir= sed_esc= \ && dir= sed_esc= \
|| { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; }
...@@ -105,7 +105,7 @@ do ...@@ -105,7 +105,7 @@ do
done done
# Local variables: # Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0" # time-stamp-time-zone: "UTC0"
......
...@@ -29,28 +29,34 @@ endif ...@@ -29,28 +29,34 @@ endif
local-checks-to-skip = sc_prohibit_strcmp sc_prohibit_have_config_h \ local-checks-to-skip = sc_prohibit_strcmp sc_prohibit_have_config_h \
sc_require_config_h sc_require_config_h_first \ sc_require_config_h sc_require_config_h_first \
sc_immutable_NEWS sc_prohibit_magic_number_exit \ sc_immutable_NEWS sc_prohibit_magic_number_exit \
sc_bindtextdomain sc_bindtextdomain sc_GPL_version sc_prohibit_always_true_header_tests \
sc_prohibit_gnu_make_extensions
VC_LIST_ALWAYS_EXCLUDE_REGEX = ^(maint.mk|gtk-doc.make|build-aux/.*|gl/.*|lib/gllib/.*|lib/glm4/.*|lib/ASN1\.c|m4/pkg.m4|doc/gdoc|windows/.*|doc/fdl-1.3.texi)$$ VC_LIST_ALWAYS_EXCLUDE_REGEX = ^(maint.mk|gtk-doc.make|build-aux/.*|gl/.*|lib/gllib/.*|lib/glm4/.*|lib/ASN1\.c|m4/pkg.m4|doc/gdoc|windows/.*|doc/fdl-1.3.texi)$$
update-copyright-env = UPDATE_COPYRIGHT_USE_INTERVALS=1 update-copyright-env = UPDATE_COPYRIGHT_USE_INTERVALS=1
# Explicit syntax-check exceptions. # Explicit syntax-check exceptions.
exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = ^tests/TestIndef.p12$$ exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = ^tests/TestIndef.p12$$
exclude_file_name_regexp--sc_GPL_version = ^lib/libtasn1.h$$ exclude_file_name_regexp--sc_GPL_version = ^lib/includes/libtasn1.h$$
exclude_file_name_regexp--sc_program_name = ^tests/|examples/ exclude_file_name_regexp--sc_program_name = ^tests/|examples/
exclude_file_name_regexp--sc_prohibit_atoi_atof = ^src/asn1Coding.c|src/asn1Decoding.c$$ exclude_file_name_regexp--sc_prohibit_atoi_atof = ^src/asn1Coding.c|src/asn1Decoding.c$$
exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = ^tests/crlf.cer|tests/TestIndef.p12$$ exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = ^tests/.*.(cer|der|asn|txt|p12)|tests/TestIndef.p12|msvc/.*$$
exclude_file_name_regexp--sc_error_message_uppercase = ^tests/Test_tree.c$$ exclude_file_name_regexp--sc_error_message_uppercase = ^tests/Test_tree.c$$
exclude_file_name_regexp--sc_unmarked_diagnostics = ^tests/Test_tree.c$$ exclude_file_name_regexp--sc_unmarked_diagnostics = ^tests/Test_tree.c$$
exclude_file_name_regexp--sc_prohibit_undesirable_word_seq = ^msvc/.*$$
exclude_file_name_regexp--sc_trailing_blank = ^msvc/.*$$
exclude_file_name_regexp--sc_useless_cpp_parens = ^lib/includes/libtasn1.h$$
exclude_file_name_regexp--sc_prohibit_intprops_without_use = ^lib/decoding.c$$
exclude_file_name_regexp--sc_m4_quote_check=^m4-gl/.*$$
exclude_file_name_regexp--sc_makefile_at_at_check='lib/gl/Makefile.am'
bootstrap-tools := autoconf,automake,libtool,bison
gpg_key_ID = b565716f gpg_key_ID = b565716f
autoreconf: autoreconf:
touch ChangeLog @echo "Running ./bootstrap"
test -f ./configure || autoreconf --install ./bootstrap
bootstrap: autoreconf bootstrap: autoreconf
./configure $(CFGFLAGS)
review-diff: review-diff:
git diff `git describe --abbrev=0`.. \ git diff `git describe --abbrev=0`.. \
...@@ -164,3 +170,5 @@ release-upload-ftp: ...@@ -164,3 +170,5 @@ release-upload-ftp:
git push --tags git push --tags
release: release-check release-upload-www source release-upload-ftp libtasn14win-upload release: release-check release-upload-www source release-upload-ftp libtasn14win-upload
.PHONY: bootstrap autoreconf
...@@ -16,12 +16,12 @@ dnl Process this file with autoconf to produce a configure script. ...@@ -16,12 +16,12 @@ dnl Process this file with autoconf to produce a configure script.
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ([2.61]) AC_PREREQ([2.63])
AC_INIT([GNU Libtasn1],[4.13],[help-libtasn1@gnu.org]) AC_INIT([GNU Libtasn1],[4.14],[help-libtasn1@gnu.org])
AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIRS([m4 m4-gl])
AC_CONFIG_HEADERS(config.h) AC_CONFIG_HEADERS(config.h)
AM_INIT_AUTOMAKE([1.10 -Wall -Wno-override]) AM_INIT_AUTOMAKE([1.10 foreign -Wall -Wno-override])
AM_SILENT_RULES([yes]) AM_SILENT_RULES([yes])
# Library code modified: REVISION++ # Library code modified: REVISION++
...@@ -29,12 +29,11 @@ AM_SILENT_RULES([yes]) ...@@ -29,12 +29,11 @@ AM_SILENT_RULES([yes])
# Interfaces added: AGE++ # Interfaces added: AGE++
# Interfaces removed: AGE=0 # Interfaces removed: AGE=0
AC_SUBST(LT_CURRENT, 11) AC_SUBST(LT_CURRENT, 11)
AC_SUBST(LT_REVISION, 5) AC_SUBST(LT_REVISION, 6)
AC_SUBST(LT_AGE, 5) AC_SUBST(LT_AGE, 5)
AC_PROG_CC AC_PROG_CC
gl_EARLY gl_EARLY
lgl_EARLY
AC_PROG_YACC AC_PROG_YACC
AC_ARG_ENABLE(doc, AC_ARG_ENABLE(doc,
...@@ -42,6 +41,8 @@ AC_ARG_ENABLE(doc, ...@@ -42,6 +41,8 @@ AC_ARG_ENABLE(doc,
enable_doc=$enableval, enable_doc=yes) enable_doc=$enableval, enable_doc=yes)
AM_CONDITIONAL(ENABLE_DOC, test "$enable_doc" != "no") AM_CONDITIONAL(ENABLE_DOC, test "$enable_doc" != "no")
AC_CHECK_FUNCS([clock_gettime])
dnl Checks for programs. dnl Checks for programs.
AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir) AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_WIN32_DLL
...@@ -52,11 +53,10 @@ GTK_DOC_CHECK(1.2) ...@@ -52,11 +53,10 @@ GTK_DOC_CHECK(1.2)
AC_CHECK_SIZEOF(unsigned long int, 4) AC_CHECK_SIZEOF(unsigned long int, 4)
AC_CHECK_SIZEOF(unsigned int, 4) AC_CHECK_SIZEOF(unsigned int, 4)
sj_UPDATE_HEADER_VERSION([$srcdir/lib/libtasn1.h]) sj_UPDATE_HEADER_VERSION([$srcdir/lib/includes/libtasn1.h])
# For gnulib compatibility modules. # For gnulib compatibility modules.
gl_INIT gl_INIT
lgl_INIT
AC_ARG_ENABLE([gcc-warnings], AC_ARG_ENABLE([gcc-warnings],
[AS_HELP_STRING([--disable-gcc-warnings], [AS_HELP_STRING([--disable-gcc-warnings],
...@@ -65,51 +65,24 @@ AC_ARG_ENABLE([gcc-warnings], ...@@ -65,51 +65,24 @@ AC_ARG_ENABLE([gcc-warnings],
yes|no) ;; yes|no) ;;
*) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;; *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
esac esac
gl_gcc_warnings=$enableval], gcc_warnings=$enableval],
[gl_gcc_warnings=yes] [gcc_warnings=yes]
) )
if test "$gl_gcc_warnings" = yes; then WARN_CFLAGS=""
nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings if test "$gcc_warnings" = yes;then
nw="$nw -Wc++-compat" # We don't care strongly about C++ compilers WARN_CFLAGS="$WARN_CFLAGS -Wall"
nw="$nw -Wtraditional" # Warns on #elif which we use often
nw="$nw -Wtraditional-conversion" # Too many warnings for now
nw="$nw -Wconversion" # Too many warnings for now
nw="$nw -Wsign-conversion" # Too many warnings for now
nw="$nw -Wold-style-definition" #
nw="$nw -Wpadded" # Our structs are not padded
nw="$nw -Wundef" #
nw="$nw -Wunreachable-code" # Too many false positives
nw="$nw -Wunused-macros" # Breaks on bison generated ASN1.c
nw="$nw -Wswitch-default" # Breaks on bison generated ASN1.c
nw="$nw -Wunsafe-loop-optimizations"
nw="$nw -Wstrict-overflow"
nw="$nw -Woverlength-strings" # Some tests use large strings
nw="$nw -Wsuggest-attribute=pure" # Is it worth using pure attributes?
gl_MANYWARN_ALL_GCC([ws])
gl_MANYWARN_COMPLEMENT(ws, [$ws], [$nw])
for w in $ws; do
gl_WARN_ADD([$w])
done
gl_WARN_ADD([-Wno-type-limits])
gl_WARN_ADD([-Wno-missing-field-initializers])
gl_WARN_ADD([-Wno-unused-parameter])
gl_WARN_ADD([-Wno-stack-protector]) # Some functions cannot be protected
gl_WARN_ADD([-fdiagnostics-show-option])
fi fi
AC_SUBST([WARN_CFLAGS])
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile
doc/Makefile doc/Makefile
doc/cyclo/Makefile doc/cyclo/Makefile
doc/reference/Makefile doc/reference/Makefile
doc/reference/version.xml
examples/Makefile examples/Makefile
gl/Makefile
lib/Makefile lib/Makefile
lib/gllib/Makefile lib/gl/Makefile
lib/libtasn1.pc lib/libtasn1.pc
src/Makefile src/Makefile
tests/Makefile tests/Makefile
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
...@@ -5,7 +5,7 @@ in order to avoid having people working on the same thing. ...@@ -5,7 +5,7 @@ in order to avoid having people working on the same thing.
Current list: Current list:
+ Audit the code + Audit the code
* Avoid the usage of any global state in array2tree or parser2tree * Avoid the usage of any global state in array2tree or parser2tree
functions. functions.
* Allow extracting the time in a reasonable format (e.g. time_t) * Allow extracting the time in a reasonable format (e.g. time_t)
* C structure generation instead of a single array * C structure generation instead of a single array
* CHOICE in CHOICE (e.g., RDN in byName in ResponderID in OCSP) cannot * CHOICE in CHOICE (e.g., RDN in byName in ResponderID in OCSP) cannot
......
...@@ -15,7 +15,7 @@ This manual is for GNU Libtasn1 ...@@ -15,7 +15,7 @@ This manual is for GNU Libtasn1
which is a library for Abstract Syntax Notation One (ASN.1) and which is a library for Abstract Syntax Notation One (ASN.1) and
Distinguished Encoding Rules (DER) manipulation. Distinguished Encoding Rules (DER) manipulation.
Copyright @copyright{} 2001-2015 Free Software Foundation, Inc. Copyright @copyright{} 2001-2019 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
......
## Process this file with automake to produce Makefile.in # -*- mode: makefile -*-
#
# We require automake 1.6 at least. # Makefile.am - template makefile for gtk-doc module
AUTOMAKE_OPTIONS = 1.6 # Copyright (C) 2007-2017 Stefan Sauer
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# As a special exception, the above copyright owner gives unlimited