rubynas 0.1.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. data/.gitignore +23 -0
  2. data/.gitmodules +3 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +196 -0
  7. data/Guardfile +8 -0
  8. data/LICENSE.txt +7 -0
  9. data/Procfile +2 -0
  10. data/README.md +151 -0
  11. data/Rakefile +14 -0
  12. data/Vagrantfile +99 -0
  13. data/bin/rubynas +63 -0
  14. data/config.ru +5 -0
  15. data/doc/README_FOR_APP +2 -0
  16. data/doc/macosx_shares.png +0 -0
  17. data/doc/shares_overview.png +0 -0
  18. data/lib/rubynas.rb +35 -0
  19. data/lib/rubynas/apis/group_api.rb +51 -0
  20. data/lib/rubynas/apis/system_information_api.rb +13 -0
  21. data/lib/rubynas/apis/user_api.rb +85 -0
  22. data/lib/rubynas/apis/volume_api.rb +50 -0
  23. data/lib/rubynas/config.rb +63 -0
  24. data/lib/rubynas/db/migrate/20130302164415_devise_create_users.rb +46 -0
  25. data/lib/rubynas/db/migrate/20130322143040_create_volumes.rb +10 -0
  26. data/lib/rubynas/db/migrate/20130331102556_create_shared_folders.rb +10 -0
  27. data/lib/rubynas/db/migrate/20130331103034_create_shared_folder_services.rb +11 -0
  28. data/lib/rubynas/installers/base_installer.rb +70 -0
  29. data/lib/rubynas/installers/debian_installer.rb +199 -0
  30. data/lib/rubynas/installers/ubuntu_installer.rb +2 -0
  31. data/lib/rubynas/installers/ubuntu_precise_installer.rb +2 -0
  32. data/lib/rubynas/models/.gitkeep +0 -0
  33. data/lib/rubynas/models/ldap_group.rb +21 -0
  34. data/lib/rubynas/models/ldap_org_unit.rb +13 -0
  35. data/lib/rubynas/models/ldap_user.rb +31 -0
  36. data/lib/rubynas/models/shared_folder.rb +32 -0
  37. data/lib/rubynas/models/shared_folder_service.rb +15 -0
  38. data/lib/rubynas/models/volume.rb +16 -0
  39. data/lib/rubynas/services/afp_share_service.rb +9 -0
  40. data/lib/rubynas/services/service.rb +4 -0
  41. data/lib/rubynas/services/share_service.rb +3 -0
  42. data/lib/rubynas/version.rb +3 -0
  43. data/rubynas.gemspec +69 -0
  44. data/rubynas.ini +24 -0
  45. data/sandbox/ldap/base.ldif +50 -0
  46. data/sandbox/ldap/data/.gitkeep +0 -0
  47. data/sandbox/ldap/data/dc=rubynas,dc=com.ldif +14 -0
  48. data/sandbox/ldap/local.schema +6 -0
  49. data/sandbox/ldap/schema/README +80 -0
  50. data/sandbox/ldap/schema/apple.schema +1727 -0
  51. data/sandbox/ldap/schema/apple_auxillary.schema +20 -0
  52. data/sandbox/ldap/schema/collective.ldif +48 -0
  53. data/sandbox/ldap/schema/collective.schema +190 -0
  54. data/sandbox/ldap/schema/corba.ldif +42 -0
  55. data/sandbox/ldap/schema/corba.schema +239 -0
  56. data/sandbox/ldap/schema/core.ldif +591 -0
  57. data/sandbox/ldap/schema/core.schema +610 -0
  58. data/sandbox/ldap/schema/cosine.ldif +200 -0
  59. data/sandbox/ldap/schema/cosine.schema +2571 -0
  60. data/sandbox/ldap/schema/duaconf.ldif +83 -0
  61. data/sandbox/ldap/schema/duaconf.schema +261 -0
  62. data/sandbox/ldap/schema/dyngroup.ldif +71 -0
  63. data/sandbox/ldap/schema/dyngroup.schema +91 -0
  64. data/sandbox/ldap/schema/fmserver.schema +60 -0
  65. data/sandbox/ldap/schema/inetorgperson.ldif +69 -0
  66. data/sandbox/ldap/schema/inetorgperson.schema +155 -0
  67. data/sandbox/ldap/schema/java.ldif +59 -0
  68. data/sandbox/ldap/schema/java.schema +403 -0
  69. data/sandbox/ldap/schema/krb5-kdc.schema +134 -0
  70. data/sandbox/ldap/schema/microsoft.ext.schema +5383 -0
  71. data/sandbox/ldap/schema/microsoft.schema +4835 -0
  72. data/sandbox/ldap/schema/microsoft.std.schema +480 -0
  73. data/sandbox/ldap/schema/misc.ldif +45 -0
  74. data/sandbox/ldap/schema/misc.schema +75 -0
  75. data/sandbox/ldap/schema/netinfo.schema +240 -0
  76. data/sandbox/ldap/schema/nis.ldif +120 -0
  77. data/sandbox/ldap/schema/nis.schema +241 -0
  78. data/sandbox/ldap/schema/openldap.ldif +88 -0
  79. data/sandbox/ldap/schema/openldap.schema +54 -0
  80. data/sandbox/ldap/schema/pmi.ldif +123 -0
  81. data/sandbox/ldap/schema/pmi.schema +464 -0
  82. data/sandbox/ldap/schema/ppolicy.ldif +75 -0
  83. data/sandbox/ldap/schema/ppolicy.schema +531 -0
  84. data/sandbox/ldap/schema/samba.schema +179 -0
  85. data/sandbox/ldap/slapd.conf +99 -0
  86. data/spec/apis/group_api_spec.rb +97 -0
  87. data/spec/apis/system_information_api_spec.rb +27 -0
  88. data/spec/apis/user_api_spec.rb +113 -0
  89. data/spec/apis/volume_api_spec.rb +98 -0
  90. data/spec/factories/ldap_group.rb +16 -0
  91. data/spec/factories/ldap_users.rb +24 -0
  92. data/spec/factories/shared_folder_services.rb +9 -0
  93. data/spec/factories/shared_folders.rb +15 -0
  94. data/spec/factories/users.rb +8 -0
  95. data/spec/factories/volumes.rb +10 -0
  96. data/spec/installer/base_installer_spec.rb +35 -0
  97. data/spec/installer/debian_installer_spec.rb +86 -0
  98. data/spec/models/ldap_group_spec.rb +21 -0
  99. data/spec/models/ldap_org_unit_spec.rb +19 -0
  100. data/spec/models/ldap_user_spec.rb +19 -0
  101. data/spec/models/shared_folder_service_spec.rb +25 -0
  102. data/spec/models/shared_folder_spec.rb +27 -0
  103. data/spec/models/volume_spec.rb +5 -0
  104. data/spec/services/afp_share_service_spec.rb +5 -0
  105. data/spec/services/service_spec.rb +5 -0
  106. data/spec/services/share_service_spec.rb +5 -0
  107. data/spec/spec_helper.rb +30 -0
  108. data/spec/support/db_cleaner.rb +16 -0
  109. data/spec/support/factory_girl.rb +7 -0
  110. data/spec/support/logger.rb +1 -0
  111. data/spec/support/rack-test.rb +6 -0
  112. metadata +633 -0
@@ -0,0 +1,83 @@
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
+ # DUA schema from draft-joslin-config-schema (a work in progress)
16
+ #
17
+ # This file was automatically generated from duaconf.schema; see that file
18
+ # for complete references.
19
+ #
20
+ dn: cn=duaconf,cn=schema,cn=config
21
+ objectClass: olcSchemaConfig
22
+ cn: duaconf
23
+ olcObjectIdentifier: {0}DUAConfSchemaOID 1.3.6.1.4.1.11.1.3.1
24
+ olcAttributeTypes: {0}( DUAConfSchemaOID:1.0 NAME 'defaultServerList' DESC 'De
25
+ fault LDAP server host address used by a DUA' EQUALITY caseIgnoreMatch SYNTAX
26
+ 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
27
+ olcAttributeTypes: {1}( DUAConfSchemaOID:1.1 NAME 'defaultSearchBase' DESC 'De
28
+ fault LDAP base DN used by a DUA' EQUALITY distinguishedNameMatch SYNTAX 1.3.
29
+ 6.1.4.1.1466.115.121.1.12 SINGLE-VALUE )
30
+ olcAttributeTypes: {2}( DUAConfSchemaOID:1.2 NAME 'preferredServerList' DESC '
31
+ Preferred LDAP server host addresses to be used by a DUA' EQUALITY
32
+ caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
33
+ olcAttributeTypes: {3}( DUAConfSchemaOID:1.3 NAME 'searchTimeLimit' DESC 'Maxi
34
+ mum time in seconds a DUA should allow for a search to complete' E
35
+ QUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
36
+ olcAttributeTypes: {4}( DUAConfSchemaOID:1.4 NAME 'bindTimeLimit' DESC 'Maximu
37
+ m time in seconds a DUA should allow for the bind operation to com
38
+ plete' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALU
39
+ E )
40
+ olcAttributeTypes: {5}( DUAConfSchemaOID:1.5 NAME 'followReferrals' DESC 'Tell
41
+ s DUA if it should follow referrals returned by a DSA search resul
42
+ t' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
43
+ olcAttributeTypes: {6}( DUAConfSchemaOID:1.16 NAME 'dereferenceAliases' DESC '
44
+ Tells DUA if it should dereference aliases' EQUALITY booleanMatch SYNTAX 1.3.
45
+ 6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
46
+ olcAttributeTypes: {7}( DUAConfSchemaOID:1.6 NAME 'authenticationMethod' DESC
47
+ 'A keystring which identifies the type of authentication method us
48
+ ed to contact the DSA' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.1
49
+ 21.1.15 SINGLE-VALUE )
50
+ olcAttributeTypes: {8}( DUAConfSchemaOID:1.7 NAME 'profileTTL' DESC 'Time to l
51
+ ive, in seconds, before a client DUA should re-read this configura
52
+ tion profile' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SING
53
+ LE-VALUE )
54
+ olcAttributeTypes: {9}( DUAConfSchemaOID:1.14 NAME 'serviceSearchDescriptor' D
55
+ ESC 'LDAP search descriptor list used by a DUA' EQUALITY caseExactMatch SYNTA
56
+ X 1.3.6.1.4.1.1466.115.121.1.15 )
57
+ olcAttributeTypes: {10}( DUAConfSchemaOID:1.9 NAME 'attributeMap' DESC 'Attrib
58
+ ute mappings used by a DUA' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.14
59
+ 66.115.121.1.26 )
60
+ olcAttributeTypes: {11}( DUAConfSchemaOID:1.10 NAME 'credentialLevel' DESC 'Id
61
+ entifies type of credentials a DUA should use when binding to the
62
+ LDAP server' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
63
+ SINGLE-VALUE )
64
+ olcAttributeTypes: {12}( DUAConfSchemaOID:1.11 NAME 'objectclassMap' DESC 'Obj
65
+ ectclass mappings used by a DUA' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4
66
+ .1.1466.115.121.1.26 )
67
+ olcAttributeTypes: {13}( DUAConfSchemaOID:1.12 NAME 'defaultSearchScope' DESC
68
+ 'Default search scope used by a DUA' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6
69
+ .1.4.1.1466.115.121.1.26 SINGLE-VALUE )
70
+ olcAttributeTypes: {14}( DUAConfSchemaOID:1.13 NAME 'serviceCredentialLevel' D
71
+ ESC 'Identifies type of credentials a DUA should use when binding
72
+ to the LDAP server for a specific service' EQUALITY caseIgnoreIA5M
73
+ atch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
74
+ olcAttributeTypes: {15}( DUAConfSchemaOID:1.15 NAME 'serviceAuthenticationMeth
75
+ od' DESC 'Authentication method used by a service of the DUA' EQUALITY caseIg
76
+ noreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
77
+ olcObjectClasses: {0}( DUAConfSchemaOID:2.5 NAME 'DUAConfigProfile' DESC 'Abst
78
+ raction of a base configuration for a DUA' SUP top STRUCTURAL MUST cn MAY ( d
79
+ efaultServerList $ preferredServerList $ defaultSearchBase $ defaultSearchSco
80
+ pe $ searchTimeLimit $ bindTimeLimit $ credentialLevel $ authenticationMethod
81
+ $ followReferrals $ dereferenceAliases $ serviceSearchDescriptor $ serviceCr
82
+ edentialLevel $ serviceAuthenticationMethod $ objectclassMap $ attributeMap $
83
+ profileTTL ) )
@@ -0,0 +1,261 @@
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
+ # DUA schema from draft-joslin-config-schema (a work in progress)
16
+
17
+ # Contents of this file are subject to change (including deletion)
18
+ # without notice.
19
+ #
20
+ # Not recommended for production use!
21
+ # Use with extreme caution!
22
+
23
+ ## Notes:
24
+ ## - The matching rule for attributes followReferrals and dereferenceAliases
25
+ ## has been changed to booleanMatch since their syntax is boolean
26
+ ## - There was a typo in the name of the dereferenceAliases attributeType
27
+ ## in the DUAConfigProfile objectClass definition
28
+ ## - Credit goes to the original Authors
29
+
30
+ #
31
+ # Application Working Group M. Ansari
32
+ # INTERNET-DRAFT Sun Microsystems, Inc.
33
+ # Expires Febuary 2003 L. Howard
34
+ # PADL Software Pty. Ltd.
35
+ # B. Joslin [ed.]
36
+ # Hewlett-Packard Company
37
+ #
38
+ # September 15th, 2003
39
+ # Intended Category: Informational
40
+ #
41
+ #
42
+ # A Configuration Schema for LDAP Based
43
+ # Directory User Agents
44
+ # <draft-joslin-config-schema-07.txt>
45
+ #
46
+ #Status of this Memo
47
+ #
48
+ # This memo provides information for the Internet community. This
49
+ # memo does not specify an Internet standard of any kind. Distribu-
50
+ # tion of this memo is unlimited.
51
+ #
52
+ # This document is an Internet-Draft and is in full conformance with
53
+ # all provisions of Section 10 of RFC2026.
54
+ #
55
+ # This document is an Internet-Draft. Internet-Drafts are working
56
+ # documents of the Internet Engineering Task Force (IETF), its areas,
57
+ # and its working groups. Note that other groups may also distribute
58
+ # working documents as Internet-Drafts.
59
+ #
60
+ # Internet-Drafts are draft documents valid for a maximum of six
61
+ # months. Internet-Drafts may be updated, replaced, or made obsolete
62
+ # by other documents at any time. It is not appropriate to use
63
+ # Internet-Drafts as reference material or to cite them other than as
64
+ # a "working draft" or "work in progress".
65
+ #
66
+ # To learn the current status of any Internet-Draft, please check the
67
+ # 1id-abstracts.txt listing contained in the Internet-Drafts Shadow
68
+ # Directories on ds.internic.net (US East Coast), nic.nordu.net
69
+ # (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
70
+ # Rim).
71
+ #
72
+ # Distribution of this document is unlimited.
73
+ #
74
+ #
75
+ # Abstract
76
+ #
77
+ # This document describes a mechanism for global configuration of
78
+ # similar directory user agents. This document defines a schema for
79
+ # configuration of these DUAs that may be discovered using the Light-
80
+ # weight Directory Access Protocol in RFC 2251[17]. A set of attri-
81
+ # bute types and an objectclass are proposed, along with specific
82
+ # guidelines for interpreting them. A significant feature of the
83
+ # global configuration policy for DUAs is a mechanism that allows
84
+ # DUAs to re-configure their schema to that of the end user's
85
+ # environment. This configuration is achieved through attribute and
86
+ # objectclass mapping. This document is intended to be a skeleton
87
+ # for future documents that describe configuration of specific DUA
88
+ # services.
89
+ #
90
+ #
91
+ # [trimmed]
92
+ #
93
+ #
94
+ # 2. General Issues
95
+ #
96
+ # The schema defined by this document is defined under the "DUA Con-
97
+ # figuration Schema." This schema is derived from the OID: iso (1)
98
+ # org (3) dod (6) internet (1) private (4) enterprises (1) Hewlett-
99
+ # Packard Company (11) directory (1) LDAP-UX Integration Project (3)
100
+ # DUA Configuration Schema (1). This OID is represented in this
101
+ # document by the keystring "DUAConfSchemaOID"
102
+ # (1.3.6.1.4.1.11.1.3.1).
103
+ objectidentifier DUAConfSchemaOID 1.3.6.1.4.1.11.1.3.1
104
+ #
105
+ # 2.2 Attributes
106
+ #
107
+ # The attributes and classes defined in this document are summarized
108
+ # below.
109
+ #
110
+ # The following attributes are defined in this document:
111
+ #
112
+ # preferredServerList
113
+ # defaultServerList
114
+ # defaultSearchBase
115
+ # defaultSearchScope
116
+ # authenticationMethod
117
+ # credentialLevel
118
+ # serviceSearchDescriptor
119
+ #
120
+ #
121
+ #
122
+ # Joslin [Page 3]
123
+ # Internet-Draft DUA Configuration Schema October 2002
124
+ #
125
+ #
126
+ # serviceCredentialLevel
127
+ # serviceAuthenticationMethod
128
+ # attributeMap
129
+ # objectclassMap
130
+ # searchTimeLimit
131
+ # bindTimeLimit
132
+ # followReferrals
133
+ # dereferenceAliases
134
+ # profileTTL
135
+ #
136
+ # 2.3 Object Classes
137
+ #
138
+ # The following object class is defined in this document:
139
+ #
140
+ # DUAConfigProfile
141
+ #
142
+ #
143
+ attributeType ( DUAConfSchemaOID:1.0 NAME 'defaultServerList'
144
+ DESC 'Default LDAP server host address used by a DUA'
145
+ EQUALITY caseIgnoreMatch
146
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
147
+ SINGLE-VALUE )
148
+
149
+ attributeType ( DUAConfSchemaOID:1.1 NAME 'defaultSearchBase'
150
+ DESC 'Default LDAP base DN used by a DUA'
151
+ EQUALITY distinguishedNameMatch
152
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
153
+ SINGLE-VALUE )
154
+
155
+ attributeType ( DUAConfSchemaOID:1.2 NAME 'preferredServerList'
156
+ DESC 'Preferred LDAP server host addresses to be used by a
157
+ DUA'
158
+ EQUALITY caseIgnoreMatch
159
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
160
+ SINGLE-VALUE )
161
+
162
+ attributeType ( DUAConfSchemaOID:1.3 NAME 'searchTimeLimit'
163
+ DESC 'Maximum time in seconds a DUA should allow for a
164
+ search to complete'
165
+ EQUALITY integerMatch
166
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
167
+ SINGLE-VALUE )
168
+
169
+ attributeType ( DUAConfSchemaOID:1.4 NAME 'bindTimeLimit'
170
+ DESC 'Maximum time in seconds a DUA should allow for the
171
+ bind operation to complete'
172
+ EQUALITY integerMatch
173
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
174
+ SINGLE-VALUE )
175
+
176
+ attributeType ( DUAConfSchemaOID:1.5 NAME 'followReferrals'
177
+ DESC 'Tells DUA if it should follow referrals
178
+ returned by a DSA search result'
179
+ EQUALITY booleanMatch
180
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
181
+ SINGLE-VALUE )
182
+
183
+ attributeType ( DUAConfSchemaOID:1.16 NAME 'dereferenceAliases'
184
+ DESC 'Tells DUA if it should dereference aliases'
185
+ EQUALITY booleanMatch
186
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
187
+ SINGLE-VALUE )
188
+
189
+ attributeType ( DUAConfSchemaOID:1.6 NAME 'authenticationMethod'
190
+ DESC 'A keystring which identifies the type of
191
+ authentication method used to contact the DSA'
192
+ EQUALITY caseIgnoreMatch
193
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
194
+ SINGLE-VALUE )
195
+
196
+ attributeType ( DUAConfSchemaOID:1.7 NAME 'profileTTL'
197
+ DESC 'Time to live, in seconds, before a client DUA
198
+ should re-read this configuration profile'
199
+ EQUALITY integerMatch
200
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
201
+ SINGLE-VALUE )
202
+
203
+ attributeType ( DUAConfSchemaOID:1.14 NAME 'serviceSearchDescriptor'
204
+ DESC 'LDAP search descriptor list used by a DUA'
205
+ EQUALITY caseExactMatch
206
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
207
+
208
+ attributeType ( DUAConfSchemaOID:1.9 NAME 'attributeMap'
209
+ DESC 'Attribute mappings used by a DUA'
210
+ EQUALITY caseIgnoreIA5Match
211
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
212
+
213
+ attributeType ( DUAConfSchemaOID:1.10 NAME 'credentialLevel'
214
+ DESC 'Identifies type of credentials a DUA should
215
+ use when binding to the LDAP server'
216
+ EQUALITY caseIgnoreIA5Match
217
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
218
+ SINGLE-VALUE )
219
+
220
+ attributeType ( DUAConfSchemaOID:1.11 NAME 'objectclassMap'
221
+ DESC 'Objectclass mappings used by a DUA'
222
+ EQUALITY caseIgnoreIA5Match
223
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
224
+
225
+ attributeType ( DUAConfSchemaOID:1.12 NAME 'defaultSearchScope'
226
+ DESC 'Default search scope used by a DUA'
227
+ EQUALITY caseIgnoreIA5Match
228
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
229
+ SINGLE-VALUE )
230
+
231
+ attributeType ( DUAConfSchemaOID:1.13 NAME 'serviceCredentialLevel'
232
+ DESC 'Identifies type of credentials a DUA
233
+ should use when binding to the LDAP server for a
234
+ specific service'
235
+ EQUALITY caseIgnoreIA5Match
236
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
237
+
238
+ attributeType ( DUAConfSchemaOID:1.15 NAME 'serviceAuthenticationMethod'
239
+ DESC 'Authentication method used by a service of the DUA'
240
+ EQUALITY caseIgnoreMatch
241
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
242
+ #
243
+ # 4. Class Definition
244
+ #
245
+ # The objectclass below is constructed from the attributes defined in
246
+ # 3, with the exception of the cn attribute, which is defined in RFC
247
+ # 2256 [8]. cn is used to represent the name of the DUA configura-
248
+ # tion profile.
249
+ #
250
+ objectClass ( DUAConfSchemaOID:2.5 NAME 'DUAConfigProfile'
251
+ SUP top STRUCTURAL
252
+ DESC 'Abstraction of a base configuration for a DUA'
253
+ MUST ( cn )
254
+ MAY ( defaultServerList $ preferredServerList $
255
+ defaultSearchBase $ defaultSearchScope $
256
+ searchTimeLimit $ bindTimeLimit $
257
+ credentialLevel $ authenticationMethod $
258
+ followReferrals $ dereferenceAliases $
259
+ serviceSearchDescriptor $ serviceCredentialLevel $
260
+ serviceAuthenticationMethod $ objectclassMap $
261
+ attributeMap $ profileTTL ) )
@@ -0,0 +1,71 @@
1
+ # dyngroup.schema -- Dynamic Group 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
+ # Dynamic Group schema (experimental), as defined by Netscape. See
17
+ # http://www.redhat.com/docs/manuals/ent-server/pdf/esadmin611.pdf
18
+ # page 70 for details on how these groups were used.
19
+ #
20
+ # A description of the objectclass definition is available here:
21
+ # http://www.redhat.com/docs/manuals/dir-server/schema/7.1/oc_dir.html#1303745
22
+ #
23
+ # depends upon:
24
+ # core.schema
25
+ #
26
+ # These definitions are considered experimental due to the lack of
27
+ # a formal specification (e.g., RFC).
28
+ #
29
+ # NOT RECOMMENDED FOR PRODUCTION USE! USE WITH CAUTION!
30
+ #
31
+ # The Netscape documentation describes this as an auxiliary objectclass
32
+ # but their implementations have always defined it as a structural class.
33
+ # The sloppiness here is because Netscape-derived servers don't actually
34
+ # implement the X.500 data model, and they don't honor the distinction
35
+ # between structural and auxiliary classes. This fact is noted here:
36
+ # http://forum.java.sun.com/thread.jspa?threadID=5016864&messageID=9034636
37
+ #
38
+ # In accordance with other existing implementations, we define it as a
39
+ # structural class.
40
+ #
41
+ # Our definition of memberURL also does not match theirs but again
42
+ # their published definition and what works in practice do not agree.
43
+ # In other words, the Netscape definitions are broken and interoperability
44
+ # is not guaranteed.
45
+ #
46
+ # Also see the new DynGroup proposed spec at
47
+ # http://tools.ietf.org/html/draft-haripriya-dynamicgroup-02
48
+ dn: cn=dyngroup,cn=schema,cn=config
49
+ objectClass: olcSchemaConfig
50
+ cn: dyngroup
51
+ olcObjectIdentifier: {0}NetscapeRoot 2.16.840.1.113730
52
+ olcObjectIdentifier: {1}NetscapeLDAP NetscapeRoot:3
53
+ olcObjectIdentifier: {2}NetscapeLDAPattributeType NetscapeLDAP:1
54
+ olcObjectIdentifier: {3}NetscapeLDAPobjectClass NetscapeLDAP:2
55
+ olcObjectIdentifier: {4}OpenLDAPExp11 1.3.6.1.4.1.4203.666.11
56
+ olcObjectIdentifier: {5}DynGroupBase OpenLDAPExp11:8
57
+ olcObjectIdentifier: {6}DynGroupAttr DynGroupBase:1
58
+ olcObjectIdentifier: {7}DynGroupOC DynGroupBase:2
59
+ olcAttributeTypes: {0}( NetscapeLDAPattributeType:198 NAME 'memberURL' DESC 'I
60
+ dentifies an URL associated with each member of a group. Any type of labeled
61
+ URL can be used.' SUP labeledURI )
62
+ olcAttributeTypes: {1}( DynGroupAttr:1 NAME 'dgIdentity' DESC 'Identity to use
63
+ when processing the memberURL' SUP distinguishedName SINGLE-VALUE )
64
+ olcAttributeTypes: {2}( DynGroupAttr:2 NAME 'dgAuthz' DESC 'Optional authoriza
65
+ tion rules that determine who is allowed to assume the dgIdentity' EQUALITY a
66
+ uthzMatch SYNTAX 1.3.6.1.4.1.4203.666.2.7 X-ORDERED 'VALUES' )
67
+ olcObjectClasses: {0}( NetscapeLDAPobjectClass:33 NAME 'groupOfURLs' SUP top S
68
+ TRUCTURAL MUST cn MAY ( memberURL $ businessCategory $ description $ o $ ou $
69
+ owner $ seeAlso ) )
70
+ olcObjectClasses: {1}( DynGroupOC:1 NAME 'dgIdentityAux' SUP top AUXILIARY MAY
71
+ ( dgIdentity $ dgAuthz ) )
@@ -0,0 +1,91 @@
1
+ # dyngroup.schema -- Dynamic Group 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
+ # Dynamic Group schema (experimental), as defined by Netscape. See
17
+ # http://www.redhat.com/docs/manuals/ent-server/pdf/esadmin611.pdf
18
+ # page 70 for details on how these groups were used.
19
+ #
20
+ # A description of the objectclass definition is available here:
21
+ # http://www.redhat.com/docs/manuals/dir-server/schema/7.1/oc_dir.html#1303745
22
+ #
23
+ # depends upon:
24
+ # core.schema
25
+ #
26
+ # These definitions are considered experimental due to the lack of
27
+ # a formal specification (e.g., RFC).
28
+ #
29
+ # NOT RECOMMENDED FOR PRODUCTION USE! USE WITH CAUTION!
30
+ #
31
+ # The Netscape documentation describes this as an auxiliary objectclass
32
+ # but their implementations have always defined it as a structural class.
33
+ # The sloppiness here is because Netscape-derived servers don't actually
34
+ # implement the X.500 data model, and they don't honor the distinction
35
+ # between structural and auxiliary classes. This fact is noted here:
36
+ # http://forum.java.sun.com/thread.jspa?threadID=5016864&messageID=9034636
37
+ #
38
+ # In accordance with other existing implementations, we define it as a
39
+ # structural class.
40
+ #
41
+ # Our definition of memberURL also does not match theirs but again
42
+ # their published definition and what works in practice do not agree.
43
+ # In other words, the Netscape definitions are broken and interoperability
44
+ # is not guaranteed.
45
+ #
46
+ # Also see the new DynGroup proposed spec at
47
+ # http://tools.ietf.org/html/draft-haripriya-dynamicgroup-02
48
+
49
+ objectIdentifier NetscapeRoot 2.16.840.1.113730
50
+
51
+ objectIdentifier NetscapeLDAP NetscapeRoot:3
52
+ objectIdentifier NetscapeLDAPattributeType NetscapeLDAP:1
53
+ objectIdentifier NetscapeLDAPobjectClass NetscapeLDAP:2
54
+
55
+ objectIdentifier OpenLDAPExp11 1.3.6.1.4.1.4203.666.11
56
+ objectIdentifier DynGroupBase OpenLDAPExp11:8
57
+ objectIdentifier DynGroupAttr DynGroupBase:1
58
+ objectIdentifier DynGroupOC DynGroupBase:2
59
+
60
+ attributetype ( NetscapeLDAPattributeType:198
61
+ NAME 'memberURL'
62
+ DESC 'Identifies an URL associated with each member of a group. Any type of labeled URL can be used.'
63
+ SUP labeledURI )
64
+
65
+ attributetype ( DynGroupAttr:1
66
+ NAME 'dgIdentity'
67
+ DESC 'Identity to use when processing the memberURL'
68
+ SUP distinguishedName SINGLE-VALUE )
69
+
70
+ attributeType ( DynGroupAttr:2
71
+ NAME 'dgAuthz'
72
+ DESC 'Optional authorization rules that determine who is allowed to assume the dgIdentity'
73
+ EQUALITY authzMatch
74
+ SYNTAX 1.3.6.1.4.1.4203.666.2.7
75
+ X-ORDERED 'VALUES' )
76
+
77
+ objectClass ( NetscapeLDAPobjectClass:33
78
+ NAME 'groupOfURLs'
79
+ SUP top STRUCTURAL
80
+ MUST cn
81
+ MAY ( memberURL $ businessCategory $ description $ o $ ou $
82
+ owner $ seeAlso ) )
83
+
84
+ # The Haripriya dyngroup schema still needs a lot of work.
85
+ # We're just adding support for the dgIdentity attribute for now...
86
+ objectClass ( DynGroupOC:1
87
+ NAME 'dgIdentityAux'
88
+ SUP top AUXILIARY
89
+ MAY ( dgIdentity $ dgAuthz ) )
90
+
91
+