Clean up the asn1 encoder design
authorGreg Hudson <ghudson@mit.edu>
Sun, 8 Jan 2012 02:10:47 +0000 (02:10 +0000)
committerGreg Hudson <ghudson@mit.edu>
Sun, 8 Jan 2012 02:10:47 +0000 (02:10 +0000)
commit4e51ef754ee49ce6e48869df9aca47572ab1b4f8
tree24818b812487db1645467d7d646aadbe5e33c82f
parentd2c2113eb1160b3ddd1a5197c879d44f62f47601
Clean up the asn1 encoder design

Now that the PKINIT types have been converted and atype_fn has only
one use, we can more easily modify the encoder so that any object can
be encoded without its tag, which makes for a cleaner design.  The
basic building block is now krb5int_asn1_encode_type, which encodes
the contents of a function and returns its tag information to the
caller.

atype_fn now has its own structure, and the encoder function it
references follows the semantics of krb5int_asn1_encode_type.
atype_opaque is now atype_der and goes with a new corresponding field
type (field_der); stored DER encodings are parsed to separate the tag
from the content.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25622 dc483132-0cff-0310-8789-dd5450dbe970
src/lib/krb5/asn.1/asn1_encode.c
src/lib/krb5/asn.1/asn1_encode.h
src/lib/krb5/asn.1/asn1_k_encode.c