+2010-02-01 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Released 2.8.3
+
+2010-02-01 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Using "--no-canonicalize" with umount(8) conflicts with the race
+ fix, sinceit assumes the supplied path is absolute, while the race
+ fix relies on the path being relative to the current directory
+
2010-01-26 Miklos Szeredi <miklos@szeredi.hu>
* Released 2.8.2
$(iconv_source) \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:2 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:3 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
int status;
sigset_t blockmask;
sigset_t oldmask;
- int legacy = 0;
sigemptyset(&blockmask);
sigaddset(&blockmask, SIGCHLD);
return -1;
}
-retry_umount:
res = fork();
if (res == -1) {
fprintf(stderr, "%s: fork: %s\n", progname, strerror(errno));
goto out_restore;
}
if (res == 0) {
- /*
- * Hide output, because old versions don't support
- * --no-canonicalize
- */
- if (!legacy) {
- int fd = open("/dev/null", O_RDONLY);
- dup2(fd, 1);
- dup2(fd, 2);
- }
-
sigprocmask(SIG_SETMASK, &oldmask, NULL);
setuid(geteuid());
- if (legacy) {
- execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
- lazy ? "-l" : NULL, NULL);
- } else {
- execl("/bin/umount", "/bin/umount", "--no-canonicalize",
- "-i", rel_mnt, lazy ? "-l" : NULL, NULL);
- }
+ execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
+ lazy ? "-l" : NULL, NULL);
fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
progname, strerror(errno));
exit(1);
fprintf(stderr, "%s: waitpid: %s\n", progname, strerror(errno));
if (status != 0) {
- if (!legacy) {
- legacy = 1;
- goto retry_umount;
- }
res = -1;
}