r17376: Fix bug #3985 - ensure in msdfs we check for our
authorJeremy Allison <jra@samba.org>
Wed, 2 Aug 2006 16:18:45 +0000 (16:18 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:38:29 +0000 (11:38 -0500)
netbios aliases. Reported by Björn Jacke <bjoern@j3e.de>.
Probably needs to be in 3.0.23b (if Björn approves
of the fix).
Jeremy.
(This used to be commit e9e711fe37d9aec28b329dbfe2ad3ebfc1771825)

source3/smbd/msdfs.c

index 6891022264ee145e10b267610f3c0632319f42de..2edad311ea48ef0e98edffbdeb29f54f22e32e36 100644 (file)
@@ -517,13 +517,10 @@ BOOL get_referred_path(TALLOC_CTX *ctx, char *pathname, struct junction_map *juc
        parse_dfs_path(pathname, &dp);
 
        /* Verify hostname in path */
-       if ( !strequal(get_local_machine_name(), dp.hostname) ) {
-               /* Hostname mismatch, check if one of our IP addresses */
-               if (!ismyip(*interpret_addr2(dp.hostname))) {
-                       DEBUG(3, ("get_referred_path: Invalid hostname %s in path %s\n",
-                               dp.hostname, pathname));
-                       return False;
-               }
+       if (!is_myname_or_ipaddr(dp.hostname)) {
+               DEBUG(3, ("get_referred_path: Invalid hostname %s in path %s\n",
+                       dp.hostname, pathname));
+               return False;
        }
 
        pstrcpy(jucn->service_name, dp.servicename);
@@ -890,13 +887,10 @@ BOOL create_junction(char *pathname, struct junction_map *jucn)
         parse_dfs_path(pathname,&dp);
 
         /* check if path is dfs : validate first token */
-        if ( !strequal(get_local_machine_name(),dp.hostname) ) {
-               /* Hostname mismatch, check if one of our IP addresses */
-               if (!ismyip(*interpret_addr2(dp.hostname))) {
-                       DEBUG(4,("create_junction: Invalid hostname %s in dfs path %s\n",
-                               dp.hostname, pathname));
-                       return False;
-               }
+       if (!is_myname_or_ipaddr(dp.hostname)) {
+               DEBUG(4,("create_junction: Invalid hostname %s in dfs path %s\n",
+                       dp.hostname, pathname));
+               return False;
        }
 
        /* Check for a non-DFS share */