Annotation of 43BSDReno/contrib/isode-beta/doc/manual/q-syntax.tex, revision 1.1

1.1     ! root        1: % run this through LaTeX with the appropriate wrapper
        !             2: 
        !             3: \chapter {Attribute Syntaxes}
        !             4: \label{syntaxes}
        !             5: 
        !             6: All attributes recognised by Quipu have an associated ``string''
        !             7: representation, that is used to store the data in the DSA.
        !             8: This Chapter describes all the currently recognised syntaxes.
        !             9: 
        !            10: For most of the syntaxes, as BNF description is given, using the following
        !            11: base description:-
        !            12: 
        !            13: \begin{quote}\small\begin{verbatim}
        !            14: <a> ::= any of the 52 upper and lower case IA5 letters
        !            15: <d> ::= any IA5 digit 0-9
        !            16: <k> ::= any of the 52 upper and lower case IA5 letters,
        !            17:                IA5 digits, and "-" (hyphen)
        !            18: <p> ::= any IA5 character in ASN.1 PrintableSting
        !            19: <CRLF> ::= IA5 Newline
        !            20: <letterstring> ::= <a> | <a> <letterstring>
        !            21: <numericstring> ::= <d> | <d> <numericstring>
        !            22: <keystring> ::= <k> | <k> <keystring>
        !            23: <printablestring> ::= <p> | <p> <printablestring>
        !            24: \end{verbatim}\end{quote}
        !            25: 
        !            26: The BNF description of attributes can be found in
        !            27: Appendix~\ref{bnf}, but this does not repeat the BNF used for syntaxes
        !            28: given below.
        !            29: 
        !            30: \section{Standard Syntaxes}
        !            31: 
        !            32: This section describes the Attribute Syntaxes defined by X.500.
        !            33: 
        !            34: There are many attributes that are represented by a sequence of
        !            35: printable characters.  There are various was in which the contents of the
        !            36: string is restricted, each is represented by a different syntax, which are
        !            37: described below.
        !            38: 
        !            39: \subsection{PrintableString}
        !            40: \index{PrintableString}
        !            41: \begin{center}
        !            42: \begin{tabular}{|l|}\hline
        !            43: Standard Attributes \\ \hline
        !            44:        serialNumber\\
        !            45: \hline
        !            46: \end{tabular}
        !            47: \end{center}
        !            48: 
        !            49: The printable string characters are:
        !            50: \begin{quote}\begin{tabular}{l}
        !            51: \verb"A" through \verb"Z"\\
        !            52: \verb"a" through \verb"z"\\
        !            53: \verb"0" through \verb"9"\\
        !            54: \verb"'" (apostrophe)\\
        !            55: \verb"(" (left parenthesis)\\
        !            56: \verb")" (right parenthesis)\\
        !            57: \verb"+" (plus-sign)\\
        !            58: \verb"," (comma)\\
        !            59: \verb"-" (hyphen)\\
        !            60: \verb"." (period)\\
        !            61: \verb"/" (solidus)\\
        !            62: \verb":" (colon)\\
        !            63: \verb"?" (question-mark)\\
        !            64: space
        !            65: \end{tabular}\end{quote}
        !            66: 
        !            67: The value can be any character listed above, with matching as for
        !            68: CaseExactString.
        !            69: 
        !            70: When matching multiple white spaces and tabs are treated as a single space
        !            71: character.
        !            72: 
        !            73: Approximate matching is supported for this syntax.
        !            74: 
        !            75: The only attribute of this type is \verb+serialNumber+, this is used in the
        !            76: \verb+device+ objectClass, and represents the serial number of the device.
        !            77: 
        !            78: \subsection{CaseExactString}
        !            79: \index{CaseExactString}
        !            80: 
        !            81: No attributes currently use this syntax.
        !            82: 
        !            83: \label{T61String}
        !            84: The value for this syntax can be one of two types, either a printable
        !            85: string, or a T.61 string represented as follows:
        !            86: \begin{verbatim}
        !            87: <StringValue> ::= "{T.61}" <T61String> | <printablestring>
        !            88: <T61String>   ::= Any character defined to be in T.61 String.
        !            89: \end{verbatim}
        !            90: 
        !            91: Characters in T.61 string that can not be represented by an equivalent ASCII
        !            92: character are quoted, using ``\verb+\xx+'' where ``\verb+xx+'' is the
        !            93: hexadecimal value of the character.
        !            94: 
        !            95: Matching is as for PrintableString.
        !            96: 
        !            97: \subsection{CaseIgnoreString}
        !            98: \index{CaseIgnoreString}
        !            99: \begin{center}
        !           100: \begin{tabular}{|l|}\hline
        !           101: Standard Attributes \\ \hline
        !           102:        knowledgeInformation\\
        !           103:        commonName\\
        !           104:        surname\\
        !           105:        localityName\\
        !           106:        stateOrProvinceName\\
        !           107:        streetAddress\\
        !           108:        organizationName\\
        !           109:        organizationalUnitName\\
        !           110:        title\\
        !           111:        description\\
        !           112:        businessCategory\\
        !           113:        postalCode\\
        !           114:        postOfficeBox\\
        !           115:        physicalDeliveryOfficeName\\
        !           116:        \hline
        !           117: \end{tabular}
        !           118: \end{center}
        !           119: 
        !           120: \begin{center}
        !           121: \begin{tabular}{|l|}\hline
        !           122: RARE Attributes \\ \hline
        !           123:        userid\\
        !           124:        textEncodedORaddress\\
        !           125:        info\\
        !           126:        favouriteDrink\\
        !           127:        roomNumber\\
        !           128:        userClass\\
        !           129:        host\\
        !           130:        documentIdentifier\\
        !           131:        documentTitle\\
        !           132:        documentVersion\\
        !           133:        documentLocation\\
        !           134:        durName\\
        !           135:        wkdName\\
        !           136:        protocolProfile\\
        !           137:        objectID\\
        !           138:        friendlyCountryName\\
        !           139: \hline
        !           140: \end{tabular}
        !           141: \end{center}
        !           142: The syntax is the same as CaseExactString, except that when matching 
        !           143: ``characters that differ only in their case are considered identical''.
        !           144: 
        !           145: Approximate matching is supported for this syntax.
        !           146: 
        !           147: The use of some of the attributes is now described, the more obvious ones
        !           148: are omitted.
        !           149: 
        !           150: \begin{describe}
        !           151: \item [knowledgeInformation] A description of knowledge mastered by a DSA.
        !           152: \item [localityName] Used to identify the geographical area or locality in
        !           153: which the object is physically located e.g.,
        !           154: \begin{quote}\small\begin{verbatim}
        !           155: London
        !           156: \end{verbatim}\end{quote}
        !           157: \item [stateOrProvinceName]
        !           158:                        describes the state in which
        !           159:                        the \verb"locality" is found; e.g.,
        !           160: \begin{quote}\small\begin{verbatim}
        !           161: New York
        !           162: \end{verbatim}\end{quote}
        !           163: \item [title]
        !           164: An objects job title, e.g.,
        !           165: \begin{quote}\small\begin{verbatim}
        !           166: Technical Manager
        !           167: \end{verbatim}\end{quote}
        !           168: 
        !           169: \item [businessCategory]
        !           170: describes the business of the object, e.g.,
        !           171: \begin{quote}\small\begin{verbatim}
        !           172: networking
        !           173: \end{verbatim}\end{quote}
        !           174: This is used to find people sharing the same occupation.
        !           175: 
        !           176: \item [physicalDeliveryOfficeName]
        !           177:                        describes the geographical location
        !           178:                        of the physical delivery office which services the
        !           179:                        postal address of this object; e.g.,
        !           180: \begin{quote}\small\begin{verbatim}
        !           181: Troy
        !           182: \end{verbatim}\end{quote}
        !           183: 
        !           184: \item [friendlyCountryName]
        !           185: A `nice' name for countries, as opposed to the two letter codes enforced by
        !           186: use of \verb+CountryName+, for example
        !           187: \begin{quote}\small\begin{verbatim}
        !           188: Great Britain
        !           189: \end{verbatim}\end{quote}
        !           190: 
        !           191: \end{describe}
        !           192: 
        !           193: \subsection{CountryString}
        !           194: \index{CountryString}
        !           195: \begin{center}
        !           196: \begin{tabular}{|l|}\hline
        !           197: Standard Attributes \\ \hline
        !           198:        countryName\\
        !           199: \hline
        !           200: \end{tabular}
        !           201: \end{center}
        !           202: This syntax is treated as a PrintableString, with matching rules as for
        !           203: CaseIgnoreString, and the restriction that the string must consist of
        !           204: exactly two characters.
        !           205: 
        !           206: \subsection{IA5String}
        !           207: \index{IA5String}\index{quipuVrsion attribute}
        !           208: \begin{center}
        !           209: \begin{tabular}{|l|}\hline
        !           210: QUIPU Attributes \\ \hline
        !           211:        control\\
        !           212:        quipuVersion\\
        !           213: \hline
        !           214: \end{tabular}
        !           215: \end{center}
        !           216: 
        !           217: \begin{center}
        !           218: \begin{tabular}{|l|}\hline
        !           219: RARE Attributes \\ \hline
        !           220:        aRecord\\
        !           221:        mDRecord\\
        !           222:        mXRecord\\
        !           223:        nSRecord\\
        !           224:        sOARecord\\
        !           225:        cNAMERecord\\
        !           226: \hline
        !           227: \end{tabular}
        !           228: \end{center}
        !           229: 
        !           230: This syntax is handled as PrintableString, except a wider range of
        !           231: characters are recognised (i.e any character in IA5 string, characters such
        !           232: as NewLine are quoted using the same mechanism as described for T61 string
        !           233: in Section~\ref{T61String}), with matching rules as for CaseExactString.
        !           234: 
        !           235: 
        !           236: 
        !           237: \subsection{VisibleString}
        !           238: \index{VisibleString}
        !           239: \begin{center}
        !           240: \begin{tabular}{|l|}\hline
        !           241: RARE Attributes \\ \hline
        !           242:        nRSSystemDescription\\
        !           243: \hline
        !           244: \end{tabular}
        !           245: \end{center}
        !           246: This is currently treated as an ASN attribute (see Section~\ref{ASN_syntax}).
        !           247: 
        !           248: 
        !           249: \subsection{OctetString}
        !           250: \index{OctetString}
        !           251: 
        !           252: No attributes use this syntax directly.
        !           253: 
        !           254: Characters that can not be printed as an ACSII are represented using the
        !           255: quoting mechanism described in Section~\ref{T61String}.
        !           256: 
        !           257: \subsection{NumericString}
        !           258: \index{NumericString}
        !           259: \begin{center}
        !           260: \begin{tabular}{|l|}\hline
        !           261: Standard Attributes \\ \hline
        !           262:        x121Address\\
        !           263:        internationaliSDNNumber\\
        !           264: \hline
        !           265: \end{tabular}
        !           266: \end{center}
        !           267: The value is simply a numeric string:
        !           268: \begin{verbatim}
        !           269: <NumericValue> ::= <numericstring>
        !           270: \end{verbatim}
        !           271: 
        !           272: The two attributes are used thus:
        !           273: \begin{describe}
        !           274: \item[x121Address] defines the X.121 Address of an object as defined by the
        !           275: CCITT Recommendation X.121
        !           276: \item[internationaliSDNNumber]
        !           277: An International ISDN Number as defined by CCITT Recommendation E.164.
        !           278: \end{describe}
        !           279: 
        !           280: \subsection{DestinationString}
        !           281: \index{DestinationString}
        !           282: \begin{center}
        !           283: \begin{tabular}{|l|}\hline
        !           284: Standard Attributes \\ \hline
        !           285:        destinationIndicator\\
        !           286: \hline
        !           287: \end{tabular}
        !           288: \end{center}
        !           289: Behaves as a \verb+<printablestring>+, with CaseIgnoreString matching rules.
        !           290: 
        !           291: The only attribute of the type \verb+destinationIndicator+ is used to define
        !           292: the addressee as required by the Public Telegram Service.
        !           293: 
        !           294: \subsection{TelephoneNumber}
        !           295: \index{TelephoneNumber}
        !           296: \begin{center}
        !           297: \begin{tabular}{|l|}\hline
        !           298: Standard Attributes \\ \hline
        !           299:        telephoneNumber\\ 
        !           300: \hline
        !           301: \end{tabular}
        !           302: \end{center}
        !           303: 
        !           304: \begin{center}
        !           305: \begin{tabular}{|l|}\hline
        !           306: RARE Attributes \\ \hline
        !           307:        homePhone\\
        !           308: \hline
        !           309: \end{tabular}
        !           310: \end{center}
        !           311: 
        !           312: 
        !           313: \begin{center}
        !           314: \begin{tabular}{|l|}\hline
        !           315: NYSER Attributes \\ \hline
        !           316:        mobileTelephoneNumber\\
        !           317:        pagerTelephoneNumber\\
        !           318: \hline
        !           319: \end{tabular}
        !           320: \end{center}
        !           321: 
        !           322: The value should be a string describing the phone number of the object
        !           323: using the international notation; e.g.,
        !           324: \begin{quote}\begin{verbatim}
        !           325: +1 518-283-8860
        !           326: \end{verbatim}\end{quote}
        !           327: or
        !           328: \begin{quote}\begin{verbatim}
        !           329: +1 518-283-8860 x1234
        !           330: \end{verbatim}\end{quote}
        !           331: In general, the syntax is:
        !           332: \begin{quote}\begin{verbatim}
        !           333: "+" <country code> <national number> [ "x" <extension> ]
        !           334: \end{verbatim}\end{quote}
        !           335: 
        !           336: Matching is as defined for CaseExactString, except that all space and `-'
        !           337: characters are skipped during the comparison.
        !           338: 
        !           339: \subsection{PostalAddress}
        !           340: \index{PostalAddress}
        !           341: 
        !           342: \begin{center}
        !           343: \begin{tabular}{|l|}\hline
        !           344: Standard Attributes \\ \hline
        !           345:        postalAddress\\
        !           346:        registeredAddress\\
        !           347:        homePostalAddress\\
        !           348: \hline
        !           349: \end{tabular}
        !           350: \end{center}
        !           351: 
        !           352: \begin{verbatim}
        !           353: <PostalAddressValue> ::= <address_component> | 
        !           354:                          <address_component> `$' <address>
        !           355: <address_component> = <StringValue>
        !           356: \end{verbatim}
        !           357: For example \verb+UCL $ Gower Street $ London+.
        !           358: You are limited to a maximum of 6 \verb+<address_component>+'s, each with a 
        !           359: maximum of 30 characters.
        !           360: (Note each \verb+<address_component>+ can include T61 strings -- see
        !           361: Section~\ref{T61String} for details of this).
        !           362: 
        !           363: Please note: substring matching is not supported by Quipu for this syntax.
        !           364: 
        !           365: \subsection{DN}
        !           366: \index{DN}\index{masterDSA attribute}
        !           367: \begin{center}
        !           368: \begin{tabular}{|l|}\hline
        !           369: Standard Attributes \\ \hline
        !           370:        aliasedObjectName\\
        !           371:        member\\
        !           372:        owner\\
        !           373:        roleOccupant\\
        !           374:        seeAlso\\
        !           375: \hline
        !           376: \end{tabular}
        !           377: \end{center}
        !           378: 
        !           379: \begin{center}
        !           380: \begin{tabular}{|l|}\hline
        !           381: QUIPU Attributes \\ \hline
        !           382:        masterDSA\\
        !           383:        slaveDSA\\
        !           384: \hline
        !           385: \end{tabular}
        !           386: \end{center}
        !           387: 
        !           388: \begin{center}
        !           389: \begin{tabular}{|l|}\hline
        !           390: RARE Attributes \\ \hline
        !           391:        manager\\ 
        !           392:        documentAuthor\\
        !           393:        secretary\\
        !           394:        lastModifiedBy\\
        !           395:        associatedName\\
        !           396: \hline
        !           397: \end{tabular}
        !           398: \end{center}
        !           399: 
        !           400: \begin{center}
        !           401: \begin{tabular}{|l|}\hline
        !           402: MHS Attributes \\ \hline
        !           403:        mhsMessageStoreName\\
        !           404: \hline
        !           405: \end{tabular}
        !           406: 
        !           407: \end{center}
        !           408: \begin{verbatim}
        !           409: <DNValue> ::= <name>
        !           410: \end{verbatim}
        !           411: Distinguished names are discussed in Section~\ref{quipu_name}, the BNF is
        !           412: repeated for completeness:
        !           413: \begin{verbatim}
        !           414: <DNValue>      ::= <rdn> | <rdn> "@" <DNValue>
        !           415: <rdn>          ::= <attribute> | <attribute> "%" <rdn>
        !           416: \end{verbatim}
        !           417: 
        !           418: The DNs held by the attribute have the following meanings:-
        !           419: \begin{describe}
        !           420: \item[aliasedObjectName] The name of an aliased object.
        !           421: \item[member] Specifies a member of a \verb+gruopOfNames+.
        !           422: \item[owner] The name of the person responsible for the associated object.
        !           423: \item[roleOccupant] The person that fills an organisational role.
        !           424: \item[seeAlso] Other objects that may be of interest.
        !           425: \item[masterDSA] The DSA holding the master EDB file.
        !           426: \item[slaveDSA] DSAs holding slave EDB files.
        !           427: \item[manager] The manager of a DSA.
        !           428: \item[documentAuthor] Author of a document!
        !           429: \item[secretary] The name of an person Secretary.
        !           430: \item[lastModifiedBy] The object that last modified the referenced object!
        !           431: \end{describe}
        !           432: 
        !           433: \subsection{OID}
        !           434: \index{OID}
        !           435: \begin{center}
        !           436: \begin{tabular}{|l|}\hline
        !           437: Standard Attributes \\ \hline
        !           438:        supportedApplicationContext\\
        !           439: \hline
        !           440: \end{tabular}
        !           441: \end{center}
        !           442: 
        !           443: \begin{center}
        !           444: \begin{tabular}{|l|}\hline
        !           445: MHS Attributes \\ \hline
        !           446:        mhsDeliverableContentTypes\\
        !           447:        mhsDeliverableEits\\
        !           448:        mhsSupportedAutomaticActions\\
        !           449:        mhsSupportedContentTypes\\
        !           450:        mhsSupportedOptionalAttributes\\
        !           451: \hline
        !           452: \end{tabular}
        !           453: \end{center}
        !           454: \begin{verbatim}
        !           455: <OIDValue> ::= <oid>
        !           456: \end{verbatim}
        !           457: 
        !           458: All the syntaxes in this section are represented by OIDs as follows:
        !           459: \begin{verbatim}
        !           460: <oid> ::= <keystring> "." <numericoid> | 
        !           461:           <keystring> | 
        !           462:           <numericoid>
        !           463: <numericoid> ::= <numericstring> | 
        !           464:                  <numericstring> "." <numericoid>
        !           465: \end{verbatim}
        !           466: For example \verb+2.3.4.2+ or \verb+attribute.6+.
        !           467: 
        !           468: In general, the value will be a string using oidtable mappings.
        !           469: 
        !           470: \subsection{ObjectClass}
        !           471: \index{objectClass attribute}
        !           472: \begin{center}
        !           473: \begin{tabular}{|l|}\hline
        !           474: Standard Attributes \\ \hline
        !           475:        objectClass\\
        !           476: \hline
        !           477: \end{tabular}
        !           478: \end{center}
        !           479: Although essentially an OID, a separate syntax is provided an OID has
        !           480: additional semantics when used as an object class.
        !           481: 
        !           482: \subsection{TelexNumber}
        !           483: \index{TelexNumber}
        !           484: \begin{center}
        !           485: \begin{tabular}{|l|}\hline
        !           486: Standard Attributes \\ \hline
        !           487:        telexNumber\\
        !           488: \hline
        !           489: \end{tabular}
        !           490: \end{center}
        !           491: 
        !           492: \begin{verbatim}
        !           493: <TelexNumberValue> ::= <printablestring> "$" <printablestring> 
        !           494:                        "$" <printablestring>
        !           495: \end{verbatim}
        !           496: This is used to represent \verb+number $ country $ answerback+, for example
        !           497: \verb+28722 $ G $ UCLPHYS+.
        !           498: 
        !           499: \subsection{TeletexTerminalIdentifier}
        !           500: \index{TeletexTerminalIdentifier}
        !           501: \begin{center}
        !           502: \begin{tabular}{|l|}\hline
        !           503: Standard Attributes \\ \hline
        !           504:        teletexTerminalIdentifier\\
        !           505: \hline
        !           506: \end{tabular}
        !           507: \end{center}
        !           508: 
        !           509: \begin{verbatim}
        !           510: <TeletexTerminalIdentifierValue> ::= <printablestring> 
        !           511:               "$" <optstr> "$"  <optstr> "$" <optstr> 
        !           512:               "$" <optstr> "$" <optstr>
        !           513: <optstr> ::= <printablestring> | (null)
        !           514: \end{verbatim}
        !           515: Used to represent
        !           516: \begin{quote}\begin{verbatim}
        !           517: terminal $ graphic $ control $ page $ misc $ private
        !           518: \end{verbatim}\end{quote}
        !           519: 
        !           520: \subsection{FacsimileTelephoneNumber}
        !           521: \index{FacsimileTelephoneNumber}
        !           522: \begin{center}
        !           523: \begin{tabular}{|l|}\hline
        !           524: Standard Attributes \\ \hline
        !           525:        facsimileTelephoneNumber\\
        !           526: \hline
        !           527: \end{tabular}
        !           528: \end{center}
        !           529: \begin{verbatim}
        !           530: <FacsimileTelephoneNumberValue> ::= <printablestring> 
        !           531:                                     [ "$" <faxparameters> ]
        !           532: <faxparameters> ::= <faxparm> | <faxparm> 
        !           533:                     "$" <faxparameters>
        !           534: <faxparm> ::= "twoDimensional" | "fineResolution" | 
        !           535:               "unlimitedLength" | "b4Length" | 
        !           536:               "a3Width" | "b4Width" | "uncompressed"
        !           537: \end{verbatim}
        !           538: For example \verb+123-4567 $ twoDimensional+
        !           539: 
        !           540: 
        !           541: \subsection{DeliveryMethod}
        !           542: \index{DeliveryMethod}
        !           543: \begin{center}
        !           544: \begin{tabular}{|l|}\hline
        !           545: Standard Attributes \\ \hline
        !           546:        preferredDeliveryMethod\\
        !           547: \hline
        !           548: \end{tabular}
        !           549: \end{center}
        !           550: 
        !           551: \begin{center}
        !           552: \begin{tabular}{|l|}\hline
        !           553: MHS Attributes \\ \hline
        !           554:        mhsPreferredDeliveryMethods\\
        !           555: \hline
        !           556: \end{tabular}
        !           557: \end{center}
        !           558: 
        !           559: \begin{verbatim}
        !           560: <DeliveryValue> = <pdm_component> | <pdm_component> "$" <pdm>
        !           561: pdm_component = "any" | "mhs" | "physical" | "telex" | 
        !           562:                 "teletex" | "g3fax" | "g4fax" | "ia5" | 
        !           563:                 "videotex" | "telephone"
        !           564: \end{verbatim}
        !           565: For example \verb+mhs $ telephone+.
        !           566: 
        !           567: \subsection{PresentationAddress}
        !           568: \index{presentation addresses}
        !           569: \begin{center}
        !           570: \begin{tabular}{|l|}\hline
        !           571: Standard Attributes \\ \hline
        !           572:        presentationAddress\\
        !           573: \hline
        !           574: \end{tabular}
        !           575: \end{center}
        !           576: For more details see \volone/ of this manual and \cite{String.Addresses}.
        !           577: 
        !           578: \subsection{Password}
        !           579: \index{Password}\index{user password attribute}
        !           580: \begin{center}
        !           581: \begin{tabular}{|l|}\hline
        !           582: Standard Attributes \\ \hline
        !           583:        userPassword\\
        !           584: \hline
        !           585: \end{tabular}
        !           586: \end{center}
        !           587: See Section~\ref{Passwords} for a discussion of this attribute.
        !           588: 
        !           589: \subsection{Certificate}
        !           590: \index{Certificate}
        !           591: \begin{center}
        !           592: \begin{tabular}{|l|}\hline
        !           593: Standard Attributes \\ \hline
        !           594:        userCertificate\\
        !           595:        cACertificate\\
        !           596: \hline
        !           597: \end{tabular}
        !           598: \end{center}
        !           599: 
        !           600: 
        !           601: \begin{verbatim}
        !           602: <CertificateValue> ::= <Algorithm> "#" <EncryptedValue> "#"
        !           603:            <Issuer> "#" <Subject> "#" <Algorithm> "#"
        !           604:            <ProtocolVersion> "#" <Serial> "#" <Validity> "#"
        !           605:            <Algorithm> "#" <EncryptedValue>
        !           606: \end{verbatim}
        !           607: % Give LaTeX a sporting chance of pagebreaking sensibly.
        !           608: \begin{verbatim}
        !           609: <Algorithm> ::= <OID> "#" <AlgorithmParameters>
        !           610: <AlgorithmParameters> ::= | <IntegerValue> | 
        !           611:                             "{ASN}" <HexString>
        !           612: <Issuer> ::= <DN>
        !           613: <Subject> ::= <DN>
        !           614: <ProtocolVersion> ::= <IntegerValue>
        !           615: <Serial> ::= <IntegerValue>
        !           616: <Validity> ::= <UTCTime> "#" <UTCTime>
        !           617: <EncryptedValue> ::= <HexString> | <HexString> "-" <Digit>
        !           618: \end{verbatim}
        !           619: 
        !           620: \subsection{CertificatePair}
        !           621: \index{CertificatePair}
        !           622: \begin{center}
        !           623: \begin{tabular}{|l|}\hline
        !           624: Standard Attributes \\ \hline
        !           625:        crossCertificatePair\\
        !           626: \hline
        !           627: \end{tabular}
        !           628: \end{center}
        !           629: 
        !           630: \begin{verbatim}
        !           631: <CertificatePairValue> ::= [<CertificateValue>] "|" 
        !           632:                            [<CertificateValue>]
        !           633: \end{verbatim}
        !           634: At least one certificate should be present, although QUIPU will not enforce
        !           635: this.
        !           636: 
        !           637: \subsection{CertificateList}
        !           638: \index{CertificateList}
        !           639: \begin{center}
        !           640: \begin{tabular}{|l|}\hline
        !           641: Standard Attributes \\ \hline
        !           642:        authorityRevocationList\\
        !           643:        certificateRevocationList\\
        !           644: \hline
        !           645: \end{tabular}
        !           646: \end{center}
        !           647: 
        !           648: \begin{verbatim}
        !           649: <CertificateListValue> ::= <AlgorithmValue> "#" <Issuer> "#" 
        !           650:                 <AlgorithmValue> "#" <EncryptedValue> "#"
        !           651:                 <UTCTime> ["#" <RevokedCertificates>]
        !           652: 
        !           653: <RevokedCertificates> ::= <AlgorithmValue> "#"
        !           654:                  <EncryptedValue> 
        !           655:                  [ "#" *(<RevokedCertificate> "#") ]
        !           656: 
        !           657: <RevokedCertificate> ::= <Subject> "#" <AlgorithmValue> "#"
        !           658:                  <SerialNumber> "#" <UTCTime>
        !           659: 
        !           660: \end{verbatim}
        !           661: 
        !           662: \subsection{Guide}
        !           663: \index{Guide}
        !           664: \begin{center}
        !           665: \begin{tabular}{|l|}\hline
        !           666: Standard Attributes \\ \hline
        !           667:        searchGuide\\
        !           668: \hline
        !           669: \end{tabular}
        !           670: \end{center}
        !           671: 
        !           672: \begin{verbatim}
        !           673: <GuideValue>   ::= [<objectClass> "#"] <Criteria>
        !           674: <Criteria>     ::= <CriteriaItem> | <CriteriaSet> | 
        !           675:                    "!" <Criteria>
        !           676: <CrtieriaSet>  ::= ["("] Criteria "@" CriteriaSet [")"] | 
        !           677:                    ["("] Criteria "|" CriteriaSet [")"]
        !           678: <CriteriaItem> ::= ["("] <attributetype> "$" <matchType> [")"]
        !           679: <matchType>    ::= "EQ" | "SUBSTR" | "GE" | "LE" | "APPROX"
        !           680: \end{verbatim}
        !           681: 
        !           682: Note the use of \verb+@+ for `and', as the \verb+&+ symbol has other meaning
        !           683: here.
        !           684: 
        !           685: Some examples of Search Guide are:
        !           686: \begin{quote}\begin{verbatim}
        !           687: Person # commonName $ APPROX
        !           688: ( organization $ EQ ) @ (commonName $ SUBSTR)
        !           689: ( organization $ EQ ) @ ((commonName $ SUBSTR) | \
        !           690:                         (commonName $ EQ))
        !           691: \end{verbatim}\end{quote}
        !           692: 
        !           693: \subsection{UTCTime}
        !           694: \index{UTCTime}
        !           695: \begin{center}
        !           696: \begin{tabular}{|l|}\hline
        !           697: Standard Attributes \\ \hline
        !           698:        lastModifiedTime\\
        !           699: \hline
        !           700: \end{tabular}
        !           701: \end{center}
        !           702: \begin{verbatim}
        !           703: <UTCTimeValue> ::= <printablestring>
        !           704: \end{verbatim}
        !           705: The string should be formatted using the template \verb+yymmddhhmmssz+
        !           706: where 
        !           707: \verb+yy+ represents the year; 
        !           708: \verb+mm+ represents the month; 
        !           709: \verb+dd+ represents the day; 
        !           710: \verb+hh+ represents hours; 
        !           711: \verb+mm+ represents minutes; 
        !           712: \verb+ss+ represents seconds; 
        !           713: \verb+z+  represents the timezone.
        !           714: 
        !           715: For example the string \verb+890602093221Z+ is used to represent
        !           716: 09:32:21 at GMT, on June~$2^{\underline{\mbox{\scriptsize nd}}}$,
        !           717: {\oldstyle 1989}.
        !           718: 
        !           719: \subsection{Boolean}
        !           720: \index{Boolean}
        !           721: 
        !           722: No attributes use this syntax.
        !           723: 
        !           724: \begin{verbatim}
        !           725: <BooleanValue> ::= <boolean>
        !           726: <boolean>      ::= "TRUE" | "FALSE"
        !           727: \end{verbatim}
        !           728: 
        !           729: \subsection{Integer}
        !           730: \index{Integer}
        !           731: 
        !           732: \begin{center}
        !           733: \begin{tabular}{|l|}\hline
        !           734: MHS Attributes \\ \hline
        !           735:        mhsDeliverableContentLength\\
        !           736: \hline
        !           737: \end{tabular}
        !           738: \end{center}
        !           739: 
        !           740: \begin{verbatim}
        !           741: <IntegerValue> ::= <d>
        !           742: \end{verbatim}
        !           743: 
        !           744: 
        !           745: \section{QUIPU Attribute Syntaxes}
        !           746: 
        !           747: \subsection{ACL}
        !           748: \label{acl_syntax}
        !           749: \index{acl attribute}\
        !           750: \begin{center}
        !           751: \begin{tabular}{|l|}\hline
        !           752: QUIPU Attributes \\ \hline
        !           753:        accessControlList\\
        !           754: \hline
        !           755: \end{tabular}
        !           756: \end{center}
        !           757: \begin{verbatim}
        !           758: <aclvalue>     ::= <aclwho> "#" <aclwhat> "#" <acltype> ["#"]
        !           759: <aclwho>       ::= "self" | "others" | "group #" <namelist> | 
        !           760:                        "prefix #" <namelist>
        !           761: <aclwhat>      ::= "none" | "detect" | "compare" | 
        !           762:                     "read" | "add" | "write"
        !           763: <acltype>      ::= "child" | "entry" | "default" | 
        !           764:                     "attributes #" <oidlist>
        !           765: <oidlist>      ::= <oid> | <oidlist> "$" <oid>
        !           766: \end{verbatim}
        !           767: The use of ACL is discussed in Section~\ref{disc_acl}.
        !           768: 
        !           769: \subsection{Schema}
        !           770: \label{tree_struct}
        !           771: \index{Schema}\index{treeStructure attribute}
        !           772: \begin{center}
        !           773: \begin{tabular}{|l|}\hline
        !           774: QUIPU Attributes \\ \hline
        !           775:        treeStructure\\
        !           776: \hline
        !           777: \end{tabular}
        !           778: \end{center}
        !           779: Schema is currently represented by a single OID, and discussed fully in
        !           780: Section~\ref{adding_data}.
        !           781: 
        !           782: \subsection{ProtectedPassword}
        !           783: \index{ProtectedPassword}
        !           784: \begin{center}
        !           785: \begin{tabular}{|l|}\hline
        !           786: QUIPU Attributes \\ \hline
        !           787:        protectedPassword\\
        !           788: \hline
        !           789: \end{tabular}
        !           790: \end{center}
        !           791: 
        !           792: \begin{verbatim}
        !           793: <ProtectedPasswordValue> ::= <StringValue>
        !           794: \end{verbatim}
        !           795: 
        !           796: The password encryption mechanism is encapsulated within the matching rules
        !           797: for this attribute; two values are `equal' if they are identically equal or
        !           798: if one is an encrypted representation of the other. 
        !           799: 
        !           800: Note that `equals' is not transitive for this attribute:
        !           801: If $a = b$ and $b = c$, testing $a = c$ may give `incomparable' rather than
        !           802: `true' as the result. The reason for this is that in some circumstances 
        !           803: properly testing
        !           804: this attribute for equality would consume an unacceptable amount of time. The
        !           805: security of the encryption mechanism depends on this!
        !           806: 
        !           807: \subsection{SecurityPolicy}
        !           808: \index{SecurityPolicy}
        !           809: \begin{center}
        !           810: \begin{tabular}{|l|}\hline
        !           811: QUIPU Attributes \\ \hline
        !           812:        entrySecurityPolicy\\
        !           813:        dsaDefaultSecurityPolicy\\
        !           814:        dsaPermittedSecurityPolicy\\
        !           815: \hline
        !           816: \end{tabular}
        !           817: \end{center}
        !           818: 
        !           819: This attribute is currently handled as ``ASN'', see Section~\ref{ASN_syntax}.
        !           820: 
        !           821: \subsection{EdbInfo}
        !           822: \index{edbInfo attribute}
        !           823: \begin{center}
        !           824: \begin{tabular}{|l|}\hline
        !           825: QUIPU Attributes \\ \hline
        !           826:        eDBinfo\\
        !           827: \hline
        !           828: \end{tabular}
        !           829: \end{center}
        !           830: \begin{verbatim}
        !           831: <EdbInfoValue> ::= <name> "#" <name> "#" <namelist> ["#"]
        !           832: \end{verbatim}
        !           833: This attribute is discussed in Section~\ref{slave_update}.
        !           834: 
        !           835: 
        !           836: 
        !           837: \section{RARE Attribute Syntaxes}
        !           838: 
        !           839: These syntaxes are also described in \cite{thorn-na}.
        !           840: 
        !           841: \subsection{Mailbox}
        !           842: \index{Mailbox}
        !           843: \begin{center}
        !           844: \begin{tabular}{|l|}\hline
        !           845: RARE Attributes \\ \hline
        !           846:        otherMailbox\\
        !           847: \hline
        !           848: \end{tabular}
        !           849: \end{center}
        !           850: \begin{verbatim}
        !           851: <MailboxValue> ::= <printablestring> "$" <IA5String>
        !           852: \end{verbatim}
        !           853: For example \verb+internet $ [email protected]+.
        !           854: 
        !           855: \subsection{CaseIgnoreIA5String}
        !           856: \index{CaseIgnoreIA5String}
        !           857: \begin{center}
        !           858: \begin{tabular}{|l|}\hline
        !           859: RARE Attributes \\ \hline
        !           860:        rfc822Mailbox\\
        !           861:        domainComponent\\
        !           862:        nRSTextualDescription\\
        !           863:        associatedDomain\\
        !           864: \hline
        !           865: \end{tabular}
        !           866: \end{center}
        !           867: 
        !           868: These attributes are handled as IA5Strings, but use the matching rules
        !           869: for the CaseIgnoreString syntax.
        !           870: 
        !           871: 
        !           872: \subsection{Photo}
        !           873: \index{Photo}\index{ASN}
        !           874: \begin{center}
        !           875: \begin{tabular}{|l|}\hline
        !           876: RARE Attributes \\ \hline
        !           877:        photo\\
        !           878: \hline
        !           879: \end{tabular}
        !           880: \end{center}
        !           881: Photos are a special case of ``ASN'' (see Section~\ref{ASN_syntax}), but the 
        !           882: output format is different.
        !           883: Your attention is drawn to Section~\ref{file_attr} which discusses storing
        !           884: large attributes in a separate file.
        !           885: 
        !           886: The attribute should be encoded as a bitstring, in a G3FacsimilePage encoding
        !           887: (as per Recommendation T.4).
        !           888: 
        !           889: \section{THORN System Attribute Syntaxes}
        !           890: 
        !           891: Syntaxes in this section are not recognised by Quipu,
        !           892: and are thus handled as ASN --- see Section~\ref{ASN_syntax}.
        !           893: However, Quipu compatible syntax handlers
        !           894: for them are available as part of the
        !           895: THORN\index{thorn}\cite{thorn} project.
        !           896: 
        !           897: 
        !           898: \subsection{ThornACL}
        !           899: \begin{center}
        !           900: \begin{tabular}{|l|}\hline
        !           901: THORN System Attributes \\ \hline
        !           902:        thornACL\\
        !           903: \hline
        !           904: \end{tabular}
        !           905: \end{center}
        !           906: 
        !           907: \subsection{RDType}
        !           908: \begin{center}
        !           909: \begin{tabular}{|l|}\hline
        !           910: THORN System Attributes \\ \hline
        !           911:        ruleDescription\\
        !           912: \hline
        !           913: \end{tabular}
        !           914: \end{center}
        !           915: 
        !           916: \subsection{ODType}
        !           917: \begin{center}
        !           918: \begin{tabular}{|l|}\hline
        !           919: THORN System Attributes \\ \hline
        !           920:        objectDescription\\
        !           921: \hline
        !           922: \end{tabular}
        !           923: \end{center}
        !           924: 
        !           925: \subsection{ADType}
        !           926: \begin{center}
        !           927: \begin{tabular}{|l|}\hline
        !           928: THORN System Attributes \\ \hline
        !           929:        attributeDescription\\
        !           930: \hline
        !           931: \end{tabular}
        !           932: \end{center}
        !           933: 
        !           934: \subsection{KnowledgeReference}
        !           935: \begin{center}
        !           936: \begin{tabular}{|l|}\hline
        !           937: THORN System Attributes \\ \hline
        !           938:        knowledgeReference\\
        !           939: \hline
        !           940: \end{tabular}
        !           941: \end{center}
        !           942: 
        !           943: \subsection{NRSInformation}
        !           944: \begin{center}
        !           945: \begin{tabular}{|l|}\hline
        !           946: THORN System Attributes \\ \hline
        !           947:        forwardOnlyInformation\\
        !           948:        reverseOnlyInformation\\
        !           949:        forwardAndReverseInformation\\
        !           950: \hline
        !           951: \end{tabular}
        !           952: \end{center}
        !           953: (There is not a syntax handler for this from THORN [yet!].)
        !           954: 
        !           955: \section{MHS Attribute Syntaxes}
        !           956: 
        !           957: Syntaxes in this section are not currently recognised by Quipu,
        !           958: and are thus handled as raw ASN (see Section~\ref{ASN_syntax}).
        !           959: 
        !           960: \subsection{ORAddress}
        !           961: \index{ORAddress}
        !           962: \begin{center}
        !           963: \begin{tabular}{|l|}\hline
        !           964: MHS Attributes \\ \hline
        !           965:        mhsORaddresses\\
        !           966: \hline
        !           967: \end{tabular}
        !           968: \end{center}
        !           969: 
        !           970: 
        !           971: \subsection{ORName}
        !           972: \index{ORName}
        !           973: \begin{center}
        !           974: \begin{tabular}{|l|}\hline
        !           975: MHS Attributes \\ \hline
        !           976:        mhsDLMembers\\
        !           977: \hline
        !           978: \end{tabular}
        !           979: \end{center}
        !           980: 
        !           981: 
        !           982: \subsection{DLSubmitPermissions}
        !           983: \index{DLSubmitPermissions}
        !           984: \begin{center}
        !           985: \begin{tabular}{|l|}\hline
        !           986: MHS Attributes \\ \hline
        !           987:        mhsDLSubmitPermissions\\
        !           988: \hline
        !           989: \end{tabular}
        !           990: \end{center}
        !           991: 
        !           992: 
        !           993: \section{ASN}
        !           994: \label{ASN_syntax}
        !           995: As the preceding Sections in this Chapter have mentioned, not all syntaxes
        !           996: have a string representation defined by Quipu, so are represented by the raw
        !           997: ASN.
        !           998: 
        !           999: An example would be:
        !          1000: \begin{verbatim}
        !          1001: photo= {ASN} 0308207b4001488001fd...
        !          1002: \end{verbatim}
        !          1003: where \verb+0308+\ldots is a hexadecimal representation (encoded using the
        !          1004: ``Basic Encoding Rules'') of the ASN.1 defined attribute.
        !          1005: 
        !          1006: Attributes stored as ASN.1, will usually be matched correctly, with
        !          1007: the following exceptions:
        !          1008: 
        !          1009: \begin{itemize}
        !          1010: \item
        !          1011: There is an IMPLICIT Set in the ASN.1.  The DSA will not detect the
        !          1012: set, and so will not know to match components in arbitrary order.
        !          1013: 
        !          1014: \item
        !          1015: If special matching rules apply: for example, special rules to
        !          1016: determine equivalence of telephone numbers.  Such rules would need
        !          1017: to be represented by code in the DSA.
        !          1018: \end{itemize}
        !          1019: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.