[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-1255-g6dc2807

Stefan Metzmacher metze at samba.org
Tue Mar 11 19:18:43 GMT 2008


The branch, v4-0-test has been updated
       via  6dc280731d071681b635a2f091be2b153a902080 (commit)
       via  80711c03e0e8fba6f80261facd939ef00e06c7fd (commit)
       via  4b071236867ca5c2c0451ad3acc8a9debb0549e4 (commit)
      from  bfe773a620640fa46efe008f38144f5452350825 (commit)

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


- Log -----------------------------------------------------------------
commit 6dc280731d071681b635a2f091be2b153a902080
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Mar 11 19:29:18 2008 +0100

    pvfs: return NT_STATUS_NOT_IMPLEMENTED on RAW_RENAME_NTTRANS
    
    metze

commit 80711c03e0e8fba6f80261facd939ef00e06c7fd
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Mar 11 19:28:34 2008 +0100

    smb_server: pass down RAW_RENAME_NTTRANS to the ntvfs layer
    
    metze

commit 4b071236867ca5c2c0451ad3acc8a9debb0549e4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Mar 10 12:46:17 2008 +0100

    events_signal: pass down the correct siginfo_t struct to the event handler
    
    metze

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

Summary of changes:
 source/lib/events/events_signal.c |    2 +-
 source/ntvfs/posix/pvfs_rename.c  |    3 +++
 source/smb_server/smb/nttrans.c   |   25 ++++++++++++++++++++++++-
 3 files changed, 28 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/events/events_signal.c b/source/lib/events/events_signal.c
index aec3433..c0771cb 100644
--- a/source/lib/events/events_signal.c
+++ b/source/lib/events/events_signal.c
@@ -257,7 +257,7 @@ int common_event_check_signal(struct event_context *ev)
 				for (j=0;j<count;j++) {
 					/* note the use of the sig_info array as a
 					   ring buffer */
-					int ofs = (counter.count + j) % SA_INFO_QUEUE_COUNT;
+					int ofs = ((count-1) + j) % SA_INFO_QUEUE_COUNT;
 					se->handler(ev, se, i, 1, 
 						    (void*)&sig_state->sig_info[i][ofs], 
 						    se->private_data);
diff --git a/source/ntvfs/posix/pvfs_rename.c b/source/ntvfs/posix/pvfs_rename.c
index 29b2d03..e94de8b 100644
--- a/source/ntvfs/posix/pvfs_rename.c
+++ b/source/ntvfs/posix/pvfs_rename.c
@@ -575,6 +575,9 @@ NTSTATUS pvfs_rename(struct ntvfs_module_context *ntvfs,
 	case RAW_RENAME_NTRENAME:
 		return pvfs_rename_nt(ntvfs, req, ren);
 
+	case RAW_RENAME_NTTRANS:
+		return NT_STATUS_NOT_IMPLEMENTED;
+
 	default:
 		break;
 	}
diff --git a/source/smb_server/smb/nttrans.c b/source/smb_server/smb/nttrans.c
index a20c41b..1b49e23 100644
--- a/source/smb_server/smb/nttrans.c
+++ b/source/smb_server/smb/nttrans.c
@@ -287,7 +287,30 @@ static NTSTATUS nttrans_set_sec_desc(struct smbsrv_request *req,
 static NTSTATUS nttrans_rename(struct smbsrv_request *req, 
 			       struct nttrans_op *op)
 {
-	return NT_STATUS_NOT_IMPLEMENTED;
+	struct smb_nttrans *trans = op->trans;
+	union smb_rename *io;
+
+	if (trans->in.params.length < 5) {
+		return NT_STATUS_INVALID_PARAMETER;
+	}
+
+	/* parse the request */
+	io = talloc(req, union smb_rename);
+	NT_STATUS_HAVE_NO_MEMORY(io);
+
+	io->nttrans.level		= RAW_RENAME_NTTRANS;
+	io->nttrans.in.file.ntvfs	= smbsrv_pull_fnum(req, trans->in.params.data, 0);
+	io->nttrans.in.flags		= SVAL(trans->in.params.data, 2);
+
+	smbsrv_blob_pull_string(&req->in.bufinfo, &trans->in.params, 4,
+				&io->nttrans.in.new_name,
+				STR_TERMINATE);
+	if (!io->nttrans.in.new_name) {
+		return NT_STATUS_INVALID_PARAMETER;
+	}
+
+	SMBSRV_CHECK_FILE_HANDLE_NTSTATUS(io->nttrans.in.file.ntvfs);
+	return ntvfs_rename(req->ntvfs, io);
 }
 
 /* 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list