From fc36ff8e6553abc23c9f3690373119b7f7d58eff Mon Sep 17 00:00:00 2001 From: Larry Reid Date: Sat, 26 Mar 2011 15:39:27 -0700 Subject: [PATCH] Fix for servers that don't put a path separator at the end of the service. --- source3/libsmb/clidfs.c | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c index 53dc6d7..a60bb7e 100644 --- a/source3/libsmb/clidfs.c +++ b/source3/libsmb/clidfs.c @@ -903,10 +903,19 @@ bool cli_resolve_path(TALLOC_CTX *ctx, } if (extrapath && strlen(extrapath) > 0) { - *pp_targetpath = talloc_asprintf(ctx, - "%s%s", - extrapath, - *pp_targetpath); + /* EMC Celerra NAS version 5.6.50 (at least) doesn't appear to */ + /* put the trailing \ on the path, so to be save we put one in if needed */ + if (extrapath[strlen(extrapath)-1] != '\\' && **pp_targetpath != '\\') { + *pp_targetpath = talloc_asprintf(ctx, + "%s\\%s", + extrapath, + *pp_targetpath); + } else { + *pp_targetpath = talloc_asprintf(ctx, + "%s%s", + extrapath, + *pp_targetpath); + } if (!*pp_targetpath) { return false; } -- 1.7.0.4