Your message dated Sun, 02 Aug 2009 11:10:53 +0100
with message-id <1249207853.642893.4300.nullmai...@kmos.homeip.net>
and subject line nfs-user-server has been removed from Debian, closing #537087
has caused the Debian Bug report #537087,
regarding problem exporting to Linux clients (patch included)
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
537087: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537087
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: nfs-user-server
Version: 2.2beta47-25
Severity important
The NFS client within the Linux kernel passes the invalid value
"1million" in the usec field to request "server time", which should
map the a NULL argument to utimes(2). Without this patch most
nfs-accesses failed, and I got mad a few days before looking at the
source.
The client code (fs/nfs/nfs2xdr.c) has this
comment:
/*
* Passing the invalid value useconds=1000000 is a
* Sun convention for "set to current server time".
* It's needed to make permissions checks for the
* "touch" program across v2 mounts to Solaris and
* Irix boxes work correctly. See description of
* sattr in section 6.1 of "NFS Illustrated" by
* Brent Callaghan, Addison-Wesley, ISBN 0-201-32750-5
*/
The kernel nfs server handles the 1million value as a special case, so
let's do it here in the same way.
/alessandro
--- ./setattr.c.orig 2009-04-30 13:03:50.000000000 +0200
+++ ./setattr.c 2009-04-30 13:03:53.000000000 +0200
@@ -95,7 +95,15 @@
tvp[1].tv_sec = s->st_mtime;
tvp[1].tv_usec = 0;
}
- if (efs_utimes(path, tvp) < 0
+ /*
+ * Kernel (fs/nfs/nfs2xdr.c) says:
+ * ``Passing the invalid value useconds=1000000 is a
+ * Sun convention for "set to current server time".''
+ * So in this case pass a NULL pointer --ARub
+ */
+ if (tvp[1].tv_usec == 1000000) tvp[1].tv_usec = 0;
+ if (efs_utimes(path, tvp[0].tv_usec == 1000000
+ ? NULL : tvp) < 0
&& (errno != ENOENT || lstat(path, &sbuf)))
goto failure;
}
--- End Message ---
--- Begin Message ---
Version: 2.2beta47-25+rm
The nfs-user-server package has been removed from Debian so we are closing
the bugs that were still opened against it.
For more information about this package's removal, read
http://bugs.debian.org/515957 . That bug might give the reasons why
this package was removed, and suggestions of possible replacements.
Don't hesitate to reply to this mail if you have any question.
Thank you for your contribution to Debian.
Kind regards,
--
Marco Rodrigues
--- End Message ---