c28477cad7fb04d3183e260418aaf442e72b7ac8
[nfs-utils.git] / ChangeLog
1 2000-07-03  H.J. Lu <hjl@lucon.org>
2
3         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
4         stop to ensure all clients can still access the server
5         before it is shutdown.
6
7 2000-06-28  Chip Salzenberg  <chip@valinux.com>
8
9         * utils/statd/log.c (log): Call syslog with format string.
10
11 2000-06-27  H.J. Lu <hjl@lucon.org>
12
13         * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
14         instead of OPEN_MAX.
15
16 2000-06-27  H.J. Lu <hjl@lucon.org>
17
18         * README: Updated.
19
20 2000-06-27  H.J. Lu <hjl@lucon.org>
21
22         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
23         startup to ensure all existing clients are exported.
24
25         * configure.in (VERSION): Set to "0.1.8.2".
26         * configure: Regenerated.
27         * nfs-utils.spec: Updated.
28
29 2000-06-06  H.J. Lu <hjl@lucon.org>
30
31         * configure.in (VERSION): Set to "0.1.8.1".
32         * configure: Regenerated.
33         * nfs-utils.spec: Updated.
34
35 2000-06-06  H.J. Lu <hjl@lucon.org>
36
37         * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
38         to "struct sockaddr_in *" for glibc 2.2.
39         (mount_umnt_1_svc): Likewise.
40         (mount_umntall_1_svc): Likewise.
41         (mount_export_1_svc): Likewise.
42         (mount_exportall_1_svc): Likewise.
43         (mount_pathconf_2_svc): Likewise.
44         (get_rootfh): Likewise.
45
46 2000-06-04  H.J. Lu <hjl@lucon.org>
47
48         * etc/redhat/nfs.init: Fix a typo in comment.
49
50 2000-05-31  H.J. Lu <hjl@lucon.org>
51
52         * configure.in (VERSION): Set to "0.1.8".
53         * configure: Regenerated.
54         * nfs-utils.spec: Updated.
55
56         * README: Updated.
57
58 2000-05-31  H.J. Lu <hjl@lucon.org>
59
60         * configure.in (VERSION): Set to "0.1.7.5".
61         * configure: Regenerated.
62         * nfs-utils.spec: Updated.
63
64         * support/include/nfslib.h (exportent): Add a new field,
65         r_count, to count the number of mounts from a client.
66         (getrmtabent): Take a new argument for position in file.
67         (putrmtabent): Likewise.
68         (fgetrmtabent): Likewise.
69         (fputrmtabent): Likewise.
70         * support/nfs/rmtab.c (getrmtabent): Handle the new argument
71         for position in file.
72         (fgetrmtabent): Likewise.
73         (putrmtabent): Likewise.
74         (fputrmtabent): Likewise.
75
76         * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
77         field, r_count.
78
79         * support/export/rmtab.c (rmtab_read): Pass NULL as the new
80         argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
81         and fputrmtabent ().
82         * utils/mountd/rmtab.c (mountlist_add): Likewise.
83         (mountlist_del): Likewise.
84         (mountlist_del_all): Likewise.
85         (mountlist_list): Likewise.
86
87         * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
88         for the existing entry and initialize "r_count" to 1.
89         (mountlist_del): Decrement "r_count".
90
91 2000-05-18  H.J. Lu <hjl@lucon.org>
92
93         * configure.in (VERSION): Set to "0.1.7.4".
94         * configure: Regenerated.
95         * nfs-utils.spec: Updated.
96
97 2000-05-18  H.J. Lu <hjl@lucon.org>
98
99         * etc/redhat/nfs.init (restart): Just do stop and start.
100
101 2000-05-09  Jay Weber <jweber@valinux.com>
102
103         * utils/rquotad/hasquota.c: added support for ext3 recognition
104         in rquotad.
105         * utils/rquotad/mntent.h: Likewise.
106
107 2000-05-01  H.J. Lu <hjl@lucon.org>
108
109         * configure.in (VERSION): Set to "0.1.7.3".
110         * configure: Regenerated.
111         * nfs-utils.spec: Updated.
112
113 2000-05-01  H.J. Lu <hjl@lucon.org>
114
115         * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
116         mounting poins in /etc/fstab.
117
118 2000-05-01  H.J. Lu <hjl@lucon.org>
119
120         * configure.in (VERSION): Set to "0.1.7.2".
121         * configure: Regenerated.
122         * nfs-utils.spec: Updated.
123
124 2000-05-01  H.J. Lu <hjl@lucon.org>
125
126         * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
127         to check for the mounting point.
128
129 2000-04-29  Chip Salzenberg  <chip@valinux.com>
130             Neil Brown  <neilb@cse.unsw.edu.au>
131
132         * Really re-use RPC ports.
133           (Fixes earlier patch.  Sorry, Neil.)
134
135 2000-04-26  H.J. Lu <hjl@lucon.org>
136
137         * configure.in (VERSION): Set to "0.1.7.1".
138         * configure: Regenerated.
139         * nfs-utils.spec: Updated.
140
141 2000-04-26  H.J. Lu <hjl@lucon.org>
142
143         * etc/redhat/nfslock.init: Check if lockd exits before killing
144         it.
145
146 2000-04-25  H.J. Lu <hjl@lucon.org>
147
148         * README: Require util-linux-2.10f-mount-rpc.patch for mount.
149
150 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
151
152         * support/nfs/exports.c (parsesquash): Correctly set the
153         return pointer.
154
155 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
156
157         * support/include/nfs/nfs.h: Removed knowledge of internals of
158              kernel filehandles (which can change) and defined nfs_fh_size
159              which has variable size
160         
161         * support/nfs/getfh.c: defined getfh_size to use new syscall to
162              get variable sized file handles, and change getfh{,old} to
163              use nfs_fh_size        
164         
165         * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
166              NFSv3 file handles
167
168         * tools/Makefile, tools/nlmtest/nlmtest.c
169              nlmtest.c depended on internel format of file handles, so now
170              doesn't work.
171
172         
173 2000-03-12  Chip Salzenberg  <chip@valinux.com>
174             Neil Brown  <neilb@cse.unsw.edu.au>
175
176         * support/nfs/rpcmisc.c (rpc_init): Share transports.
177
178 2000-03-13 H.J. Lu <hjl@lucon.org>
179
180         * etc/redhat/nfsd.init: Updated.
181
182         * etc/redhat/nfslock.init: Updated.
183
184         * nfs-utils.spec.in: Updated.
185
186         * configure.in (VERSION): Set to "0.1.7".
187         * configure: Regenerated.
188         * nfs-utils.spec: Updated.
189
190         * README: Updated.
191
192 Wed Mar  8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
193
194         * utils/exportfs/exportfs.c (dump): Included printing of
195            nohide, no_subtree_check, and insecure_locks
196
197 2000-02-26  Chip Salzenberg  <chip@valinux.com>
198
199         * config.mk.in (INSTALLSUID): Strip ("-s").
200         (INSTALLSCRIPT): Define.
201         * utils/nhfsstone/Makefile: Use it.
202
203 2000-02-26  Chip Salzenberg  <chip@valinux.com>
204
205         * utils/lockd/lockd.man: Create.
206         * utils/lockd/Makefile: Install it.
207         * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
208         * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
209         * utils/nhfsstone/Makefile: Install the helper scripts and
210           all four man pages.
211         * utils/exportfs/exports.man: Fix typo.
212
213 2000-02-26  Chip Salzenberg  <chip@valinux.com>
214
215         * support/nfs/xio.c (xungetc): Decrement line number when
216         character to unget is newline.  Make first parameter int, so
217         it can distinguish EOF from \377.
218         * support/include/xio.h (xungetc): Adjust prototype.
219
220 Fri Feb  4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
221
222         * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
223         * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
224         * utils/exportfs/exports.man: added documentation for no_auth_nlm.
225
226         This is for supporting a new option introduced in 2.3.42
227
228 Thu Feb  3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
229
230         * COPYING: Added. GPL.
231
232 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
233
234         * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
235         to get the block size.
236
237 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
238
239         * nfs-utils.spec.in: Update ftp site.
240
241 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
242
243         * README: Update hostnames.
244
245 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
246
247         * configure.in (VERSION): Set to "0.1.6".
248         * configure: Regenerated.
249         * nfs-utils.spec: Updated.
250
251         * README: Updated.
252
253 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
254
255         * utils/mountd/auth.c (auth_authenticate_internal): Call
256         xstrdup for hostname before passing it to gethostbyname.
257
258         * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
259         of strdup.
260
261 Sun Dec 19 09:35:01 1999  H.J. Lu <hjl@lucon.org>
262
263         * README: Update the mailing list address.
264
265 Sun Dec 19 09:22:28 1999  H.J. Lu <hjl@lucon.org>
266
267         * configure.in (VERSION): Set to "0.1.5".
268         * configure: Regenerated.
269         * nfs-utils.spec: Updated.
270
271         * README: Updated.
272
273 Mon Dec 13 13:40:20 1999  H.J. Lu <hjl@lucon.org>
274
275         * utils/rquotad/hasquota.c (hasquota): Malloc one more char
276         for '/'.
277
278 Mon Dec  6 09:42:45 1999  H.J. Lu <hjl@lucon.org>
279
280         * configure.in (VERSION): Set to "0.1.4".
281         * configure: Regenerated.
282         * nfs-utils.spec: Updated.
283
284         * README: Updated.
285
286 Mon Dec  6 09:28:07 1999  H.J. Lu <hjl@lucon.org>
287
288         * nfs-utils.spec.in: New file.
289
290         * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
291
292         * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
293
294 1999-12-04  Chip Salzenberg  <chip@valinux.com>
295
296         * config.mk.in: Use $(CC) as set by configure.
297
298 1999-12-04  Chip Salzenberg  <chip@valinux.com>
299
300         * rules.mk: Call $(MAKE) with $(MFLAGS).
301
302 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
303
304         * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
305         IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
306
307 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
308
309         * nfs-utils.spec (Version): Set to 0.1.3.
310
311         * configure.in (VERSION): Set to "nfs-utils 0.1.3".
312         * configure: Regenerated.
313
314         * README: Updated.
315
316 Mon Nov 29 11:15:47 1999  H.J. Lu <hjl@lucon.org>
317
318         * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
319         (_PATH_DEV_DSK): Likewise.
320         (getquotainfo): Match the mounting point from /etc/mtab
321         instead of calling nfsmount_to_devname ().
322
323 1999-11-24  Chip Salzenberg  <chip@valinux.com>
324
325         * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
326         to the new port 24 as well as the historical port 100021.
327
328 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
329
330         * etc/redhat/nfsd.init (stop): moved exportfs -ua after
331         stopping nfsd to stop spurious ESTALE on server shutdown.
332         
333 Tue Nov 23 10:13:39 1999  Neil Brown <neilb@cse.unsw.edu.au>
334
335         * support/nfs/exports.c (parseopts): make copy of opt string
336         before 'nul'ing out commas so that
337
338         # exportfs -o option1,option2 hosta:/fs hostb:/fs
339
340         applies both options to both exports.
341
342 Thu Oct 28 12:55:42 1999  H.J. Lu <hjl@lucon.org>
343
344         * README: Fix a few typos.
345
346         * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
347         of long.
348         * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
349         * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
350         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
351         (unsigned_dec): Likewise.
352         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
353         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
354
355         * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
356         instead of LONG.
357         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
358         (unsigned_dec): Likewise.
359         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
360         * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
361         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
362
363 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
364
365         * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
366         * support/nfs/exports.c: added {no_,}subtree_check and changed
367           crossmnt to nohide
368         * utils/exportfs/exports.man: added no_subtree_check and nohide
369           and removed irrelevant stuff from unfsd.
370         * support/export/rmtab.c: rmtab_read didn't quite do the right
371           thing if a pathname from rmtab was a subdirectory of an export-point
372
373 Tue Oct 26 17:22:40 1999  H.J. Lu <hjl@lucon.org>
374
375         * README: Updated ftp site.
376
377 Mon Oct 25 18:12:45 1999  H.J. Lu <hjl@lucon.org>
378
379         * nfs-utils.spec (Version): Set to 0.1.2.
380
381         * configure.in (VERSION): Set to "nfs-utils 0.1.2".
382         * configure: Regenerated.
383
384         * README: Updated.
385
386 Mon Oct 25 18:11:21 1999  H.J. Lu <hjl@lucon.org>
387
388         * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
389         (auth_authenticate_internal): Check for NULL return on forward
390         DNS lookup.
391         (auth_authenticate): Handle "no_forward_dns".
392
393 Thu Oct 21 16:22:06 1999  H.J. Lu <hjl@lucon.org>
394
395         * Version 0.1.1 released.
396
397         * nfs-utils.spec (Version): Set to 0.1.1.
398
399         * configure.in (VERSION): Set to "nfs-utils 0.1.1".
400         * configure: Regenerated.
401
402         * README: Updated.
403
404 Mon Oct 18 17:43:29 1999  H.J. Lu <hjl@lucon.org>
405
406         * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
407         to knfsd-clients.
408         (Provides): Likewise.
409
410 Mon Oct 18 14:56:22 1999  H.J. Lu <hjl@lucon.org>
411
412         * Initial version 0.1 released.
413
414         * configure.in (VERSION): Set to "nfs-utils 0.1".
415         * configure: Regenerated.
416
417 Mon Oct 18 14:54:57 1999  H.J. Lu <hjl@lucon.org>
418
419         * utils/mountd/mountd.c (get_exportlist): Cleanup.
420
421         * utils/exportfs/exportfs.c (unexport_all): Unexport from
422         kernel only if the entry is exported to kernel.
423         (unexportfs): Likewise.
424
425 Wed Sep 08 16:49:32 1999  Neil Brown <neilb@cse.unsw.edu.au>
426
427 1/ utils/mountd/rmtab.c::mountlist_list
428
429      This routine stats the rmtab file to see if it has changed.  It
430      if has, it cleans up it's old copy of the data. But it still
431      always re-read the file, thus returning multiple copies of the
432      data on consecutive calls without intervening changes.
433      "Showmount -a" didn't show this as it appears to sort/unique the
434      data, but 'strace showmount -a' showed that the size of the
435      datagram that it received grew.
436
437      I moved the getrmtabent loop inside the mtime test.
438
439 2/ utils/exportfs/exportfs.c
440    
441      Many routines used the m_path field of m_export instead of
442      e_path.
443      According to the comment in nfslib.h, m_path should only
444      be used when processing a mount request (i.e. in mountd)
445      where the mountpoint may be a subdirectory of the export point.
446
447      I changed all occurances of m_path to e_path
448
449
450 3/ utils/exportfs/exportfs.c:main
451
452       extra arguments are not meaningful with -a or -r, but
453       exportfs accepted them and then ignored the -a/-r, expect that
454       -r would still unexport everything first.
455
456       I generate an error if there are extra args and f_all
457
458 4/ utils/exportfs/exportfs.c:main
459      extract dump out as a special case.
460
461 5/ utils/exportfs/exportfs.c
462      made f_reexport a local variable.
463
464
465 6/ utils/exportfs/exportfs.c:main,exportall
466
467     support/export/rmtab.c
468        only  mayexport on newly created entries, don't set xtabent at all
469
470 7/ support/include/nfslib.h
471
472       add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
473
474 8/ support/export/xtab.c
475
476       xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
477       else from xtab
478
479
480 9/ support/export/xtab.c
481
482       xtab_mount_read now sets m_exported, and NOT
483         xtabent and mayexport
484
485       removed the append arguement from xtab_write as it was
486         never used.
487
488       added is_export flag to xtab_write similar to xtab_read
489         if is_export, only write entries with m_xtabent or m_addxtab
490         if !is_export, only write entries with m_exported
491      
492 10/ support/export/export.c::export_allowed_internal
493
494       added test for exp->m_mayexport, as the export tree
495         may have entries that are no longer allowed to be exported,
496         and so shouldn't caused deduced exported by rmtab_read
497
498 11/ utils/exportfs/exportfs.c::main
499         error checking of flags.
500
501 12/ utils/exportfs/exportfs.c
502
503         total rewrite of export and unexport logic.
504         We now:
505         -  build an exportslist of valid exports, based on
506            current etab file  and arguments,
507         -  read rmtab to instantiate relevant wild card entries
508         -  read etab to find out what is currently exported
509         -  synchronise intention with reality
510         -  write out etab and xtab
511
512 13/  various
513         discard the m_addxtab flag
514         add m_changed flag so we know what to report in exportfs
515
516 14/ utils/mountd/auth.c:auth_authenticate
517
518         the value returned by gethostbyaddr was trusted.
519
520         It now follows this with a call to gethostbyname
521         and checks that the address is in the list.
522
523 15/ support/export/nfsctl.c::cltsetup,expsetup
524
525         force client names to lowercase as kernel is
526         sensitive to case
527
528 16/ quietened a few compiler warnings
529
530 17/ support/export/client:client_lookup
531
532      look for pre-existing client with same name before creating
533         a new one.
534
535 18/ support/include/exportfs.h
536
537      The ordering of the MCL_* enum was:
538         ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
539
540      I moved ANONYMOUS to the end.
541
542      The ordering is significant when an export entry is being searched for to 
543         match a given address.  There are two problems with ANONYMOUS being first.
544
545         1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
546            then the ro case will always be found first and the privileged hosts won't get
547            their privilege
548         2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
549            export entry for the specific host, and writes it to xtab.
550            When another request comes from the same host, the ANONYMOUS entry is found again, 
551            before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
552            again.  If causes bloat in xtab.
553
554       Putting ANONYMOUS at the end reflects it's nature as a catch-all
555
556 19/ utils/exportfs/exportfs.man
557         many updates to the man page to reflect changes to the code
558
559 -----------------------
560
561
562
563 TODO:
564
565 - allow exportfs to modify rmtab file
566 - make sure kernel never gets two clients with same IP address
567     - possible kernel should reject
568     - needs to be some way to lookup client in kernel by IP address
569 - maybe get kernel to do case-insensitive comparisons on client names
570 - remove unused clients from kernel
571
572 - change etab to xtab and xtab to xtab.active
573
574 - timestamp and/or statd-stamp in rmtab for removing old entries.
575
576 Mon Oct 18 11:48:07 1999  H.J. Lu <hjl@lucon.org>
577
578         * linux-nfs: New directory.
579         * linux-nfs/ChangeLog: Moved from ..
580         * linux-nfs/INSTALL: Likewise.
581         * linux-nfs/KNOWNBUGS: Likewise.
582         * linux-nfs/NEW: Likewise.
583         * linux-nfs/README: Likewise.
584         * linux-nfs/THANKS: Likewise.
585         * linux-nfs/TODO: Likewise.
586
587         * Starting from knfsd 1.4.7.