2014-11-05 12:41:07 +01:00

25 lines
786 B
Plaintext

$NetBSD: patch-af,v 1.3 2013/10/14 06:51:02 adam Exp $
--- src/update.c.orig 2005-09-22 18:49:17.000000000 +0000
+++ src/update.c
@@ -1310,11 +1310,18 @@ VERS: ", 0);
xchmod (finfo->file, 1);
else
{
+ mode_t oumask, writeaccess;
+
/* We know that we are the server here, so
although xchmod checks umask, we don't bother. */
- mode |= (((mode & S_IRUSR) ? S_IWUSR : 0)
+ /* Not bothering with the umask makes the files
+ mode 0777 on old clients, though. -chb */
+ oumask = umask(0);
+ (void) umask(oumask);
+ writeaccess = (((mode & S_IRUSR) ? S_IWUSR : 0)
| ((mode & S_IRGRP) ? S_IWGRP : 0)
| ((mode & S_IROTH) ? S_IWOTH : 0));
+ mode |= (~oumask) & writeaccess;
}
}