svn commit: samba r4207 - in branches/SAMBA_4_0/source/client: .

tridge at samba.org tridge at samba.org
Tue Dec 14 22:24:56 GMT 2004


Author: tridge
Date: 2004-12-14 22:24:56 +0000 (Tue, 14 Dec 2004)
New Revision: 4207

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4207

Log:
remove "lookupname" and "lookupsid", and instead have a single "lookup" command that
takes a name or sid.

I think in general its better to make smbclient automatically work out the type from
the format (I did the same with the privileges commands)





Modified:
   branches/SAMBA_4_0/source/client/client.c


Changeset:
Modified: branches/SAMBA_4_0/source/client/client.c
===================================================================
--- branches/SAMBA_4_0/source/client/client.c	2004-12-14 22:18:33 UTC (rev 4206)
+++ branches/SAMBA_4_0/source/client/client.c	2004-12-14 22:24:56 UTC (rev 4207)
@@ -1837,60 +1837,44 @@
 }
 
 /****************************************************************************
-lookup a sid
+lookup a name or sid
 ****************************************************************************/
-static int cmd_lookupsid(const char **cmd_ptr)
+static int cmd_lookup(const char **cmd_ptr)
 {
 	fstring buf;
 	TALLOC_CTX *mem_ctx = talloc(NULL, 0);
 	NTSTATUS status;
-	const char *name;
+	struct dom_sid *sid;
 
 	if (!next_token(cmd_ptr,buf,NULL,sizeof(buf))) {
-		d_printf("lookupsid <sid>\n");
+		d_printf("lookup <name|sid>\n");
 		talloc_free(mem_ctx);
 		return 1;
 	}
 
-	status = smblsa_lookup_sid(cli, buf, mem_ctx, &name);
-	if (!NT_STATUS_IS_OK(status)) {
-		d_printf("lsa_LookupSids - %s\n", nt_errstr(status));
-		talloc_free(mem_ctx);
-		return 1;
-	}
+	sid = dom_sid_parse_talloc(mem_ctx, buf);
+	if (sid == NULL) {
+		const char *sidstr;
+		status = smblsa_lookup_name(cli, buf, mem_ctx, &sidstr);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_printf("lsa_LookupNames - %s\n", nt_errstr(status));
+			talloc_free(mem_ctx);
+			return 1;
+		}
 
-	d_printf("%s\n", name);
+		d_printf("%s\n", sidstr);
+	} else {
+		const char *name;
+		status = smblsa_lookup_sid(cli, buf, mem_ctx, &name);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_printf("lsa_LookupSids - %s\n", nt_errstr(status));
+			talloc_free(mem_ctx);
+			return 1;
+		}
 
-	talloc_free(mem_ctx);
-
-	return 0;
-}
-
-/****************************************************************************
-lookup a name, showing sid
-****************************************************************************/
-static int cmd_lookupname(const char **cmd_ptr)
-{
-	fstring buf;
-	TALLOC_CTX *mem_ctx = talloc(NULL, 0);
-	NTSTATUS status;
-	const char *sid;
-
-	if (!next_token(cmd_ptr,buf,NULL,sizeof(buf))) {
-		d_printf("lookupname <name>\n");
-		talloc_free(mem_ctx);
-		return 1;
+		d_printf("%s\n", name);
 	}
 
-	status = smblsa_lookup_name(cli, buf, mem_ctx, &sid);
-	if (!NT_STATUS_IS_OK(status)) {
-		d_printf("lsa_LookupNames - %s\n", nt_errstr(status));
-		talloc_free(mem_ctx);
-		return 1;
-	}
-
-	d_printf("%s\n", sid);
-
 	talloc_free(mem_ctx);
 
 	return 0;
@@ -2613,8 +2597,7 @@
   {"history",cmd_history,"displays the command history",{COMPL_NONE,COMPL_NONE}},
   {"lcd",cmd_lcd,"[directory] change/report the local current working directory",{COMPL_LOCAL,COMPL_NONE}},
   {"link",cmd_link,"<src> <dest> create a UNIX hard link",{COMPL_REMOTE,COMPL_REMOTE}},
-  {"lookupname",cmd_lookupname,"<name> show SID for name",{COMPL_NONE,COMPL_NONE}},
-  {"lookupsid",cmd_lookupsid,"<sid> show name for SID",{COMPL_NONE,COMPL_NONE}},
+  {"lookup",cmd_lookup,"<name|sid> show SID for name or name for SID",{COMPL_NONE,COMPL_NONE}},
   {"lowercase",cmd_lowercase,"toggle lowercasing of filenames for get",{COMPL_NONE,COMPL_NONE}},  
   {"ls",cmd_dir,"<mask> list the contents of the current directory",{COMPL_REMOTE,COMPL_NONE}},
   {"mask",cmd_select,"<mask> mask all filenames against this",{COMPL_REMOTE,COMPL_NONE}},



More information about the samba-cvs mailing list