mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
Fix MSDFS bug noticed by Ofir Azoulay <Ofir.Azoulay@expand.com>.
There is no reason to ensure the target host is ourselves, and
this breaks MS clients in some cases.
Jeremy.
(This used to be commit c19fdf43d1
)
This commit is contained in:
parent
832adaa5ab
commit
3ebb6be00d
@ -127,28 +127,6 @@ static NTSTATUS parse_dfs_path(const char *pathname,
|
||||
|
||||
DEBUG(10,("parse_dfs_path: hostname: %s\n",pdp->hostname));
|
||||
|
||||
/* If we got a hostname, is it ours (or an IP address) ? */
|
||||
if (!is_myname_or_ipaddr(pdp->hostname)) {
|
||||
/* Repair path. */
|
||||
*p = sepchar;
|
||||
DEBUG(10,("parse_dfs_path: hostname %s isn't ours. "
|
||||
"Try local path from path %s\n",
|
||||
pdp->hostname, temp));
|
||||
/*
|
||||
* Possibly client sent a local path by mistake.
|
||||
* Try and convert to a local path.
|
||||
*/
|
||||
|
||||
pdp->hostname = eos_ptr; /* "" */
|
||||
pdp->servicename = eos_ptr; /* "" */
|
||||
|
||||
p = temp;
|
||||
DEBUG(10,("parse_dfs_path: trying to convert %s "
|
||||
"to a local path\n",
|
||||
temp));
|
||||
goto local_path;
|
||||
}
|
||||
|
||||
/* Parse out servicename. */
|
||||
temp = p+1;
|
||||
p = strchr_m(temp,sepchar);
|
||||
@ -751,14 +729,6 @@ NTSTATUS get_referred_path(TALLOC_CTX *ctx,
|
||||
return status;
|
||||
}
|
||||
|
||||
/* Verify hostname in path */
|
||||
if (!is_myname_or_ipaddr(pdp->hostname)) {
|
||||
DEBUG(3, ("get_referred_path: Invalid hostname %s in path %s\n",
|
||||
pdp->hostname, dfs_path));
|
||||
TALLOC_FREE(pdp);
|
||||
return NT_STATUS_NOT_FOUND;
|
||||
}
|
||||
|
||||
jucn->service_name = talloc_strdup(ctx, pdp->servicename);
|
||||
jucn->volume_name = talloc_strdup(ctx, pdp->reqpath);
|
||||
if (!jucn->service_name || !jucn->volume_name) {
|
||||
|
Loading…
Reference in New Issue
Block a user