I found a problem in msdfs.c/setup_ver_dfs_referral().
"(consumedcnt * 2)" is wrong. If pathname includes multibyte characters(ex. Japanese UTF-8),
strlen(pathname) does not match the bytes of UCS-2.
It must be calculated as bytes of UCS-2.
I will attach a patch.
This cause a problem on Vista. XP is not influenced.
1. I create a dfs link on Samba.
# ln -s msdfs:192.168.1.10\\dfslink dfs[xxxx]
* [xxxx] includes multibyte characters.
2. A user logs in Vista, and map the share which includes dfs link to a network drive(Z:).
3. Te user opens Explorer from start menu, and click the network drive(Z:).
So, the link is invalid. Explorer shows a error message. "can not find the network path"
On the other hand, if I open the share from "Network", there is no error. This is very strange behavior!
Created attachment 3753 [details]
a patch for samba 3.2
Created attachment 3754 [details]
a patch for samba 3.0
Perfect patch, thanks ! Applied to all branches.