[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-892-g161bd7f

Tim Prouty tprouty at samba.org
Tue Apr 7 17:47:52 GMT 2009


The branch, master has been updated
       via  161bd7f78fd10e4f850dc3ef1ba3df53c43eae30 (commit)
       via  785c19182ba7c0cc15502ee89f2c3ca1cfb1c5e7 (commit)
      from  042aaffabf602560877558ac167c69257862b124 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 161bd7f78fd10e4f850dc3ef1ba3df53c43eae30
Author: Tim Prouty <tprouty at samba.org>
Date:   Tue Apr 7 00:56:50 2009 +0000

    s3 onefs: Fix case-insensitivity for mangled names
    
    onefs_get_real_filename needs to demangle the filename before doing
    the case-insensitive estat

commit 785c19182ba7c0cc15502ee89f2c3ca1cfb1c5e7
Author: Tim Prouty <tprouty at samba.org>
Date:   Tue Apr 7 09:49:55 2009 -0700

    s3 oplocks: Add back procid_str to debug message

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

Summary of changes:
 source3/modules/vfs_onefs.c |   12 ++++++++++++
 source3/smbd/oplock.c       |    5 +++--
 2 files changed, 15 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_onefs.c b/source3/modules/vfs_onefs.c
index ad59c2b..e4a0feb 100644
--- a/source3/modules/vfs_onefs.c
+++ b/source3/modules/vfs_onefs.c
@@ -153,10 +153,21 @@ static int onefs_get_real_filename(vfs_handle_struct *handle, const char *path,
 				   char **found_name)
 {
 	SMB_STRUCT_STAT sb;
+	struct connection_struct *conn = handle->conn;
 	struct stat_extra se;
 	int result;
+	char *unmangled_name = NULL;
 	char *full_name = NULL;
 
+	/* First demangle the name if necessary. */
+	if (!conn->case_sensitive && mangle_is_mangled(name, conn->params) &&
+	    mangle_lookup_name_from_8_3(mem_ctx, name, &unmangled_name,
+					conn->params)) {
+		/* Name is now unmangled. */
+		name = unmangled_name;
+	}
+
+	/* Do the case insensitive stat. */
 	ZERO_STRUCT(se);
 	se.se_version = ESTAT_CURRENT_VERSION;
 	se.se_flags = ESTAT_CASE_INSENSITIVE | ESTAT_SYMLINK_NOFOLLOW;
@@ -184,6 +195,7 @@ static int onefs_get_real_filename(vfs_handle_struct *handle, const char *path,
 
 done:
 	TALLOC_FREE(full_name);
+	TALLOC_FREE(unmangled_name);
 	return result;
 }
 
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 98f89ac..b937e8e 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -422,8 +422,9 @@ void process_oplock_async_level2_break_message(struct messaging_context *msg_ctx
 	/* De-linearize incoming message. */
 	message_to_share_mode_entry(&msg, (char *)data->data);
 
-	DEBUG(10, ("Got oplock async level 2 break message from pid %d: %s/%lu\n",
-		   (int)procid_to_pid(&src), file_id_string_tos(&msg.id), msg.share_file_id));
+	DEBUG(10, ("Got oplock async level 2 break message from pid %s: "
+		   "%s/%lu\n", procid_str(debug_ctx(), &src),
+		   file_id_string_tos(&msg.id), msg.share_file_id));
 
 	fsp = initial_break_processing(msg.id, msg.share_file_id);
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list