[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-2893-gad10517

Günther Deschner gd at samba.org
Tue Jun 17 18:01:09 GMT 2008


The branch, v3-3-test has been updated
       via  ad105177686da823ef9cce1c1bedaf0f84a49b8c (commit)
       via  32a66131eb56e1c66b89e348141047c6b98cf35e (commit)
       via  0bd69df7704789888eba2a07aba505dce037c4eb (commit)
       via  383636aaca0e59fef8a010ba697e5edf9ce2648b (commit)
       via  12669b12c25a64b02c0e49b3ef96cf317992b18c (commit)
      from  4fd6bc61d0034659c5a89bf2eae188a04a3b41eb (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -----------------------------------------------------------------
commit ad105177686da823ef9cce1c1bedaf0f84a49b8c
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jun 9 11:02:27 2008 +0200

    netapi: use NetUserEnum filter in example code.
    
    Guenther

commit 32a66131eb56e1c66b89e348141047c6b98cf35e
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jun 17 13:13:10 2008 +0200

    netapi: add NetUserEnum filter constants to public headers.
    
    Guenther

commit 0bd69df7704789888eba2a07aba505dce037c4eb
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jun 9 11:01:59 2008 +0200

    netapi: implement NetUserEnum filters.
    
    Guenther

commit 383636aaca0e59fef8a010ba697e5edf9ce2648b
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jun 9 11:01:09 2008 +0200

    re-run make idl.
    
    Guenther

commit 12669b12c25a64b02c0e49b3ef96cf317992b18c
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jun 9 11:00:23 2008 +0200

    netapi: add NetUserEnum filter constants to IDL.
    
    Guenther

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

Summary of changes:
 source/lib/netapi/examples/user/user_enum.c |    2 +-
 source/lib/netapi/netapi.h                  |    6 ++++++
 source/lib/netapi/user.c                    |   23 ++++++++++++++++++++++-
 source/librpc/gen_ndr/libnetapi.h           |    5 +++++
 source/librpc/idl/libnetapi.idl             |    6 ++++++
 5 files changed, 40 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/netapi/examples/user/user_enum.c b/source/lib/netapi/examples/user/user_enum.c
index e1f6bda..569d5a6 100644
--- a/source/lib/netapi/examples/user/user_enum.c
+++ b/source/lib/netapi/examples/user/user_enum.c
@@ -71,7 +71,7 @@ int main(int argc, const char **argv)
 	do {
 		status = NetUserEnum(hostname,
 				     0,
-				     0,
+				     FILTER_NORMAL_ACCOUNT,
 				     &buffer,
 				     (uint32_t)-1,
 				     &entries_read,
diff --git a/source/lib/netapi/netapi.h b/source/lib/netapi/netapi.h
index d24e159..9496d77 100644
--- a/source/lib/netapi/netapi.h
+++ b/source/lib/netapi/netapi.h
@@ -69,6 +69,12 @@ struct DOMAIN_CONTROLLER_INFO {
 	const char * client_site_name;
 };
 
+#define FILTER_TEMP_DUPLICATE_ACCOUNT	( 0x0001 )
+#define FILTER_NORMAL_ACCOUNT	( 0x0002 )
+#define FILTER_INTERDOMAIN_TRUST_ACCOUNT	( 0x0008 )
+#define FILTER_WORKSTATION_TRUST_ACCOUNT	( 0x0010 )
+#define FILTER_SERVER_TRUST_ACCOUNT	( 0x0020 )
+
 struct SERVER_INFO_1005 {
 	const char * sv1005_comment;
 };
diff --git a/source/lib/netapi/user.c b/source/lib/netapi/user.c
index f053732..53a307a 100644
--- a/source/lib/netapi/user.c
+++ b/source/lib/netapi/user.c
@@ -468,6 +468,7 @@ WERROR NetUserEnum_r(struct libnetapi_ctx *ctx,
 	struct dom_sid2 *domain_sid = NULL;
 	struct policy_handle domain_handle;
 	struct samr_SamArray *sam = NULL;
+	uint32_t filter = ACB_NORMAL;
 
 	NTSTATUS status;
 	WERROR werr;
@@ -512,11 +513,31 @@ WERROR NetUserEnum_r(struct libnetapi_ctx *ctx,
 		goto done;
 	}
 
+	switch (r->in.filter) {
+		case FILTER_NORMAL_ACCOUNT:
+			filter = ACB_NORMAL;
+			break;
+		case FILTER_TEMP_DUPLICATE_ACCOUNT:
+			filter = ACB_TEMPDUP;
+			break;
+		case FILTER_INTERDOMAIN_TRUST_ACCOUNT:
+			filter = ACB_DOMTRUST;
+			break;
+		case FILTER_WORKSTATION_TRUST_ACCOUNT:
+			filter = ACB_WSTRUST;
+			break;
+		case FILTER_SERVER_TRUST_ACCOUNT:
+			filter = ACB_SVRTRUST;
+			break;
+		default:
+			break;
+	}
+
 	status = rpccli_samr_EnumDomainUsers(pipe_cli,
 					     ctx,
 					     &domain_handle,
 					     r->in.resume_handle,
-					     r->in.filter,
+					     filter,
 					     &sam,
 					     r->in.prefmaxlen,
 					     r->out.entries_read);
diff --git a/source/librpc/gen_ndr/libnetapi.h b/source/librpc/gen_ndr/libnetapi.h
index 8fc812c..5d2efcf 100644
--- a/source/librpc/gen_ndr/libnetapi.h
+++ b/source/librpc/gen_ndr/libnetapi.h
@@ -10,6 +10,11 @@
 #define _HEADER_libnetapi
 
 #define ERROR_MORE_DATA	( 234L )
+#define FILTER_TEMP_DUPLICATE_ACCOUNT	( 0x0001 )
+#define FILTER_NORMAL_ACCOUNT	( 0x0002 )
+#define FILTER_INTERDOMAIN_TRUST_ACCOUNT	( 0x0008 )
+#define FILTER_WORKSTATION_TRUST_ACCOUNT	( 0x0010 )
+#define FILTER_SERVER_TRUST_ACCOUNT	( 0x0020 )
 enum NET_API_STATUS
 #ifndef USE_UINT_ENUMS
  {
diff --git a/source/librpc/idl/libnetapi.idl b/source/librpc/idl/libnetapi.idl
index 94a464d..07b640d 100644
--- a/source/librpc/idl/libnetapi.idl
+++ b/source/librpc/idl/libnetapi.idl
@@ -181,6 +181,12 @@ interface libnetapi
 	/* NetUserEnum                             */
 	/*******************************************/
 
+	const int FILTER_TEMP_DUPLICATE_ACCOUNT = 0x0001;
+	const int FILTER_NORMAL_ACCOUNT = 0x0002;
+	const int FILTER_INTERDOMAIN_TRUST_ACCOUNT = 0x0008;
+	const int FILTER_WORKSTATION_TRUST_ACCOUNT = 0x0010;
+	const int FILTER_SERVER_TRUST_ACCOUNT = 0x0020;
+
 	[nopush,nopull] NET_API_STATUS NetUserEnum(
 		[in,unique] string *server_name,
 		[in] uint32 level,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list