diff options
author | Tom Yu <tlyu@mit.edu> | 1999-11-01 21:08:55 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 1999-11-01 21:08:55 +0000 |
commit | 18ba61167c89f65a6d861acf69460cff18b5a2cb (patch) | |
tree | 92f31455fba7979eafe0d424f97da1897da2e73f /src/lib/krb5/asn.1/asn1_get.h | |
parent | 4343e0d35106ae3179e4e7a5daca548648a4cd89 (diff) | |
download | krb5-18ba61167c89f65a6d861acf69460cff18b5a2cb.zip krb5-18ba61167c89f65a6d861acf69460cff18b5a2cb.tar.gz krb5-18ba61167c89f65a6d861acf69460cff18b5a2cb.tar.bz2 |
* krb5_decode.c (begin_structure): Update to deal with indefinite
encodings better; also call asn1_get_sequence().
* asn1_k_decode.c (sequence_of): Update to deal with indefinite
encodings better.
(begin_structure): Update to deal with indefinite encodings
better; also call asn1_get_sequence().
* asn1_get.h: Update prototypes for asn1_get_tag_indef(),
asn1_get_tag(), asn1_get_sequence(), asn1_get_length().
* asn1_get.c (asn1_get_tag_indef): New function; get tag info,
lengths, etc. as well as flag indicating whether the length is
indefinite.
(asn1_get_tag): Modify to just call asn1_get_tag_indef().
(asn1_get_sequence): Call asn1_get_tag_indef() in order to
determine whether encoding is indefinite length.
(asn1_get_length): Add "indef" arg to indicate whether an encoding
has an indefinite length.
* asn1buf.h: Update asn1buf_imbed() prototype.
* asn1buf.c (asn1buf_imbed): Add "indef" arg so that we don't
treat a definite zero-length encoding as an indefinite encoding.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11890 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/asn.1/asn1_get.h')
-rw-r--r-- | src/lib/krb5/asn.1/asn1_get.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/krb5/asn.1/asn1_get.h b/src/lib/krb5/asn.1/asn1_get.h index f21c117..2f5edf1 100644 --- a/src/lib/krb5/asn.1/asn1_get.h +++ b/src/lib/krb5/asn.1/asn1_get.h @@ -33,6 +33,12 @@ #include "krbasn1.h" #include "asn1buf.h" +asn1_error_code asn1_get_tag_indef + PROTOTYPE((asn1buf *buf, + asn1_class *class, + asn1_construction *construction, + asn1_tagnum *tagnum, + int *retlen, int *indef)); asn1_error_code asn1_get_tag PROTOTYPE((asn1buf *buf, asn1_class *class, @@ -49,7 +55,7 @@ asn1_error_code asn1_get_tag Returns ASN1_OVERRUN if *buf is exhausted during the parse. */ asn1_error_code asn1_get_sequence - PROTOTYPE((asn1buf *buf, int *retlen)); + PROTOTYPE((asn1buf *buf, int *retlen, int *indef)); /* requires *buf is allocated effects Decodes a tag from *buf and returns ASN1_BAD_ID if it doesn't have a sequence ID. If retlen != NULL, the @@ -71,7 +77,7 @@ asn1_error_code asn1_get_id Returns ASN1_OVERRUN if *buf is exhausted. */ asn1_error_code asn1_get_length - PROTOTYPE((asn1buf *buf, int *retlen)); + PROTOTYPE((asn1buf *buf, int *retlen, int *indef)); /* requires *buf is allocated effects Decodes the group of length octets at *buf's current position. If retlen != NULL, the |