1 2000-08-24 Neil Brown <neilb@cse.unsw.edu.au>
2 * support/export/client.c(client_check): removed the "dot+1" as a
3 ypdomain argument to innetgr as this is entirely bogus.
4 It should always be NULL.
6 2000-08-23 Neil Brown <neilb@cse.unsw.edu.au>
8 * support/export/xtab.c(xtab_read): introduce new mode for
9 reading xtab. i.e. a list of exports that might be known to the
10 kernel, or might not. These are flagged as m_exported == -1
11 * support/export/xtab.c(xtab_mount_read): call xtab_read with new
12 value "2" for xtab, meaning don't trust this too much.
13 * support/include/exportfs.h(struct mexport): changed m_exported
14 from one bit to an int so that it can hold new value
15 * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
16 kernel if it is uncertain whether the kernel knows (m_exported == -1)
17 * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
20 * support/nfs/xio.c(xflock): added O_CREAT when getting
21 a write lock so that missing files aren't fatal.
23 * etc/debian/nfs-common: new file from "potato"
24 * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
26 2000-08-09 H.J. Lu <hjl@lucon.org>
28 * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
29 startup to ensure all existing clients work fine.
31 * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
32 to xtab_read () for reading _PATH_XTAB.
34 2000-08-02 H.J. Lu <hjl@lucon.org>
36 * utils/mountd/auth.c (auth_authenticate_internal): Try to
37 avoid the reverse name lookup.
39 2000-07-04 H.J. Lu <hjl@lucon.org>
41 * utils/statd/log.c: Include <stdlib.h> for exit ().
43 * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
46 2000-07-04 H.J. Lu <hjl@lucon.org>
48 * configure.in (VERSION): Set to "0.1.9.1".
49 * configure: Regenerated.
50 * nfs-utils.spec: Updated.
54 2000-07-04 Neil Brown <neilb@cse.unsw.edu.au>
56 * support/export/hostname.c (hostent_dup): Handle the NULL
59 2000-07-03 H.J. Lu <hjl@lucon.org>
61 * README: Update the util-linux requirement.
63 2000-07-03 H.J. Lu <hjl@lucon.org>
65 * configure.in (VERSION): Set to "0.1.9".
66 * configure: Regenerated.
67 * nfs-utils.spec: Updated.
71 2000-07-03 H.J. Lu <hjl@lucon.org>
73 * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
74 stop to ensure all clients can still access the server
75 before it is shutdown.
77 2000-06-30 Jeff Uphoff <juphoff@transmeta.com>
79 * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
80 calls with format string.
82 2000-06-28 Chip Salzenberg <chip@valinux.com>
84 * utils/statd/log.c (log): Call syslog with format string.
86 2000-06-27 H.J. Lu <hjl@lucon.org>
88 * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
91 2000-06-27 H.J. Lu <hjl@lucon.org>
95 2000-06-27 H.J. Lu <hjl@lucon.org>
97 * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
98 startup to ensure all existing clients are exported.
100 * configure.in (VERSION): Set to "0.1.8.2".
101 * configure: Regenerated.
102 * nfs-utils.spec: Updated.
104 2000-06-06 H.J. Lu <hjl@lucon.org>
106 * configure.in (VERSION): Set to "0.1.8.1".
107 * configure: Regenerated.
108 * nfs-utils.spec: Updated.
110 2000-06-06 H.J. Lu <hjl@lucon.org>
112 * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
113 to "struct sockaddr_in *" for glibc 2.2.
114 (mount_umnt_1_svc): Likewise.
115 (mount_umntall_1_svc): Likewise.
116 (mount_export_1_svc): Likewise.
117 (mount_exportall_1_svc): Likewise.
118 (mount_pathconf_2_svc): Likewise.
119 (get_rootfh): Likewise.
121 2000-06-04 H.J. Lu <hjl@lucon.org>
123 * etc/redhat/nfs.init: Fix a typo in comment.
125 2000-05-31 H.J. Lu <hjl@lucon.org>
127 * configure.in (VERSION): Set to "0.1.8".
128 * configure: Regenerated.
129 * nfs-utils.spec: Updated.
133 2000-05-31 H.J. Lu <hjl@lucon.org>
135 * configure.in (VERSION): Set to "0.1.7.5".
136 * configure: Regenerated.
137 * nfs-utils.spec: Updated.
139 * support/include/nfslib.h (exportent): Add a new field,
140 r_count, to count the number of mounts from a client.
141 (getrmtabent): Take a new argument for position in file.
142 (putrmtabent): Likewise.
143 (fgetrmtabent): Likewise.
144 (fputrmtabent): Likewise.
145 * support/nfs/rmtab.c (getrmtabent): Handle the new argument
146 for position in file.
147 (fgetrmtabent): Likewise.
148 (putrmtabent): Likewise.
149 (fputrmtabent): Likewise.
151 * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
154 * support/export/rmtab.c (rmtab_read): Pass NULL as the new
155 argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
157 * utils/mountd/rmtab.c (mountlist_add): Likewise.
158 (mountlist_del): Likewise.
159 (mountlist_del_all): Likewise.
160 (mountlist_list): Likewise.
162 * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
163 for the existing entry and initialize "r_count" to 1.
164 (mountlist_del): Decrement "r_count".
166 2000-05-18 H.J. Lu <hjl@lucon.org>
168 * configure.in (VERSION): Set to "0.1.7.4".
169 * configure: Regenerated.
170 * nfs-utils.spec: Updated.
172 2000-05-18 H.J. Lu <hjl@lucon.org>
174 * etc/redhat/nfs.init (restart): Just do stop and start.
176 2000-05-09 Jay Weber <jweber@valinux.com>
178 * utils/rquotad/hasquota.c: added support for ext3 recognition
180 * utils/rquotad/mntent.h: Likewise.
182 2000-05-01 H.J. Lu <hjl@lucon.org>
184 * configure.in (VERSION): Set to "0.1.7.3".
185 * configure: Regenerated.
186 * nfs-utils.spec: Updated.
188 2000-05-01 H.J. Lu <hjl@lucon.org>
190 * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
191 mounting poins in /etc/fstab.
193 2000-05-01 H.J. Lu <hjl@lucon.org>
195 * configure.in (VERSION): Set to "0.1.7.2".
196 * configure: Regenerated.
197 * nfs-utils.spec: Updated.
199 2000-05-01 H.J. Lu <hjl@lucon.org>
201 * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
202 to check for the mounting point.
204 2000-04-29 Chip Salzenberg <chip@valinux.com>
205 Neil Brown <neilb@cse.unsw.edu.au>
207 * Really re-use RPC ports.
208 (Fixes earlier patch. Sorry, Neil.)
210 2000-04-26 H.J. Lu <hjl@lucon.org>
212 * configure.in (VERSION): Set to "0.1.7.1".
213 * configure: Regenerated.
214 * nfs-utils.spec: Updated.
216 2000-04-26 H.J. Lu <hjl@lucon.org>
218 * etc/redhat/nfslock.init: Check if lockd exits before killing
221 2000-04-25 H.J. Lu <hjl@lucon.org>
223 * README: Require util-linux-2.10f-mount-rpc.patch for mount.
225 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
227 * support/nfs/exports.c (parsesquash): Correctly set the
230 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
232 * support/include/nfs/nfs.h: Removed knowledge of internals of
233 kernel filehandles (which can change) and defined nfs_fh_size
234 which has variable size
236 * support/nfs/getfh.c: defined getfh_size to use new syscall to
237 get variable sized file handles, and change getfh{,old} to
240 * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
243 * tools/Makefile, tools/nlmtest/nlmtest.c
244 nlmtest.c depended on internel format of file handles, so now
248 2000-03-12 Chip Salzenberg <chip@valinux.com>
249 Neil Brown <neilb@cse.unsw.edu.au>
251 * support/nfs/rpcmisc.c (rpc_init): Share transports.
253 2000-03-13 H.J. Lu <hjl@lucon.org>
255 * etc/redhat/nfsd.init: Updated.
257 * etc/redhat/nfslock.init: Updated.
259 * nfs-utils.spec.in: Updated.
261 * configure.in (VERSION): Set to "0.1.7".
262 * configure: Regenerated.
263 * nfs-utils.spec: Updated.
267 Wed Mar 8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
269 * utils/exportfs/exportfs.c (dump): Included printing of
270 nohide, no_subtree_check, and insecure_locks
272 2000-02-26 Chip Salzenberg <chip@valinux.com>
274 * config.mk.in (INSTALLSUID): Strip ("-s").
275 (INSTALLSCRIPT): Define.
276 * utils/nhfsstone/Makefile: Use it.
278 2000-02-26 Chip Salzenberg <chip@valinux.com>
280 * utils/lockd/lockd.man: Create.
281 * utils/lockd/Makefile: Install it.
282 * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
283 * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
284 * utils/nhfsstone/Makefile: Install the helper scripts and
286 * utils/exportfs/exports.man: Fix typo.
288 2000-02-26 Chip Salzenberg <chip@valinux.com>
290 * support/nfs/xio.c (xungetc): Decrement line number when
291 character to unget is newline. Make first parameter int, so
292 it can distinguish EOF from \377.
293 * support/include/xio.h (xungetc): Adjust prototype.
295 Fri Feb 4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
297 * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
298 * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
299 * utils/exportfs/exports.man: added documentation for no_auth_nlm.
301 This is for supporting a new option introduced in 2.3.42
303 Thu Feb 3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
305 * COPYING: Added. GPL.
307 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
309 * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
310 to get the block size.
312 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
314 * nfs-utils.spec.in: Update ftp site.
316 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
318 * README: Update hostnames.
320 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
322 * configure.in (VERSION): Set to "0.1.6".
323 * configure: Regenerated.
324 * nfs-utils.spec: Updated.
328 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
330 * utils/mountd/auth.c (auth_authenticate_internal): Call
331 xstrdup for hostname before passing it to gethostbyname.
333 * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
336 Sun Dec 19 09:35:01 1999 H.J. Lu <hjl@lucon.org>
338 * README: Update the mailing list address.
340 Sun Dec 19 09:22:28 1999 H.J. Lu <hjl@lucon.org>
342 * configure.in (VERSION): Set to "0.1.5".
343 * configure: Regenerated.
344 * nfs-utils.spec: Updated.
348 Mon Dec 13 13:40:20 1999 H.J. Lu <hjl@lucon.org>
350 * utils/rquotad/hasquota.c (hasquota): Malloc one more char
353 Mon Dec 6 09:42:45 1999 H.J. Lu <hjl@lucon.org>
355 * configure.in (VERSION): Set to "0.1.4".
356 * configure: Regenerated.
357 * nfs-utils.spec: Updated.
361 Mon Dec 6 09:28:07 1999 H.J. Lu <hjl@lucon.org>
363 * nfs-utils.spec.in: New file.
365 * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
367 * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
369 1999-12-04 Chip Salzenberg <chip@valinux.com>
371 * config.mk.in: Use $(CC) as set by configure.
373 1999-12-04 Chip Salzenberg <chip@valinux.com>
375 * rules.mk: Call $(MAKE) with $(MFLAGS).
377 Mon Nov 29 11:17:35 1999 H.J. Lu <hjl@lucon.org>
379 * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
380 IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
382 Mon Nov 29 11:17:35 1999 H.J. Lu <hjl@lucon.org>
384 * nfs-utils.spec (Version): Set to 0.1.3.
386 * configure.in (VERSION): Set to "nfs-utils 0.1.3".
387 * configure: Regenerated.
391 Mon Nov 29 11:15:47 1999 H.J. Lu <hjl@lucon.org>
393 * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
394 (_PATH_DEV_DSK): Likewise.
395 (getquotainfo): Match the mounting point from /etc/mtab
396 instead of calling nfsmount_to_devname ().
398 1999-11-24 Chip Salzenberg <chip@valinux.com>
400 * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
401 to the new port 24 as well as the historical port 100021.
403 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
405 * etc/redhat/nfsd.init (stop): moved exportfs -ua after
406 stopping nfsd to stop spurious ESTALE on server shutdown.
408 Tue Nov 23 10:13:39 1999 Neil Brown <neilb@cse.unsw.edu.au>
410 * support/nfs/exports.c (parseopts): make copy of opt string
411 before 'nul'ing out commas so that
413 # exportfs -o option1,option2 hosta:/fs hostb:/fs
415 applies both options to both exports.
417 Thu Oct 28 12:55:42 1999 H.J. Lu <hjl@lucon.org>
419 * README: Fix a few typos.
421 * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
423 * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
424 * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
425 * tools/rpcgen/rpc_parse.c (get_type): Likewise.
426 (unsigned_dec): Likewise.
427 * tools/rpcgen/rpc_scan.c (symbols): Likewise.
428 * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
430 * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
432 * tools/rpcgen/rpc_parse.c (get_type): Likewise.
433 (unsigned_dec): Likewise.
434 * tools/rpcgen/rpc_scan.c (symbols): Likewise.
435 * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
436 * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
438 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
440 * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
441 * support/nfs/exports.c: added {no_,}subtree_check and changed
443 * utils/exportfs/exports.man: added no_subtree_check and nohide
444 and removed irrelevant stuff from unfsd.
445 * support/export/rmtab.c: rmtab_read didn't quite do the right
446 thing if a pathname from rmtab was a subdirectory of an export-point
448 Tue Oct 26 17:22:40 1999 H.J. Lu <hjl@lucon.org>
450 * README: Updated ftp site.
452 Mon Oct 25 18:12:45 1999 H.J. Lu <hjl@lucon.org>
454 * nfs-utils.spec (Version): Set to 0.1.2.
456 * configure.in (VERSION): Set to "nfs-utils 0.1.2".
457 * configure: Regenerated.
461 Mon Oct 25 18:11:21 1999 H.J. Lu <hjl@lucon.org>
463 * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
464 (auth_authenticate_internal): Check for NULL return on forward
466 (auth_authenticate): Handle "no_forward_dns".
468 Thu Oct 21 16:22:06 1999 H.J. Lu <hjl@lucon.org>
470 * Version 0.1.1 released.
472 * nfs-utils.spec (Version): Set to 0.1.1.
474 * configure.in (VERSION): Set to "nfs-utils 0.1.1".
475 * configure: Regenerated.
479 Mon Oct 18 17:43:29 1999 H.J. Lu <hjl@lucon.org>
481 * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
483 (Provides): Likewise.
485 Mon Oct 18 14:56:22 1999 H.J. Lu <hjl@lucon.org>
487 * Initial version 0.1 released.
489 * configure.in (VERSION): Set to "nfs-utils 0.1".
490 * configure: Regenerated.
492 Mon Oct 18 14:54:57 1999 H.J. Lu <hjl@lucon.org>
494 * utils/mountd/mountd.c (get_exportlist): Cleanup.
496 * utils/exportfs/exportfs.c (unexport_all): Unexport from
497 kernel only if the entry is exported to kernel.
498 (unexportfs): Likewise.
500 Wed Sep 08 16:49:32 1999 Neil Brown <neilb@cse.unsw.edu.au>
502 1/ utils/mountd/rmtab.c::mountlist_list
504 This routine stats the rmtab file to see if it has changed. It
505 if has, it cleans up it's old copy of the data. But it still
506 always re-read the file, thus returning multiple copies of the
507 data on consecutive calls without intervening changes.
508 "Showmount -a" didn't show this as it appears to sort/unique the
509 data, but 'strace showmount -a' showed that the size of the
510 datagram that it received grew.
512 I moved the getrmtabent loop inside the mtime test.
514 2/ utils/exportfs/exportfs.c
516 Many routines used the m_path field of m_export instead of
518 According to the comment in nfslib.h, m_path should only
519 be used when processing a mount request (i.e. in mountd)
520 where the mountpoint may be a subdirectory of the export point.
522 I changed all occurances of m_path to e_path
525 3/ utils/exportfs/exportfs.c:main
527 extra arguments are not meaningful with -a or -r, but
528 exportfs accepted them and then ignored the -a/-r, expect that
529 -r would still unexport everything first.
531 I generate an error if there are extra args and f_all
533 4/ utils/exportfs/exportfs.c:main
534 extract dump out as a special case.
536 5/ utils/exportfs/exportfs.c
537 made f_reexport a local variable.
540 6/ utils/exportfs/exportfs.c:main,exportall
542 support/export/rmtab.c
543 only mayexport on newly created entries, don't set xtabent at all
545 7/ support/include/nfslib.h
547 add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
549 8/ support/export/xtab.c
551 xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
555 9/ support/export/xtab.c
557 xtab_mount_read now sets m_exported, and NOT
558 xtabent and mayexport
560 removed the append arguement from xtab_write as it was
563 added is_export flag to xtab_write similar to xtab_read
564 if is_export, only write entries with m_xtabent or m_addxtab
565 if !is_export, only write entries with m_exported
567 10/ support/export/export.c::export_allowed_internal
569 added test for exp->m_mayexport, as the export tree
570 may have entries that are no longer allowed to be exported,
571 and so shouldn't caused deduced exported by rmtab_read
573 11/ utils/exportfs/exportfs.c::main
574 error checking of flags.
576 12/ utils/exportfs/exportfs.c
578 total rewrite of export and unexport logic.
580 - build an exportslist of valid exports, based on
581 current etab file and arguments,
582 - read rmtab to instantiate relevant wild card entries
583 - read etab to find out what is currently exported
584 - synchronise intention with reality
585 - write out etab and xtab
588 discard the m_addxtab flag
589 add m_changed flag so we know what to report in exportfs
591 14/ utils/mountd/auth.c:auth_authenticate
593 the value returned by gethostbyaddr was trusted.
595 It now follows this with a call to gethostbyname
596 and checks that the address is in the list.
598 15/ support/export/nfsctl.c::cltsetup,expsetup
600 force client names to lowercase as kernel is
603 16/ quietened a few compiler warnings
605 17/ support/export/client:client_lookup
607 look for pre-existing client with same name before creating
610 18/ support/include/exportfs.h
612 The ordering of the MCL_* enum was:
613 ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
615 I moved ANONYMOUS to the end.
617 The ordering is significant when an export entry is being searched for to
618 match a given address. There are two problems with ANONYMOUS being first.
620 1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
621 then the ro case will always be found first and the privileged hosts won't get
623 2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
624 export entry for the specific host, and writes it to xtab.
625 When another request comes from the same host, the ANONYMOUS entry is found again,
626 before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
627 again. If causes bloat in xtab.
629 Putting ANONYMOUS at the end reflects it's nature as a catch-all
631 19/ utils/exportfs/exportfs.man
632 many updates to the man page to reflect changes to the code
634 -----------------------
640 - allow exportfs to modify rmtab file
641 - make sure kernel never gets two clients with same IP address
642 - possible kernel should reject
643 - needs to be some way to lookup client in kernel by IP address
644 - maybe get kernel to do case-insensitive comparisons on client names
645 - remove unused clients from kernel
647 - change etab to xtab and xtab to xtab.active
649 - timestamp and/or statd-stamp in rmtab for removing old entries.
651 Mon Oct 18 11:48:07 1999 H.J. Lu <hjl@lucon.org>
653 * linux-nfs: New directory.
654 * linux-nfs/ChangeLog: Moved from ..
655 * linux-nfs/INSTALL: Likewise.
656 * linux-nfs/KNOWNBUGS: Likewise.
657 * linux-nfs/NEW: Likewise.
658 * linux-nfs/README: Likewise.
659 * linux-nfs/THANKS: Likewise.
660 * linux-nfs/TODO: Likewise.
662 * Starting from knfsd 1.4.7.