Hi, I'm having difficulty resolving some ASN1. I'm inclined to think that it is invalid and I'd welcome another opinion that might give me a hint about what I don't understand.
X519 "IDMProtocolSpecification {joint-iso-itu-t ds(5) module (1) iDMProtocolSpecification (30) 4}" defines: IDM-PDU {IDM-PROTOCOL:protocol} ::= CHOICE { bind [0] Bind{ {protocol} }, bindResult [1] BindResult{ {protocol} }, bindError [2] BindError{ {protocol} }, request [3] Request{ {protocol.&Operations} }, result [4] Result{ {protocol.&Operations} }, error [5] Error{ {protocol.&Operations} }, reject [6] Reject, unbind [7] Unbind, abort [8] Abort } I parse this as a ParameterizedObjectClass called IDM-PDU with a ParameterList containing a DummyReference protocol and Governor IDM-PROTOCOL. And then in "DirectoryIDMProtocols {joint-iso-itu-t ds(5) module(1) directoryIDMProtocols(31) 4}" X519 goes on to define: DAP-IDM-PDUs ::= IDM-PDU (dap-ip) dap-ip IDM-PROTOCOL ::= { BIND-OPERATION directoryBind OPERATIONS { read | compare | abandon | list | search | addEntry | removeEntry | modifyEntry | modifyDN } ID id-idm-dap } The thing I don't understand is how IDM-PDU can be used here with a Constraint, but without the parameter that it's definition requires. To me Constraints affect the values the Type takes, but aren't used to define the Type itself like the IDM-PDU defined above. My understanding of X682 is that adding a Constraint to a Type creates a unique subtype, but requires that the Type be resolved first and if a ReferencedType is defined with a ParameterList, a consistent set of parameters must be passed. Either I have a bug in my parser (due to my misunderstanding) or the definition should read: DAP-IDM-PDUs ::= IDM-PDU {dap-ip} so that the dap-ip Object is passed in a ParameterList, not a Constraint. -- John Birrell