From: Jeremy Allison Date: Wed, 2 Apr 2008 18:23:36 +0000 (-0700) Subject: Fix MSDFS bug noticed by Ofir Azoulay . X-Git-Tag: samba-3.3.0pre1~2931 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c19fdf43d16ce9fba3e8e12e6192bac31837715e;p=thirdparty%2Fsamba.git Fix MSDFS bug noticed by Ofir Azoulay . There is no reason to ensure the target host is ourselves, and this breaks MS clients in some cases. Jeremy. --- diff --git a/source/smbd/msdfs.c b/source/smbd/msdfs.c index 8ffa0f7751c..fb757a5f746 100644 --- a/source/smbd/msdfs.c +++ b/source/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) {