From 22595578cb98ff5e49796fb45ae98b26b1f1b35b Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 17 Dec 2009 16:36:53 -0800 Subject: [PATCH] Fix bug #6939 - mangling method = hash breaks long filenames. We were returning the wrong sense of the bool. must_mangle() has to return !NT_STATUS_IS_OK, not NT_STATUS_IS_OK. Jeremy. --- source/smbd/mangle_hash.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/source/smbd/mangle_hash.c b/source/smbd/mangle_hash.c index 69ecf77..5de69e2 100644 --- a/source/smbd/mangle_hash.c +++ b/source/smbd/mangle_hash.c @@ -613,7 +613,10 @@ static bool must_mangle(const char *name, } status = is_valid_name(name_ucs2, False, False); SAFE_FREE(name_ucs2); - return NT_STATUS_IS_OK(status); + /* We return true if we *must* mangle, so if it's + * a valid name (status == OK) then we must return + * false. Bug #6939. */ + return !NT_STATUS_IS_OK(status); } /***************************************************************************** -- 1.5.4.3