rubynas 0.1.0.pre.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +23 -0
- data/.gitmodules +3 -0
- data/.rspec +2 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +196 -0
- data/Guardfile +8 -0
- data/LICENSE.txt +7 -0
- data/Procfile +2 -0
- data/README.md +151 -0
- data/Rakefile +14 -0
- data/Vagrantfile +99 -0
- data/bin/rubynas +63 -0
- data/config.ru +5 -0
- data/doc/README_FOR_APP +2 -0
- data/doc/macosx_shares.png +0 -0
- data/doc/shares_overview.png +0 -0
- data/lib/rubynas.rb +35 -0
- data/lib/rubynas/apis/group_api.rb +51 -0
- data/lib/rubynas/apis/system_information_api.rb +13 -0
- data/lib/rubynas/apis/user_api.rb +85 -0
- data/lib/rubynas/apis/volume_api.rb +50 -0
- data/lib/rubynas/config.rb +63 -0
- data/lib/rubynas/db/migrate/20130302164415_devise_create_users.rb +46 -0
- data/lib/rubynas/db/migrate/20130322143040_create_volumes.rb +10 -0
- data/lib/rubynas/db/migrate/20130331102556_create_shared_folders.rb +10 -0
- data/lib/rubynas/db/migrate/20130331103034_create_shared_folder_services.rb +11 -0
- data/lib/rubynas/installers/base_installer.rb +70 -0
- data/lib/rubynas/installers/debian_installer.rb +199 -0
- data/lib/rubynas/installers/ubuntu_installer.rb +2 -0
- data/lib/rubynas/installers/ubuntu_precise_installer.rb +2 -0
- data/lib/rubynas/models/.gitkeep +0 -0
- data/lib/rubynas/models/ldap_group.rb +21 -0
- data/lib/rubynas/models/ldap_org_unit.rb +13 -0
- data/lib/rubynas/models/ldap_user.rb +31 -0
- data/lib/rubynas/models/shared_folder.rb +32 -0
- data/lib/rubynas/models/shared_folder_service.rb +15 -0
- data/lib/rubynas/models/volume.rb +16 -0
- data/lib/rubynas/services/afp_share_service.rb +9 -0
- data/lib/rubynas/services/service.rb +4 -0
- data/lib/rubynas/services/share_service.rb +3 -0
- data/lib/rubynas/version.rb +3 -0
- data/rubynas.gemspec +69 -0
- data/rubynas.ini +24 -0
- data/sandbox/ldap/base.ldif +50 -0
- data/sandbox/ldap/data/.gitkeep +0 -0
- data/sandbox/ldap/data/dc=rubynas,dc=com.ldif +14 -0
- data/sandbox/ldap/local.schema +6 -0
- data/sandbox/ldap/schema/README +80 -0
- data/sandbox/ldap/schema/apple.schema +1727 -0
- data/sandbox/ldap/schema/apple_auxillary.schema +20 -0
- data/sandbox/ldap/schema/collective.ldif +48 -0
- data/sandbox/ldap/schema/collective.schema +190 -0
- data/sandbox/ldap/schema/corba.ldif +42 -0
- data/sandbox/ldap/schema/corba.schema +239 -0
- data/sandbox/ldap/schema/core.ldif +591 -0
- data/sandbox/ldap/schema/core.schema +610 -0
- data/sandbox/ldap/schema/cosine.ldif +200 -0
- data/sandbox/ldap/schema/cosine.schema +2571 -0
- data/sandbox/ldap/schema/duaconf.ldif +83 -0
- data/sandbox/ldap/schema/duaconf.schema +261 -0
- data/sandbox/ldap/schema/dyngroup.ldif +71 -0
- data/sandbox/ldap/schema/dyngroup.schema +91 -0
- data/sandbox/ldap/schema/fmserver.schema +60 -0
- data/sandbox/ldap/schema/inetorgperson.ldif +69 -0
- data/sandbox/ldap/schema/inetorgperson.schema +155 -0
- data/sandbox/ldap/schema/java.ldif +59 -0
- data/sandbox/ldap/schema/java.schema +403 -0
- data/sandbox/ldap/schema/krb5-kdc.schema +134 -0
- data/sandbox/ldap/schema/microsoft.ext.schema +5383 -0
- data/sandbox/ldap/schema/microsoft.schema +4835 -0
- data/sandbox/ldap/schema/microsoft.std.schema +480 -0
- data/sandbox/ldap/schema/misc.ldif +45 -0
- data/sandbox/ldap/schema/misc.schema +75 -0
- data/sandbox/ldap/schema/netinfo.schema +240 -0
- data/sandbox/ldap/schema/nis.ldif +120 -0
- data/sandbox/ldap/schema/nis.schema +241 -0
- data/sandbox/ldap/schema/openldap.ldif +88 -0
- data/sandbox/ldap/schema/openldap.schema +54 -0
- data/sandbox/ldap/schema/pmi.ldif +123 -0
- data/sandbox/ldap/schema/pmi.schema +464 -0
- data/sandbox/ldap/schema/ppolicy.ldif +75 -0
- data/sandbox/ldap/schema/ppolicy.schema +531 -0
- data/sandbox/ldap/schema/samba.schema +179 -0
- data/sandbox/ldap/slapd.conf +99 -0
- data/spec/apis/group_api_spec.rb +97 -0
- data/spec/apis/system_information_api_spec.rb +27 -0
- data/spec/apis/user_api_spec.rb +113 -0
- data/spec/apis/volume_api_spec.rb +98 -0
- data/spec/factories/ldap_group.rb +16 -0
- data/spec/factories/ldap_users.rb +24 -0
- data/spec/factories/shared_folder_services.rb +9 -0
- data/spec/factories/shared_folders.rb +15 -0
- data/spec/factories/users.rb +8 -0
- data/spec/factories/volumes.rb +10 -0
- data/spec/installer/base_installer_spec.rb +35 -0
- data/spec/installer/debian_installer_spec.rb +86 -0
- data/spec/models/ldap_group_spec.rb +21 -0
- data/spec/models/ldap_org_unit_spec.rb +19 -0
- data/spec/models/ldap_user_spec.rb +19 -0
- data/spec/models/shared_folder_service_spec.rb +25 -0
- data/spec/models/shared_folder_spec.rb +27 -0
- data/spec/models/volume_spec.rb +5 -0
- data/spec/services/afp_share_service_spec.rb +5 -0
- data/spec/services/service_spec.rb +5 -0
- data/spec/services/share_service_spec.rb +5 -0
- data/spec/spec_helper.rb +30 -0
- data/spec/support/db_cleaner.rb +16 -0
- data/spec/support/factory_girl.rb +7 -0
- data/spec/support/logger.rb +1 -0
- data/spec/support/rack-test.rb +6 -0
- metadata +633 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# $OpenLDAP$
|
|
2
|
+
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
3
|
+
##
|
|
4
|
+
## Copyright 1998-2011 The OpenLDAP Foundation.
|
|
5
|
+
## All rights reserved.
|
|
6
|
+
##
|
|
7
|
+
## Redistribution and use in source and binary forms, with or without
|
|
8
|
+
## modification, are permitted only as authorized by the OpenLDAP
|
|
9
|
+
## Public License.
|
|
10
|
+
##
|
|
11
|
+
## A copy of this license is available in the file LICENSE in the
|
|
12
|
+
## top-level directory of the distribution or, alternatively, at
|
|
13
|
+
## <http://www.OpenLDAP.org/license.html>.
|
|
14
|
+
|
|
15
|
+
# Definitions from RFC2307 (Experimental)
|
|
16
|
+
# An Approach for Using LDAP as a Network Information Service
|
|
17
|
+
|
|
18
|
+
# Depends upon core.schema and cosine.schema
|
|
19
|
+
|
|
20
|
+
# Note: The definitions in RFC2307 are given in syntaxes closely related
|
|
21
|
+
# to those in RFC2252, however, some liberties are taken that are not
|
|
22
|
+
# supported by RFC2252. This file has been written following RFC2252
|
|
23
|
+
# strictly.
|
|
24
|
+
|
|
25
|
+
# OID Base is iso(1) org(3) dod(6) internet(1) directory(1) nisSchema(1).
|
|
26
|
+
# i.e. nisSchema in RFC2307 is 1.3.6.1.1.1
|
|
27
|
+
#
|
|
28
|
+
# Syntaxes are under 1.3.6.1.1.1.0 (two new syntaxes are defined)
|
|
29
|
+
# validaters for these syntaxes are incomplete, they only
|
|
30
|
+
# implement printable string validation (which is good as the
|
|
31
|
+
# common use of these syntaxes violates the specification).
|
|
32
|
+
# Attribute types are under 1.3.6.1.1.1.1
|
|
33
|
+
# Object classes are under 1.3.6.1.1.1.2
|
|
34
|
+
|
|
35
|
+
# Attribute Type Definitions
|
|
36
|
+
|
|
37
|
+
# builtin
|
|
38
|
+
#attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
|
|
39
|
+
# DESC 'An integer uniquely identifying a user in an administrative domain'
|
|
40
|
+
# EQUALITY integerMatch
|
|
41
|
+
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
42
|
+
|
|
43
|
+
# builtin
|
|
44
|
+
#attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber'
|
|
45
|
+
# DESC 'An integer uniquely identifying a group in an administrative domain'
|
|
46
|
+
# EQUALITY integerMatch
|
|
47
|
+
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
48
|
+
|
|
49
|
+
attributetype ( 1.3.6.1.1.1.1.2 NAME 'gecos'
|
|
50
|
+
DESC 'The GECOS field; the common name'
|
|
51
|
+
EQUALITY caseIgnoreIA5Match
|
|
52
|
+
SUBSTR caseIgnoreIA5SubstringsMatch
|
|
53
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
|
54
|
+
|
|
55
|
+
#attributetype ( 1.3.6.1.1.1.1.3 NAME 'homeDirectory'
|
|
56
|
+
# DESC 'The absolute path to the home directory'
|
|
57
|
+
# EQUALITY caseExactIA5Match
|
|
58
|
+
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
|
59
|
+
attributetype ( 1.3.6.1.4.1.63.1000.1.1.1.1.99 NAME 'homeDirectory'
|
|
60
|
+
DESC 'The absolute path to the home directory'
|
|
61
|
+
EQUALITY caseExactMatch
|
|
62
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
|
|
63
|
+
|
|
64
|
+
attributetype ( 1.3.6.1.1.1.1.4 NAME 'loginShell'
|
|
65
|
+
DESC 'The path to the login shell'
|
|
66
|
+
EQUALITY caseExactIA5Match
|
|
67
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
|
68
|
+
|
|
69
|
+
attributetype ( 1.3.6.1.1.1.1.5 NAME 'shadowLastChange'
|
|
70
|
+
EQUALITY integerMatch
|
|
71
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
72
|
+
|
|
73
|
+
attributetype ( 1.3.6.1.1.1.1.6 NAME 'shadowMin'
|
|
74
|
+
EQUALITY integerMatch
|
|
75
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
76
|
+
|
|
77
|
+
attributetype ( 1.3.6.1.1.1.1.7 NAME 'shadowMax'
|
|
78
|
+
EQUALITY integerMatch
|
|
79
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
80
|
+
|
|
81
|
+
attributetype ( 1.3.6.1.1.1.1.8 NAME 'shadowWarning'
|
|
82
|
+
EQUALITY integerMatch
|
|
83
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
84
|
+
|
|
85
|
+
attributetype ( 1.3.6.1.1.1.1.9 NAME 'shadowInactive'
|
|
86
|
+
EQUALITY integerMatch
|
|
87
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
88
|
+
|
|
89
|
+
attributetype ( 1.3.6.1.1.1.1.10 NAME 'shadowExpire'
|
|
90
|
+
EQUALITY integerMatch
|
|
91
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
92
|
+
|
|
93
|
+
attributetype ( 1.3.6.1.1.1.1.11 NAME 'shadowFlag'
|
|
94
|
+
EQUALITY integerMatch
|
|
95
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
96
|
+
|
|
97
|
+
attributetype ( 1.3.6.1.1.1.1.12 NAME 'memberUid'
|
|
98
|
+
EQUALITY caseIgnoreIA5Match
|
|
99
|
+
SUBSTR caseIgnoreIA5SubstringsMatch
|
|
100
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|
101
|
+
|
|
102
|
+
attributetype ( 1.3.6.1.1.1.1.13 NAME 'memberNisNetgroup'
|
|
103
|
+
EQUALITY caseExactIA5Match
|
|
104
|
+
SUBSTR caseExactIA5SubstringsMatch
|
|
105
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|
106
|
+
|
|
107
|
+
attributetype ( 1.3.6.1.1.1.1.14 NAME 'nisNetgroupTriple'
|
|
108
|
+
DESC 'Netgroup triple'
|
|
109
|
+
SYNTAX 1.3.6.1.1.1.0.0 )
|
|
110
|
+
|
|
111
|
+
attributetype ( 1.3.6.1.1.1.1.15 NAME 'ipServicePort'
|
|
112
|
+
EQUALITY integerMatch
|
|
113
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
114
|
+
|
|
115
|
+
attributetype ( 1.3.6.1.1.1.1.16 NAME 'ipServiceProtocol'
|
|
116
|
+
SUP name )
|
|
117
|
+
|
|
118
|
+
attributetype ( 1.3.6.1.1.1.1.17 NAME 'ipProtocolNumber'
|
|
119
|
+
EQUALITY integerMatch
|
|
120
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
121
|
+
|
|
122
|
+
attributetype ( 1.3.6.1.1.1.1.18 NAME 'oncRpcNumber'
|
|
123
|
+
EQUALITY integerMatch
|
|
124
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
125
|
+
|
|
126
|
+
attributetype ( 1.3.6.1.1.1.1.19 NAME 'ipHostNumber'
|
|
127
|
+
DESC 'IP address'
|
|
128
|
+
EQUALITY caseIgnoreIA5Match
|
|
129
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
|
|
130
|
+
|
|
131
|
+
attributetype ( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber'
|
|
132
|
+
DESC 'IP network'
|
|
133
|
+
EQUALITY caseIgnoreIA5Match
|
|
134
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )
|
|
135
|
+
|
|
136
|
+
attributetype ( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber'
|
|
137
|
+
DESC 'IP netmask'
|
|
138
|
+
EQUALITY caseIgnoreIA5Match
|
|
139
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )
|
|
140
|
+
|
|
141
|
+
attributetype ( 1.3.6.1.1.1.1.22 NAME 'macAddress'
|
|
142
|
+
DESC 'MAC address'
|
|
143
|
+
EQUALITY caseIgnoreIA5Match
|
|
144
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
|
|
145
|
+
|
|
146
|
+
attributetype ( 1.3.6.1.1.1.1.23 NAME 'bootParameter'
|
|
147
|
+
DESC 'rpc.bootparamd parameter'
|
|
148
|
+
SYNTAX 1.3.6.1.1.1.0.1 )
|
|
149
|
+
|
|
150
|
+
attributetype ( 1.3.6.1.1.1.1.24 NAME 'bootFile'
|
|
151
|
+
DESC 'Boot image name'
|
|
152
|
+
EQUALITY caseExactIA5Match
|
|
153
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|
154
|
+
|
|
155
|
+
attributetype ( 1.3.6.1.1.1.1.26 NAME 'nisMapName'
|
|
156
|
+
SUP name )
|
|
157
|
+
|
|
158
|
+
attributetype ( 1.3.6.1.1.1.1.27 NAME 'nisMapEntry'
|
|
159
|
+
EQUALITY caseExactIA5Match
|
|
160
|
+
SUBSTR caseExactIA5SubstringsMatch
|
|
161
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} SINGLE-VALUE )
|
|
162
|
+
|
|
163
|
+
# Object Class Definitions
|
|
164
|
+
|
|
165
|
+
objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount'
|
|
166
|
+
DESC 'Abstraction of an account with POSIX attributes'
|
|
167
|
+
SUP top AUXILIARY
|
|
168
|
+
MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
|
|
169
|
+
MAY ( userPassword $ loginShell $ gecos $ description ) )
|
|
170
|
+
|
|
171
|
+
objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount'
|
|
172
|
+
DESC 'Additional attributes for shadow passwords'
|
|
173
|
+
SUP top AUXILIARY
|
|
174
|
+
MUST uid
|
|
175
|
+
MAY ( userPassword $ shadowLastChange $ shadowMin $
|
|
176
|
+
shadowMax $ shadowWarning $ shadowInactive $
|
|
177
|
+
shadowExpire $ shadowFlag $ description ) )
|
|
178
|
+
|
|
179
|
+
objectclass ( 1.3.6.1.1.1.2.2 NAME 'posixGroup'
|
|
180
|
+
DESC 'Abstraction of a group of accounts'
|
|
181
|
+
SUP top STRUCTURAL
|
|
182
|
+
MUST ( cn $ gidNumber )
|
|
183
|
+
MAY ( userPassword $ memberUid $ description ) )
|
|
184
|
+
|
|
185
|
+
objectclass ( 1.3.6.1.1.1.2.3 NAME 'ipService'
|
|
186
|
+
DESC 'Abstraction an Internet Protocol service'
|
|
187
|
+
SUP top STRUCTURAL
|
|
188
|
+
MUST ( cn $ ipServicePort $ ipServiceProtocol )
|
|
189
|
+
MAY ( description ) )
|
|
190
|
+
|
|
191
|
+
objectclass ( 1.3.6.1.1.1.2.4 NAME 'ipProtocol'
|
|
192
|
+
DESC 'Abstraction of an IP protocol'
|
|
193
|
+
SUP top STRUCTURAL
|
|
194
|
+
MUST ( cn $ ipProtocolNumber $ description )
|
|
195
|
+
MAY description )
|
|
196
|
+
|
|
197
|
+
objectclass ( 1.3.6.1.1.1.2.5 NAME 'oncRpc'
|
|
198
|
+
DESC 'Abstraction of an ONC/RPC binding'
|
|
199
|
+
SUP top STRUCTURAL
|
|
200
|
+
MUST ( cn $ oncRpcNumber $ description )
|
|
201
|
+
MAY description )
|
|
202
|
+
|
|
203
|
+
objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost'
|
|
204
|
+
DESC 'Abstraction of a host, an IP device'
|
|
205
|
+
SUP top AUXILIARY
|
|
206
|
+
MUST ( cn $ ipHostNumber )
|
|
207
|
+
MAY ( l $ description $ manager ) )
|
|
208
|
+
|
|
209
|
+
objectclass ( 1.3.6.1.1.1.2.7 NAME 'ipNetwork'
|
|
210
|
+
DESC 'Abstraction of an IP network'
|
|
211
|
+
SUP top STRUCTURAL
|
|
212
|
+
MUST ( cn $ ipNetworkNumber )
|
|
213
|
+
MAY ( ipNetmaskNumber $ l $ description $ manager ) )
|
|
214
|
+
|
|
215
|
+
objectclass ( 1.3.6.1.1.1.2.8 NAME 'nisNetgroup'
|
|
216
|
+
DESC 'Abstraction of a netgroup'
|
|
217
|
+
SUP top STRUCTURAL
|
|
218
|
+
MUST cn
|
|
219
|
+
MAY ( nisNetgroupTriple $ memberNisNetgroup $ description ) )
|
|
220
|
+
|
|
221
|
+
objectclass ( 1.3.6.1.1.1.2.9 NAME 'nisMap'
|
|
222
|
+
DESC 'A generic abstraction of a NIS map'
|
|
223
|
+
SUP top STRUCTURAL
|
|
224
|
+
MUST nisMapName
|
|
225
|
+
MAY description )
|
|
226
|
+
|
|
227
|
+
objectclass ( 1.3.6.1.1.1.2.10 NAME 'nisObject'
|
|
228
|
+
DESC 'An entry in a NIS map'
|
|
229
|
+
SUP top STRUCTURAL
|
|
230
|
+
MUST ( cn $ nisMapEntry $ nisMapName )
|
|
231
|
+
MAY description )
|
|
232
|
+
|
|
233
|
+
objectclass ( 1.3.6.1.1.1.2.11 NAME 'ieee802Device'
|
|
234
|
+
DESC 'A device with a MAC address'
|
|
235
|
+
SUP top AUXILIARY
|
|
236
|
+
MAY macAddress )
|
|
237
|
+
|
|
238
|
+
objectclass ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice'
|
|
239
|
+
DESC 'A device with boot parameters'
|
|
240
|
+
SUP top AUXILIARY
|
|
241
|
+
MAY ( bootFile $ bootParameter ) )
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# $OpenLDAP$
|
|
2
|
+
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
3
|
+
##
|
|
4
|
+
## Copyright 1998-2011 The OpenLDAP Foundation.
|
|
5
|
+
## All rights reserved.
|
|
6
|
+
##
|
|
7
|
+
## Redistribution and use in source and binary forms, with or without
|
|
8
|
+
## modification, are permitted only as authorized by the OpenLDAP
|
|
9
|
+
## Public License.
|
|
10
|
+
##
|
|
11
|
+
## A copy of this license is available in the file LICENSE in the
|
|
12
|
+
## top-level directory of the distribution or, alternatively, at
|
|
13
|
+
## <http://www.OpenLDAP.org/license.html>.
|
|
14
|
+
#
|
|
15
|
+
#
|
|
16
|
+
# OpenLDAP Project's directory schema items
|
|
17
|
+
#
|
|
18
|
+
# depends upon:
|
|
19
|
+
# core.schema
|
|
20
|
+
# cosine.schema
|
|
21
|
+
# inetorgperson.schema
|
|
22
|
+
#
|
|
23
|
+
# These are provided for informational purposes only.
|
|
24
|
+
#
|
|
25
|
+
# This openldap.ldif file is provided as a demonstration of how to
|
|
26
|
+
# convert a *.schema file into *.ldif format. The key points:
|
|
27
|
+
# In LDIF, a blank line terminates an entry. Blank lines in a *.schema
|
|
28
|
+
# file should be replaced with a single '#' to turn them into
|
|
29
|
+
# comments, or they should just be removed.
|
|
30
|
+
# In addition to the actual schema directives, the file needs a small
|
|
31
|
+
# header to make it a valid LDAP entry. This header must provide the
|
|
32
|
+
# dn of the entry, the objectClass, and the cn, as shown here:
|
|
33
|
+
#
|
|
34
|
+
dn: cn=openldap,cn=schema,cn=config
|
|
35
|
+
objectClass: olcSchemaConfig
|
|
36
|
+
cn: openldap
|
|
37
|
+
#
|
|
38
|
+
# The schema directives need to be changed to LDAP Attributes.
|
|
39
|
+
# First a basic string substitution can be done on each of the keywords:
|
|
40
|
+
# objectIdentifier -> olcObjectIdentifier:
|
|
41
|
+
# objectClass -> olcObjectClasses:
|
|
42
|
+
# attributeType -> olcAttributeTypes:
|
|
43
|
+
# Then leading whitespace must be fixed. The slapd.conf format allows
|
|
44
|
+
# tabs or spaces to denote line continuation, while LDIF only allows
|
|
45
|
+
# the space character.
|
|
46
|
+
# Also slapd.conf preserves the continuation character, while LDIF strips
|
|
47
|
+
# it out. So a single TAB/SPACE in slapd.conf must be replaced with
|
|
48
|
+
# two SPACEs in LDIF, otherwise the continued text may get joined as
|
|
49
|
+
# a single word.
|
|
50
|
+
# The directives must be listed in a proper sequence:
|
|
51
|
+
# All olcObjectIdentifiers must be first, so they may be referenced by
|
|
52
|
+
# any following definitions.
|
|
53
|
+
# All olcAttributeTypes must be next, so they may be referenced by any
|
|
54
|
+
# following objectClass definitions.
|
|
55
|
+
# All olcObjectClasses must be after the olcAttributeTypes.
|
|
56
|
+
# And of course, any superior must occur before anything that inherits
|
|
57
|
+
# from it.
|
|
58
|
+
#
|
|
59
|
+
olcObjectIdentifier: OpenLDAProot 1.3.6.1.4.1.4203
|
|
60
|
+
#
|
|
61
|
+
olcObjectIdentifier: OpenLDAP OpenLDAProot:1
|
|
62
|
+
olcObjectIdentifier: OpenLDAPattributeType OpenLDAP:3
|
|
63
|
+
olcObjectIdentifier: OpenLDAPobjectClass OpenLDAP:4
|
|
64
|
+
#
|
|
65
|
+
olcObjectClasses: ( OpenLDAPobjectClass:3
|
|
66
|
+
NAME 'OpenLDAPorg'
|
|
67
|
+
DESC 'OpenLDAP Organizational Object'
|
|
68
|
+
SUP organization
|
|
69
|
+
MAY ( buildingName $ displayName $ labeledURI ) )
|
|
70
|
+
#
|
|
71
|
+
olcObjectClasses: ( OpenLDAPobjectClass:4
|
|
72
|
+
NAME 'OpenLDAPou'
|
|
73
|
+
DESC 'OpenLDAP Organizational Unit Object'
|
|
74
|
+
SUP organizationalUnit
|
|
75
|
+
MAY ( buildingName $ displayName $ labeledURI $ o ) )
|
|
76
|
+
#
|
|
77
|
+
olcObjectClasses: ( OpenLDAPobjectClass:5
|
|
78
|
+
NAME 'OpenLDAPperson'
|
|
79
|
+
DESC 'OpenLDAP Person'
|
|
80
|
+
SUP ( pilotPerson $ inetOrgPerson )
|
|
81
|
+
MUST ( uid $ cn )
|
|
82
|
+
MAY ( givenName $ labeledURI $ o ) )
|
|
83
|
+
#
|
|
84
|
+
olcObjectClasses: ( OpenLDAPobjectClass:6
|
|
85
|
+
NAME 'OpenLDAPdisplayableObject'
|
|
86
|
+
DESC 'OpenLDAP Displayable Object'
|
|
87
|
+
AUXILIARY
|
|
88
|
+
MAY displayName )
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# $OpenLDAP$
|
|
2
|
+
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
3
|
+
##
|
|
4
|
+
## Copyright 1998-2011 The OpenLDAP Foundation.
|
|
5
|
+
## All rights reserved.
|
|
6
|
+
##
|
|
7
|
+
## Redistribution and use in source and binary forms, with or without
|
|
8
|
+
## modification, are permitted only as authorized by the OpenLDAP
|
|
9
|
+
## Public License.
|
|
10
|
+
##
|
|
11
|
+
## A copy of this license is available in the file LICENSE in the
|
|
12
|
+
## top-level directory of the distribution or, alternatively, at
|
|
13
|
+
## <http://www.OpenLDAP.org/license.html>.
|
|
14
|
+
|
|
15
|
+
#
|
|
16
|
+
# OpenLDAP Project's directory schema items
|
|
17
|
+
#
|
|
18
|
+
# depends upon:
|
|
19
|
+
# core.schema
|
|
20
|
+
# cosine.schema
|
|
21
|
+
# inetorgperson.schema
|
|
22
|
+
#
|
|
23
|
+
# These are provided for informational purposes only.
|
|
24
|
+
|
|
25
|
+
objectIdentifier OpenLDAProot 1.3.6.1.4.1.4203
|
|
26
|
+
|
|
27
|
+
objectIdentifier OpenLDAP OpenLDAProot:1
|
|
28
|
+
objectIdentifier OpenLDAPattributeType OpenLDAP:3
|
|
29
|
+
objectIdentifier OpenLDAPobjectClass OpenLDAP:4
|
|
30
|
+
|
|
31
|
+
objectClass ( OpenLDAPobjectClass:3
|
|
32
|
+
NAME 'OpenLDAPorg'
|
|
33
|
+
DESC 'OpenLDAP Organizational Object'
|
|
34
|
+
SUP organization
|
|
35
|
+
MAY ( buildingName $ displayName $ labeledURI ) )
|
|
36
|
+
|
|
37
|
+
objectClass ( OpenLDAPobjectClass:4
|
|
38
|
+
NAME 'OpenLDAPou'
|
|
39
|
+
DESC 'OpenLDAP Organizational Unit Object'
|
|
40
|
+
SUP organizationalUnit
|
|
41
|
+
MAY ( buildingName $ displayName $ labeledURI $ o ) )
|
|
42
|
+
|
|
43
|
+
objectClass ( OpenLDAPobjectClass:5
|
|
44
|
+
NAME 'OpenLDAPperson'
|
|
45
|
+
DESC 'OpenLDAP Person'
|
|
46
|
+
SUP ( pilotPerson $ inetOrgPerson )
|
|
47
|
+
MUST ( uid $ cn )
|
|
48
|
+
MAY ( givenName $ labeledURI $ o ) )
|
|
49
|
+
|
|
50
|
+
objectClass ( OpenLDAPobjectClass:6
|
|
51
|
+
NAME 'OpenLDAPdisplayableObject'
|
|
52
|
+
DESC 'OpenLDAP Displayable Object'
|
|
53
|
+
AUXILIARY
|
|
54
|
+
MAY displayName )
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# OpenLDAP X.509 PMI schema
|
|
2
|
+
# $OpenLDAP$
|
|
3
|
+
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
4
|
+
##
|
|
5
|
+
## Copyright 1998-2011 The OpenLDAP Foundation.
|
|
6
|
+
## All rights reserved.
|
|
7
|
+
##
|
|
8
|
+
## Redistribution and use in source and binary forms, with or without
|
|
9
|
+
## modification, are permitted only as authorized by the OpenLDAP
|
|
10
|
+
## Public License.
|
|
11
|
+
##
|
|
12
|
+
## A copy of this license is available in the file LICENSE in the
|
|
13
|
+
## top-level directory of the distribution or, alternatively, at
|
|
14
|
+
## <http://www.OpenLDAP.org/license.html>.
|
|
15
|
+
#
|
|
16
|
+
## Portions Copyright (C) The Internet Society (1997-2006).
|
|
17
|
+
## All Rights Reserved.
|
|
18
|
+
#
|
|
19
|
+
# Includes LDAPv3 schema items from:
|
|
20
|
+
# ITU X.509 (08/2005)
|
|
21
|
+
#
|
|
22
|
+
# This file was automatically generated from pmi.schema; see that file
|
|
23
|
+
# for complete references.
|
|
24
|
+
#
|
|
25
|
+
dn: cn=pmi,cn=schema,cn=config
|
|
26
|
+
objectClass: olcSchemaConfig
|
|
27
|
+
cn: pmi
|
|
28
|
+
olcObjectIdentifier: {0}id-oc-pmiUser 2.5.6.24
|
|
29
|
+
olcObjectIdentifier: {1}id-oc-pmiAA 2.5.6.25
|
|
30
|
+
olcObjectIdentifier: {2}id-oc-pmiSOA 2.5.6.26
|
|
31
|
+
olcObjectIdentifier: {3}id-oc-attCertCRLDistributionPts 2.5.6.27
|
|
32
|
+
olcObjectIdentifier: {4}id-oc-privilegePolicy 2.5.6.32
|
|
33
|
+
olcObjectIdentifier: {5}id-oc-pmiDelegationPath 2.5.6.33
|
|
34
|
+
olcObjectIdentifier: {6}id-oc-protectedPrivilegePolicy 2.5.6.34
|
|
35
|
+
olcObjectIdentifier: {7}id-at-attributeCertificate 2.5.4.58
|
|
36
|
+
olcObjectIdentifier: {8}id-at-attributeCertificateRevocationList 2.5.4.59
|
|
37
|
+
olcObjectIdentifier: {9}id-at-aACertificate 2.5.4.61
|
|
38
|
+
olcObjectIdentifier: {10}id-at-attributeDescriptorCertificate 2.5.4.62
|
|
39
|
+
olcObjectIdentifier: {11}id-at-attributeAuthorityRevocationList 2.5.4.63
|
|
40
|
+
olcObjectIdentifier: {12}id-at-privPolicy 2.5.4.71
|
|
41
|
+
olcObjectIdentifier: {13}id-at-role 2.5.4.72
|
|
42
|
+
olcObjectIdentifier: {14}id-at-delegationPath 2.5.4.73
|
|
43
|
+
olcObjectIdentifier: {15}id-at-protPrivPolicy 2.5.4.74
|
|
44
|
+
olcObjectIdentifier: {16}id-at-xMLPrivilegeInfo 2.5.4.75
|
|
45
|
+
olcObjectIdentifier: {17}id-at-xMLPprotPrivPolicy 2.5.4.76
|
|
46
|
+
olcObjectIdentifier: {18}id-mr 2.5.13
|
|
47
|
+
olcObjectIdentifier: {19}id-mr-attributeCertificateMatch id-mr:42
|
|
48
|
+
olcObjectIdentifier: {20}id-mr-attributeCertificateExactMatch id-mr:45
|
|
49
|
+
olcObjectIdentifier: {21}id-mr-holderIssuerMatch id-mr:46
|
|
50
|
+
olcObjectIdentifier: {22}id-mr-authAttIdMatch id-mr:53
|
|
51
|
+
olcObjectIdentifier: {23}id-mr-roleSpecCertIdMatch id-mr:54
|
|
52
|
+
olcObjectIdentifier: {24}id-mr-basicAttConstraintsMatch id-mr:55
|
|
53
|
+
olcObjectIdentifier: {25}id-mr-delegatedNameConstraintsMatch id-mr:56
|
|
54
|
+
olcObjectIdentifier: {26}id-mr-timeSpecMatch id-mr:57
|
|
55
|
+
olcObjectIdentifier: {27}id-mr-attDescriptorMatch id-mr:58
|
|
56
|
+
olcObjectIdentifier: {28}id-mr-acceptableCertPoliciesMatch id-mr:59
|
|
57
|
+
olcObjectIdentifier: {29}id-mr-delegationPathMatch id-mr:61
|
|
58
|
+
olcObjectIdentifier: {30}id-mr-sOAIdentifierMatch id-mr:66
|
|
59
|
+
olcObjectIdentifier: {31}id-mr-indirectIssuerMatch id-mr:67
|
|
60
|
+
olcObjectIdentifier: {32}AttributeCertificate 1.3.6.1.4.1.4203.666.11.10.2.1
|
|
61
|
+
olcObjectIdentifier: {33}CertificateList 1.3.6.1.4.1.1466.115.121.1.9
|
|
62
|
+
olcObjectIdentifier: {34}AttCertPath 1.3.6.1.4.1.4203.666.11.10.2.4
|
|
63
|
+
olcObjectIdentifier: {35}PolicySyntax 1.3.6.1.4.1.4203.666.11.10.2.5
|
|
64
|
+
olcObjectIdentifier: {36}RoleSyntax 1.3.6.1.4.1.4203.666.11.10.2.6
|
|
65
|
+
olcLdapSyntaxes: {0}( 1.3.6.1.4.1.4203.666.11.10.2.4 DESC 'X.509 PMI attribute
|
|
66
|
+
cartificate path: SEQUENCE OF AttributeCertificate' X-SUBST '1.3.6.1.4.1.146
|
|
67
|
+
6.115.121.1.15' )
|
|
68
|
+
olcLdapSyntaxes: {1}( 1.3.6.1.4.1.4203.666.11.10.2.5 DESC 'X.509 PMI policy sy
|
|
69
|
+
ntax' X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )
|
|
70
|
+
olcLdapSyntaxes: {2}( 1.3.6.1.4.1.4203.666.11.10.2.6 DESC 'X.509 PMI role synt
|
|
71
|
+
ax' X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )
|
|
72
|
+
olcAttributeTypes: {0}( id-at-role NAME 'role' DESC 'X.509 Role attribute, use
|
|
73
|
+
;binary' SYNTAX RoleSyntax )
|
|
74
|
+
olcAttributeTypes: {1}( id-at-xMLPrivilegeInfo NAME 'xmlPrivilegeInfo' DESC 'X
|
|
75
|
+
.509 XML privilege information attribute' SYNTAX 1.3.6.1.4.1.1466.115.121.1.1
|
|
76
|
+
5 )
|
|
77
|
+
olcAttributeTypes: {2}( id-at-attributeCertificate NAME 'attributeCertificateA
|
|
78
|
+
ttribute' DESC 'X.509 Attribute certificate attribute, use ;binary' EQUALITY
|
|
79
|
+
attributeCertificateExactMatch SYNTAX AttributeCertificate )
|
|
80
|
+
olcAttributeTypes: {3}( id-at-aACertificate NAME 'aACertificate' DESC 'X.509 A
|
|
81
|
+
A certificate attribute, use ;binary' EQUALITY attributeCertificateExactMatch
|
|
82
|
+
SYNTAX AttributeCertificate )
|
|
83
|
+
olcAttributeTypes: {4}( id-at-attributeDescriptorCertificate NAME 'attributeDe
|
|
84
|
+
scriptorCertificate' DESC 'X.509 Attribute descriptor certificate attribute,
|
|
85
|
+
use ;binary' EQUALITY attributeCertificateExactMatch SYNTAX AttributeCertific
|
|
86
|
+
ate )
|
|
87
|
+
olcAttributeTypes: {5}( id-at-attributeCertificateRevocationList NAME 'attribu
|
|
88
|
+
teCertificateRevocationList' DESC 'X.509 Attribute certificate revocation lis
|
|
89
|
+
t attribute, use ;binary' SYNTAX CertificateList X-EQUALITY 'certificateListE
|
|
90
|
+
xactMatch, not implemented yet' )
|
|
91
|
+
olcAttributeTypes: {6}( id-at-attributeAuthorityRevocationList NAME 'attribute
|
|
92
|
+
AuthorityRevocationList' DESC 'X.509 AA certificate revocation list attribute
|
|
93
|
+
, use ;binary' SYNTAX CertificateList X-EQUALITY 'certificateListExactMatch,
|
|
94
|
+
not implemented yet' )
|
|
95
|
+
olcAttributeTypes: {7}( id-at-delegationPath NAME 'delegationPath' DESC 'X.509
|
|
96
|
+
Delegation path attribute, use ;binary' SYNTAX AttCertPath )
|
|
97
|
+
olcAttributeTypes: {8}( id-at-privPolicy NAME 'privPolicy' DESC 'X.509 Privile
|
|
98
|
+
ge policy attribute, use ;binary' SYNTAX PolicySyntax )
|
|
99
|
+
olcAttributeTypes: {9}( id-at-protPrivPolicy NAME 'protPrivPolicy' DESC 'X.509
|
|
100
|
+
Protected privilege policy attribute, use ;binary' EQUALITY attributeCertifi
|
|
101
|
+
cateExactMatch SYNTAX AttributeCertificate )
|
|
102
|
+
olcAttributeTypes: {10}( id-at-xMLPprotPrivPolicy NAME 'xmlPrivPolicy' DESC 'X
|
|
103
|
+
.509 XML Protected privilege policy attribute' SYNTAX 1.3.6.1.4.1.1466.115.12
|
|
104
|
+
1.1.15 )
|
|
105
|
+
olcObjectClasses: {0}( id-oc-pmiUser NAME 'pmiUser' DESC 'X.509 PMI user objec
|
|
106
|
+
t class' SUP top AUXILIARY MAY attributeCertificateAttribute )
|
|
107
|
+
olcObjectClasses: {1}( id-oc-pmiAA NAME 'pmiAA' DESC 'X.509 PMI AA object clas
|
|
108
|
+
s' SUP top AUXILIARY MAY ( aACertificate $ attributeCertificateRevocationList
|
|
109
|
+
$ attributeAuthorityRevocationList ) )
|
|
110
|
+
olcObjectClasses: {2}( id-oc-pmiSOA NAME 'pmiSOA' DESC 'X.509 PMI SOA object c
|
|
111
|
+
lass' SUP top AUXILIARY MAY ( attributeCertificateRevocationList $ attributeA
|
|
112
|
+
uthorityRevocationList $ attributeDescriptorCertificate ) )
|
|
113
|
+
olcObjectClasses: {3}( id-oc-attCertCRLDistributionPts NAME 'attCertCRLDistrib
|
|
114
|
+
utionPt' DESC 'X.509 Attribute certificate CRL distribution point object clas
|
|
115
|
+
s' SUP top AUXILIARY MAY ( attributeCertificateRevocationList $ attributeAuth
|
|
116
|
+
orityRevocationList ) )
|
|
117
|
+
olcObjectClasses: {4}( id-oc-pmiDelegationPath NAME 'pmiDelegationPath' DESC '
|
|
118
|
+
X.509 PMI delegation path' SUP top AUXILIARY MAY delegationPath )
|
|
119
|
+
olcObjectClasses: {5}( id-oc-privilegePolicy NAME 'privilegePolicy' DESC 'X.50
|
|
120
|
+
9 Privilege policy object class' SUP top AUXILIARY MAY privPolicy )
|
|
121
|
+
olcObjectClasses: {6}( id-oc-protectedPrivilegePolicy NAME 'protectedPrivilege
|
|
122
|
+
Policy' DESC 'X.509 Protected privilege policy object class' SUP top AUXILIAR
|
|
123
|
+
Y MAY protPrivPolicy )
|