summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2009-08-28 10:43:13 +1000
committerDamien Miller <djm@mindrot.org>2009-08-28 10:43:13 +1000
commit0e26551f7fa8371ef067dec63ff46918bf87ad8d (patch)
tree05e439acb66ddc0fa1022b5e6e1f53b9077c016b
parent8aac993af6423f0989e4c5fd39acaf9e20a68f0b (diff)
- (djm) [sftp-server.c] bz#1535: accept ENOSYS as a fallback error when
attempting atomic rename(); ok dtucker@
-rw-r--r--ChangeLog2
-rw-r--r--sftp-server.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 461f7c88..be206a44 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
- (djm) [sshd_config.5] downgrade mention of login.conf to be an example
and mention PAM as another provider for ChallengeResponseAuthentication;
bz#1408; ok dtucker@
+ - (djm) [sftp-server.c] bz#1535: accept ENOSYS as a fallback error when
+ attempting atomic rename(); ok dtucker@
20090820
- (dtucker) [includes.h] Bug #1634: do not include system glob.h if we're not
diff --git a/sftp-server.c b/sftp-server.c
index 83beeadc..d984e604 100644
--- a/sftp-server.c
+++ b/sftp-server.c
@@ -1041,7 +1041,7 @@ process_rename(void)
else if (S_ISREG(sb.st_mode)) {
/* Race-free rename of regular files */
if (link(oldpath, newpath) == -1) {
- if (errno == EOPNOTSUPP
+ if (errno == EOPNOTSUPP || errno == ENOSYS
#ifdef EXDEV
|| errno == EXDEV
#endif