summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2002-10-09 21:00:30 +0000
committerGerald Carter <jerry@samba.org>2002-10-09 21:00:30 +0000
commit0864bca0b1c65be7e5edd951d3281a46aabc1409 (patch)
treec7df39240cedbcde69d19beb5e9e74515fea1f37
parent8a417a1d6f1febf4c633daa5a636a3e3162f3efa (diff)
downloadsamba-0864bca0b1c65be7e5edd951d3281a46aabc1409.tar.gz
samba-0864bca0b1c65be7e5edd951d3281a46aabc1409.tar.xz
samba-0864bca0b1c65be7e5edd951d3281a46aabc1409.zip
always check for missing files
-rw-r--r--examples/LDAP/samba-nds.schema201
-rw-r--r--source/nsswitch/sys_nss.h104
2 files changed, 305 insertions, 0 deletions
diff --git a/examples/LDAP/samba-nds.schema b/examples/LDAP/samba-nds.schema
new file mode 100644
index 00000000000..4e1cab28695
--- /dev/null
+++ b/examples/LDAP/samba-nds.schema
@@ -0,0 +1,201 @@
+--
+-- Submitted by Bruno Gimenes Pereti <pereti@ut mp dot edu dot br>
+--
+-- schema file for Novell's eDirectory 8.6
+--
+
+SambaAccountSchemaExtensions DEFINITIONS ::=
+BEGIN
+
+-- Password hashes
+"lmPassword" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 1 }
+}
+
+"ntPassword" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 2 }
+}
+
+-- Account flags in string format ([UWDX ])
+"acctFlags" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_CI_STRING,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 4 }
+}
+
+-- Password timestamps & policies
+"pwdLastSet" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 3 }
+}
+
+"logonTime" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 5 }
+}
+
+"logoffTime" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 6 }
+}
+
+"kickoffTime" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 7 }
+}
+
+"pwdCanChange" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 8 }
+}
+
+"pwdMustChange" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 9 }
+}
+
+-- string settings
+"homeDrive" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_CI_STRING,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 10 }
+}
+
+"scriptPath" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_CI_STRING,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 5 1 4 1 7165 2 1 11 }
+}
+
+"profilePath" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_CI_STRING,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 12 }
+}
+
+"userWorkstations" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_CI_STRING,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 13 }
+}
+
+"smbHome" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_CI_STRING,
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 17 }
+}
+
+"domain" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_CI_STRING,
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 18 }
+}
+
+-- user and group RID
+"rid" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 14 }
+}
+
+"primaryGroupID" ATTRIBUTE ::=
+{
+ Operation ADD,
+ SyntaxID SYN_INTEGER,
+ Flags { DS_SINGLE_VALUED_ATTR },
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 1 15 }
+}
+
+"sambaAccount" OBJECT-CLASS ::=
+{
+ Operation ADD,
+ Flags {DS_AUXILIARY_CLASS},
+ SubClassOf {"TOP"},
+ MustContain { "uid"},
+ MustContain { "rid"},
+ MayContain { "CN"},
+ MayContain { "lmPassword"},
+ MayContain { "ntPassword"},
+ MayContain { "pwdLastSet"},
+ MayContain { "logonTime"},
+ MayContain { "logoffTime"},
+ MayContain { "kickoffTime"},
+ MayContain { "pwdCanChange"},
+ MayContain { "pwdMustChange"},
+ MayContain { "acctFlags"},
+ MayContain { "displayName"},
+ MayContain { "smbHome"},
+ MayContain { "homeDrive"},
+ MayContain { "scriptPath"},
+ MayContain { "profilePath"},
+ MayContain { "description"},
+ MayContain { "userWorkstations"},
+ MayContain { "primaryGroupID"},
+ MayContain { "domain"},
+ ASN1ObjID { 1 3 6 1 4 1 7165 2 2 3 }
+}
+
+-- Used for Winbind experimentation
+"uidPool" OBJECT-CLASS ::=
+{
+ Operation ADD,
+ Flags {DS_AUXILIARY_CLASS},
+ SubClassOf {"TOP"},
+ MustContain { "uidNumber"},
+ MustContain { "CN"},
+ ASN1ObjID { 1 3 6 1 4 1 7165 1 2 2 3 }
+}
+
+"gidPool" OBJECT-CLASS ::=
+{
+ Operation ADD,
+ Flags {DS_AUXILIARY_CLASS},
+ SubClassOf {"TOP"},
+ MustContain { "gidNumber"},
+ MustContain { "CN"},
+ ASN1ObjID { 1 3 6 1 4 1 7165 1 2 2 4 }
+}
+
+END
+
+
diff --git a/source/nsswitch/sys_nss.h b/source/nsswitch/sys_nss.h
new file mode 100644
index 00000000000..b4dfc1fa336
--- /dev/null
+++ b/source/nsswitch/sys_nss.h
@@ -0,0 +1,104 @@
+#ifndef _NSSWITCH_SYS_NSS_H
+#define _NSSWITCH_SYS_NSS_H
+/*
+ Unix SMB/CIFS implementation.
+
+ a common place to work out how to define NSS_STATUS on various
+ platforms
+
+ Copyright (C) Tim Potter 2000
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifdef HAVE_NSS_COMMON_H
+
+/* Sun Solaris */
+
+#include <nss_common.h>
+#include <nss_dbdefs.h>
+#include <nsswitch.h>
+
+typedef nss_status_t NSS_STATUS;
+
+#define NSS_STATUS_SUCCESS NSS_SUCCESS
+#define NSS_STATUS_NOTFOUND NSS_NOTFOUND
+#define NSS_STATUS_UNAVAIL NSS_UNAVAIL
+#define NSS_STATUS_TRYAGAIN NSS_TRYAGAIN
+
+#elif HAVE_NSS_H
+
+/* GNU */
+
+#include <nss.h>
+
+typedef enum nss_status NSS_STATUS;
+
+#elif HAVE_NS_API_H
+
+/* SGI IRIX */
+
+/* following required to prevent warnings of double definition
+ * of datum from ns_api.h
+*/
+#ifdef DATUM
+#define _DATUM_DEFINED
+#endif
+
+#include <ns_api.h>
+
+typedef enum
+{
+ NSS_STATUS_SUCCESS=NS_SUCCESS,
+ NSS_STATUS_NOTFOUND=NS_NOTFOUND,
+ NSS_STATUS_UNAVAIL=NS_UNAVAIL,
+ NSS_STATUS_TRYAGAIN=NS_TRYAGAIN
+} NSS_STATUS;
+
+#define NSD_MEM_STATIC 0
+#define NSD_MEM_VOLATILE 1
+#define NSD_MEM_DYNAMIC 2
+
+#elif defined(HPUX) && defined(HAVE_NSSWITCH_H)
+/* HP-UX 11 */
+
+#include "nsswitch/hp_nss_common.h"
+#include "nsswitch/hp_nss_dbdefs.h"
+#include <nsswitch.h>
+
+#ifndef _HAVE_TYPEDEF_NSS_STATUS
+#define _HAVE_TYPEDEF_NSS_STATUS
+typedef nss_status_t NSS_STATUS;
+
+#define NSS_STATUS_SUCCESS NSS_SUCCESS
+#define NSS_STATUS_NOTFOUND NSS_NOTFOUND
+#define NSS_STATUS_UNAVAIL NSS_UNAVAIL
+#define NSS_STATUS_TRYAGAIN NSS_TRYAGAIN
+#endif /* HPUX */
+
+#else /* Nothing's defined. Neither gnu nor sun nor hp */
+
+typedef enum
+{
+ NSS_STATUS_SUCCESS=0,
+ NSS_STATUS_NOTFOUND=1,
+ NSS_STATUS_UNAVAIL=2,
+ NSS_STATUS_TRYAGAIN=3
+} NSS_STATUS;
+
+#endif
+
+#endif /* _NSSWITCH_SYS_NSS_H */