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.
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
+