From f46e49ed93f570939129bb8188ef93dd57e519b9 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Sun, 12 Feb 2012 06:11:48 +0000 Subject: [PATCH] Update ASN.1 TODO file git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25696 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/krb5/asn.1/TODO.asn1 | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/src/lib/krb5/asn.1/TODO.asn1 b/src/lib/krb5/asn.1/TODO.asn1 index 73f5fed7a..6459f6440 100644 --- a/src/lib/krb5/asn.1/TODO.asn1 +++ b/src/lib/krb5/asn.1/TODO.asn1 @@ -2,12 +2,6 @@ Stuff that should still be done on the ASN.1 encoder conversion: -* Add support for opaque objects (pre-encoded fields, or ANY), and fix - up those remaining encoders (e.g., asn1_encode_sam_challenge_2) that - need them. - -* Convert PKINIT encoders, after we have test cases. - * Make offsetof uses conforming. Currently we may use foo.bar or foo[0] as fields. @@ -47,19 +41,11 @@ Stuff that should still be done on the ASN.1 encoder conversion: them use the encoders in the code. Only a subset of types would be exported probably. -* More compact encoding: For tags and optional-field bit positions, - encode N+1, and use 0 for "none", then make the field unsigned. - Currently the fields are signed, non-negative values hold useful - data, -1 means "none", and MIN..-2 are unused. Changing this will - either let us reduce the field size one bit, or extend the maximum - tag/bitpos value from 2**(N-1)-1 to 2**N-2. - -* More compact encoding: Use a union with designated initializers, or - some ugly casting, to make the structures smaller by not having all - fields present when we never use all of them at once. The union - approach is certainly more appealing, aside from the little detail - that it won't work on Windows unless we do all the initialization at - run time. +* More compact encoding: For struct atype and struct cntype, we could + use structures with a common base type (similar to Xlib events) + instead of a base structure with a void pointer, to save the cost of + a pointer for each type. Doing this might not be strictly correct + C. * Pie in the sky: A verbose mode that can tell you "missing field KDC-REP.cname.name-string[1].data" or some such. This would require @@ -69,7 +55,8 @@ Stuff that should still be done on the ASN.1 encoder conversion: * For ALL_POINTERS_ARE_THE_SAME mode (which is not strictly conforming with the C standard, and thus not default currently, but makes things a little smaller and faster), eliminate the loadptr structure - entry. + entry. (Note that if this infrastructure becomes exposed to + plugins, ALL_POINTERS_ARE_THE_SAME changes the ABI.) * Maybe: Reorganize the data of a "module" so everything needing relocation is put in some tables, referenced by index from other @@ -86,5 +73,3 @@ Stuff that should still be done on the ASN.1 encoder conversion: fetch-a-pointer function ignoring the integer argument, while at the C level it's strictly conforming by using the correct types for access. - -* Table-driven decoders? -- 2.26.2