Tweak as dictated by Adam, who is much better at reading packet
authorMike Taylor <mike@indexdata.com>
Fri, 18 Jul 2003 22:36:39 +0000 (22:36 +0000)
committerMike Taylor <mike@indexdata.com>
Fri, 18 Jul 2003 22:36:39 +0000 (22:36 +0000)
dumps than I am :-)  OCLC should be ashamed of themselves, sending
ASN.1 that bears so very little resemblance to what they document!

z39.50/oclcui.asn

index d60852d..4f5e7da 100644 (file)
@@ -2,27 +2,26 @@ UserInfoFormat-oclcUserInformation
 {Z39-50-userInfoFormat OCLCUserInformation (7)} DEFINITIONS ::=
 BEGIN
 
--- $Id: oclcui.asn,v 1.1 2003-07-18 19:53:28 mike Exp $
+-- $Id: oclcui.asn,v 1.2 2003-07-18 22:36:39 mike Exp $
 --
 -- This format is returned from the server at
 --     fsz3950test.oclc.org:210
 -- I found the definition at
 --     http://www.oclc.org/firstsearch/documentation/z3950/config_guide.htm
 --
--- I have added OPTIONAL modifiers to the `dblist', `diagnosticSetId'
--- and `code' elements because they appear to be admitted from the
--- APDU returned as an Init diagnostic from fsz3950test.oclc.org:210
--- but this still doesn't work yet: I get "Decoding incoming APDU:
--- Length of constructed type different from sum of members (code
--- 10:36)"
+-- I have added OPTIONAL modifiers to the `dblist' and and `code'
+-- elements because they appear to be admitted from the APDU returned
+-- as an Init diagnostic from fsz3950test.oclc.org:210.  Adam further
+-- removed the SEQUENCE structure, changed failReason to a BOOLEAN and
+-- deleted diagnosticSetId altogether, to make the ASN.1 conform to
+-- what's actually returned on the wire.
 
 OCLC-UserInformation ::= SEQUENCE {
     motd        [1] IMPLICIT VisibleString,
     dblist      SEQUENCE OF DBName OPTIONAL,
-    failReason  [3] IMPLICIT SEQUENCE {
-        diagnosticSetId OBJECT IDENTIFIER OPTIONAL,
-        code    [1] IMPLICIT INTEGER OPTIONAL,
-        text    [2] IMPLICIT VisibleString OPTIONAL } OPTIONAL
+    failReason  [3] IMPLICIT BOOLEAN OPTIONAL,
+    code        [1] IMPLICIT INTEGER OPTIONAL,
+    text        [2] IMPLICIT VisibleString OPTIONAL
 }
 
 DBName ::= [2] IMPLICIT VisibleString