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

Jeremy Allison jra at samba.org
Wed Oct 22 20:30:08 GMT 2008


The branch, v3-3-test has been updated
       via  5ee3d6c3b1394e705691247b471c4511244a97af (commit)
      from  3690f2d87549840b5408771d2596069ff1732fc5 (commit)

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


- Log -----------------------------------------------------------------
commit 5ee3d6c3b1394e705691247b471c4511244a97af
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Oct 22 13:29:21 2008 -0700

    Janitor for Guenther, "fix _lsa_GetUserName."
    Jeremy.

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

Summary of changes:
 source/rpc_server/srv_lsa_nt.c |   27 ++++++++++++++++++++-------
 source/rpcclient/cmd_lsarpc.c  |    3 ++-
 2 files changed, 22 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpc_server/srv_lsa_nt.c b/source/rpc_server/srv_lsa_nt.c
index 910b302..77eecaf 100644
--- a/source/rpc_server/srv_lsa_nt.c
+++ b/source/rpc_server/srv_lsa_nt.c
@@ -1462,6 +1462,16 @@ NTSTATUS _lsa_GetUserName(pipes_struct *p,
 	struct lsa_String *account_name = NULL;
 	struct lsa_String *authority_name = NULL;
 
+	if (r->in.account_name &&
+	   *r->in.account_name) {
+		return NT_STATUS_INVALID_PARAMETER;
+	}
+
+	if (r->in.authority_name &&
+	   *r->in.authority_name) {
+		return NT_STATUS_INVALID_PARAMETER;
+	}
+
 	if (p->server_info->guest) {
 		/*
 		 * I'm 99% sure this is not the right place to do this,
@@ -1481,17 +1491,20 @@ NTSTATUS _lsa_GetUserName(pipes_struct *p,
 	if (!account_name) {
 		return NT_STATUS_NO_MEMORY;
 	}
+	init_lsa_String(account_name, username);
 
-	authority_name = TALLOC_ZERO_P(p->mem_ctx, struct lsa_String);
-	if (!authority_name) {
-		return NT_STATUS_NO_MEMORY;
+	if (r->out.authority_name) {
+		authority_name = TALLOC_ZERO_P(p->mem_ctx, struct lsa_String);
+		if (!authority_name) {
+			return NT_STATUS_NO_MEMORY;
+		}
+		init_lsa_String(authority_name, domname);
 	}
 
-	init_lsa_String(account_name, username);
-	init_lsa_String(authority_name, domname);
-
 	*r->out.account_name = account_name;
-	*r->out.authority_name = authority_name;
+	if (r->out.authority_name) {
+		*r->out.authority_name = authority_name;
+	}
 
 	return NT_STATUS_OK;
 }
diff --git a/source/rpcclient/cmd_lsarpc.c b/source/rpcclient/cmd_lsarpc.c
index 110b34c..e02fbee 100644
--- a/source/rpcclient/cmd_lsarpc.c
+++ b/source/rpcclient/cmd_lsarpc.c
@@ -1184,7 +1184,8 @@ static NTSTATUS cmd_lsa_get_username(struct rpc_pipe_client *cli,
 	/* Print results */
 
 	printf("Account Name: %s, Authority Name: %s\n",
-		account_name->string, authority_name->string);
+		account_name->string, authority_name ? authority_name->string :
+		"");
 
 	rpccli_lsa_Close(cli, mem_ctx, &pol);
  done:


-- 
Samba Shared Repository


More information about the samba-cvs mailing list