hdb: Use a CHOICE instead of ASN1_BAD_ID
Checking the error code of decoding a blob as an hdb_entry or hdb_entry_alias to determine which of those the blob is depends on a detail of the Heimdal ASN.1 compiler and library that shouldn't be depended on. Using a CHOICE adds no octets to the encoding: HDB-EntryOrAlias ::= CHOICE { entry hdb_entry, alias hdb_entry_alias } since we're adding no additional tags and the two arms of the CHOICE already differ in tag (hdb_entry's tag is a [UNIVERSAL Sequence] tag, while hdb_entry_alias's is an [APPLICATION 0] tag).
This commit is contained in:
@@ -111,12 +111,18 @@ HEIMDAL_HDB_1.0 {
|
||||
asn1_HDBFlags_units;
|
||||
copy_Event;
|
||||
copy_HDB_EncTypeList;
|
||||
copy_hdb_entry;
|
||||
copy_hdb_entry_alias;
|
||||
copy_HDB_EntryOrAlias;
|
||||
copy_HDB_extensions;
|
||||
copy_HDB_Ext_KeyRotation;
|
||||
copy_Key;
|
||||
copy_Keys;
|
||||
copy_Salt;
|
||||
decode_HDB_EncTypeList;
|
||||
decode_hdb_entry;
|
||||
decode_hdb_entry_alias;
|
||||
decode_HDB_EntryOrAlias;
|
||||
decode_HDB_Ext_Aliases;
|
||||
decode_HDB_extension;
|
||||
decode_HDB_Ext_KeyRotation;
|
||||
@@ -124,6 +130,9 @@ HEIMDAL_HDB_1.0 {
|
||||
decode_Key;
|
||||
decode_Keys;
|
||||
encode_HDB_EncTypeList;
|
||||
encode_hdb_entry;
|
||||
encode_hdb_entry_alias;
|
||||
encode_HDB_EntryOrAlias;
|
||||
encode_HDB_Ext_Aliases;
|
||||
encode_HDB_extension;
|
||||
encode_HDB_Ext_KeyRotation;
|
||||
@@ -134,6 +143,8 @@ HEIMDAL_HDB_1.0 {
|
||||
free_Event;
|
||||
free_HDB_EncTypeList;
|
||||
free_hdb_entry;
|
||||
free_hdb_entry_alias;
|
||||
free_HDB_EntryOrAlias;
|
||||
free_HDB_Ext_Aliases;
|
||||
free_HDB_extension;
|
||||
free_HDB_extensions;
|
||||
@@ -149,6 +160,9 @@ HEIMDAL_HDB_1.0 {
|
||||
int2KeyRotationFlags;
|
||||
KeyRotationFlags2int;
|
||||
length_HDB_EncTypeList;
|
||||
length_hdb_entry;
|
||||
length_hdb_entry_alias;
|
||||
length_HDB_EntryOrAlias;
|
||||
length_HDB_Ext_Aliases;
|
||||
length_HDB_extension;
|
||||
length_HDB_Ext_KeyRotation;
|
||||
|
Reference in New Issue
Block a user