Continuing a discussion from last weeks call which continued off-list with Alan
and myself where I've lifted bits out of a couple of emails ...
The issue is what is the difference between GET and GET_ATTRIBUTES for a
TEMPLATE. On the last call interop call the views from Mathias and Bruce were
that the only difference was packaging (e.g. in a managed object struct or "naked").
Having spent some time thinking about it and the context of use and exchanging
emails I do think they should actually be different - in that GET_ATTRIBUTES on
a template should only be returning the attributes which apply to the TEMPLATE
object itself and not the value of the template.
The Cryptsoft server certainly do not return the template attribute list on
GET_ATTRIBUTES and in fact currently returns nothing other than the
UNIQUE_IDENTIFIER if no attributes are specified (which is in itself a different
sort of error which needs to be corrected).
I don't see anything in the specification to support the interpretation which
was expressed on last weeks call and I'd appreciate getting a sense of the
general view on the topic.
Absent something specific in the specification or a use case which shows the
behaviour expected I think this is one of those items which should be corrected
and in fact could do with a use case which covered whatever the 'correct'
behaviour happens to be.
From what I can see the GET_ATTRIBUTES_LIST should be returning just the small
list noted above (section 2.2.6 of the specification) and GET should return the
value (the entire attribute list).
That is something I think is important enough to get locked down as it will
definitely effect interoperability going forward. I don't think it makes sense
to have special case logic to handle one object type in such a different manner
to the rest.
Tim.