[Bug 1535] rename doesn't fall back to rename syscall upon ENOSYS of	link syscall
    bugzilla-daemon at bugzilla.mindrot.org 
    bugzilla-daemon at bugzilla.mindrot.org
       
    Wed Dec 10 10:07:38 EST 2008
    
    
  
https://bugzilla.mindrot.org/show_bug.cgi?id=1535
--- Comment #6 from Darren Tucker <dtucker at zip.com.au>  2008-12-10 10:07:37 ---
(In reply to comment #5)
> (In reply to comment #4)
> It was also brought to my attention on the mailinglist that the syscall
> link() shouldn't return ENOSYS. According to the link(2) the
> implementation of link in sshfs should return EPERM to indicate that
> creation of links is not supported. However the error check in
> sftp-server doesn't check EPERM either.
Actually it does (on Linux, anyway):
                if (link(oldpath, newpath) == -1) {
                        if (errno == EOPNOTSUPP
#ifdef EXDEV
                            || errno == EXDEV
#endif
#ifdef LINK_OPNOTSUPP_ERRNO
                            || errno == LINK_OPNOTSUPP_ERRNO
#endif
                            ) {
where on Linux, LINK_OPNOTSUPP_ERRNO is defined thusly:
        AC_DEFINE(LINK_OPNOTSUPP_ERRNO, EPERM,
                [Define to whatever link() returns for "not supported"
                if it doesn't return EOPNOTSUPP.])
-- 
Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
    
    
More information about the openssh-bugs
mailing list