always check for missing files
authorGerald Carter <jerry@samba.org>
Wed, 9 Oct 2002 21:00:30 +0000 (21:00 +0000)
committerGerald Carter <jerry@samba.org>
Wed, 9 Oct 2002 21:00:30 +0000 (21:00 +0000)
examples/LDAP/samba-nds.schema [new file with mode: 0644]
source/nsswitch/sys_nss.h [new file with mode: 0644]

diff --git a/examples/LDAP/samba-nds.schema b/examples/LDAP/samba-nds.schema
new file mode 100644 (file)
index 0000000..4e1cab2
--- /dev/null
@@ -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 (file)
index 0000000..b4dfc1f
--- /dev/null
@@ -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 */