[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Thu Jul 12 23:53:02 MDT 2012


The branch, master has been updated
       via  15fedb3 s3-auth Remove unused global_machine_account_needs_changing
       via  d55cde1 s3-auth Remove confusing reference to global_machine_password_needs_changing
       via  70de501 s4-provision: Provide YP/NIS subtree to allow ADUC to see and set rfc2307 attrs
      from  5a9ce8b Use HAVE_FSYNC, we bothered to test for it.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 15fedb3c6855751678e93e3f4a7e443b0495b1c3
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Jul 13 11:01:47 2012 +1000

    s3-auth Remove unused global_machine_account_needs_changing
    
    This boolean was only set if the old machine account store (with an
    MD4 hash in it) was returned.  We have not set that password type for
    years.  If this call ever worked, it would store a plaintext password,
    so we could only ever be here if we had set a password using a version
    of Samba so old as not to store plaintext, and then never honered the
    flag anyway.
    
    Andrew Bartlett
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Fri Jul 13 07:52:40 CEST 2012 on sn-devel-104

commit d55cde19d31484079d69182fcaa9dfa889fd7fed
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Jul 13 10:01:44 2012 +1000

    s3-auth Remove confusing reference to global_machine_password_needs_changing
    
    This is in the trusted domain codepath, not the primary domain code path.
    
    Andrew Bartlett

commit 70de501d6a628e8b08a93134753e25e9f037c995
Author: Geza Gemes <geza at kzsdabas.hu>
Date:   Thu Jul 12 16:05:04 2012 +0200

    s4-provision: Provide YP/NIS subtree to allow ADUC to see and set rfc2307 attrs
    
    When provisioning with --use_rfc2307=yes populate the subtree:
    CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN} This makes it
    possible to manipulate the posix attributes via ADUC
    
    (commit message adjusted by abartlet)
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source3/auth/auth_domain.c                         |   74 ---
 source3/passdb/machine_account_secrets.c           |   11 -
 source3/smbd/process.c                             |    5 -
 .../scripting/python/samba/provision/__init__.py   |   27 +-
 source4/setup/provision                            |    4 +-
 source4/setup/ypServ30.ldif                        |  507 ++++++++++++++++++++
 6 files changed, 536 insertions(+), 92 deletions(-)
 create mode 100644 source4/setup/ypServ30.ldif


Changeset truncated at 500 lines:

diff --git a/source3/auth/auth_domain.c b/source3/auth/auth_domain.c
index 696b18b..286c75c 100644
--- a/source3/auth/auth_domain.c
+++ b/source3/auth/auth_domain.c
@@ -31,74 +31,8 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_AUTH
 
-extern bool global_machine_password_needs_changing;
 static struct named_mutex *mutex;
 
-/*
- * Change machine password (called from main loop
- * idle timeout. Must be done as root.
- */
-
-void attempt_machine_password_change(void)
-{
-	unsigned char trust_passwd_hash[16];
-	time_t lct;
-	void *lock;
-
-	if (!global_machine_password_needs_changing) {
-		return;
-	}
-
-	if (lp_security() != SEC_DOMAIN) {
-		return;
-	}
-
-	/*
-	 * We're in domain level security, and the code that
-	 * read the machine password flagged that the machine
-	 * password needs changing.
-	 */
-
-	/*
-	 * First, open the machine password file with an exclusive lock.
-	 */
-
-	lock = secrets_get_trust_account_lock(NULL, lp_workgroup());
-
-	if (lock == NULL) {
-		DEBUG(0,("attempt_machine_password_change: unable to lock "
-			"the machine account password for machine %s in "
-			"domain %s.\n",
-			lp_netbios_name(), lp_workgroup() ));
-		return;
-	}
-
-	if(!secrets_fetch_trust_account_password(lp_workgroup(),
-			trust_passwd_hash, &lct, NULL)) {
-		DEBUG(0,("attempt_machine_password_change: unable to read the "
-			"machine account password for %s in domain %s.\n",
-			lp_netbios_name(), lp_workgroup()));
-		TALLOC_FREE(lock);
-		return;
-	}
-
-	/*
-	 * Make sure someone else hasn't already done this.
-	 */
-
-	if(time(NULL) < lct + lp_machine_password_timeout()) {
-		global_machine_password_needs_changing = false;
-		TALLOC_FREE(lock);
-		return;
-	}
-
-	/* always just contact the PDC here */
-
-	change_trust_account_password( lp_workgroup(), NULL);
-	global_machine_password_needs_changing = false;
-	TALLOC_FREE(lock);
-}
-
 /**
  * Connect to a remote server for (inter)domain security authenticaion.
  *
@@ -493,14 +427,6 @@ static NTSTATUS check_trustdomain_security(const struct auth_context *auth_conte
 	E_md4hash(trust_password, trust_md4_password);
 	SAFE_FREE(trust_password);
 
-#if 0
-	/* Test if machine password is expired and need to be changed */
-	if (time(NULL) > last_change_time + (time_t)lp_machine_password_timeout())
-	{
-		global_machine_password_needs_changing = True;
-	}
-#endif
-
 	/* use get_dc_name() for consistency even through we know that it will be 
 	   a netbios name */
 
diff --git a/source3/passdb/machine_account_secrets.c b/source3/passdb/machine_account_secrets.c
index 8aaea10..463de71 100644
--- a/source3/passdb/machine_account_secrets.c
+++ b/source3/passdb/machine_account_secrets.c
@@ -33,9 +33,6 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_PASSDB
 
-/* Urrrg. global.... */
-bool global_machine_password_needs_changing;
-
 /**
  * Form a key for fetching the domain sid
  *
@@ -344,14 +341,6 @@ bool secrets_fetch_trust_account_password_legacy(const char *domain,
 		*channel = get_default_sec_channel();
 	}
 
-	/* Test if machine password has expired and needs to be changed */
-	if (lp_machine_password_timeout()) {
-		if (pass->mod_time > 0 && time(NULL) > (pass->mod_time +
-				(time_t)lp_machine_password_timeout())) {
-			global_machine_password_needs_changing = True;
-		}
-	}
-
 	SAFE_FREE(pass);
 	return True;
 }
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index f8757fa..80b0c1d 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -41,8 +41,6 @@
 #include "lib/id_cache.h"
 #include "serverid.h"
 
-extern bool global_machine_password_needs_changing;
-
 /* Internal message queue for deferred opens. */
 struct pending_message_list {
 	struct pending_message_list *next, *prev;
@@ -2581,9 +2579,6 @@ static bool housekeeping_fn(const struct timeval *now, void *private_data)
 	/* check if we need to reload services */
 	check_reload(sconn, time_mono(NULL));
 
-	/* Change machine password if neccessary. */
-	attempt_machine_password_change();
-
         /*
 	 * Force a log file check.
 	 */
diff --git a/source4/scripting/python/samba/provision/__init__.py b/source4/scripting/python/samba/provision/__init__.py
index d9d1ce9..192130e 100644
--- a/source4/scripting/python/samba/provision/__init__.py
+++ b/source4/scripting/python/samba/provision/__init__.py
@@ -1590,6 +1590,27 @@ def sanitize_server_role(role):
     except KeyError:
         raise ValueError(role)
 
+def provision_fake_ypserver(logger, samdb, domaindn, netbiosname, nisdomain, maxuid, maxgid):
+    """Creates AD entries for the fake ypserver
+    needed for being able to manipulate posix attrs via ADUC
+    """
+    samdb.transaction_start()
+    try:
+        logger.info("Setting up fake yp server settings")
+        setup_add_ldif(samdb, setup_path("ypServ30.ldif"), {
+        "DOMAINDN": domaindn,
+        "NETBIOSNAME": netbiosname,
+        "NISDOMAIN": nisdomain,
+         })
+    except Exception:
+        samdb.transaction_cancel()
+        raise
+    else:
+        samdb.transaction_commit()
+    if maxuid != None:
+        pass
+    if maxgid != None:
+        pass
 
 def provision(logger, session_info, credentials, smbconf=None,
         targetdir=None, samdb_fill=FILL_FULL, realm=None, rootdn=None,
@@ -1605,7 +1626,7 @@ def provision(logger, session_info, credentials, smbconf=None,
         ol_mmr_urls=None, ol_olc=None, slapd_path="/bin/false",
         useeadb=False, am_rodc=False,
         lp=None, use_ntvfs=False,
-        use_rfc2307=False):
+        use_rfc2307=False, maxuid=None, maxgid=None):
     """Provision samba4
 
     :note: caution, this wipes all existing data!
@@ -1898,6 +1919,10 @@ def provision(logger, session_info, credentials, smbconf=None,
 
     result.backend_result = backend_result
 
+    if use_rfc2307:
+        provision_fake_ypserver(logger=logger, samdb=samdb, domaindn=names.domaindn, netbiosname=names.netbiosname,
+                                 nisdomain=(names.domain).lower(), maxuid=maxuid, maxgid=maxgid)
+
     return result
 
 
diff --git a/source4/setup/provision b/source4/setup/provision
index 339b05e..2df718e 100755
--- a/source4/setup/provision
+++ b/source4/setup/provision
@@ -124,6 +124,7 @@ parser.add_option("--ol-mmr-urls", type="string", metavar="LDAPSERVER",
                 help="List of LDAP-URLS [ ldap://<FQHN>:<PORT>/  (where <PORT> has to be different than 389!) ] separated with comma (\",\") for use with OpenLDAP-MMR (Multi-Master-Replication), e.g.: \"ldap://s4dc1:9000,ldap://s4dc2:9000\"")
 parser.add_option("--use-xattrs", type="choice", choices=["yes", "no", "auto"], help="Define if we should use the native fs capabilities or a tdb file for storing attributes likes ntacl, auto tries to make an inteligent guess based on the user rights and system capabilities", default="auto")
 parser.add_option("--use-ntvfs", action="store_true", help="Use NTVFS for the fileserver (default = no)")
+parser.add_option("--use-rfc2307", action="store_true", help="Use AD to store posix attributes (default = no)")
 
 opts = parser.parse_args()[0]
 
@@ -257,7 +258,8 @@ try:
           serverrole=opts.server_role, dom_for_fun_level=dom_for_fun_level,
           backend_type=opts.ldap_backend_type,
           ldapadminpass=opts.ldapadminpass, ol_mmr_urls=opts.ol_mmr_urls,
-          useeadb=eadb, next_rid=opts.next_rid, lp=lp, use_ntvfs=(opts.use_ntvfs))
+          useeadb=eadb, next_rid=opts.next_rid, lp=lp, use_ntvfs=(opts.use_ntvfs),
+          use_rfc2307=(opts.use_rfc2307))
 except ProvisioningError, e:
     print str(e)
     sys.exit(1)
diff --git a/source4/setup/ypServ30.ldif b/source4/setup/ypServ30.ldif
new file mode 100644
index 0000000..6103266
--- /dev/null
+++ b/source4/setup/ypServ30.ldif
@@ -0,0 +1,507 @@
+dn: CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+schemaVersion: 40
+
+dn: CN=mail,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+
+dn: CN=byaddr,CN=mail,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30Aliases
+msSFU30FieldSeparator:: Og==
+msSFU30IntraFieldSeparator: ,
+msSFU30SearchAttributes: msSFU30Aliases
+msSFU30SearchAttributes: msSFU30Name
+msSFU30ResultAttributes: msSFU30Aliases
+msSFU30MapFilter: (objectCategory=msSFU30MailAliases)
+
+dn: CN=aliases,CN=mail,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30Name
+msSFU30FieldSeparator:: Og==
+msSFU30IntraFieldSeparator: ,
+msSFU30SearchAttributes: msSFU30Aliases
+msSFU30SearchAttributes: msSFU30Name
+msSFU30ResultAttributes: msSFU30Aliases
+msSFU30MapFilter: (objectCategory=msSFU30MailAliases)
+
+dn: CN=${NISDOMAIN},CN=mail,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30DomainInfo
+msSFU30MasterServerName: ${NETBIOSNAME}
+msSFU30OrderNumber: 10000
+msSFU30Domains: ${NISDOMAIN}
+
+dn: CN=services,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+
+dn: CN=byname,CN=services,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: CN
+msSFU30FieldSeparator: "        "
+msSFU30SearchAttributes: msSFU30Aliases
+msSFU30SearchAttributes: CN
+msSFU30SearchAttributes: msSFU30Name
+msSFU30ResultAttributes: msSFU30Aliases
+msSFU30ResultAttributes: CN
+msSFU30ResultAttributes: msSFU30Name
+msSFU30MapFilter: (objectCategory=ipService)
+
+dn: CN=${NISDOMAIN},CN=services,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30DomainInfo
+msSFU30MasterServerName: ${NETBIOSNAME}
+msSFU30OrderNumber: 10000
+msSFU30Domains: ${NISDOMAIN}
+
+dn: CN=bootparams,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+
+dn: CN=bydefaults,CN=bootparams,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30Name
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: "        "
+msSFU30SearchAttributes: bootParameter
+msSFU30SearchAttributes: msSFU30Name
+msSFU30ResultAttributes: bootParameter
+msSFU30ResultAttributes: msSFU30Name
+msSFU30MapFilter: (&(objectCategory=Device)(bootParameter=*))
+
+dn: CN=${NISDOMAIN},CN=bootparams,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30DomainInfo
+msSFU30MasterServerName: ${NETBIOSNAME}
+msSFU30OrderNumber: 10000
+msSFU30Domains: ${NISDOMAIN}
+
+dn: CN=netgroup,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+
+dn: CN=bydefaults,CN=netgroup,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30Name
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: ,
+msSFU30SearchAttributes: NisNetgroupTriple
+msSFU30SearchAttributes: msSFU30Name
+msSFU30ResultAttributes: NisNetgroupTriple
+msSFU30MapFilter: (objectCategory=NisNetgroup)
+
+dn: CN=byuser,CN=netgroup,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30NetgroupUserAtDomain
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: ,
+msSFU30SearchAttributes: msSFU30Name
+msSFU30SearchAttributes: MemberNisNetgroup
+msSFU30SearchAttributes: msSFU30NetgroupUserAtDomain
+msSFU30ResultAttributes: MemberNisNetgroup
+msSFU30ResultAttributes: msSFU30Name
+msSFU30MapFilter: (objectCategory=NisNetgroup)
+
+dn: CN=byhost,CN=netgroup,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30NetgroupHostAtDomain
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: ,
+msSFU30SearchAttributes: msSFU30Name
+msSFU30SearchAttributes: MemberNisNetgroup
+msSFU30SearchAttributes: msSFU30NetgroupHostAtDomain
+msSFU30ResultAttributes: MemberNisNetgroup
+msSFU30ResultAttributes: msSFU30Name
+msSFU30MapFilter: (objectCategory=NisNetgroup)
+
+dn: CN=${NISDOMAIN},CN=netgroup,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30DomainInfo
+msSFU30MasterServerName: ${NETBIOSNAME}
+msSFU30OrderNumber: 10000
+msSFU30Domains: ${NISDOMAIN}
+
+dn: CN=netmasks,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+
+dn: CN=byaddr,CN=netmasks,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: ipNetworkNumber
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: "        "
+msSFU30SearchAttributes: ipNetmaskNumber
+msSFU30SearchAttributes: ipNetworkNumber
+msSFU30SearchAttributes: msSFU30Name
+msSFU30ResultAttributes: ipNetmaskNumber
+msSFU30ResultAttributes: ipNetworkNumber
+msSFU30MapFilter: (&(objectCategory=ipNetwork)(ipNetmaskNumber=*))
+
+dn: CN=${NISDOMAIN},CN=netmasks,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30DomainInfo
+msSFU30MasterServerName: ${NETBIOSNAME}
+msSFU30OrderNumber: 10000
+msSFU30Domains: ${NISDOMAIN}
+
+dn: CN=hosts,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+
+dn: CN=byaddr,CN=hosts,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: ipHostNumber
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: "        "
+msSFU30SearchAttributes: msSFU30Aliases
+msSFU30SearchAttributes: msSFU30Name
+msSFU30SearchAttributes: ipHostNumber
+msSFU30ResultAttributes: msSFU30Aliases
+msSFU30ResultAttributes: msSFU30Name
+msSFU30ResultAttributes: ipHostNumber
+msSFU30MapFilter: (objectCategory=Computer)
+
+dn: CN=byname,CN=hosts,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30Aliases
+msSFU30KeyAttributes: msSFU30Name
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: "        "
+msSFU30SearchAttributes: msSFU30Aliases
+msSFU30SearchAttributes: msSFU30Name
+msSFU30SearchAttributes: ipHostNumber
+msSFU30ResultAttributes: msSFU30Aliases
+msSFU30ResultAttributes: msSFU30Name
+msSFU30ResultAttributes: ipHostNumber
+msSFU30MapFilter: (objectCategory=Computer)
+
+dn: CN=${NISDOMAIN},CN=hosts,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30DomainInfo
+msSFU30MasterServerName: ${NETBIOSNAME}
+msSFU30OrderNumber: 10000
+msSFU30Domains: ${NISDOMAIN}
+
+dn: CN=ethers,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+
+dn: CN=byaddr,CN=ethers,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: macAddress
+msSFU30FieldSeparator: "        "
+msSFU30SearchAttributes: msSFU30Name
+msSFU30SearchAttributes: macAddress
+msSFU30ResultAttributes: msSFU30Name
+msSFU30ResultAttributes: macAddress
+msSFU30MapFilter: (&(objectCategory=Device)(macAddress=*))
+
+dn: CN=byname,CN=ethers,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30Name
+msSFU30FieldSeparator: "        "
+msSFU30SearchAttributes: msSFU30Name
+msSFU30SearchAttributes: macAddress
+msSFU30ResultAttributes: msSFU30Name
+msSFU30ResultAttributes: macAddress
+msSFU30MapFilter: (&(objectCategory=Device)(macAddress=*))
+
+dn: CN=${NISDOMAIN},CN=ethers,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30DomainInfo
+msSFU30MasterServerName: ${NETBIOSNAME}
+msSFU30OrderNumber: 10000
+msSFU30Domains: ${NISDOMAIN}
+
+dn: CN=networks,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+
+dn: CN=byaddr,CN=networks,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: ipNetworkNumber
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: "        "
+msSFU30SearchAttributes: msSFU30Aliases
+msSFU30SearchAttributes: ipNetworkNumber
+msSFU30SearchAttributes: msSFU30Name
+msSFU30ResultAttributes: msSFU30Aliases
+msSFU30ResultAttributes: ipNetworkNumber
+msSFU30ResultAttributes: msSFU30Name
+msSFU30MapFilter: (objectCategory=ipNetwork)
+
+dn: CN=byname,CN=networks,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30NISMapConfig
+msSFU30KeyAttributes: msSFU30Aliases
+msSFU30KeyAttributes: msSFU30Name
+msSFU30FieldSeparator: "        "
+msSFU30IntraFieldSeparator: "        "
+msSFU30SearchAttributes: msSFU30Aliases
+msSFU30SearchAttributes: ipNetworkNumber
+msSFU30SearchAttributes: msSFU30Name
+msSFU30ResultAttributes: msSFU30Aliases
+msSFU30ResultAttributes: ipNetworkNumber
+msSFU30ResultAttributes: msSFU30Name
+msSFU30MapFilter: (objectCategory=ipNetwork)
+
+dn: CN=${NISDOMAIN},CN=networks,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: msSFU30DomainInfo
+msSFU30MasterServerName: ${NETBIOSNAME}
+msSFU30OrderNumber: 10000
+msSFU30Domains: ${NISDOMAIN}
+
+dn: CN=protocols,CN=ypServ30,CN=RpcServices,CN=System,${DOMAINDN}
+objectClass: top
+objectClass: container
+


-- 
Samba Shared Repository


More information about the samba-cvs mailing list