diff options
Diffstat (limited to 'source3/smbd/msdfs.c')
-rw-r--r-- | source3/smbd/msdfs.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c index e321a8c8e4..6306745574 100644 --- a/source3/smbd/msdfs.c +++ b/source3/smbd/msdfs.c @@ -133,6 +133,16 @@ static NTSTATUS parse_dfs_path(const char *pathname, if(p == NULL) { pdp->servicename = temp; pdp->reqpath = eos_ptr; /* "" */ + /* Is this really our servicename ? */ + if (NULL == conn_find_byname(pdp->servicename)) { + DEBUG(10,("parse_dfs_path: %s is not our servicename\n", + pdp->servicename)); + p = temp; + DEBUG(10,("parse_dfs_path: trying to convert %s " + "to a local path\n", + temp)); + goto local_path; + } return NT_STATUS_OK; } *p = '\0'; |