svn commit: samba r6706 - in branches/SAMBA_3_0/source: libsmb utils

jerry at samba.org jerry at samba.org
Tue May 10 12:21:03 GMT 2005


Author: jerry
Date: 2005-05-10 12:21:02 +0000 (Tue, 10 May 2005)
New Revision: 6706

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

Log:
* fix bug that prevented smbclient from creating directories 
  on non-dfs paths
* add patch from James Peach to remove use of uninitialized 
  variables


Modified:
   branches/SAMBA_3_0/source/libsmb/clidfs.c
   branches/SAMBA_3_0/source/utils/net_groupmap.c


Changeset:
Modified: branches/SAMBA_3_0/source/libsmb/clidfs.c
===================================================================
--- branches/SAMBA_3_0/source/libsmb/clidfs.c	2005-05-10 11:04:04 UTC (rev 6705)
+++ branches/SAMBA_3_0/source/libsmb/clidfs.c	2005-05-10 12:21:02 UTC (rev 6706)
@@ -464,7 +464,7 @@
  check for dfs referral
 ********************************************************************/
 
-static BOOL cli_dfs_check_error( struct cli_state *cli )
+static BOOL cli_dfs_check_error( struct cli_state *cli, NTSTATUS status )
 {
 	uint32 flgs2 = SVAL(cli->inbuf,smb_flg2);
 
@@ -473,7 +473,7 @@
 	if ( !( (flgs2&FLAGS2_32_BIT_ERROR_CODES) && (flgs2&FLAGS2_UNICODE_STRINGS) ) )
 		return False;
 
-	if ( NT_STATUS_EQUAL( NT_STATUS_PATH_NOT_COVERED, NT_STATUS(IVAL(cli->inbuf,smb_rcls)) ) )
+	if ( NT_STATUS_EQUAL( status, NT_STATUS(IVAL(cli->inbuf,smb_rcls)) ) )
 		return True;
 
 	return False;
@@ -605,9 +605,17 @@
 		return True;
 	}
 
+	/* special case where client asked for a path that does not exist */
+
+	if ( cli_dfs_check_error(rootcli, NT_STATUS_OBJECT_NAME_NOT_FOUND) ) {
+		*targetcli = rootcli;
+		pstrcpy( targetpath, path );
+		return True;
+	}
+
 	/* we got an error, check for DFS referral */
 			
-	if ( !cli_dfs_check_error(rootcli) ) 
+	if ( !cli_dfs_check_error(rootcli, NT_STATUS_PATH_NOT_COVERED) ) 
 		return False;
 
 	/* check for the referral */

Modified: branches/SAMBA_3_0/source/utils/net_groupmap.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_groupmap.c	2005-05-10 11:04:04 UTC (rev 6705)
+++ branches/SAMBA_3_0/source/utils/net_groupmap.c	2005-05-10 12:21:02 UTC (rev 6706)
@@ -670,7 +670,6 @@
 	DOM_SID alias;
 	DOM_SID *members;
 	int i, num;
-	NTSTATUS result;
 
 	if ( (argc != 1) || 
 	     !string_to_sid(&alias, argv[0]) ) {
@@ -679,8 +678,7 @@
 	}
 
 	if (!pdb_enum_aliasmem(&alias, &members, &num)) {
-		d_printf("Could not list members for sid %s: %s\n",
-			 argv[0], nt_errstr(result));
+		d_printf("Could not list members for sid %s\n", argv[0]);
 		return -1;
 	}
 



More information about the samba-cvs mailing list