From 76f7c2a2541259156f08626f73cb63b6044e4e34 Mon Sep 17 00:00:00 2001 From: Larry Reid Date: Sat, 26 Mar 2011 15:39:27 -0700 Subject: Fix for servers that don't put a path separator at the end of the service. Autobuild-User: Volker Lendecke Autobuild-Date: Sun Apr 3 10:33:42 CEST 2011 on sn-devel-104 --- source3/libsmb/clidfs.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'source3/libsmb') diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c index 810943eedc..a0d60482ee 100644 --- a/source3/libsmb/clidfs.c +++ b/source3/libsmb/clidfs.c @@ -920,10 +920,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; } -- cgit