Hi,
> So, what's the conclusion? Is this packet correct or not?
Here is my opinion on the subject.
I think the packet is correct - zero length encoding is perfectly fine.
I see zero length SETs every day.
[If you want an example - most X.400 systems use the default ia5 repertoire
for text bodyparts in the ASN.1 below - resulting in a zero length SET. I've
even seen implementations encode it in 6 bytes - which beats a "disgusting"
- but perfectly valid - indefinite length encoding.
IA5TextBodyPart ::= SEQUENCE {
parameters IA5TextParameters,
data IA5TextData
}
IA5TextParameters ::= SET {repertoire [0] Repertoire DEFAULT ia5
}
]
> I think that:
>
> 1. If the packet is incorrect (in terms of BER-encoding), then
> the "BER error" message should be put back, but the dissection
> of the current sequence should not be aborted.
I don't think it is an error.
(If there had been a constraint then it would have been an error - but
asn2wrs doesn't do any bounds checking at the moment.)
> 2. If we don't know whether it is correct or not, probably we should
> give warning instead of error?
I think it is correct.
> 3. Anyway, those 'one item of zero length' lines in the decoded
> packet tree should be changed to '0 items' or removed completely.
If I recall correctly, this issue was when displaying a zero length SEQUENCE
OF?
In which case, I think it should be changed to '0 items' (and not removed)
to be clear and consistent.
Graeme