summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLarry Reid <lcreid@jadesystems.ca>2011-03-26 15:39:27 -0700
committerVolker Lendecke <vlendec@samba.org>2011-04-03 10:33:42 +0200
commit76f7c2a2541259156f08626f73cb63b6044e4e34 (patch)
treeba445af2111995c133cdff7975fefae99cf5f379
parentd143bc444c10df99b2dd64f4a0e02c902c3c024e (diff)
downloadsamba-76f7c2a2541259156f08626f73cb63b6044e4e34.tar.gz
samba-76f7c2a2541259156f08626f73cb63b6044e4e34.tar.bz2
samba-76f7c2a2541259156f08626f73cb63b6044e4e34.zip
Fix for servers that don't put a path separator at the end of the service.
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Sun Apr 3 10:33:42 CEST 2011 on sn-devel-104
-rw-r--r--source3/libsmb/clidfs.c17
1 files changed, 13 insertions, 4 deletions
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;
}