Merge Samba3 and Samba4 together
[amitay/samba.git] / source4 / ldap_server / devdocs / draft-armijo-ldap-syntax-00.txt
1 INTERNET-DRAFT                                                  Michael P. Armijo
2 Status: Informational                                           Microsoft Corporation
3 January 1999 
4 Expires July 1999                                                
5
6
7                              Active Directory Syntaxes
8                         draft-armijo-ldap-syntax-00.txt
9
10
11 1. Status of this Memo
12
13
14 This memo provides information for the Internet community. It does not specify 
15 an Internet standard of any kind. Distribution of this memo is unlimited.
16
17 This document is an Internet-Draft. Internet-Drafts are working documents of the 
18 Internet Engineering Task Force (IETF), its areas, and its working groups. Note 
19 that other groups may also distribute working documents as Internet-Drafts. 
20
21 Internet-Drafts are draft documents valid for a maximum of six months and may be 
22 updated, replaced, or obsoleted by other documents at any time. It is 
23 inappropriate to use Internet- Drafts as reference material or to cite them 
24 other than as "work in progress." 
25
26 To view the entire list of current Internet-Drafts, please check the "1id-
27 abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on 
28 ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it 
29 (Southern Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or 
30 ftp.isi.edu (US West Coast).
31
32 2. Abstract
33
34 The purpose of this document is to inform the Internet community of LDAP 
35 syntaxes available in the Windows NT Active Directory.  These syntaxes provide
36 additional functionality to the Active Directory.
37
38
39 3. RFC Key Words
40
41 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", 
42 "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this document are to be 
43 interpreted as described in RFC 2119.
44
45
46 4. LDAP Syntaxes
47
48 CaseIgnoreString: 1.2.840.113556.1.4.905
49         Encoded as a Printable String (OID 1.3.6.1.4.1.1466.115.121.1.44)
50
51
52 OR-Name: 1.2.840.113556.1.4.1221
53         Encoded as:
54         ORName = DN | "X400:" ORaddress "#X500:" DN | "X400:"ORaddress 
55         DN = normally encoded rfc 1779 name
56         ORaddress = some string encoding for OR addresses.  
57         
58 Note that an unescaped # character must not be legal in this encoding.  
59 This is necessary to be able to identify where the #X500 starts if the 
60 middle choice of the encoding is chosen.
61
62         
63 DNWithOctetString: 1.2.840.113556.1.4.903
64         Encoded as a :
65         DNWithOctetString  = OctetTag ':' Count ':' OctetString ':' DN
66         OctetTag = 'B' | 'b'
67         Count = positive decimal number, counting number of encoded characters 
68                 in OctetString
69         OctetString = [EncodedByte]*  // Note: the number of characters in the
70                 string encoding of the OctetString is Count.
71         EncodedByte = [0-9 | a-f | A-F] [0-9 | a-f | A-F]
72         DN = <normal string encoding of a DN> 
73
74         As an example, the string encoding of the combination of 0x74 0x65 0x73 
75         0x74 and DC=Microsoft,DC=Com is
76
77         B:8:74657374:DC=Microsoft,DC=Com
78
79         
80 DNWithString: 1.2.840.113556.1.4.904
81         Encoded as a :
82         DNWithString  = StringTag ':' Count ':' String ':' DN
83         OctetTag = 'S' | 's'
84         Count = positive decimal number, counting number of bytes in String
85         String = <normally encoded (i.e. UTF8 for V3) string>  // Note: the number 
86         of bytes in the string encoding of the String is Count. 
87  
88         DN = <normal string encoding of a DN> 
89
90         As an example, the string encoding of the combination of "test" and 
91         DC=Microsoft,DC=Com is
92
93         B:4:test:DC=Microsoft,DC=Com
94
95         As an example, the string encoding of the combination of XYZ (where X, Y, 
96         and Z all have two byte UTF-8 encodings) and DC=Microsoft,DC=Com is
97
98         B:6:XYZ:DC=Microsoft,DC=Com
99
100 Note: Characters with multibyte UTF-8 encodings contribute more than one to the count
101
102
103 Large-Integer: 1.2.840.113556.1.4.906
104         Encoded as an Integer (OID 1.3.6.1.4.1.1466.115.121.1.27), but guaranteed 
105         to support 64 bit numbers.
106
107
108 Object-Security-Descriptor: 1.2.840.113556.1.4.907
109         Encoded as an Octet-String (OID 1.3.6.1.4.1.1466.115.121.1.40)
110
111
112 5. References
113
114 [RFC 2251]
115     M. Wahl, T. Howes, S. Kille, "Lightweight Directory Access Protocol
116     (v3)", RFC 2251, December 1997.  1997.
117
118 [RFC 2119] 
119     Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels," 
120     RFC 2119, Harvard University, March 1997.
121
122
123 6. Authors Address
124
125  Michael P. Armijo
126  One Microsoft Way
127  Redmond, WA 
128  98052
129  USA
130
131  (425)882-8080
132  micharm@microsoft.com
133
134
135
136
137