rubynas 0.1.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- 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,20 @@
|
|
1
|
+
##############################################
|
2
|
+
# the schema entries below have been pulled in from
|
3
|
+
# the microsoft schema
|
4
|
+
# altSecurityIdentities - used to store Kerberos
|
5
|
+
# user account names used in authentication
|
6
|
+
# servicePrincipalName - List of principal names used
|
7
|
+
# for mutual authentication with an instance of a service
|
8
|
+
##############################################
|
9
|
+
attributetype ( 1.2.840.113556.1.4.867
|
10
|
+
NAME 'altSecurityIdentities'
|
11
|
+
EQUALITY caseIgnoreMatch
|
12
|
+
SUBSTR caseIgnoreSubstringsMatch
|
13
|
+
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' )
|
14
|
+
|
15
|
+
attributetype ( 1.2.840.113556.1.4.771
|
16
|
+
NAME 'servicePrincipalName'
|
17
|
+
EQUALITY caseExactMatch
|
18
|
+
SUBSTR caseExactSubstringsMatch
|
19
|
+
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' )
|
20
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# collective.ldif -- Collective attribute 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 (2003).
|
17
|
+
## Please see full copyright statement below.
|
18
|
+
#
|
19
|
+
# From RFC 3671 [portions trimmed]:
|
20
|
+
# Collective Attributes in LDAP
|
21
|
+
#
|
22
|
+
# This file was automatically generated from collective.schema; see that file
|
23
|
+
# for complete references.
|
24
|
+
#
|
25
|
+
dn: cn=collective,cn=schema,cn=config
|
26
|
+
objectClass: olcSchemaConfig
|
27
|
+
cn: collective
|
28
|
+
olcAttributeTypes: {0}( 2.5.4.7.1 NAME 'c-l' SUP l COLLECTIVE )
|
29
|
+
olcAttributeTypes: {1}( 2.5.4.8.1 NAME 'c-st' SUP st COLLECTIVE )
|
30
|
+
olcAttributeTypes: {2}( 2.5.4.9.1 NAME 'c-street' SUP street COLLECTIVE )
|
31
|
+
olcAttributeTypes: {3}( 2.5.4.10.1 NAME 'c-o' SUP o COLLECTIVE )
|
32
|
+
olcAttributeTypes: {4}( 2.5.4.11.1 NAME 'c-ou' SUP ou COLLECTIVE )
|
33
|
+
olcAttributeTypes: {5}( 2.5.4.16.1 NAME 'c-PostalAddress' SUP postalAddress CO
|
34
|
+
LLECTIVE )
|
35
|
+
olcAttributeTypes: {6}( 2.5.4.17.1 NAME 'c-PostalCode' SUP postalCode COLLECTI
|
36
|
+
VE )
|
37
|
+
olcAttributeTypes: {7}( 2.5.4.18.1 NAME 'c-PostOfficeBox' SUP postOfficeBox CO
|
38
|
+
LLECTIVE )
|
39
|
+
olcAttributeTypes: {8}( 2.5.4.19.1 NAME 'c-PhysicalDeliveryOfficeName' SUP phy
|
40
|
+
sicalDeliveryOfficeName COLLECTIVE )
|
41
|
+
olcAttributeTypes: {9}( 2.5.4.20.1 NAME 'c-TelephoneNumber' SUP telephoneNumbe
|
42
|
+
r COLLECTIVE )
|
43
|
+
olcAttributeTypes: {10}( 2.5.4.21.1 NAME 'c-TelexNumber' SUP telexNumber COLLE
|
44
|
+
CTIVE )
|
45
|
+
olcAttributeTypes: {11}( 2.5.4.23.1 NAME 'c-FacsimileTelephoneNumber' SUP facs
|
46
|
+
imileTelephoneNumber COLLECTIVE )
|
47
|
+
olcAttributeTypes: {12}( 2.5.4.25.1 NAME 'c-InternationalISDNNumber' SUP inter
|
48
|
+
nationalISDNNumber COLLECTIVE )
|
@@ -0,0 +1,190 @@
|
|
1
|
+
# collective.schema -- Collective attribute 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 (2003).
|
17
|
+
## Please see full copyright statement below.
|
18
|
+
|
19
|
+
# From RFC 3671 [portions trimmed]:
|
20
|
+
# Collective Attributes in LDAP
|
21
|
+
|
22
|
+
#Abstract
|
23
|
+
#
|
24
|
+
# X.500 collective attributes allow common characteristics to be shared
|
25
|
+
# between collections of entries. This document summarizes the X.500
|
26
|
+
# information model for collective attributes and describes use of
|
27
|
+
# collective attributes in LDAP (Lightweight Directory Access Protocol).
|
28
|
+
# This document provides schema definitions for collective attributes
|
29
|
+
# for use in LDAP.
|
30
|
+
|
31
|
+
#3. Collective Attribute Types
|
32
|
+
#
|
33
|
+
# A userApplications attribute type can be defined to be COLLECTIVE
|
34
|
+
# [RFC2252]. This indicates that the same attribute values will appear
|
35
|
+
# in the entries of an entry collection subject to the use of the
|
36
|
+
# collectiveExclusions attribute and other administrative controls.
|
37
|
+
#
|
38
|
+
# Collective attribute types are commonly defined as subtypes of non-
|
39
|
+
# collective attribute types. By convention, collective attributes are
|
40
|
+
# named by prefixing the name of their non-collective supertype with
|
41
|
+
# "c-". For example, the collective telephone attribute is named
|
42
|
+
# c-TelephoneNumber after its non-collective supertype telephoneNumber.
|
43
|
+
#
|
44
|
+
# Non-collective attributes types SHALL NOT subtype collective
|
45
|
+
# attributes.
|
46
|
+
#
|
47
|
+
# Collective attributes SHALL NOT be SINGLE-VALUED. Collective
|
48
|
+
# attribute types SHALL NOT appear in the attribute types of an object
|
49
|
+
# class definition.
|
50
|
+
#
|
51
|
+
# Operational attributes SHALL NOT be defined to be collective.
|
52
|
+
#
|
53
|
+
# The remainder of section provides a summary of collective attributes
|
54
|
+
# derived from those defined in [X.520]. Implementations of this
|
55
|
+
# specification SHOULD support the following collective attributes and
|
56
|
+
# MAY support additional collective attributes.
|
57
|
+
#
|
58
|
+
#
|
59
|
+
#3.1. Collective Locality Name
|
60
|
+
#
|
61
|
+
# The c-l attribute type specifies a locality name for a collection of
|
62
|
+
# entries.
|
63
|
+
#
|
64
|
+
attributeType ( 2.5.4.7.1 NAME 'c-l'
|
65
|
+
SUP l COLLECTIVE )
|
66
|
+
#
|
67
|
+
#
|
68
|
+
#3.2. Collective State or Province Name
|
69
|
+
#
|
70
|
+
# The c-st attribute type specifies a state or province name for a
|
71
|
+
# collection of entries.
|
72
|
+
#
|
73
|
+
attributeType ( 2.5.4.8.1 NAME 'c-st'
|
74
|
+
SUP st COLLECTIVE )
|
75
|
+
#
|
76
|
+
#
|
77
|
+
#3.3. Collective Street Address
|
78
|
+
#
|
79
|
+
# The c-street attribute type specifies a street address for a
|
80
|
+
# collection of entries.
|
81
|
+
#
|
82
|
+
attributeType ( 2.5.4.9.1 NAME 'c-street'
|
83
|
+
SUP street COLLECTIVE )
|
84
|
+
#
|
85
|
+
#
|
86
|
+
#3.4. Collective Organization Name
|
87
|
+
#
|
88
|
+
# The c-o attribute type specifies an organization name for a collection
|
89
|
+
# of entries.
|
90
|
+
#
|
91
|
+
attributeType ( 2.5.4.10.1 NAME 'c-o'
|
92
|
+
SUP o COLLECTIVE )
|
93
|
+
#
|
94
|
+
#
|
95
|
+
#3.5. Collective Organizational Unit Name
|
96
|
+
#
|
97
|
+
# The c-ou attribute type specifies an organizational unit name for a
|
98
|
+
# collection of entries.
|
99
|
+
#
|
100
|
+
attributeType ( 2.5.4.11.1 NAME 'c-ou'
|
101
|
+
SUP ou COLLECTIVE )
|
102
|
+
#
|
103
|
+
#
|
104
|
+
#3.6. Collective Postal Address
|
105
|
+
#
|
106
|
+
# The c-PostalAddress attribute type specifies a postal address for a
|
107
|
+
# collection of entries.
|
108
|
+
#
|
109
|
+
attributeType ( 2.5.4.16.1 NAME 'c-PostalAddress'
|
110
|
+
SUP postalAddress COLLECTIVE )
|
111
|
+
#
|
112
|
+
#
|
113
|
+
#3.7. Collective Postal Code
|
114
|
+
#
|
115
|
+
# The c-PostalCode attribute type specifies a postal code for a
|
116
|
+
# collection of entries.
|
117
|
+
#
|
118
|
+
attributeType ( 2.5.4.17.1 NAME 'c-PostalCode'
|
119
|
+
SUP postalCode COLLECTIVE )
|
120
|
+
#
|
121
|
+
#
|
122
|
+
#3.8. Collective Post Office Box
|
123
|
+
#
|
124
|
+
# The c-PostOfficeBox attribute type specifies a post office box for a
|
125
|
+
# collection of entries.
|
126
|
+
#
|
127
|
+
attributeType ( 2.5.4.18.1 NAME 'c-PostOfficeBox'
|
128
|
+
SUP postOfficeBox COLLECTIVE )
|
129
|
+
#
|
130
|
+
#
|
131
|
+
#3.9. Collective Physical Delivery Office Name
|
132
|
+
#
|
133
|
+
# The c-PhysicalDeliveryOfficeName attribute type specifies a physical
|
134
|
+
# delivery office name for a collection of entries.
|
135
|
+
#
|
136
|
+
attributeType ( 2.5.4.19.1 NAME 'c-PhysicalDeliveryOfficeName'
|
137
|
+
SUP physicalDeliveryOfficeName COLLECTIVE )
|
138
|
+
#
|
139
|
+
#
|
140
|
+
#3.10. Collective Telephone Number
|
141
|
+
#
|
142
|
+
# The c-TelephoneNumber attribute type specifies a telephone number for
|
143
|
+
# a collection of entries.
|
144
|
+
#
|
145
|
+
attributeType ( 2.5.4.20.1 NAME 'c-TelephoneNumber'
|
146
|
+
SUP telephoneNumber COLLECTIVE )
|
147
|
+
#
|
148
|
+
#
|
149
|
+
#3.11. Collective Telex Number
|
150
|
+
#
|
151
|
+
# The c-TelexNumber attribute type specifies a telex number for a
|
152
|
+
# collection of entries.
|
153
|
+
#
|
154
|
+
attributeType ( 2.5.4.21.1 NAME 'c-TelexNumber'
|
155
|
+
SUP telexNumber COLLECTIVE )
|
156
|
+
#
|
157
|
+
#
|
158
|
+
#3.13. Collective Facsimile Telephone Number
|
159
|
+
#
|
160
|
+
# The c-FacsimileTelephoneNumber attribute type specifies a facsimile
|
161
|
+
# telephone number for a collection of entries.
|
162
|
+
#
|
163
|
+
attributeType ( 2.5.4.23.1 NAME 'c-FacsimileTelephoneNumber'
|
164
|
+
SUP facsimileTelephoneNumber COLLECTIVE )
|
165
|
+
#
|
166
|
+
#
|
167
|
+
#3.14. Collective International ISDN Number
|
168
|
+
#
|
169
|
+
# The c-InternationalISDNNumber attribute type specifies an
|
170
|
+
# international ISDN number for a collection of entries.
|
171
|
+
#
|
172
|
+
attributeType ( 2.5.4.25.1 NAME 'c-InternationalISDNNumber'
|
173
|
+
SUP internationalISDNNumber COLLECTIVE )
|
174
|
+
|
175
|
+
# Full Copyright
|
176
|
+
#
|
177
|
+
# Copyright (C) The Internet Society (2003). All Rights Reserved.
|
178
|
+
#
|
179
|
+
# This document and translations of it may be copied and furnished
|
180
|
+
# to others, and derivative works that comment on or otherwise explain
|
181
|
+
# it or assist in its implmentation may be prepared, copied, published
|
182
|
+
# and distributed, in whole or in part, without restriction of any
|
183
|
+
# kind, provided that the above copyright notice and this paragraph
|
184
|
+
# are included on all such copies and derivative works. However,
|
185
|
+
# this document itself may not be modified in any way, such as by
|
186
|
+
# removing the copyright notice or references to the Internet Society
|
187
|
+
# or other Internet organizations, except as needed for the purpose
|
188
|
+
# of developing Internet standards in which case the procedures for
|
189
|
+
# copyrights defined in the Internet Standards process must be followed,
|
190
|
+
# or as required to translate it into languages other than English.
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# corba.ldif -- Corba Object Schema
|
2
|
+
# depends upon core.ldif
|
3
|
+
# $OpenLDAP$
|
4
|
+
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
5
|
+
##
|
6
|
+
## Copyright 1998-2011 The OpenLDAP Foundation.
|
7
|
+
## All rights reserved.
|
8
|
+
##
|
9
|
+
## Redistribution and use in source and binary forms, with or without
|
10
|
+
## modification, are permitted only as authorized by the OpenLDAP
|
11
|
+
## Public License.
|
12
|
+
##
|
13
|
+
## A copy of this license is available in the file LICENSE in the
|
14
|
+
## top-level directory of the distribution or, alternatively, at
|
15
|
+
## <http://www.OpenLDAP.org/license.html>.
|
16
|
+
#
|
17
|
+
## Portions Copyright (C) The Internet Society (1999).
|
18
|
+
## Please see full copyright statement below.
|
19
|
+
#
|
20
|
+
# From RFC 2714 [portions trimmed]:
|
21
|
+
# Schema for Representing CORBA Object References in an LDAP Directory
|
22
|
+
#
|
23
|
+
# This file was automatically generated from corba.schema; see that file
|
24
|
+
# for complete references.
|
25
|
+
#
|
26
|
+
dn: cn=corba,cn=schema,cn=config
|
27
|
+
objectClass: olcSchemaConfig
|
28
|
+
cn: corba
|
29
|
+
olcAttributeTypes: {0}( 1.3.6.1.4.1.42.2.27.4.1.14 NAME 'corbaIor' DESC 'Strin
|
30
|
+
gified interoperable object reference of a CORBA object' EQUALITY caseIgnoreI
|
31
|
+
A5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
32
|
+
olcAttributeTypes: {1}( 1.3.6.1.4.1.42.2.27.4.1.15 NAME 'corbaRepositoryId' DE
|
33
|
+
SC 'Repository ids of interfaces implemented by a CORBA object' EQUALITY case
|
34
|
+
ExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
35
|
+
olcObjectClasses: {0}( 1.3.6.1.4.1.42.2.27.4.2.10 NAME 'corbaContainer' DESC '
|
36
|
+
Container for a CORBA object' SUP top STRUCTURAL MUST cn )
|
37
|
+
olcObjectClasses: {1}( 1.3.6.1.4.1.42.2.27.4.2.9 NAME 'corbaObject' DESC 'CORB
|
38
|
+
A object representation' SUP top ABSTRACT MAY ( corbaRepositoryId $ descripti
|
39
|
+
on ) )
|
40
|
+
olcObjectClasses: {2}( 1.3.6.1.4.1.42.2.27.4.2.11 NAME 'corbaObjectReference'
|
41
|
+
DESC 'CORBA interoperable object reference' SUP corbaObject AUXILIARY MUST co
|
42
|
+
rbaIor )
|
@@ -0,0 +1,239 @@
|
|
1
|
+
# corba.schema -- Corba Object Schema
|
2
|
+
# depends upon core.schema
|
3
|
+
# $OpenLDAP$
|
4
|
+
# $OpenLDAP$
|
5
|
+
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
6
|
+
##
|
7
|
+
## Copyright 1998-2011 The OpenLDAP Foundation.
|
8
|
+
## All rights reserved.
|
9
|
+
##
|
10
|
+
## Redistribution and use in source and binary forms, with or without
|
11
|
+
## modification, are permitted only as authorized by the OpenLDAP
|
12
|
+
## Public License.
|
13
|
+
##
|
14
|
+
## A copy of this license is available in the file LICENSE in the
|
15
|
+
## top-level directory of the distribution or, alternatively, at
|
16
|
+
## <http://www.OpenLDAP.org/license.html>.
|
17
|
+
#
|
18
|
+
## Portions Copyright (C) The Internet Society (1999).
|
19
|
+
## Please see full copyright statement below.
|
20
|
+
|
21
|
+
|
22
|
+
# Network Working Group V. Ryan
|
23
|
+
# Request for Comments: 2714 R. Lee
|
24
|
+
# Category: Informational S. Seligman
|
25
|
+
# Sun Microsystems, Inc.
|
26
|
+
# October 1999
|
27
|
+
#
|
28
|
+
#
|
29
|
+
# Schema for Representing CORBA Object References in an LDAP Directory
|
30
|
+
#
|
31
|
+
# Status of this Memo
|
32
|
+
#
|
33
|
+
# This memo provides information for the Internet community. It does
|
34
|
+
# not specify an Internet standard of any kind. Distribution of this
|
35
|
+
# memo is unlimited.
|
36
|
+
#
|
37
|
+
# Copyright Notice
|
38
|
+
#
|
39
|
+
# Copyright (C) The Internet Society (1999). All Rights Reserved.
|
40
|
+
#
|
41
|
+
# Abstract
|
42
|
+
#
|
43
|
+
# CORBA [CORBA] is the Common Object Request Broker Architecture
|
44
|
+
# defined by the Object Management Group. This document defines the
|
45
|
+
# schema for representing CORBA object references in an LDAP directory
|
46
|
+
# [LDAPv3].
|
47
|
+
#
|
48
|
+
# [trimmed]
|
49
|
+
|
50
|
+
# 3. Attribute Type Definitions
|
51
|
+
#
|
52
|
+
# The following attribute types are defined in this document:
|
53
|
+
#
|
54
|
+
# corbaIor
|
55
|
+
# corbaRepositoryId
|
56
|
+
#
|
57
|
+
# 3.1 corbaIor
|
58
|
+
#
|
59
|
+
# This attribute stores the string representation of the interoperable
|
60
|
+
# object reference (IOR) for a CORBA object. An IOR is an opaque handle
|
61
|
+
# for the object which contains the information necessary to locate the
|
62
|
+
# object, even if the object is in another ORB.
|
63
|
+
#
|
64
|
+
# This attribute's syntax is 'IA5 String' and its case is
|
65
|
+
# insignificant.
|
66
|
+
#
|
67
|
+
# ( 1.3.6.1.4.1.42.2.27.4.1.14
|
68
|
+
# NAME 'corbaIor'
|
69
|
+
# DESC 'Stringified interoperable object reference of a CORBA object'
|
70
|
+
# EQUALITY caseIgnoreIA5Match
|
71
|
+
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
|
72
|
+
# SINGLE-VALUE
|
73
|
+
# )
|
74
|
+
#
|
75
|
+
attributetype ( 1.3.6.1.4.1.42.2.27.4.1.14
|
76
|
+
NAME 'corbaIor'
|
77
|
+
DESC 'Stringified interoperable object reference of a CORBA object'
|
78
|
+
EQUALITY caseIgnoreIA5Match
|
79
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
|
80
|
+
SINGLE-VALUE )
|
81
|
+
|
82
|
+
# 3.2 corbaRepositoryId
|
83
|
+
#
|
84
|
+
# Each CORBA interface has a unique "repository id" (also called "type
|
85
|
+
# id") that identifies the interface. A CORBA object has one or more
|
86
|
+
# repository ids, one for each interface that it implements.
|
87
|
+
#
|
88
|
+
# The format of a repository id can be any string, but the OMG
|
89
|
+
# specifies four standard formats:
|
90
|
+
#
|
91
|
+
# a. IDL-style
|
92
|
+
#
|
93
|
+
# IDL:Prefix/ModuleName/InterfaceName:VersionNumber
|
94
|
+
#
|
95
|
+
# For example, the repository id for the "NamingContext" in OMG's COS
|
96
|
+
# Naming module is: "IDL:omg.org/CosNaming/NamingContext:1.0".
|
97
|
+
#
|
98
|
+
# b. RMI-style
|
99
|
+
#
|
100
|
+
# RMI:ClassName:HashCode[:SUID]
|
101
|
+
#
|
102
|
+
# This format is used by RMI-IIOP remote objects [RMI-IIOP].
|
103
|
+
# "ClassName" is the fully qualified name of the class (for example,
|
104
|
+
# "java.lang.String"). "HashCode" is the object's hash code (that is,
|
105
|
+
# that obtained by invoking the "hashCode()" method). "SUID" is the
|
106
|
+
# "stream unique identifier", which is a 64-bit number that uniquely
|
107
|
+
# identifies the serialization version of the class; SUID is optional
|
108
|
+
# in the repository id.
|
109
|
+
#
|
110
|
+
# c. DCE-style
|
111
|
+
#
|
112
|
+
# DCE:UUID
|
113
|
+
#
|
114
|
+
# This format is used for DCE/CORBA interoperability [CORBA-DCE].
|
115
|
+
# "UUID" represents a DCE UUID.
|
116
|
+
#
|
117
|
+
# d. "local"
|
118
|
+
#
|
119
|
+
# This format is defined by the local Object Request Broker (ORB).
|
120
|
+
#
|
121
|
+
# The corbaRepositoryId attribute is a multivalued attribute; each
|
122
|
+
# value records a single repository id of an interface implemented by
|
123
|
+
# the CORBA object. This attribute need not contain a complete list of
|
124
|
+
# the interfaces implemented by the CORBA object.
|
125
|
+
#
|
126
|
+
# This attribute's syntax is 'Directory String' and its case is
|
127
|
+
# significant. The values of this attribute are encoded using UTF-8.
|
128
|
+
# Some values may require translation from their native representation
|
129
|
+
# in order to be correctly encoded using UTF-8.
|
130
|
+
#
|
131
|
+
# ( 1.3.6.1.4.1.42.2.27.4.1.15
|
132
|
+
# NAME 'corbaRepositoryId'
|
133
|
+
# DESC 'Repository ids of interfaces implemented by a CORBA object'
|
134
|
+
# EQUALITY caseExactMatch
|
135
|
+
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
|
136
|
+
# )
|
137
|
+
#
|
138
|
+
#
|
139
|
+
attributetype ( 1.3.6.1.4.1.42.2.27.4.1.15
|
140
|
+
NAME 'corbaRepositoryId'
|
141
|
+
DESC 'Repository ids of interfaces implemented by a CORBA object'
|
142
|
+
EQUALITY caseExactMatch
|
143
|
+
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
144
|
+
|
145
|
+
# 4. Object Class Definitions
|
146
|
+
#
|
147
|
+
# The following object classes are defined in this document:
|
148
|
+
#
|
149
|
+
# corbaContainer
|
150
|
+
# corbaObject
|
151
|
+
# corbaObjectReference
|
152
|
+
#
|
153
|
+
# 4.1 corbaContainer
|
154
|
+
#
|
155
|
+
# This structural object class represents a container for a CORBA
|
156
|
+
# object.
|
157
|
+
#
|
158
|
+
# ( 1.3.6.1.4.1.42.2.27.4.2.10
|
159
|
+
# NAME 'corbaContainer'
|
160
|
+
# DESC 'Container for a CORBA object'
|
161
|
+
# SUP top
|
162
|
+
# STRUCTURAL
|
163
|
+
# MUST ( cn )
|
164
|
+
# )
|
165
|
+
#
|
166
|
+
objectclass ( 1.3.6.1.4.1.42.2.27.4.2.10
|
167
|
+
NAME 'corbaContainer'
|
168
|
+
DESC 'Container for a CORBA object'
|
169
|
+
SUP top
|
170
|
+
STRUCTURAL
|
171
|
+
MUST cn )
|
172
|
+
|
173
|
+
# 4.2 corbaObject
|
174
|
+
#
|
175
|
+
# This abstract object class is the root class for representing a CORBA
|
176
|
+
# object.
|
177
|
+
#
|
178
|
+
# ( 1.3.6.1.4.1.42.2.27.4.2.9
|
179
|
+
# NAME 'corbaObject'
|
180
|
+
# DESC 'CORBA object representation'
|
181
|
+
# SUP top
|
182
|
+
# ABSTRACT
|
183
|
+
# MAY ( corbaRepositoryId $ description )
|
184
|
+
# )
|
185
|
+
#
|
186
|
+
objectclass ( 1.3.6.1.4.1.42.2.27.4.2.9
|
187
|
+
NAME 'corbaObject'
|
188
|
+
DESC 'CORBA object representation'
|
189
|
+
SUP top
|
190
|
+
ABSTRACT
|
191
|
+
MAY ( corbaRepositoryId $ description ) )
|
192
|
+
|
193
|
+
# 4.3 corbaObjectReference
|
194
|
+
#
|
195
|
+
# This auxiliary object class represents a CORBA object reference. It
|
196
|
+
# must be mixed in with a structural object class.
|
197
|
+
#
|
198
|
+
# ( 1.3.6.1.4.1.42.2.27.4.2.11
|
199
|
+
# NAME 'corbaObjectReference'
|
200
|
+
# DESC 'CORBA interoperable object reference'
|
201
|
+
# SUP corbaObject
|
202
|
+
# AUXILIARY
|
203
|
+
# MUST ( corbaIor )
|
204
|
+
# )
|
205
|
+
#
|
206
|
+
objectclass ( 1.3.6.1.4.1.42.2.27.4.2.11
|
207
|
+
NAME 'corbaObjectReference'
|
208
|
+
DESC 'CORBA interoperable object reference'
|
209
|
+
SUP corbaObject
|
210
|
+
AUXILIARY
|
211
|
+
MUST corbaIor )
|
212
|
+
|
213
|
+
# 10. Full Copyright Statement
|
214
|
+
#
|
215
|
+
# Copyright (C) The Internet Society (1999). All Rights Reserved.
|
216
|
+
#
|
217
|
+
# This document and translations of it may be copied and furnished to
|
218
|
+
# others, and derivative works that comment on or otherwise explain it
|
219
|
+
# or assist in its implementation may be prepared, copied, published
|
220
|
+
# and distributed, in whole or in part, without restriction of any
|
221
|
+
# kind, provided that the above copyright notice and this paragraph are
|
222
|
+
# included on all such copies and derivative works. However, this
|
223
|
+
# document itself may not be modified in any way, such as by removing
|
224
|
+
# the copyright notice or references to the Internet Society or other
|
225
|
+
# Internet organizations, except as needed for the purpose of
|
226
|
+
# developing Internet standards in which case the procedures for
|
227
|
+
# copyrights defined in the Internet Standards process must be
|
228
|
+
# followed, or as required to translate it into languages other than
|
229
|
+
# English.
|
230
|
+
#
|
231
|
+
# The limited permissions granted above are perpetual and will not be
|
232
|
+
# revoked by the Internet Society or its successors or assigns.
|
233
|
+
#
|
234
|
+
# This document and the information contained herein is provided on an
|
235
|
+
# "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
236
|
+
# TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
237
|
+
# BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
238
|
+
# HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
239
|
+
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|