summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/cygwin.ldif
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-11-26 19:46:59 +0000
committerCorinna Vinschen <corinna@vinschen.de>2014-11-26 19:46:59 +0000
commit93d15b36efe67e26e89bcd4def82c4d73c7a6dcb (patch)
tree15661bd5ab69acf7b742e30925c631bf4abcc659 /winsup/cygwin/cygwin.ldif
parent8a2ab1aea1ccd84400d4f7dfd1ac87fa67485036 (diff)
downloadcygnal-93d15b36efe67e26e89bcd4def82c4d73c7a6dcb.tar.gz
cygnal-93d15b36efe67e26e89bcd4def82c4d73c7a6dcb.tar.bz2
cygnal-93d15b36efe67e26e89bcd4def82c4d73c7a6dcb.zip
* Makefile.in (install): Add install-ldif target.
(install-ldif): New target to install cygwin.ldif. * cygheap.h (class cygheap_pwdgrp): Rename pfx_t to nss_pfx_t. Add PFX to enum value. Add nss_scheme_method enum and nss_scheme_t structure. Add home_scheme, shell_scheme and gecos_scheme members. (NSS_SCHEME_MAX): Define. (cygheap_pwdgrp::get_home): Declare. (cygheap_pwdgrp::get_shell): Declare. (cygheap_pwdgrp::get_gecos): Declare. * cygwin.ldif: New file. * ldap.cc (std_user_attr): New array, just defining the standard attributes. (group_attr): Add cygwinUnixGid. (user_attr): Convert to macro pointing to cygheap->pg.ldap_user_attr. (cygheap_pwdgrp::init_ldap_user_attr): New method. (cyg_ldap::fetch_ad_account): Call cygheap_pwdgrp::init_ldap_user_attr if user_attr initialization is required. Fix comment. (cyg_ldap::get_string_attribute): Implement taking attribute name as argument. * ldap.h: Drop unused macros. (cyg_ldap::get_gecos): Remove. (cyg_ldap::get_home): Remove. (cyg_ldap::get_shell): Remove. (cyg_ldap::get_string_attribute): Declare name argument variant public. * uinfo.cc (cygheap_user::ontherange): Fix indentation. (cygheap_pwdgrp::init): Initialize new home_scheme, shell_scheme and gecos_scheme members. Align comment. (NSS_NCMP): Define comparison macro. (NSS_CMP): Ditto. (cygheap_pwdgrp::nss_init_line): Use aforementioned macros throughout. Fix comment handling. Add db_home, db_shell and db_gecos handling. (fetch_from_description): New function to fetch XML-style attributes from (description) string. (fetch_from_path): New function to evaluate path string with wildcards. (cygheap_pwdgrp::get_home): New methods to fetch pw_dir value. (cygheap_pwdgrp::get_shell): Ditto for pw_shell. (cygheap_pwdgrp::get_gecos): Ditto for pw_gecos. (colon_to_semicolon): Move up. (pwdgrp::fetch_account_from_windows): Convert home, shell, gecos variables to char*. Drop statement breaking extended group info. Fetch home, shell and gecos values using new methods. Use fetch_from_description calls to fetch UNIX id and primary groups from SAM comment field. Accommodate uxid being a char* now. Accommodate the fact that extended info is malloc'ed, rather then alloca'ed. Create linebuf content as multibyte string. Create line buffer by just calling cstrdup.
Diffstat (limited to 'winsup/cygwin/cygwin.ldif')
-rw-r--r--winsup/cygwin/cygwin.ldif253
1 files changed, 253 insertions, 0 deletions
diff --git a/winsup/cygwin/cygwin.ldif b/winsup/cygwin/cygwin.ldif
new file mode 100644
index 000000000..166a58123
--- /dev/null
+++ b/winsup/cygwin/cygwin.ldif
@@ -0,0 +1,253 @@
+# =========================================================================
+#
+# Schema Extension for Cygwin User and Group auxiliary classes
+#
+# Extend your Active Directory using
+#
+# ldifde -i -f <path>\<this>.ldif -b <username> <domain> <password> \
+# -k -c "CN=schema,CN=Configuration,DC=X" #schemaNamingContext
+#
+# Remember:
+# - you have to be schema admin for your active directory
+# - you have to run the above command directly from your schema master
+#
+# For further information read
+# http://technet.microsoft.com/en-us/magazine/2008.05.schema.aspx
+#
+# ----------------------------------------------------------------------
+#
+# Explanation for the OIDs:
+#
+# Value Meaning Description
+# 1 ISO Identifies the root authority.
+# 3 IANA Group designation assigned by ISO.
+# 6.1.4.1.2312 Red Hat Organization assigned by IANA.
+# 15 Cygwin Assigned by Organization.
+# Y Object Type Number defining the different object type
+# (category) such as classSchema or
+# attributeSchema. For example, 5 defines
+# object class.
+# Z Object Number identifying a particular object
+# within the category. For example, the user
+# class has the number 9 assigned to it.
+#
+# ----------------------------------------------------------------------
+
+# Attribute definition for cygwinHome
+
+dn: CN=cygwin-Home,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemaadd
+objectClass: top
+objectClass: attributeSchema
+cn: cygwin-Home
+attributeID: 1.3.6.1.4.1.2312.15.2.1
+# attributeSyntax 2.5.5.12 is String(Unicode) with oMSyntax == 64
+# see http://technet.microsoft.com/en-us/library/cc961740.aspx
+attributeSyntax: 2.5.5.12
+isSingleValued: TRUE
+adminDisplayName: cygwin-Home
+adminDescription: cygwin-Home
+oMSyntax: 64
+searchFlags: 1
+lDAPDisplayName: cygwinHome
+systemOnly: FALSE
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# Attribute definition for cygwinShell
+
+dn: CN=cygwin-Shell,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemaadd
+objectClass: top
+objectClass: attributeSchema
+cn: cygwin-Shell
+attributeID: 1.3.6.1.4.1.2312.15.2.2
+attributeSyntax: 2.5.5.12
+isSingleValued: TRUE
+adminDisplayName: cygwin-Shell
+adminDescription: cygwin-Shell
+oMSyntax: 64
+searchFlags: 1
+lDAPDisplayName: cygwinShell
+systemOnly: FALSE
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# Attribute definition for cygwinGecos
+
+dn: CN=cygwin-Gecos,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemaadd
+objectClass: top
+objectClass: attributeSchema
+cn: cygwin-Gecos
+attributeID: 1.3.6.1.4.1.2312.15.2.3
+attributeSyntax: 2.5.5.12
+isSingleValued: TRUE
+adminDisplayName: cygwin-Gecos
+adminDescription: cygwin-Gecos
+oMSyntax: 64
+searchFlags: 1
+lDAPDisplayName: cygwinGecos
+systemOnly: FALSE
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# Attribute definition for cygwinFstab
+
+dn: CN=cygwin-Fstab,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemaadd
+objectClass: top
+objectClass: attributeSchema
+cn: cygwin-Fstab
+attributeID: 1.3.6.1.4.1.2312.15.2.4
+attributeSyntax: 2.5.5.12
+isSingleValued: FALSE
+adminDisplayName: cygwin-Fstab
+adminDescription: cygwin-Fstab
+oMSyntax: 64
+searchFlags: 1
+lDAPDisplayName: cygwinFstab
+systemOnly: FALSE
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# Attribute definition for cygwinUnixUid
+
+dn: CN=cygwin-UnixUid,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemaadd
+objectClass: top
+objectClass: attributeSchema
+cn: cygwin-UnixUid
+attributeID: 1.3.6.1.4.1.2312.15.2.5
+# attributeSyntax 2.5.5.9 is Integer with oMSyntax == 2
+attributeSyntax: 2.5.5.9
+isSingleValued: TRUE
+adminDisplayName: cygwin-UnixUid
+adminDescription: cygwin-UnixUid
+oMSyntax: 2
+searchFlags: 1
+lDAPDisplayName: cygwinUnixUid
+systemOnly: FALSE
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# Attribute definition for cygwinUnixGid
+
+dn: CN=cygwin-UnixGid,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemaadd
+objectClass: top
+objectClass: attributeSchema
+cn: cygwin-UnixGid
+attributeID: 1.3.6.1.4.1.2312.15.2.6
+attributeSyntax: 2.5.5.9
+isSingleValued: TRUE
+adminDisplayName: cygwin-UnixGid
+adminDescription: cygwin-UnixGid
+oMSyntax: 2
+searchFlags: 1
+lDAPDisplayName: cygwinUnixGid
+systemOnly: FALSE
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# cygwin-User auxiliary class
+
+dn: CN=cygwin-User,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemaadd
+objectClass: top
+objectClass: classSchema
+cn: cygwin-User
+governsID: 1.3.6.1.4.1.2312.15.1.1
+mayContain: cygwinHome
+mayContain: cygwinShell
+mayContain: cygwinGecos
+mayContain: cygwinFstab
+mayContain: cygwinUnixUid
+rDNAttID: cn
+adminDisplayName: cygwin-User
+adminDescription: cygwin-User
+objectClassCategory: 3
+lDAPDisplayName: cygwinUser
+name: cygwin-User
+systemOnly: FALSE
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# cygwin-Group auxiliary class
+
+dn: CN=cygwin-Group,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemaadd
+objectClass: top
+objectClass: classSchema
+cn: cygwin-Group
+governsID: 1.3.6.1.4.1.2312.15.1.2
+mayContain: cygwinUnixGid
+rDNAttID: cn
+adminDisplayName: cygwin-Group
+adminDescription: cygwin-Group
+objectClassCategory: 3
+lDAPDisplayName: cygwinGroup
+name: cygwin-Group
+systemOnly: FALSE
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# Attach cygwin-User to User
+
+dn: CN=User,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemamodify
+add: auxiliaryClass
+auxiliaryClass: cygwinUser
+-
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-
+
+# Attach cygwin-Group to Group
+
+dn: CN=Group,CN=Schema,CN=Configuration,DC=X
+changetype: ntdsschemamodify
+add: auxiliaryClass
+auxiliaryClass: cygwinGroup
+-
+
+dn:
+changetype: modify
+add: schemaUpdateNow
+schemaUpdateNow: 1
+-