diff options
author | Jeremy Allison <jra@samba.org> | 2008-04-02 11:23:36 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-04-02 11:23:36 -0700 |
commit | 3ebb6be00d88aeb27cfe7d2cc931b14d4993a94b (patch) | |
tree | 3efff556c3cd91af9b90d161e790007a067a7c1e /source3/smbd | |
parent | 832adaa5ab46a3fdceb2c26942615ac7a4ddf522 (diff) | |
download | samba-3ebb6be00d88aeb27cfe7d2cc931b14d4993a94b.tar.gz samba-3ebb6be00d88aeb27cfe7d2cc931b14d4993a94b.tar.bz2 samba-3ebb6be00d88aeb27cfe7d2cc931b14d4993a94b.zip |
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 c19fdf43d16ce9fba3e8e12e6192bac31837715e)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/msdfs.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c index 8ffa0f7751..fb757a5f74 100644 --- a/source3/smbd/msdfs.c +++ b/source3/smbd/msdfs.c @@ -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) { |