--- samba-3.0.23d/source/smbd/dir.c 2006-11-14 23:42:12.000000000 +0900 +++ samba-3.0.23d.osstech/source/smbd/dir.c 2006-12-27 01:46:35.870061377 +0900 @@ -1010,6 +1010,14 @@ BOOL is_visible_file(connection_struct * if (asprintf(&entry, "%s/%s", dir_path, name) == -1) { return False; } + + /* If it's a dfs symlink, ignore _hide xxxx_ options */ + if (lp_host_msdfs() && + lp_msdfs_root(SNUM(conn)) && + is_msdfs_link(NULL, conn, entry, NULL, NULL, NULL) == True) { + return True; + } + /* Honour _hide unreadable_ option */ if (hide_unreadable && !user_can_read_file(conn, entry, pst)) { DEBUG(10,("is_visible_file: file %s is unreadable.\n", entry ));