Commit Graph

60 Commits

Author SHA1 Message Date
Luke Howard d7138cfbe7 base: make heimqueue.h a shared header
Share heimqueue.h between base and asn1, to avoid duplication of code.
2020-02-04 17:28:35 +11:00
Nicolas Williams cb2db14ed1 asn1: support DEFAULTed sequence fields
Prior to this commit the Heimdal ASN.1 compiler supported DEFAULTing
SEQUENCE fields on the encoder side, but not the decoder side, where
ASN1_MISSING_FIELD would inevitably result when fields were defaulted.

This patch adds the missing decode-side support for DEFAULT.
2019-10-07 21:32:00 -05:00
Nicolas Williams a3a8c1e4a4 ASN.1: Support wider bit sets (fix #514) 2019-01-15 13:21:25 -06:00
Love Hornquist Astrand 060474df16 quel 64bit warnings, fixup implicit encoding for template, fix spelling 2013-06-03 21:46:20 -07:00
Roland C. Dowdeswell cc47c8fa7b Turn on -Wextra -Wno-sign-compare -Wno-unused-paramter and fix issues.
We turn on a few extra warnings and fix the fallout that occurs
when building with --enable-developer.  Note that we get different
warnings on different machines and so this will be a work in
progress.  So far, we have built on NetBSD/amd64 5.99.64 (which
uses gcc 4.5.3) and Ubuntu 10.04.3 LTS (which uses gcc 4.4.3).

Notably, we fixed

	1.  a lot of missing structure initialisers,

	2.  unchecked return values for functions that glibc
	    marks as __attribute__((warn-unused-result)),

	3.  made minor modifications to slc and asn1_compile
	    which can generate code which generates warnings,
	    and

	4.  a few stragglers here and there.

We turned off the extended warnings for many programs in appl/ as
they are nearing the end of their useful lifetime, e.g.  rsh, rcp,
popper, ftp and telnet.

Interestingly, glibc's strncmp() macro needed to be worked around
whereas the function calls did not.

We have not yet tried this on 32 bit platforms, so there will be
a few more warnings when we do.
2012-02-20 19:45:41 +00:00
Nicolas Williams a222521e68 64-bit build fixes for ASN.1 compiler 64-bit integer support 2011-12-13 13:03:57 -06:00
Nicolas Williams 19d378f44d Add 64-bit integer support to ASN.1 compiler
ASN.1 INTEGERs will now compile to C int64_t or uint64_t, depending
    on whether the constraint ranges include numbers that cannot be
    represented in 32-bit ints and whether they include negative
    numbers.

    Template backend support included.  check-template is now built with
    --template, so we know we're testing it.

    Tests included.
2011-12-12 20:01:20 -06:00
Love Hörnquist Åstrand b8ddbe73c4 quite down clang analyzer warnings for the generate asn1 code 2011-06-14 22:29:49 -07:00
Jeffrey Altman 31de117576 avoid C99 %z printf format spec in asn1 gen_decode
Windows does not support the %z printf format specification
indicating the variable is of size_t.  In gen_decode the
variable 'depth' does not need to be of 'size_t'.  'unsigned int'
will suffice.

Change-Id: Ic56290ba702f7681d5e11f9d23bfa3eb7274dbbe
2011-05-17 12:02:11 -04:00
Love Hornquist Astrand f5f9014c90 Warning fixes from Christos Zoulas
- shadowed variables
- signed/unsigned confusion
- const lossage
- incomplete structure initializations
- unused code
2011-04-29 20:25:05 -07:00
Andrew Bartlett 2e34d7cf6e heimdal: fixed the use of error_message() in heimdal
the lex code in heimdal had a function error_message() which is
confusingly the ame as a core function from the com_err library. This
replaces it with lex_error_message(), and allows Samba4 to have a
stricter check for duplicate symbols between it's components.

Pair-Programmed-With: Andrew Tridgell <tridge@samba.org>

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2010-11-08 13:43:25 -08:00
Asanka Herath 3d83131be8 Export and calling convention annotation for lib/asn1 2010-08-20 13:14:10 -04:00
Love Hornquist Astrand e65154c6db catch error from as.*printf 2010-05-30 14:48:48 -07:00
Love Hornquist Astrand b939943b07 first stange of asn1 table driven compiler 2009-11-21 10:24:56 -08:00
Love Hornquist Astrand b0e53280e2 [HEIMDAL-646] malloc(0) checks for AIX 2009-10-11 17:33:13 -07:00
Love Hornquist Astrand 102cd04b0d its ok to return NULL if we are allocating zero elements 2009-10-11 15:38:21 -07:00
Love Hornquist Astrand 4d06f484ec implement TeletexString 2009-09-30 00:48:18 -07:00
Love Hörnquist Åstrand 0e6b5c5c22 remove trailing whitespace
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25232 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-05-28 01:17:17 +00:00
Love Hörnquist Åstrand b29554715f rename dce-stype to support_ber
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24605 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-02-04 22:08:41 +00:00
Love Hörnquist Åstrand 8ed1e3e625 indent
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24604 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-02-04 22:08:31 +00:00
Love Hörnquist Åstrand 40e1a16f54 Check that decoding worked before before checking is its a primitive
type or constructed type.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24603 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-02-04 22:08:21 +00:00
Love Hörnquist Åstrand ea193b2f25 use new der_match_tag_and_length to parse the UT_EndOfContent tag
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24189 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-12-15 04:30:22 +00:00
Love Hörnquist Åstrand be0a52e885 handle BER octet string, remove EoD tag before parsing content of a INDEF encoding to the greedy encodings in inside (like ANY) will swallow the EoD
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24186 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-12-15 04:29:52 +00:00
Love Hörnquist Åstrand 6937d41a02 remove trailing whitespace
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23815 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-13 09:21:03 +00:00
Love Hörnquist Åstrand e172367898 switch to utf8 encoding of all files
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23814 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-13 08:53:55 +00:00
Love Hörnquist Åstrand 6304d68d16 try to avoid aliasing of pointers enum {} vs int
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21503 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-07-12 11:57:19 +00:00
Love Hörnquist Åstrand c714e5d7ed Check range on SEQ OF and OCTET STRING.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21395 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-07-02 10:19:08 +00:00
Love Hörnquist Åstrand fcb245c46f Check for multipication overrun.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21362 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-06-27 08:39:07 +00:00
Love Hörnquist Åstrand 5342643f04 update (c)
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19572 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-29 17:30:32 +00:00
Love Hörnquist Åstrand 983b89b811 Add VisibleString parsing
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19539 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-28 17:15:05 +00:00
Love Hörnquist Åstrand 4e79ae875a (decode_type): drop unused variable realtype.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18160 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-09-24 09:13:12 +00:00
Love Hörnquist Åstrand 2c7a8d4dca TSequenceOf/TSetOf: Increase the length of the array after successful
decoding the next element, so that the array don't contain heap-data.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@16084 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-09-21 00:30:37 +00:00
Love Hörnquist Åstrand 394907625f Change name of oldret for each instance its used to avoid shadow
warning. From: Stefan Metzmacher <metze@samba.org>.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15962 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-08-23 11:52:16 +00:00
Love Hörnquist Åstrand 30cb2f9c22 (decode_type): tagdatalen should be an size_t.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15672 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-07-19 18:09:30 +00:00
Love Hörnquist Åstrand c77f5c2515 (find_tag): find external references, we can't handle those, so tell
user that instead of crashing


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15659 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-07-19 14:21:28 +00:00
Love Hörnquist Åstrand a42c7b8b15 (find_tag): Fix return in TType case.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15656 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-07-19 14:16:25 +00:00
Love Hörnquist Åstrand d79bcbb3a6 (decode_type): TChoice: set the label
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15627 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-07-12 18:08:38 +00:00
Love Hörnquist Åstrand b838707d0e Commit much improved ASN.1 compiler from joda-choice-branch.
Highlighs for the compiler is support for CHOICE and in general better
support for tags. This compiler support most of what is needed for
PK-INIT, LDAP, X.509, PKCS-12 and many other protocols.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15617 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-07-12 06:27:42 +00:00
Love Hörnquist Åstrand 53ac3a20b2 make scope variables unique to avoid shadow warnings
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15614 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-07-10 05:13:09 +00:00
Love Hörnquist Åstrand 8e78ed6e48 prefix Der_class with ASN1_C_ to avoid problems with system headerfiles that pollute the name space
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15255 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-05-29 14:23:01 +00:00
Love Hörnquist Åstrand 8b8bcb8c9b add boolan support
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12944 ec53bebd-3082-4978-b11e-865c3cabbd6b
2003-10-03 00:28:29 +00:00
Love Hörnquist Åstrand bd85856ef6 -= add parser/generate glue for UTF8String and NULL
(DER primitive encode/decode functions missing)
- handle parsing of DEFAULT and, ...


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12311 ec53bebd-3082-4978-b11e-865c3cabbd6b
2003-05-20 18:42:10 +00:00
Johan Danielsson dca68aa10e remove unused variable
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11068 ec53bebd-3082-4978-b11e-865c3cabbd6b
2002-08-09 15:37:34 +00:00
Assar Westerlund 2bcae56ac3 add ENUMERATED and OBJECT IDENTIFIER
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@10741 ec53bebd-3082-4978-b11e-865c3cabbd6b
2001-09-25 13:39:27 +00:00
Assar Westerlund 6f980743fb (generate_type_decode): zero the data at the beginning of the
generated function, and add a label `fail' that the code jumps to in
case of errors that frees all allocated data


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9667 ec53bebd-3082-4978-b11e-865c3cabbd6b
2001-02-10 18:14:38 +00:00
Assar Westerlund 2c57d32ca1 test two generated mallocs for success
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9577 ec53bebd-3082-4978-b11e-865c3cabbd6b
2001-01-29 08:36:45 +00:00
Assar Westerlund d43045a867 (decode_type): fail on malloc error
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8443 ec53bebd-3082-4978-b11e-865c3cabbd6b
2000-06-21 22:40:23 +00:00
Johan Danielsson 90c3ac7191 support for distinguished value integers
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8396 ec53bebd-3082-4978-b11e-865c3cabbd6b
2000-06-19 15:19:23 +00:00
Assar Westerlund 91384c007f (decode_type, generate_type_decode): add TUInteger
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8131 ec53bebd-3082-4978-b11e-865c3cabbd6b
2000-04-06 17:22:49 +00:00
Johan Danielsson c5b916ca6f remove advertising clause
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7464 ec53bebd-3082-4978-b11e-865c3cabbd6b
1999-12-02 17:05:13 +00:00