svn rev #25696: trunk/src/lib/krb5/asn.1/
ghudson@MIT.EDU
ghudson at MIT.EDU
Sun Feb 12 01:11:48 EST 2012
http://src.mit.edu/fisheye/changelog/krb5/?cs=25696
Commit By: ghudson
Log Message:
Update ASN.1 TODO file
Changed Files:
U trunk/src/lib/krb5/asn.1/TODO.asn1
Modified: trunk/src/lib/krb5/asn.1/TODO.asn1
===================================================================
--- trunk/src/lib/krb5/asn.1/TODO.asn1 2012-02-12 06:00:24 UTC (rev 25695)
+++ trunk/src/lib/krb5/asn.1/TODO.asn1 2012-02-12 06:11:48 UTC (rev 25696)
@@ -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,20 +41,12 @@
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: 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.
-* 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.
-
* 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
tracking the stack of pending encodes and adding strings with type
@@ -69,7 +55,8 @@
* 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 @@
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?
More information about the cvs-krb5
mailing list