[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Fri Oct 24 05:51:02 MDT 2014


The branch, master has been updated
       via  bb44710 s4-libnet: make it possible to join "off-site".
       via  eb8d914 s3-netapi: add DS_8 and WS flags to libnetapi and nltest.
       via  4c88897 nbt-cli: display all known NBT_SERVER flags.
       via  59f09e6 nbt: the DS_8 flag also shows up in netlogon cldap/mailslot replies.
       via  1053948 netlogon: add new DS_SERVER_DS_8 flag.
      from  6be7da3 messaging3: Fix running down a messaging_context

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


- Log -----------------------------------------------------------------
commit bb44710200423790fb7f6f8873a4b711e5f67888
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jan 3 15:40:49 2013 +0100

    s4-libnet: make it possible to join "off-site".
    
    Guenther
    
    Signed-off-by: Guenther Deschner <gd at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): Günther Deschner <gd at samba.org>
    Autobuild-Date(master): Fri Oct 24 13:50:30 CEST 2014 on sn-devel-104

commit eb8d914d913bc7d98492361baf2b8eb721bd0069
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 14:05:40 2014 +0200

    s3-netapi: add DS_8 and WS flags to libnetapi and nltest.
    
    Guenther
    
    Signed-off-by: Guenther Deschner <gd at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 4c88897471c94cbe923e290a742d5beb9caa2e1b
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 14:04:35 2014 +0200

    nbt-cli: display all known NBT_SERVER flags.
    
    Guenther
    
    Signed-off-by: Guenther Deschner <gd at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 59f09e619d2669fe19ca8d3b8ffe4e9489242987
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 14:03:33 2014 +0200

    nbt: the DS_8 flag also shows up in netlogon cldap/mailslot replies.
    
    Guenther
    
    Signed-off-by: Guenther Deschner <gd at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 10539487c62cd9a4ebfc82baa0ad933cbc166c6c
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 13:19:48 2014 +0200

    netlogon: add new DS_SERVER_DS_8 flag.
    
    This flag indicates the DC runs Windows 2012 or above.
    
    See MS-NRPC 2.2.1.2.1 for details.
    
    Guenther
    
    Signed-off-by: Guenther Deschner <gd at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

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

Summary of changes:
 librpc/idl/nbt.idl                            |    1 +
 librpc/idl/netlogon.idl                       |    1 +
 source3/lib/netapi/examples/netlogon/nltest.c |    5 ++++-
 source3/lib/netapi/netapi.h                   |    2 ++
 source3/librpc/idl/libnetapi.idl              |    4 +++-
 source3/utils/net_ads.c                       |    8 ++++++--
 source4/libnet/libnet_site.c                  |    3 ++-
 source4/torture/ldap/netlogon.c               |    4 ++++
 8 files changed, 23 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/nbt.idl b/librpc/idl/nbt.idl
index 69a1853..ef3f074 100644
--- a/librpc/idl/nbt.idl
+++ b/librpc/idl/nbt.idl
@@ -360,6 +360,7 @@ interface nbt
 		NBT_SERVER_SELECT_SECRET_DOMAIN_6	= 0x00000800,
 		NBT_SERVER_FULL_SECRET_DOMAIN_6		= 0x00001000,
 		NBT_SERVER_ADS_WEB_SERVICE		= 0x00002000,
+		NBT_SERVER_DS_8				= 0x00004000,
 		NBT_SERVER_HAS_DNS_NAME			= 0x20000000,
 		NBT_SERVER_IS_DEFAULT_NC		= 0x40000000,
 		NBT_SERVER_FOREST_ROOT			= 0x80000000
diff --git a/librpc/idl/netlogon.idl b/librpc/idl/netlogon.idl
index 3ff7082..f3dfc1b 100644
--- a/librpc/idl/netlogon.idl
+++ b/librpc/idl/netlogon.idl
@@ -1150,6 +1150,7 @@ interface netlogon
 		DS_SERVER_SELECT_SECRET_DOMAIN_6 = 0x00000800,
 		DS_SERVER_FULL_SECRET_DOMAIN_6	 = 0x00001000,
 		DS_SERVER_WEBSERV		 = 0x00002000,
+		DS_SERVER_DS_8			 = 0x00004000,
 		DS_DNS_CONTROLLER		 = 0x20000000,
 		DS_DNS_DOMAIN			 = 0x40000000,
 		DS_DNS_FOREST_ROOT		 = 0x80000000
diff --git a/source3/lib/netapi/examples/netlogon/nltest.c b/source3/lib/netapi/examples/netlogon/nltest.c
index 0c393ea..f75a995 100644
--- a/source3/lib/netapi/examples/netlogon/nltest.c
+++ b/source3/lib/netapi/examples/netlogon/nltest.c
@@ -149,7 +149,10 @@ static void print_dc_info_flags(uint32_t flags)
 		printf("CLOSE_SITE ");
 	if (flags & DS_FULL_SECRET_DOMAIN_6_FLAG)
 		printf("FULL_SECRET ");
-	/* "WS" */
+	if (flags & DS_WS_FLAG)
+		printf("WS ");
+	if (flags & DS_DS_8_FLAG)
+		printf("DS_8 ");
 	printf("\n");
 }
 
diff --git a/source3/lib/netapi/netapi.h b/source3/lib/netapi/netapi.h
index c273ae0..6fc539c 100644
--- a/source3/lib/netapi/netapi.h
+++ b/source3/lib/netapi/netapi.h
@@ -1309,6 +1309,8 @@ struct NETLOGON_INFO_4 {
 #define DS_NDNC_FLAG ( 0x00000400 )
 #define DS_SELECT_SECRET_DOMAIN_6_FLAG ( 0x00000800 )
 #define DS_FULL_SECRET_DOMAIN_6_FLAG ( 0x00001000 )
+#define DS_WS_FLAG ( 0x00002000 )
+#define DS_DS_8_FLAG ( 0x00004000 )
 #define DS_DNS_CONTROLLER_FLAG ( 0x20000000 )
 #define DS_DNS_DOMAIN_FLAG ( 0x40000000 )
 #define DS_DNS_FOREST_FLAG ( 0x80000000 )
diff --git a/source3/librpc/idl/libnetapi.idl b/source3/librpc/idl/libnetapi.idl
index f29e666..2f3a08c 100644
--- a/source3/librpc/idl/libnetapi.idl
+++ b/source3/librpc/idl/libnetapi.idl
@@ -837,7 +837,7 @@ interface libnetapi
 	/* DsGetDcName                             */
 	/*******************************************/
 
-	[public] typedef [v1_enum] enum {
+	[public] typedef [bitmap32bit] bitmap {
 		DS_PDC_FLAG			= 0x00000001,
 		DS_GC_FLAG			= 0x00000004,
 		DS_LDAP_FLAG			= 0x00000008,
@@ -850,6 +850,8 @@ interface libnetapi
 		DS_NDNC_FLAG			= 0x00000400,
 		DS_SELECT_SECRET_DOMAIN_6_FLAG	= 0x00000800,
 		DS_FULL_SECRET_DOMAIN_6_FLAG	= 0x00001000,
+		DS_WS_FLAG			= 0x00002000,
+		DS_DS_8_FLAG			= 0x00004000,
 		DS_DNS_CONTROLLER_FLAG		= 0x20000000,
 		DS_DNS_DOMAIN_FLAG		= 0x40000000,
 		DS_DNS_FOREST_FLAG		= 0x80000000
diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c
index e96377f..7f3d74d 100644
--- a/source3/utils/net_ads.c
+++ b/source3/utils/net_ads.c
@@ -99,7 +99,9 @@ static int net_ads_cldap_netlogon(struct net_context *c, ADS_STRUCT *ads)
 		   "\tHas a hardware clock:                       %s\n"
 		   "\tIs a non-domain NC serviced by LDAP server: %s\n"
 		   "\tIs NT6 DC that has some secrets:            %s\n"
-		   "\tIs NT6 DC that has all secrets:             %s\n"),
+		   "\tIs NT6 DC that has all secrets:             %s\n"
+		   "\tRuns Active Directory Web Services:         %s\n"
+		   "\tRuns on Windows 2012 or later:              %s\n"),
 		   (reply.server_type & NBT_SERVER_PDC) ? _("yes") : _("no"),
 		   (reply.server_type & NBT_SERVER_GC) ? _("yes") : _("no"),
 		   (reply.server_type & NBT_SERVER_LDAP) ? _("yes") : _("no"),
@@ -111,7 +113,9 @@ static int net_ads_cldap_netlogon(struct net_context *c, ADS_STRUCT *ads)
 		   (reply.server_type & NBT_SERVER_GOOD_TIMESERV) ? _("yes") : _("no"),
 		   (reply.server_type & NBT_SERVER_NDNC) ? _("yes") : _("no"),
 		   (reply.server_type & NBT_SERVER_SELECT_SECRET_DOMAIN_6) ? _("yes") : _("no"),
-		   (reply.server_type & NBT_SERVER_FULL_SECRET_DOMAIN_6) ? _("yes") : _("no"));
+		   (reply.server_type & NBT_SERVER_FULL_SECRET_DOMAIN_6) ? _("yes") : _("no"),
+		   (reply.server_type & NBT_SERVER_ADS_WEB_SERVICE) ? _("yes") : _("no"),
+		   (reply.server_type & NBT_SERVER_DS_8) ? _("yes") : _("no"));
 
 
 	printf(_("Forest:\t\t\t%s\n"), reply.forest);
diff --git a/source4/libnet/libnet_site.c b/source4/libnet/libnet_site.c
index af105b7..691e4b2 100644
--- a/source4/libnet/libnet_site.c
+++ b/source4/libnet/libnet_site.c
@@ -78,7 +78,8 @@ NTSTATUS libnet_FindSite(TALLOC_CTX *ctx, struct libnet_context *lctx, struct li
 	}
 	status = cldap_netlogon(cldap, tmp_ctx, &search);
 	if (!NT_STATUS_IS_OK(status)
-	    || !search.out.netlogon.data.nt5_ex.client_site) {
+	    || search.out.netlogon.data.nt5_ex.client_site == NULL
+	    || search.out.netlogon.data.nt5_ex.client_site[0] == '\0') {
 		/*
 		  If cldap_netlogon() returns in error,
 		  default to using Default-First-Site-Name.
diff --git a/source4/torture/ldap/netlogon.c b/source4/torture/ldap/netlogon.c
index 8c6345b..064a5b3 100644
--- a/source4/torture/ldap/netlogon.c
+++ b/source4/torture/ldap/netlogon.c
@@ -341,6 +341,10 @@ static bool test_ldap_netlogon_flags(struct torture_context *tctx,
 		printf("NBT_SERVER_SELECT_SECRET_DOMAIN_6");
 	if (server_type & NBT_SERVER_FULL_SECRET_DOMAIN_6)
 		printf("NBT_SERVER_FULL_SECRET_DOMAIN_6");
+	if (server_type & NBT_SERVER_ADS_WEB_SERVICE)
+		printf("NBT_SERVER_ADS_WEB_SERVICE ");
+	if (server_type & NBT_SERVER_DS_8)
+		printf("NBT_SERVER_DS_8 ");
 	if (server_type & DS_DNS_CONTROLLER)
 		printf("DS_DNS_CONTROLLER ");
 	if (server_type & DS_DNS_DOMAIN)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list