Vista's Fake Symlink Support


Recommended Posts

@Andareed: When I first read the reply above and at OSN, I though the same.

However, on closer inspection, it's not. Read it carefully. It says you can enable symlink transparency - yes. But for Vista clients only.

Also, it's not the SMB protocol, it's the fact that "NTFS 6" isn't NTFS 6 as promised - the filesystem itself doesn't provide the Symlink functionality or else there would never have been an issue since the filesystem wouldn't rely on a second API to translate symlink calls.

The filesystem absolutely provides symlink functionality. It's done using reparse points - which are the NTFS standard way of doing hard links and junction points as well. If you have issues with how they're implemented over SMB then go ahead and complain. But don't lie to people and tell them that symlinks in NTFS are "fake."

@Andareed: When I first read the reply above and at OSN, I though the same.

However, on closer inspection, it's not. Read it carefully. It says you can enable symlink transparency - yes. But for Vista clients only.

Also, it's not the SMB protocol, it's the fact that "NTFS 6" isn't NTFS 6 as promised - the filesystem itself doesn't provide the Symlink functionality or else there would never have been an issue since the filesystem wouldn't rely on a second API to translate symlink calls.

In order to resolve this, you need to figure out exactly how symlinks look different to normal files over SMB (e.g. via packet tracing). It's not clear whether the group policy setting has to be enabled on the server, client or both. If the client needs the setting, then obviously the server notifies the client (somehow) that it's dealing with a symlink. The article sights security issues relating to symlinks, so the developers may have decided to purposely break support for symlinks on XP for this reason. Or it's possible that symlinks set some file attribute that XP does not expect and this breaks things.

I doubt there is some second API. Most likely the SMB implementation looks for symlinks and sets a flag on the HANDLE to disable symlink redirection.

The title of this thread should be renamed to something like "Strange Behaviour of Vista Symlniks over SMB".

I poked around and found that the kernel checks to see if the path (or part of it) is a symlink. If it is, it does some checks to see if (Local|Remote)To(Local|Remote) is allowed against how the file is to be accessed (e.g. client reading file from server). If the check fails, the kernel returns STATUS_SYMLINK_CLASS_DISABLED. Since the check appears to be done on both client and server side, the smb server must notify the client of such symlinks, which I suspect breaks XP and SAMBA.

Yeah, and my point was that an updated Samba client would handle them just fine.

Ok, so basically what we have there is a symlink implementation that, unlike the unix one, must be handed client side, right?

That is, a crippled implementation that cannot be cleanly adapted to any non-vista environment, and hence either a bad idea or a lame attempt to add another reason for people to switch to vista (probably both).

So much for interoperability :rolleyes:

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Apart from Early Hiccups on Windows 11 on first install on October 6th 2021 on my old Intel 10700 daily use Desktop PC at the time, used to have issue with Bluetooth suddenly no longer working and only fix back then was always another clean install--then would work for a while. Transition to 2024 when i decided to finally upgrade that system for better support for Battlefield 2042 and Battlefield 6 later on, opted for next daily use Gaming Desktop AMD Ryzen 7 7700X and Radeon 7800XT OC 16GB. No major problems at all with this desktop, OS was clean installed way back on 10/8/2025 not long after 25H2 released. Overall i've been happy with Windows 11 Pro from the start, even minor little quirks didn't sway me. Heck i even use Windows 8 and upgraded immediately upon release back then on my old HP P6-2133W Desktop, and while the specs of that machine didn't give me top notch performance--i still was able to do what i wanted to, without too many slowdowns. Windows ME i didn't use on any of my personal systems back in the day, kept those systems on 98SE til XP released, and grabbed that immediately on release date. Kept XP til Vista Released then upgraded immediately, kept Vista til Windows 7 released, then updated immediately again
    • Broadcom: dreadful company who is destroying VMware by pricing it out of the market.
    • To be fair, it wasn't going anywhere. Even when Windows Phone could run Android APKs, Google didn't want any of it so it'd never work and the same thing happened with Windows. It was never about the store or it's users, it was always the developers and who they aligned to.
    • Wake me up when this comes to PC. Until then... zzzzzzzz....
  • Recent Achievements

    • First Post
      Tom Schmidt earned a badge
      First Post
    • One Month Later
      D0nn13 earned a badge
      One Month Later
    • Rookie
      +ChiefOfNeo went up a rank
      Rookie
    • One Year In
      Tom Schmidt earned a badge
      One Year In
    • One Month Later
      Tom Schmidt earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      451
    2. 2
      +Edouard
      177
    3. 3
      PsYcHoKiLLa
      123
    4. 4
      Michael Scrip
      82
    5. 5
      Xenon
      75
  • Tell a friend

    Love Neowin? Tell a friend!