Remove some warnings that were introduced by commit 6ca440c
[nfs-utils.git] / ChangeLog
1 Author: Steinar H. Gunderson <sgunderson@bigfoot.com>
2 Date:  Wed Sep 13 22:23:23 CEST 2006
3
4     Fix -n option to mountd
5
6     The getopt_long() option string in mountd was having a spurious
7     colon after the 'n', leading to the short form of --no-tcp not
8     being usable (expecting a parameter, contrary to the long form
9     and the documentation). Fix.
10     
11 Author: Steinar H. Gunderson <sgunderson@bigfoot.com>
12 Date:  Wed Sep 13 22:19:39 CEST 2006
13
14     Document sensitive gids
15
16     The exports(8) man page already mentions that some non-root users,
17     such as bin, might be just as sensitive as root, and that root_squash
18     thus might not be as effective as one could hope for. Update the
19     documentation to also mention that this could be the case for non-root
20     groups, such as staff.
21
22 Author: NeilBrown <neilb@cse.unsw.edu.au>
23 Date:  Mon Aug  7 16:35:03 AEST 2006
24
25     Set version to 1.0.10
26         Note: 1.0.10 should be used in preference to
27          1.0.9 especially with kernels 2.6.18 and later
28          otherwise 'rpc.nfsd N' won't work to change the
29          number of threads after nfsd has been started.
30         
31 Author: NeilBrown <neilb@cse.unsw.edu.au>
32 Date:  Mon Aug  7 16:35:03 AEST 2006
33
34     support/nfs/nfssvc.c:  if any ports are already open,
35            don't try to open any more.  
36          This means that once nfsd is running
37              rpc.nfsd  X
38          will just change the number of threads, not the
39          ports in use.
40
41 Author: NeilBrown <neilb@cse.unsw.edu.au>
42 Date:  Mon Aug  7 14:01:35 AEST 2006
43
44     Remove warning if neither 'sync' or 'async' present.
45     Add warning of neither 'subtree_check' or 'no_subtree_check' present.
46         
47 commit 7194d7d6320736c14f40d31c3738d40f3119ead5
48 Author: Kevin Coffman <kwc@citi.umich.edu>
49 Date:   Sat Jul 8 10:01:40 2006 +1000
50
51     Use uid/gid of -1 to indicate the export's anonuid/anongid should be used
52     
53     Kernel routine nfsd_setuser() in fs/nfsd/auth.c checks for the
54     value -1 and defaults the credential's fsuid/fsgid to the
55     correct anonuid/anongid values for the given export.  We should
56     be passing this value (-1) down when a name mapping cannot be found.
57     Thanks to J. Bruce Fields <bfields@fieldses.org> for the reference.
58     
59     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
60     Acked-by: J. Bruce Fields <bfields@fieldses.org>
61
62 commit b0604c623f7a98c6061dff19988722d3ae848bd7
63 Author: Kevin Coffman <kwc@citi.umich.edu>
64 Date:   Sat Jul 8 09:58:03 2006 +1000
65
66     Change svcgssd_LDFLAGS to match gssd_LDFLAGS
67
68 commit 99414bd3eecf93f23c378d3bb3d45bc98f364abc
69 Author: Neil Brown <neilb@suse.de>
70 Date:   Sat Jul 8 09:41:58 2006 +1000
71
72     Disable building/installing mount.nfs by default.
73     
74     mount.nfs does not yet support 'user' option and some others.
75     To make it support this we need to make it setuid-root, and
76     some security isses need to be resolved before that can be done
77     safely.
78
79 commit b0c3cbfee702c019dab0a22557bbf38e24dfcee1
80 Author: Steve Dickson <steved@redhat.com>
81 Date:   Sat Jul 8 09:35:02 2006 +1000
82
83     Call nfssvc_versbits before nfssvc_setfds
84     
85     nfssvc_versbits() has to be called before nfssvc_setfds()
86     for the version processing to work correctly
87
88 commit 26fff911b21943f20e3937ae3f2d29a1572d2309
89 Author: Neil Brown <neilb@suse.de>
90 Date:   Thu Jul 6 13:05:11 2006 +1000
91
92     Only use -rpath for Kerberos libs when actually needed.
93     
94     Avoid usage of -rpath is generally safer, and is required by Debian policy.
95
96 commit 28a7603b719f8d35bf22fd3018b610b489fec78f
97 Author: Neil Brown <neilb@suse.de>
98 Date:   Thu Jul 6 12:28:33 2006 +1000
99
100     Use 65534 instead of -2 in svcgssd_proc.c
101     
102     as this is more consistant across achitectures.
103
104 commit 904de920ea4da3ad5604c417f0d784fcda83ed2a
105 Author: Shankar Anand <shanand@novell.com>
106 Date:   Tue Jul 4 08:50:56 2006 -0600
107
108     This patch adds code to nfsstat to read /proc/net/rpc/nfsd for nfsv4 server statistics and print them.
109     
110     Submitted by: Shankar Anand <shanand@novell.com>
111
112 commit 2179c112b9a386ca3d51d0e19390ddfadd745030
113 Author: Steinar H. Gunderson <sesse@debian.org>
114 Date:   Wed Jul 5 15:55:45 2006 +1000
115
116     Fix typos in various man pages.
117
118 commit 3419e37500dfd19cb2c246260dbd2bc0ee4704d4
119 Author: Steinar H. Gunderson <sesse@debian.org>
120 Date:   Wed Jul 5 15:51:30 2006 +1000
121
122     Use 65534 for anon uid/gid rather than -2
123     
124     This is more consistant across platforms.
125
126 commit 65735eef8a9441901245f6047edafc50f2d97c97
127 Author: Greg Banks <gnb@chook.melbourne.sgi.com>
128 Date:   Wed Jul 5 13:37:21 2006 +1000
129
130     Update rpcdebug to know about new 2.6 debug flags.  Added
131     a manpage and installed rpcdebug (in sbindir).
132
133 commit 23b3a9d0284d78cb6bf96b8cd44e9a4662ff60ae
134 Author: Greg Banks <gnb@chook.melbourne.sgi.com>
135 Date:   Wed Jul 5 12:22:45 2006 +1000
136
137     Ignore new generated files.
138
139 commit 89053f3f440b629911cb994a293d5be73bb79bf9
140 Author: Greg Banks <gnb@chook.melbourne.sgi.com>
141 Date:   Wed Jul 5 12:20:20 2006 +1000
142
143     Add rquota.h to BUILT_SOURCES so rquotad builds on the first try.
144
145 commit 66f9d8251c92124e46a209c47e5c0f7d3a0c4e6e
146 Author: Neil Brown <neilb@suse.de>
147 Date:   Wed Jul 5 11:06:09 2006 +1000
148
149     Generate rquota_xdr.c and rquota.h from rquota.x
150     
151     rquota_svc.c is still by-hand as it contains alot of extras.
152     These should really be moved to rquota_server.c
153
154 commit 9f5b40b7a68fe0a2648565ecbd4b08bf60287130
155 Author: Neil Brown <neilb@suse.de>
156 Date:   Wed Jul 5 10:41:03 2006 +1000
157
158     Remove some files that old, unused, unneeded.
159     
160         deleted:  support/export/keys.c
161         deleted:  support/include/rpcdispatch.h
162         deleted:  support/include/rpcsec.h
163         deleted:  support/include/version.h
164         deleted:  support/include/ypupdate.h
165         deleted:  support/nfs/clients.c
166         deleted:  support/nfs/keytab.c
167         deleted:  support/nfs/ypupdate_xdr.c
168         deleted:  support/rpc/include/Makefile.am
169         deleted:  tools/rpcdebug/neat_idea.c
170         deleted:  utils/mountd/mount_xdr.c
171         deleted:  utils/rquotad/pathnames.h
172
173 commit fbb1602bbd34cbe89dd55ca6eaaa19432237db1d
174 Author: Neil Brown <neilb@suse.de>
175 Date:   Wed Jul 5 10:30:51 2006 +1000
176
177     Avoid error creating an existing symlink
178     
179     Just remove the link first.
180
181 commit 0bc710a5a2b695039613a917e009dba3552ab1cc
182 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
183 Date:   Mon Jul 3 18:33:54 2006 -0400
184
185     Don't depend on Kerberos headers when checking librpcsecgss in configure
186     
187     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
188     
189     Older versions of MIT Kerberos are missing an OID definition, causing
190     the configure checks for librpcsecgss to fail.  We shouldn't be depending
191     on their libraries during the configure.
192
193 commit 5bfa10c94c44f082dc211a5fb431e2202ea9bb35
194 Author: Greg Banks <gnb@melbourne.sgi.com>
195 Date:   Tue Jul 4 18:33:56 2006 +1000
196
197     Eliminate warnings from code generated by rpcgen
198     
199      - unused variable 'buf'
200         - emit a declaration for `buf' on demand.
201      - unused variable 'i'
202         - declare i immediately before use
203      - unused value from IXDR_PUT_
204         - cast to (void)
205      - type-punned pointer reference
206         - cast to (void*) first :-(
207
208 commit acae444246635ec2ca8990d53e685c9062d73091
209 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
210 Date:   Mon Jul 3 18:34:43 2006 -0400
211
212     Handle mapping failure from get_ids.
213     
214     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
215     
216     Temporary patch to do default mapping if we get an error while trying to
217     map a gss principal to the appropriate uid/gid.  This currently returns
218     hardcoded values.  This may be correct, or we may need to try and figure
219     out the correct values to match the anonuid/anongid for the export.
220
221 commit 1f1b05a65ef3dc6597c7bc1e2a38f38ae95bf230
222 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
223 Date:   Mon Jul 3 18:34:38 2006 -0400
224
225     Properly report errors in readline() function
226     
227     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
228     
229     Change message priorities for errors and debug messages.
230
231 commit ee664fd246d77010af13fb557407c612752a5ea8
232 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
233 Date:   Mon Jul 3 18:34:33 2006 -0400
234
235     Change default buffer size increment for readline()
236     
237     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
238     
239     The readline routine expects much smaller messages than we are passing.
240     Change the default initial allocation and increment value from 128
241     to 2048.  This saves many calls to realloc().
242
243 commit 3da69ce5c4fac5677e91aa20e60750ab8de2ab97
244 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
245 Date:   Mon Jul 3 18:34:27 2006 -0400
246
247     Clean up the printerr() logging function.
248     
249     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
250     
251     Update the printerr() function to:
252     
253     1) Determine whether we'll print the message before going to all the
254        work of formatting it.
255     2) Don't just toss away messages that are too long for the buffer.
256        Print what we can and give an indication of the truncation with
257        "..." at the end.
258     3) Use a single buffer rather than two.
259     4) Messages either go to syslog (with level ERR) or stderr.  Don't
260        send some messages to syslog level DEBUG.
261
262 commit 0b2a5b574c7ffd99aa3226d36e1d261826405625
263 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
264 Date:   Mon Jul 3 18:34:21 2006 -0400
265
266     Use setfsuid() rather than seteuid() while creating contexts
267     
268     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
269     
270     As suggested by Olaf Kirch <okir@suse.de>, use setfsuid() rather than
271     seteuid() when creating a gss context.  This prevents users from using
272     credentials that do not belong to them, while also preventing them from
273     doing things like killing, renicing, or changing the priority of the
274     gssd process while it is processing the context creation.
275
276 commit 0f899e6d862994ffb437ae73e087c4a21ab59723
277 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
278 Date:   Mon Jul 3 18:34:16 2006 -0400
279
280     Limit acquire_cred call to to Kerberos only
281     
282     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
283     
284     Specify that the acquire_cred call should only be concerned with returning
285     Kerberos credentials since this is Kerberos-only functionality.
286
287 commit 3829bb90e764cd72c0009cb32a8b39d0fab89d81
288 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
289 Date:   Mon Jul 3 18:34:10 2006 -0400
290
291     Check that the gssapi library is usable early on.
292     
293     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
294     
295     Do a call to determine mechanisms supported by the gssapi library early.
296     This allows us to discover early in case the gssapi library is somehow
297     misconfigured.  We can bail out early and give a meaningful message
298     rather than getting errors on each attempt at a context negotiation.
299
300 commit 119c3e9aafe84c0f7c2846c46ad5e6f5eeece0da
301 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
302 Date:   Mon Jul 3 18:34:05 2006 -0400
303
304     Fix problems with 64-bit big-endian machines
305     
306     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
307     
308     Correct the definition of mech_used in the gss context to use gss_OID_desc.
309     This fixes problems on 64-bit machines when referencing the OID.
310     
311     Also updates write_buffer function to use u_int rather than size_t when
312     doing calculations.
313
314 commit c3f05548d7b3d586e7eebbdde9339617e88530f3
315 Author: kwc@citi.umich.edu <kwc@citi.umich.edu>
316 Date:   Mon Jul 3 18:33:59 2006 -0400
317
318     Define CFLAGS for gss_clnt_send_err compile
319     
320     Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
321     
322     Add CFLAGS to make sure we find and use the correct gssapi.h when
323     building gss_clnt_send_err
324
325 commit 4e9ed06f8f8a0cd9f34a6830c0ff14344a528042
326 Author: Greg Banks <gnb@melbourne.sgi.com>
327 Date:   Mon Jul 3 15:59:54 2006 +1000
328
329     Use socklen_t some more to avoid warnings.
330
331 commit 6c40236820fda8960af891f41aa9d53f8bbe50a2
332 Author: Greg Banks <gnb@melbourne.sgi.com>
333 Date:   Mon Jul 3 15:39:41 2006 +1000
334
335     Fix warning about pointer signedness differing.
336
337 commit 3bf702b1a914b3867117b74d519c55fa68f4dc28
338 Author: Greg Banks <gnb@melbourne.sgi.com>
339 Date:   Mon Jul 3 15:17:34 2006 +1000
340
341     Include the right header to get xmalloc() declaration.
342
343 commit 940c7c304d4a43c00c27529cdddc7c87db6eef87
344 Merge: b90d201... a503848...
345 Author: Greg Banks <gnb@melbourne.sgi.com>
346 Date:   Mon Jul 3 14:21:48 2006 +1000
347
348     Merge branch 'master' of git://linux-nfs.org/nfs-utils
349
350 commit b90d201551aaa712c011c3d5de900fad714a26a6
351 Author: Greg Banks <gnb@melbourne.sgi.com>
352 Date:   Tue Jun 27 21:30:18 2006 +1000
353
354     Comment out unused variable.
355
356 commit 33beb42d3d2cd13a82ddbbdc4275d2a048030ae3
357 Author: Greg Banks <gnb@melbourne.sgi.com>
358 Date:   Tue Jun 27 21:22:59 2006 +1000
359
360     Comment out the decades-old SCCS id strings from the original Sun
361     distribution.  They cause compile warnings, there is no longer any
362     reason to try to build them into the binaries, and gcc seems to be
363     eliding some of them anyway.
364
365 commit 3172063ead6b99611d049a59938808a6358f48a4
366 Author: Greg Banks <gnb@melbourne.sgi.com>
367 Date:   Tue Jun 27 20:55:07 2006 +1000
368
369     Detect if glibc provides socklen_t and use that instead
370     of int in those cases which generate compile warnings,
371     e.g. the last argument of recvfrom().
372
373 commit a09eeb36c2c45151b9bb89f5015da0c584799716
374 Author: Greg Banks <gnb@melbourne.sgi.com>
375 Date:   Tue Jun 27 20:28:02 2006 +1000
376
377     Replace the deprecated sigblock() with more modern
378     signal functions to avoid compile warnings.
379
380 commit 93608a52655abf5ac23404c4b5cc05fe575a9c04
381 Author: Greg Banks <gnb@melbourne.sgi.com>
382 Date:   Thu Jun 22 18:01:10 2006 +1000
383
384     Fix a number of the easier compile warnings: unused variables,
385     unused labels, constness, signedness.
386
387 commit a07343ee0da4f0974a23b673ae1b0d482c7426a1
388 Author: Greg Banks <gnb@melbourne.sgi.com>
389 Date:   Thu Jun 22 17:31:24 2006 +1000
390
391     Detect presence of nfs4_set_debug() in libnfsidmap and
392     don't bother calling it if it's missing.
393
394 commit dcfcb677b39443b6392db3234fd50498bc158507
395 Author: Greg Banks <gnb@melbourne.sgi.com>
396 Date:   Thu Jun 22 17:19:17 2006 +1000
397
398     Remove useless m4 quoting around args to PKG_CHECK_MODULES().
399
400 commit 24d303ffae686192bda0a5996e8590219dcc82e7
401 Author: Greg Banks <gnb@melbourne.sgi.com>
402 Date:   Thu Jun 22 17:16:19 2006 +1000
403
404     Do m4 quoting of AC_MSG_ERROR() and AC_MSG_WARN() as
405     the autoconf people intended.  This avoids errors in
406     autoconf on SLES10.
407
408 commit 66a699d953727d3a992cc09ed5304b83d661a737
409 Author: Greg Banks <gnb@melbourne.sgi.com>
410 Date:   Thu Jun 22 16:51:44 2006 +1000
411
412     Add a .gitignore file to suppress the files generated
413     during autogen, configure and build.
414 commit 49b164d978ee6266df7ba0bd335cb34337e7c381
415 Author: Steve Dickson <SteveD@redhat.com>
416 Date:   Mon Jul 3 09:52:00 2006 +1000
417
418     Allow rpc.nfsd to suppress tcp or udp, and listen on a specific address.
419     
420      -T       - will suppressing listening for TCP connection.
421      -U       - will suppress UDP
422      -H host  - will only listen on that local address
423      -p port  - will listen on that port.
424     
425     This requires kernel patches which will hopefully be in 2.6.19 and possibly some
426     earlier test and vendor kernels.
427
428 commit fde2ae7794047a698feeaf17963d690a1e660a80
429 Author: Steve Dickson <SteveD@redhat.com>
430 Date:   Mon Jun 26 15:23:19 2006 +1000
431
432     Add support for suppressing different NFS versions.
433     
434     e.g.  -N 2
435     means that NFSv2 won't be supported, just v3 and v4 (if the kernel
436     supports them).
437
438 commit 0523fd513c6baa8dbf45d1a7afea2044262aeb3d
439 Author: Neil Brown <neilb@suse.de>
440 Date:   Fri Jun 23 17:10:56 2006 +1000
441
442     Further coverity related cleanups.
443     
444     Greg Banks suggested some variations, particularly improved
445     use of xmalloc/xstrdup functions.  Thanks.
446
447 commit 2e075a16da4963f54cd556403ca9e15a68de27fd
448 Author: Neil Brown <neilb@suse.de>
449 Date:   Fri Jun 23 14:38:33 2006 +1000
450
451     Fix various issues discovered by Coverity
452     
453     Thanks to Michael Halcrow for finding them.
454
455 commit ff42180930a444cea7f19e55e2cd2bfe6d3f108b
456 Author: Neil Brown <neilb@suse.de>
457 Date:   Fri Jun 23 14:06:00 2006 +1000
458
459     Fix comment parsing (again)
460     
461     Bruce Fields noticed that I broke comment parsing...
462     
463     as xskip() is always called before xgettok(), that is the
464     best place to put xskipcomment and still maintain proper
465     semantics of xskip and xgettok.
466
467 commit bec968578d97eabc63ae4a12bdeb2b33f40baec4
468 Author: Amit Gud <agud@redhat.com>
469 Date:   Thu Jun 22 12:51:04 2006 -0400
470
471     Change mount configure option to --enable-mount
472     
473     Change the configure option from --with-mount to --enable-mount.
474     
475     Signed-off-by: Amit Gud <agud@redhat.com>
476     Signed-off-by: Steve Dickson <steved@redhat.com>
477
478 commit ceeffc1f76485b4084b2c61f4ff3c40e4f51c3b8
479 Author: Amit Gud <gud@eth.net>
480 Date:   Thu Jun 22 12:49:24 2006 -0400
481
482     Merge nfsmount.x and mount.x into mount.x
483     
484     
485     Merge utils/mount/nfsmount.x and support/export/mount.x into support/export/mount.x.
486     
487     Signed-off-by: Amit Gud <agud@redhat.com>
488     Signed-off-by: Steve Dickson <steved@redhat.com>
489
490 commit c2db41e8abb6ddc9d03a0c91c6db043fa0f85a8f
491 Author: Neil Brown <neilb@suse.de>
492 Date:   Fri Jun 23 13:37:08 2006 +1000
493
494     Try to make sure that clientid used for NFSv4 is reliable.
495     
496     We need to give an IP address to identify this client to the
497     server.
498     The current code does a gethostbyname of the hostname. One
499     some systems this returns 127.0.0.1 or similar, which is not useful.
500     
501     Instead, use getsockname of the sock used to connect to the server
502     to confirm that the server is working.  This gives the address on the
503     interface that was chosen to talk to that server, which is the
504     best address we can find (if there is a NAT in the way, it might
505     still not work, but in that case there is nothing we can do).
506
507 commit 11d34d11153df198103a57291937ea9ff8b7356e
508 Author: Greg Banks <gnb@melbourne.sgi.com>
509 Date:   Wed Jun 14 22:48:10 2006 +1000
510
511     multiple threads for mountd
512     
513     
514     How about the attached patch against nfs-utils tot?  It
515     adds a -t option to set the number of forked workers.
516     Default is 1 thread, i.e. the old behaviour.
517     
518     I've verified that showmount -e, the Ogata mount client,
519     and a real mount from Linux and IRIX boxes work with and
520     without the new option.
521     
522     I've verified that you can manually kill any of the workers
523     without the portmap registration going away, that killing
524     all the workers causes the manager process to wake up and
525     unregister, and killing the manager process causes the
526     workers to be killed and portmap unregistered.
527     
528     I've verified that all the workers have file descriptors
529     for the udp socket and the tcp rendezvous socket, that
530     connections are balanced across all the workers if service
531     times are sufficiently long, and that performance is
532     improved by that parallelism, at least for small numbers
533     of threads.  For example, with 60 parallel MOUNT calls
534     and a testing patch to make DNS lookups take 100 milliseconds
535     time to perform all mounts (averaged over 5 runs) is:
536     
537     num         elapsed
538     threads             time (sec)
539      ------             ----------
540     1           13.125
541     2            6.859
542     3            4.836
543     4            3.841
544     5            3.303
545     6            3.100
546     7            3.078
547     8            3.018
548     
549     Greg.
550     --
551     Greg Banks, R&D Software Engineer, SGI Australian Software Group.
552     I don't speak for SGI.
553
554 commit db96d056578338dd1bb0371dc84638973c187ec6
555 Author: Neil Brown <neilb@suse.de>
556 Date:   Fri Jun 16 13:16:09 2006 +1000
557
558     Remove some temporary files that shouldn't be in 'git'.
559     
560         deleted:  compile
561         deleted:  config.guess
562         deleted:  config.sub
563         deleted:  depcomp
564         deleted:  install-sh
565         deleted:  ltmain.sh
566         deleted:  missing
567
568 commit 82b53188aaffad0e237461f8f1274794166feb3a
569 Author: Neil Brown <neilb@suse.de>
570 Date:   Fri Jun 16 13:09:26 2006 +1000
571
572     Add support to auto-generate nfsmount* files for new nfs.mount program
573
574 commit 4e2bae795e5eaf9922f0b966ab5df64994c836a2
575 Author: Amit Gud <agud@redhat.com>
576 Date:   Mon Jun 12 19:08:27 2006 -0400
577
578     Move NFS mount code from util-linux to nfs-utils - part 2
579     
580     Adds the support functions needed for mount and umount. This
581     functionality will someday be available in the form of shared mount
582     library.
583     
584     Signed-off-by: Amit Gud <agud@redhat.com>
585     Signed-off-by: Steve Dickson <steved@redhat.com>
586
587 commit a0520fa1a41bd33815b331b660b4545f2723495c
588 Author: Amit Gud <agud@redhat.com>
589 Date:   Mon Jun 12 19:06:36 2006 -0400
590
591     Move NFS mount code from util-linux to nfs-utils - part 1
592     
593     Adds the mount directory and the code to mount and umount the NFS file system.
594     
595     Signed-off-by: Amit Gud <agud@redhat.com>
596     Signed-off-by: Steve Dickson <steved@redhat.com>
597
598 2006-06-05 NeilBrown <neilb@suse.de>
599         - Remove debian/ at request of Debian maintainer "Steinar H. Gunderson" <sesse@debian.org>
600         - fix_exportfs_with_multiple_matches.diff: Fixes a problem with exportfs -o
601           and multiple entries of the same type for the same patch that matches
602           a given client. The entire rationale and problem description can be found
603           at http://bugs.debian.org/245449 (fumihiko kakuma <kakmy@mvh.biglobe.ne.jp>)
604         - escape hashes in exports
605           Makes sure any # signs in the printed-out exports file are
606           escaped (as with quotes, spaces, etc.), so they won't be treated
607           as a comment when they're read back in again.
608                 "Steinar H. Gunderson" <sesse@debian.org>
609         - Only treat '#' as starting a comment when at the start of a
610           token, otherwise '#' in filenames cannot be read.
611                 NeilBrown
612         - document sync option:
613           Document the 'sync' option in the exports(5) man page -- ATM
614           only the 'async' option is documented, which is not very
615           symmetric. :-)  "Steinar H. Gunderson" <sesse@debian.org>
616         - mountd state directory:
617           Let the user select (via a new parameter) the path to the NFS
618           state directory for mountd, to match the statd functionality.
619                  "Steinar H. Gunderson" <sesse@debian.org>
620         - fix nhfsrun signal:
621           nhfsrun is supposed to be able to be signalled with SIGUSR1, but
622           the signal trapped is number 30, which is something else
623           entirely (SIGPWR). This patch simply changes it to say "USR1",
624           which gets it right no matter what the value is.
625                  "Steinar H. Gunderson" <sesse@debian.org>
626         - Minor man page tidy up
627         
628 2006-04-12 NeilBrown <neilb@suse.de>
629         Remove **/Makefile.in, aclocal.m4, configure, and
630          support/include/config.h.in from source control
631         These are auto autogenerated by
632           aclocal -I aclocal ; autoheader ; automake ; autoconf
633         
634 2006-04-12 NeilBrown <neilb@suse.de>
635         utils/statd/rmtcall.c: use HAVE_IFADDRS_H to control compilation
636         of code using ifaddrs.h
637         configure.in: test for present of ifaddrs.h
638
639         Old glibc's don't have ifaddrs.h
640         
641 2006-06-12 Amit Gud <agud@redhat.com>
642         Added the mount functionality from util-linux.
643         Added --without-mount configure option.
644
645 2006-04-12 NeilBrown <neilb@suse.de>
646         Set version to 1.0.8, 
647         aclocal -I aclocal ; autoheader ; automake ; autoconf
648
649 2006-04-10 NeilBrown <neilb@suse.de>
650         Various paranoia checks:
651         gssd_proc.c: pass max_field sizes to sscanf to avoid buffer
652           overflow
653         svcgssd_proc.c: range_check name.length, to ensure name.length+1
654           doesn't wrap
655         idmapd.c(nfsdcb): make sure at least one byte is read before
656          zeroing the last byte that was read, otherwise memory corruption
657          is possible.
658
659         Found by SuSE security audit.
660         
661 2006-04-10 "Kevin Coffman" <kwc@citi.umich.edu>
662         Check for sufficient version of librpcsecgss and libgssapi
663         in configure.in
664
665 2006-04-10 "Kevin Coffman" <kwc@citi.umich.edu>
666         Update aclocal/tcp-wrappers.m4 to define HAVE_LIBWRAP and
667         HAVE_TCP_WRAPPERS as appropriate.       
668
669 2006-04-10 NeilBrown <neilb@suse.de>
670         Add checking for innetgr back to configure.in
671         
672 2006-04-10 kwc@citi.umich.edu
673         Update calls to gss_export_lucid_sec_context()
674         
675         Change the calls to gss_export_lucid_sec_context() to match the corrected
676         interface definition in libgssapi-0.9.
677         
678 2006-04-10 kwc@citi.umich.edu
679         Plug memory leaks in svcgssd
680         
681         Various memory leaks in the svcgssd context processing are eliminated.
682         
683 2006-04-10 kwc@citi.umich.edu
684         Fix memory leak of the AUTH structure on context negotiations
685         
686         Free AUTH structure after completing context negotiation and sending
687         context information to the kernel.
688         
689 2006-04-10 kwc@citi.umich.edu
690         Fix support/include/config.h.in such as would be done be running autoheader.
691         
692 2006-03-28 NeilBrown <neilb@suse.de>
693         1.0.8-pre3, aclocal/autoconf/automake
694         
695 2006-03-28 kwc@citi.umich.edu
696         Use PKGCONFIG to locate gssapi and rpcsecgss header files
697         
698         Instead of having separate copies of the gssapi and rpcsecgss
699         header files, or depending on the Kerberos gssapi header,
700         locate the headers now installed with the libgssapi and librpcsecgss
701         libraries.
702         
703         Remove local copies of the gssapi and rpcsecgss header files.
704         
705         This depends on the configure_use_autotools patch.
706         
707 2006-03-28 kwc@citi.umich.edu
708         Add debugging to better detect negotiation of enctype not supported by kernel
709         
710         Print debugging message indicating the type of encryption keys being sent
711         down to the kernel.  This should make it easier to detect cases where
712         unsupported encryption types are being negotiated.
713         (really this time)
714         
715 2006-03-28 kwc@citi.umich.edu
716         
717         Don't close and reopen all pipes on every DNOTIFY signal.
718         
719         From: Vince Busam <vbusam@google.com>
720         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
721         
722         Don't unnecessarily close and re-open all pipes after every DNOTIFY
723         signal.  These unnecessary closes were triggering a kernel Oops.
724         Original patch modified to correct segfault when unmounting last
725         NFSv4 mount.
726         
727 2006-03-28 kwc@citi.umich.edu
728         Add option to specify directory to search for credentials cache files
729         
730         
731         From: Vince Busam <vbusam@google.com>
732         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
733         
734         Add command line option to specify which directory should be searched
735         to find credentials caches.
736         (really this time)      
737         
738 2006-03-28 kwc@citi.umich.edu
739         Must still use knowledge of the glue context for pre-1.4 versions of MIT krb5
740         
741         We need to get access to the internal krb5 context pointer for
742         older (pre-1.4) versions of MIT Kerberos.  We get a pointer to
743         the gss glue's context.  Get the right pointer before accessing
744         the context information.
745         (really this time)
746         
747 2006-03-28 kwc@citi.umich.edu
748         
749         Remove unused groups variable from get_ids() which was causing a compiler warning.
750         (really this time)
751         
752 2006-03-28 kwc@citi.umich.edu
753         Update krb5 code to use glue routine lucid context functions
754         
755         
756         
757         The gssd code should not know about the glue layer's context structure.
758         A previous patch added gss_export_lucid_sec_context() and
759         gss_free_lucid_sec_context() functions to the gssapi glue layer.
760         Use these functions rather than calling directly to the Kerberos
761         gssapi code (which requires the Kerberos context handle rather
762         than the glue's context handle).
763         
764         (really this time)
765         
766 2006-03-28 kwc@citi.umich.edu
767         
768         Separate out context handling code for MIT Kerberos and SPKM3
769         into their own file.
770         (Really this time)
771         
772 2006-03-28 Kevin Coffman <kwc@citi.umich.edu>
773         User-selectable idmapping cache lifetime
774         
775         Read and process new configuration option, Cache-Expiration, and use
776         the value to determine how long idmapping entries are cached.
777         (Really this time)
778         
779 2006-03-27 NeilBrown <neilb@suse.de>
780         1.0.8-rc3
781
782 2006-03-27 kwc@citi.umich.edu
783         Add debugging to better detect negotiation of enctype not supported by kernel
784
785         Print debugging message indicating the type of encryption keys being sent
786         down to the kernel.  This should make it easier to detect cases where
787         unsupported encryption types are being negotiated.
788         
789 2006-03-27
790         Don't close and reopen all pipes on every DNOTIFY signal.
791         
792         Don't unnecessarily close and re-open all pipes after every DNOTIFY
793         signal.  These unnecessary closes were triggering a kernel Oops.
794         Original patch modified to correct segfault when unmounting last
795         NFSv4 mount.
796         
797 2006-03-27
798         Add option to specify directory to search for credentials cache files
799         
800         Add command line option to specify which directory should be searched
801         to find credentials caches.
802         
803 2006-03-27 kwc@citi.umich.edu
804         Must still use knowledge of the glue context for pre-1.4 versions of MIT krb5
805         
806         We need to get access to the internal krb5 context pointer for
807         older (pre-1.4) versions of MIT Kerberos.  We get a pointer to
808         the gss glue's context.  Get the right pointer before accessing
809         the context information.
810         
811 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
812         Remove unused variable causing compile warning
813         
814         Remove unused groups variable from get_ids() which was causing a compiler warning.
815         
816 2006-03-27 kwc@citi.umich.edu
817         Update krb5 code to use glue routine lucid context functions
818         
819         The gssd code should not know about the glue layer's context structure.
820         A previous patch added gss_export_lucid_sec_context() and
821         gss_free_lucid_sec_context() functions to the gssapi glue layer.
822         Use these functions rather than calling directly to the Kerberos
823         gssapi code (which requires the Kerberos context handle rather
824         than the glue's context handle).
825         
826 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
827         Separate out context handling code for MIT Kerberos and SPKM3
828         into their own file.
829         
830 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
831         Consolidate gssd and svcgssd since they share much code
832         
833         Remove directory svcgssd which was only created because the old
834         build system could not handle building two daemons in the same
835         directory.  This eliminates build complications since gssd and
836         svcgssd also share many source files.
837         
838         This patch effectively removes the utils/svcgssd directory, moving
839         all its files to the utils/gssd directory.  File utils/gssd/Makefile.am
840         is modified with directions to build both gssd and svcgssd.
841         
842 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
843         Use PKGCONFIG to locate gssapi and rpcsecgss header files
844         
845         Instead of having separate copies of the gssapi and rpcsecgss
846         header files, or depending on the Kerberos gssapi header,
847         locate the headers now installed with the libgssapi and librpcsecgss
848         libraries.
849         
850         Remove local copies of the gssapi and rpcsecgss header files.
851         
852         This depends on the configure_use_autotools patch.
853         
854 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
855         User-selectable idmapping cache lifetime
856         
857         Read and process new configuration option, Cache-Expiration, and use
858         the value to determine how long idmapping entries are cached.
859         
860 2006-03-27 Steve Dickson <steved@redhat.com>
861         Set libnfsidmap library debugging level and logging function.
862
863         This patch adds a call to the new libnfsidmap library function 
864         nfs4_set_debug(), which defines the verbosity level libnfsidmap
865         should use as well as the logging function.
866
867 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
868         Don't close file descriptor until after calling event_del().
869
870         Delete event processing for a file descriptor before closing it.
871         This was causing hangs when used in combination with libevent-1.0b.
872
873 2006-03-27 kwc@citi.umich.edu
874         Find krb5-config on SuSE 10
875
876         SuSE 10.0 puts krb5-config in yet another obscure location.
877         Look for it there and use it if found.
878
879 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
880         Update debian package information.
881
882 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
883         Install /var/lib/nfs files using DESTDIR and add rpcsec headers to distribution
884
885         Add "$(DESTDIR)" to the paths for the "$(statedir)" files so they are
886         put in the right place when DESTDIR is defined.
887
888         Add the rpcsec header files to EXTRA_DIST list.
889
890 2005-12-21 NeilBrown <neilb@suse.de>
891         *utils/rquotad/rquota_server.c: Detect and handle both old-style
892         (2.4) and new-style(2.6) quotactl.
893         *utils/gssd/gss_destroy_cred: remove dependence on "head -1" which
894         might need to be "head -n 1"
895         *utils/nhfsstone/nhfsrun: convert "tail -1" to "tail -n 1"
896         
897 2005-12-20 Kevin Coffman <kwc@citi.umich.edu> NeilBrown <neilb@suse.de>
898         Substantial Makefile/configure rewrite.  
899         Run 'autogen.sh' to create "Makefile.in" etc.
900
901         Also add -D_FILE_OFFSET_BITS=64 to CPP_FLAGS so that mountd can
902         stat and export files larger than 2Gig.
903
904         1.0.8-rc2 released
905
906 2005-12-20 NeilBrown <neilb@suse.de>
907         support/nfs/exports.c(getexportent): is a null host name is given,
908         replace it with '*' so we have a non-empty host name for messages
909         etc.
910         utils/exportfs/exportfs.man: Correct documentation about default
911         export options.
912
913 2005-12-20 Kevin Coffman <kwc@citi.umich.edu>
914         utils/gssd/gssd_proc.c(create_auth_rpc_client): Use service
915           portion of clp->servicename rather than hard-coding "nfs". 
916
917 2005-12-16 NeilBrown <neilb@suse.de>
918         1.0.8-rc1 released
919
920 2005-12-16 Kevin Coffman <kwc@citi.umich.edu>
921         svcgssd needs -lnfs when using new function closeall().
922         
923         ---
924         Remove unused argument from nfsdopen()
925         
926         After previous changes, the arguement to nfsdopen() has become unused.
927         Remove it.
928         
929         ---
930         Fix idmapd error reporting after call to mydaemon()
931         
932         After call to mydaemon(), calls to err[x] and warn[x] result
933         in the message going nowhere.  Change to using idmapd_*
934         versions of these routines which write to syslog.
935         Original problem reported by Vincent Roqueta <vincent.roqueta@ext.bull.net>
936         with a different patch.
937         
938         ---
939         Don't add @domain to names that cannot be mapped.
940         
941         Per rfc3530 section 5.8: when unable to map a uid to a name, don't
942         add the @domain to the "nobody" name.
943         
944         ---
945         Fix idmapd for systems where sizeof(uid_t)!=4 and sizeof(gid_t)!=4
946         
947         Fix conversion cases where uid_t and gid_t are not 32 bits.
948         
949         ---
950         Don't segfault because mech wasn't filled in because of an error
951         
952         From Kevin Coffman <kwc@citi.umich.edu>
953         
954         Initialize mech to null to avoid segfault if an error occurs
955         and mech is never returned from gss_accept_sec_context.
956         
957         ---
958         Remove use of static buffer in do_downcall
959         
960         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
961         
962         Dynamically allocate buffer of the correct length rather
963         than using fixed-length buffer.
964         
965         ---
966         Print better error message if rpc routine clnt_create() fails.
967         
968         ---
969         Print appropriate error messages after gss calls.
970         
971         Print gss error messages after calls to gss functions, even if they
972         are for Kerberos only.
973         
974         ---
975         Update gssd and svcgssd to use the new gss mech glue lucid context calls.
976         
977         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
978         
979         Update gssd and svcgssd to use a lucid context from SPKM3 to send down
980         to the kernel.
981         Update gssd and svcgssd to use the new gss mech glue lucid context calls.
982         Add configure check to see if spkm3 support is available.
983         
984         ---
985         Add support for CONTINUE_NEEDED return from gss_accept_sec_context.
986         
987         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
988         
989         Add CONTINUE_INIT handling to svcgssd. Store the partially complete spkm
990         context handle in the out_handle of CONTINUE_INIT messages so that it is
991         returned in the in_handle of subsequent messages.
992         
993         ---
994         Replace GSS_C_ANON_FLAG with GSS_C_MUTUAL_FLAG.
995         
996         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
997         
998         Specify GSS_C_MUTUAL_FLAG rather than GSS_C_ANON_FLAG for
999         spkm3.
1000         
1001         NOTE: we need a way to pass the appropriate value rather than
1002         hard-coding this flag.
1003         
1004         ---
1005         Increase size of rpc send/receive buffers
1006         
1007         Change the clnt_create() to use routines which allow us to set the
1008         send and receive buffer size.  This is needed for larger spkm3
1009         exchanges including certificate chains.
1010         
1011         This has the side-effect of skipping the portmap call since
1012         we specify the port (by specifying the service) when getting
1013         the server's address information.
1014         
1015         ---
1016         Define _LINUX_QUOTA_VERSION to 1
1017         
1018         The rquotad code is written against the "old" kernel quota interface.
1019         Fedora Core 4 is the only platform known to check for different
1020         versions, so this should not have any affect on other platforms
1021         and fixes the build for FC4.
1022         
1023         ---
1024
1025 2005-12-12 Usha Ketineni <ketineni@us.ibm.com>, NeilBrown <neilb@suse.de>
1026         *support/nfs/rpcmisc.c(rpc_init): is stdin is a socket, but
1027         is already connected (as e.g. from ssh), don't assume we
1028         were started by inetd.
1029
1030 2005-11-03 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
1031         *utils/idmapd/idmaps.c:
1032         
1033         I've recently updated the nfs-utils in rawhide with the
1034         latest patches from the SourceForge CVS tree and the
1035         latest CITI patches (1.0.7-4).
1036         
1037         In testing these patches, I notice that when the server was started
1038         and a SIGHUP was sent to rpc.idmapd to open the nfs4.nametoid/channel
1039         and nfs4.idtoname/channel files, the second open (the nfs4.idtoname one)
1040         failed because the path (i.e. ic->ic_path) was NULL.
1041         
1042         Now the reason the ic_path was NULL was because it was never set
1043         during the call to nfsdopen(). nfsdopen() looks like:
1044         nfsdopen(char *path)
1045         {
1046              return ((nfsdopenone(&nfsd_ic[IC_NAMEID], IC_NAMEID, path) == 0 &&
1047              nfsdopenone(&nfsd_ic[IC_IDNAME], IC_IDNAME, path) == 0) ? 0 
1048                : -1);
1049         }
1050
1051         Note: the call to nfsdopenone() is how the path is set in each nfsd_ic[]
1052         entry and nfsdopen() is only called once.
1053         
1054         So when rpc.idmap comes up and the first call to nfsdopenone() fails
1055         (because the server is not running) the path in nfsd_ic[IC_IDNAME] is
1056         never filled in because the second nfsdopenone() never happen...
1057         
1058         Now there was a CITI patche (idmapd_revert_fix_reopen_on_sighup.dif)
1059         that tried to address this problem but did seem to fix it.. The
1060         attached patch fix the problem by initializing both nfsd_ic[IC_IDNAME]
1061         and nfsd_ic[IC_NAMEID] structures with the needed info...
1062         I figured since there is no way of changing these paths or filenames
1063         by command line args, why not just set them during compile time...
1064         so that's what this patch does.
1065         
1066         This patch also changes how nfsdreopen_one() handles the
1067         case where the event has already been set. Unlike the CITI
1068         patch (idmapd_revert_fix_reopen_on_sighup.dif) which just
1069         just does not register the second event, my patch deletes
1070         the old event and the registers the new one. It just seems like
1071         the right thing to do since a SIGHUP means a new server just
1072         started so we probably should create a new event as well...
1073         
1074         steved.
1075         
1076 2005-10-14 NeilBrown <neilb@suse.de>
1077         *utils/mountd/cache.c(nfsd_fh): Understand type 2 and type 3
1078         filesystem identifiers, which are used with device numbers
1079         That don't fit into 16 bits.
1080
1081 2005-10-07 Olaf Kirch <okir@suse.de>
1082         * utils/mountd/mountd.c(get_exportlist): Without this patch,
1083         showmount -e would sometimes display host names that should really
1084         have been subsumed under a wildcard entry.
1085
1086         The problem was that the code in get_exportlist would always
1087         skip the next group entry after removing one FQDN.
1088
1089 2005-10-06 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
1090         * support/nfs/export.c: don't warn about sync/async for readonly
1091         exports
1092         * support/nfs/closeall.c: new file with function to close all 
1093         file descriptors from a give minimum upwards.
1094         * nfsd/mountd/statd/idmapd/gsssvcd: use closeall.
1095         * utils/mountd/mountd.c: Eliminate 3 syslog message that are
1096         logged for successful events. 
1097         * utils/mountd/mountd.c: make sure the correct hostname is used in
1098         the SM_NOTIFY message that is sent from a rebooted server which
1099         has multiple network interfaces. (bz 139101)
1100
1101         Details can be found in:
1102         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139101
1103
1104         *utils/idmapd/idmapd.c:Fixed subscripting problem in idmapd (bz
1105         158188) This fixes the following problem: 
1106          rpc.idmapd: nfsdreopen: Opening '' failed: errno 2 (No such file or directory)
1107
1108          Details can be found in:
1109          https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158188
1110
1111         *utils/statd/statd.c(drop_privs): clear st_gid as well as st_uid
1112         of stat fails.
1113         *utils/statd/svc_run.c(my_svc_run): remove usage of undocumented
1114         %m format specifier.
1115         *utils/statd/montor.c(sm_mon_1_svc): as above
1116         *support/nfs/xlog.c(xlog): Changed xlog to use LOG_INFO instead of
1117         LOG_DEBUG so debug messages will appear w/out any config changes
1118         to syslog.conf. 
1119
1120         
1121 2005-09-02 Mike Frysinger <vapier@gentoo.org>
1122         * utils/rquotad/rquota_server.c(getquotainfo): use explicit
1123         struture-member copying rather than memcpy, as the element
1124         sizes are the same on all architectures.
1125
1126 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
1127         Add option to set rpcsec_gss debugging level (if available)
1128
1129         Changes to allow gssd/svcgssd to build when using Hiemdal Kerberos
1130         libraries.  Note that there are still run-time issues preventing
1131         this from working when shared libraries for libgssapi and librpcsecgss
1132         are used.
1133         
1134 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
1135         Remove the rpcsec_gss code and rely on an external library instead.
1136
1137 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
1138         *utils/mountd/mountd.c:
1139         mountd currently always returns AUTH_NULL and AUTH_SYS as the
1140         allowable flavors in mount replies.  We want it to also return gss
1141         flavors when appropriate. For now as a hack we just have it always
1142         return the KRB5 flavors as well. 
1143
1144         *utils/mountd/cache.c:
1145         
1146         When attempting to mount an NFSv4 pseudofilesystem (fsid=0) and the
1147         actual exported directory does not exist on the server, rpc.mountd
1148         doesn't check the directory exists (when fsidtype=1, i.e. using fsid,
1149         but does check for fsidtype=0, i.e. using dev/ino).  The non-existent
1150         exported directory path with fsid=0 is written to the kernel via
1151         /proc/net/rpc/nfsd.export/channel, which leads to path_lookup() to
1152         return ENOENT (seems appropriate).  Unfortunately, the new_cache
1153         approach ignores errors returned when writing via the channel file so
1154         that particular error is lost and the mount request is silently ignored.
1155         
1156         Assuming it doesn't make sense to revamp the new_cache/up-call method to
1157         not ignore returned errors, it seems appropriate to fix the case where
1158         rpc.mountd doesn't check for the existence of an exported directory with
1159         fsid= semantics.  The following patch does this by moving the stat() up
1160         so it is done for both fsidtype's.  I'm not certain whether the other
1161         tests need to be executed for fsidtype=1, but it doesn't appear to hurt
1162         [Not exactly true: the comparison of inode numbers caused problems so
1163         now it's kept for fsidtype=0 only].
1164         
1165         Would it be also desirable to log a warning for every error, if any,
1166         returned by a write to any of the /proc/net/rpc/*/channel files which
1167         would otherwise be ignored (maybe under a debug flag)?
1168
1169         * gssd/mountd/svcgssd: Changes gssd, svcgssd, and mountd to ignore a
1170         SIGHUP rather than dying.
1171
1172         * many: Remove the gssapi code and rely on an external library instead.
1173
1174 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
1175         * utils/exportfs/exports.man: Document the "crossmnt" export export option
1176         * utils/gssd/krb5_util.c: 
1177         Add better debugging and partially revert the function
1178         check for gss_krb5_ccache_name.
1179         
1180         For MIT Kerberos releases up to and including 1.3.1, we *must*
1181         use the routine gss_krb5_ccache_name to get the K5 gssapi code
1182         to use a different credentials cache.
1183         
1184         For releases 1.3.2 and on, we want to use the KRB5CCNAME
1185         environment variable to tell it what to use.
1186         (A problem was reported where 1.3.5 was being used, our
1187         code was using gss_krb5_ccache_name, but the underlying
1188         code continued to use the first (or default?) credentials
1189         cache.  Switching to using the env variable fixed the problem.
1190         I cannot recreate this problem.
1191
1192         *utils/gssd/krb5_util.c:
1193         Andrew Mahone <andrew.mahone@gmail.com> reported that reiser4
1194         always has DT_UNKNOWN.  He supplied patch to move the check
1195         for regular files after the stat() call to correctly find
1196         ccache files in reiser4 filesystem.
1197         
1198         Also change the name comparison so that the wrong file is
1199         not selected when the substring comparison is done.
1200
1201         *utils/gssd/krb5_util.c:
1202         Limit the set of encryption types that can be negotiated by
1203         the Kerberos library to those that the kernel code currently
1204         supports.
1205         
1206         This should eventually query the kernel for the list of
1207         supported enctypes.
1208
1209         *utils/gssd/gss_util.c, utils/svcgssd/svcgssd_main_loop.c:
1210         Print more information in error messages to help debugging failures.
1211
1212         *utils/svcgssd/svcgssd_proc.c: Increase token buffer size and
1213         update error handling so that a response is always sent.
1214
1215         *utils/svcgssd/svcgssd_proc.c: Add support to retrieve
1216         supplementary groups. 
1217         
1218         
1219 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
1220         * configure.in etc
1221         Consolidate some of the Kerberos checking instead of repeating
1222         the same things for MIT and Heimdal.
1223         Also adds more checks to distinguish 32-bit from 64-bit
1224         (mainly for gssapi.h)
1225         Fix svcgssd Makefile so make TOP=../../ works correctly there.
1226         Enable running a modern autoheader.
1227         * utils/gssd/gss_oids.c: Use correct OID value for SPKM-3
1228         * utils/gssd/gss_util.c: Fix build with older MIT releases that do not define GSS_C_NT_HOSTBASED_SERVICE
1229         * utils/gssd/write_bytes.h, support/include/gssapi/gssapi.h:
1230         Length of gss_buffer_desc is a size_t which is 64-bits on a
1231         64-bit machine.  Kernel code expects 32-bit integer for length.
1232         Coerce length value into a 32-bit value when reading from or
1233         writing to the kernel.
1234         Change gssapi.h to use datatype size values obtained from
1235         configure rather than hard-coded values.
1236         * utils/idmapd/idmapd.c: The EV_INIT check here was wrong, and was
1237         causing idmapd to become unresponsive to server requests after
1238         receiving a sighup. 
1239         * utils/idmapd/idmapd.c: Idmapd should flush the server id<->name
1240         caches when its started. 
1241
1242 2005-04-12  G. Allen Morris III <gam3@gam3.net>
1243
1244         * All Makefile: added TOP as needed for easier compile.
1245
1246         * utils/nfsstat/nfsstat.c: added NFS V4 support; added the -m
1247           option; Added -2, -3, and -4 options; changed -a option to -v
1248           option; added long options; changed default output to not
1249           show V2 NFS statistics unless used.
1250
1251         * utils/nfsstat/nfsstat.man: Documented above changes; changed
1252           authors email address; added BUGS section.
1253
1254 2005-04-07  Chip Salzenberg  <chip@pobox.com>
1255
1256         * debian/changelog: Version 1.0.7-2.
1257
1258 2005-04-06  Chip Salzenberg  <chip@pobox.com>
1259
1260         * config.guess, config.sub: Update.
1261
1262         * support/rpc/svc_auth_gss.c (_svcauth_gss): Avoid using a cast as
1263         an lvalue, as it is non-portable.
1264
1265         * support/nfs/exports.c (parseopts): Accept "acl" option to mean
1266         ~NFSEXP_NOACL, and "no_acl" to mean NFSEXP_NOACL.
1267         (putexportent): Report NFSEXP_NOACL as "no_acl", and ~NFSEXP_NOACL
1268         as "acl".
1269         * utils/exportfs/exportfs.c (dump): Report NFSEXP_NOACL as
1270         "no_acl".
1271         * utils/exportfs/exports.man: Document "no_acl".
1272
1273 2005-03-14  NeilBrown <neilb@cse.unsw.edu.au>
1274         Denis Vlasenko <vda@ilport.com.ua>
1275         * support/export/client.c(client_init and client_gettype):
1276         treat N.N.N.N as a special case of MCL_SUBNETWORK instead of 
1277         MCL_FQDN
1278
1279 2005-03-06  G. Allen Morris III <gam3@gam3.net>
1280         * support/nfs/cacheio.c(readline): Could not read lines greater
1281         than 128 bytes. [1157791] 
1282         * utils/exportfs/exports.man: Added a SEE ALSO section and
1283         fixed 2 typos. [1018450]
1284
1285 2005-02-28  Trond Myklebust <trond.myklebust@fys.uio.no>
1286         * utils/statd/rmtcall.c(statd_get_socket): If a port number is
1287         explicitly given, make sure to try to bind to that.
1288         
1289 2005-01-11  Chip Salzenberg  <chip@pobox.com>
1290
1291         * debian/changelog: Version 1.0.7-1.
1292         * debian/nfs-common.default (NEED_IDMAPD, NEED_GSSD):
1293         Disable by default, on advice of upstream.
1294         * debian/nfs-kernel-server.default (NEED_SVCGSSD):
1295         Likewise.
1296
1297         * utils/svcgssd/Makefile (predep): Symbolically link duplicated
1298         source files.
1299         (distclean): Remove symlinks to duplicated files.
1300
1301 2004-12-17 NeilBrown <neilb@cse.unsw.edu.au>
1302         Release 1.0.7
1303
1304         * config.mk, configure.in: update version number, run autoconf
1305         * configure.in: require nfsidmap.h if gss is enabled.
1306         
1307 2004-12-10 NeilBrown <neilb@cse.unsw.edu.au>
1308         Release 1.0.7-pre2
1309         
1310         * config.mk, configure.in: update version number, run autoconf
1311         
1312 2004-12-10 Neil Brown <neilb@cse.unsw.edu.au>
1313         * README : note dependancy on kerberos, libevent, and nfsidmap
1314         * configure.in : fail if --enable-nfsv4 and libevent or
1315         libnfsidmap are missing.
1316         * configuyre.in: improve message if krb5 support is missing
1317         
1318 2004-12-06 Paul Clements <paul.clements@steeleye.com>   
1319         * support/include/ha-callout.h: get return status from waitpid
1320         correctly. 
1321         * support/include/ha-callout.h: don't ignore SIGCHLD while waiting
1322         for a callout to complete.
1323         * utils/statd/statd.c(sigusr): print current start when re-reading
1324         notify list due to SIGUSR1
1325         * utils/statd/svc_run.c(my_svc_run): call change_state when
1326         re-notifying clients.
1327         
1328 2004-12-06 Marc Eshel <eshel@almaden.ibm.com>
1329         * utils/statd/svc_run.c(my_svc_run): allow loop to exit when in
1330         MODE_NOTIFY_ONLY
1331         *utils/statd/rmtcall.c(statd_get_socket): if a hostname is given
1332         to statd with -n, prefer it's IP address to the default for
1333         listening on.
1334         
1335 2004-12-06 Bruce Allan <bwa@us.ibm.com>
1336         * utils/mountd/auth.c(auth_reload)  Clear the "my_client" cache on
1337         an auth_reload to avoid old data getting used.
1338         
1339 2004-12-03 NeilBrown <neilb@cse.unsw.edu.au>
1340         Release 1.0.7-pre1 for testing
1341         
1342         * config.mk, configure.in: update version number, run autoconf
1343         
1344 2004-12-03 Trond Myklebust <trond.myklebust@fys.uio.no>
1345
1346         * utils/statd/statd.c(main): ignore SIGPIPE
1347         
1348 2004-11-22 "J. Bruce Fields" <bfields@fieldses.org>
1349
1350         * tools/rpcdebug/rpcdebug.c: support aliases "nfsdebug" and
1351         "nfsddebug" and update flag names.
1352         * configure.in, nodist/* redhat/* nfs-utils.spec*: remove redhat
1353         specific files (as no-one actually uses them, especially not
1354         redhat), and the nodist /etc files (as they drift out-of-date, and
1355         the debian directory provides a suitable example.
1356         * utils/svcgssd_proc.c(get_ids): fix memory leak
1357         * utils/svcgssd/svcgssd_proc.c: Rely on count of the number of
1358         groups instead of using a special guard value to identify the end
1359         of the list. 
1360         * utils/idmapd/idmapd.c: don't allow Default domain and anon-uid
1361         or -gid to be specified on command line.
1362         * utils/idmapd/idmapd.c: improve error messages
1363         * utils/idmapd/idmapd.c: Reopen nfsd files on sighup.  Allows us
1364         to start up client side only (even when nfsd module not loaded),
1365         and then sighup later after insmodding nfsd module. 
1366         * utils/idmapd/idmapd.c: Make sure we catch all errors on
1367         daemonizing by waiting for child to report succesfull startup
1368         using a pipe. 
1369         * utils/idmapd/idmapd.c: Let libnfsidmapd parse the idmapd.conf
1370         file for the default domain, instead of doing that ourselves.
1371         * utils/gssd/gssd_proc.c: Make sure we get an error when a gssd
1372         downcall fails. 
1373         * utils/gssd/gssd_proc.c: We were forgetting to restore the euid
1374         on certain failures, which meant gssd could get stuck in a state
1375         where it didn't have permissions to read the files in rpc_pipefs
1376         that it needed to. 
1377         * utils/gssd/gssd_proc.c: Use libnfsidmapd to map gss principals
1378         to uids. 
1379         * debian/nfs-kernel-server.default: Document the NEED_SVCGSSD
1380         variable in /etc/default/nfs-kernel-server. 
1381
1382         
1383 2004-11-22 NeilBrown <neilb@cse.unsw.edu.au>
1384
1385         * utils/exportfs/nfsd.man: corrected typo in .BR macro usage -
1386         reported by Eric Raymond
1387         
1388 2004-10-19 "J. Bruce Fields" <bfields@fieldses.org>
1389
1390         * support/gssapi/* support/rpc/* utils/gssd/* utils/svcgssd/* etc
1391         initial support for GSSAPI authentication
1392         
1393 2004-09-15 Neil Brown <neilb@cse.unsw.edu.au>
1394
1395         * utils/statd/monitor.c(sm_unmon_1_svc): is RESTRICTED_STATD, then
1396         check IP address and force my_name to 127.0.0.1 to match 
1397         what happens in sm_mon_1_svc.  This avoid spurious "erroneous
1398         SM_UNMON" messages.
1399         * utils/statd.monitor.c(sm_unmon_all_1_svc): likewise
1400         
1401 2004-09-15 "J. Bruce Fields" <bfields@fieldses.org>     
1402
1403         * Assorted changes to support "gss/*" style authentication
1404         * utils/idmapd: new idmapd daemon for nfsv4 username lookup
1405         
1406 2004-09-06 Trond Myklebust <trond.myklebust@fys.uio.no>
1407         Neil Brown <neilb@cse.unsw.edu.au>
1408
1409         * utils/mountd/auth.c(auth_authenticate_internal): fix
1410         uninitialsed variable problem (causes bad error messages).
1411
1412 2004-09-06 Paul Clements <paul.clements@steeleye.com>
1413         Neil Brown <neilb@cse.unsw.edu.au>
1414
1415         * utils/mountd/mountd.c(main): support --ha-callout (-H) for
1416         specifying a callout program
1417         * utils/mountd/rmtab.c: Call ha_callout on mount/unmount
1418         * utils/statd/monitor.c: Call ha_callout on add/del client
1419         * utils/statd/rmtcall.c: as above
1420         * utils/statd/statd.c: handle --ha-callout (-H)
1421         * utils/statd/svc_run.c: call notify_hosts is we have received a
1422         sighup
1423         * support/include/ha-callout.h: define ha_callout function
1424          
1425         
1426 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
1427         * utils/mountd/cache.c(cache_process_req): clear fd after
1428         processing so as not to confused libc/sunrpc into thinking
1429         it need to do something with that fd.
1430         
1431 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
1432
1433         * debian/nfs-kernel-server.init(start,stop) mount the nfsd
1434         filesystem, if available, before starting nfs services, and 
1435         unmount it afterwards.
1436         * etc/nodist/nfs-server: ditto
1437         * etc/redhat/nfs.init: likewise
1438         * etc/redhat/nfs: add "MOUNT_NFSD" flag to control above.
1439         
1440 2004-06-08 NeilBrown <neilb@cse.unsw.edu.au>
1441
1442         * utils/exportfs/exportfs.c: Don't rmtab_read if new_cache, it
1443           isn't necessary.
1444         * support/nfs/cacheio.c(cache_flush): Change order in which caches
1445           are flushed so that dependancies don't keep things in the cache
1446           too long.
1447         
1448 2004-03-18  Chip Salzenberg  <chip@pobox.com>
1449
1450         * debian/changelog: Version 1.0.6-2.
1451
1452 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
1453         from "J. Bruce Fields" <bfields@fieldses.org>
1454
1455         * utils/mountd/cache.c: call auth_reload to make sure auth data is
1456         current before responding to kernel upcall.
1457         
1458 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
1459         Based on patch from  Greg Banks <gnb@melbourne.sgi.com>
1460
1461         * utils/exportfs/exports.man: Document fsid= option.
1462         
1463 2003-09-15 NeilBrown <neilb@cse.unsw.edu.au>
1464
1465         Release 1.0.6
1466
1467         * rules.mk: Add dep: rule when no OBJS, so "make dep" works in
1468         support/include, and depend in "predep"
1469         * support/export/Makefile, tools/rpcgen/Makefile,
1470         utils/statd/Makefile: add "predep" rule so that "make dep" works.
1471         * Makefile: allow a simple "make" to run ./configure and "make dep"
1472         if needed.
1473         * configure.in, nfs-utils.spec: Update version to 1.0.6
1474         * run autoconf
1475         
1476 2003-09-12  Chip Salzenberg  <chip@pobox.com>
1477
1478         * debian/changelog: Version 1.0.6-1.
1479
1480 2003-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1481
1482         * utils/mountd/mountd.c(main): Impose FD_SETSIZE as an upper limit
1483         for RLIMIT_NOFILE
1484         * utils/statd/statd.c(main): Ditto.
1485
1486            michael <michael@newdream.net> discovered that svc_setreqsize
1487            in glibc can segfault if RLIMIT_NOFILE is bigger than
1488            FD_SETSIZE, so a simple solution is to impose a hard limit.
1489
1490 2003-09-09  Chip Salzenberg  <chip@pobox.com>
1491
1492         * debian/changelog: Version 1.0.5-3.
1493         * support/export/hostname.c (get_reliable_hostbyaddr): Fix crash
1494         on invalid reverse DNS.
1495         * utils/showmount/showmount.c (main): Fix inet_ntoa() parameter.
1496         * tools/rpcgen/rpc_cout.c (print_header): Remove unused vars.
1497         * tools/rpcgen/rpc_parse.c (def_union): Likewise.
1498
1499 2003-08-22  Chip Salzenberg  <chip@pobox.com>
1500
1501         * utils/statd/{log.h,log.c}: Rename log() to note() and L_* to
1502         N_*, to avoid conflict with ISO C built-in log() function.
1503         * utils/statd/*.c: Use note().
1504
1505 2003-08-20  Chip Salzenberg  <chip@pobox.com>
1506
1507         * debian/changelog: Version 1.0.5-2.
1508
1509 2003-08-11 NeilBrown <neilb@cse.unsw.edu.au>
1510
1511         * utils/mountd/cache.c(cache_get_filehandle): close the filehandle
1512         before returning.
1513         
1514 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
1515
1516         * support/include/nfs/export.h, support/nfs/exports.c,
1517         utils/exportfs/exports.c, utils/mountd/mountd.c:  change
1518         NFSEXP_CROSSMNT to NFSEXP_CROSSMOUNT to avoid confusion with older
1519         meaning. Also remove meaningless
1520         NFSEXP_{UIDMAP,KERBEROS,SUNSECURE}
1521         
1522 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
1523
1524         * support/export/xtab.c, support/include/nfslib.h,
1525         support/nfs/cacheio.c, support/nfs/nfssvc.c,
1526         utils/exportfs/exportfs.c, utils/exportfs/exportfs.man,
1527         utils/exportfs/nfsd.man, utils/mountd/cache.c: support
1528         /proc/fs/nfsd/* as a perferred alternate to /proc/fs/nfs/*
1529         (nfs-utils-1.0.5-post2)
1530         
1531 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
1532
1533         * support/nfs/nfsexport.c: open channel file O_WRONLY when
1534         only writing.
1535         * utils/mountd/cache.c: maintain mountlist when new_cache is
1536         active. Also use O_WRONLY for channel files.
1537         * utils/mountd/mountd.h: mountlist_{del,add} now take a host name
1538         rather than an nfs_export.
1539         * utils/mountd/rmtab.c: ditto.
1540         (nfs-utils-1.5.0-post1)
1541         
1542 2003-07-24  Chip Salzenberg  <chip@pobox.com>
1543
1544         * support/nfs/xlog.c (xlog): Revise buffer-overflow fix to
1545         use Debian security team's cleaner approach.
1546         * debian/changelog: Version 1.0.5-1.
1547         * debian/nfs-kernel-server.init: Cosmetic changes.
1548
1549 2003-07-18 NeilBrown <neilb@cse.unsw.edu.au>
1550
1551         Release 1.0.5:
1552          1.0.4 was a bit of a brown-paper-bag-release because of the extra
1553          'free' in auth.c.  So I'm releasing this just a few days later.
1554
1555         * support/nfs/cacheio.c(cache_flush): Correct test for 'open
1556         failed'
1557         * utils/exportfs/exportfs.c(main): If "-f" given as lone option,
1558         check if new_cache is enabled, error if not, flush and exit if it
1559         is. 
1560         * utils/exportfs/exportfs.man: Explain -f option and explain the
1561         two different modes that exportfs can work in.
1562         * utils/mountd/mountd.c: Do not change RLIMIT_NOFILE if the -o
1563         option wasn't given.
1564         * utils/mountd/mountd.man: Record the change if default behaviour
1565         for RLIMIT_NOFILE.
1566         * configure.in, nfs-utils.spec: update version to 1.0.5 and
1567         run autoconf
1568         
1569 2003-07-15 NeilBrown <neilb@cse.unsw.edu.au>
1570
1571         * utils/mountd/mountd.c(main): getopt string fix for 'o'
1572         * utils/mountd/auth.c(auth_authenticate): remove extra 'free'
1573         * utils/exportfs/exportfs.c(main): make 'exportfs -f' just flush
1574         the caches.
1575         * support/include/nfs/export.h: Reserve a bit for possible ACL
1576         related use.
1577         
1578 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
1579
1580         * utils/exportfs/nfsd.man: new man page for nfsd filesystem. Also
1581         assorted changed to cope with section 7 of the manual.
1582         * configure.in, nfs-utils.spec: Update version to 1.0.4
1583         * run autoconf
1584
1585         This is a 'pre-release' for 1.1.0  Hopefully 1.1.0 will be the
1586         baseline for 2.6 and 2.8.  I.e. it should continue to work right
1587         through the 2.8 (or 3.0) kernel series.  Previous releases wont.
1588
1589 2003-07-04 NeilBrown <neilb@cse.unsw.edu.au>    
1590         Steve Dickson <SteveD@redhat.com>
1591
1592         statd cleanup:
1593         * utils/statd/statd.c: create a pidfile with pid of statd, and
1594         truncate it when statd exists.
1595         * utils/statd/statd.c: drop privs by setuid to owner of SM_DIR,
1596         and warn if this is root.
1597         * utils/statd/statd.c: when statd forks, connect child to parent
1598         with a pipe, and send a byte down the pipe once the child is
1599         working properly.
1600         * Makefile: create and chown sm, sm.bak, state when "make install"
1601         * configure.in: add --with-statduser= option which defaults to
1602         "rpcuser" or "nobody"
1603         * config.mk.in: pass "statduser" through to Makefile
1604         
1605 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
1606
1607         * support/include/nfs/nfs.h: Make sure correct __kernel_dev_t is
1608         used as the size was changed somewhere in 2.5.60-2.5.70.  Without
1609         this nfs-utils compiles against 2.6 headers will not work on a
1610         2.4 kernel.     
1611         
1612 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
1613
1614         * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists,
1615         set number of threads by writing to there.  This means it will
1616         still work when the syscall interface goes away in 2.7.
1617
1618 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
1619         fumihiko kakuma <kakmy@mvh.biglobe.ne.jp>
1620
1621         * utils/exportfs/exportfs.c(unexportfs): improve host comparison
1622         so as to only export the wildcard exports that were asked for.
1623         * support/export/export.c(export_allowed): changed to return the
1624         nfs_export rather than a "struct exportent", as m_changed is
1625         needed by called
1626         * support/export/rmtab.c(rmtab_read): modified to deal with
1627         interface change for export_allowed(), and enhanced to preserve
1628         m_changed flag when a wild-card export causes the creation of
1629         a non-wildcard export.
1630         
1631 2003-07-02 NeilBrown <neilb@cse.unsw.edu.au>
1632         Steve Dickson <SteveD@redhat.com>
1633
1634         * utils/mountd/mountd.man: Add valid kinds of debugging.
1635         * utils/mountd/mountd.c(main): ignore SIGPIPE
1636         * utils/nfsstat/nfsstat.c: fine-tune printing of warning so
1637         we don't get warnings about unavailable stats that weren't asked
1638         for.
1639         
1640 2003-06-24 NeilBrown <neilb@cse.unsw.edu.au>
1641
1642         * support/nfs/nfsexport.c(exp_unexp): When unexporting filesystems
1643         via /rpc/net/rpc/nfsd*/channel, set the expiry date to 1, not
1644         'forever', so things disappear out of the cache rather than just
1645         be ignored. 
1646         
1647 2003-06-16  "J. Bruce Fields" <bfields@fieldses.org>
1648
1649         * utils/mountd/cache.c(nfsd_fh): don't export the export_ent
1650         if it wasn't found.
1651
1652 2003-06-16  NeilBrown   <neilb@cse.unsw.edu.au>
1653
1654         * debian/nfs-kernel-server.init,etc/nodist/nfs-server,
1655         etc/redhat/nfs.init: when checking if V3 is supported, make sure
1656         nfs server 'knows' about 127.0.0.1 first.
1657         
1658 2003-06-10  Chip Salzenberg  <chip@pobox.com>
1659
1660         * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug.
1661         * debian/changelog: Version 1.0.3-2.
1662
1663 2003-05-30 Michael Griffith <grif@michaelgriffith.com>
1664         NeilBrown <neilb@cse.unsw.edu.au>
1665
1666         utils/nfsstat/nfsstat.c(print_callstats): use unsigned
1667         long long to avoid overflow when printing stats.
1668         
1669 2003-05-30  NeilBrown <neilb@cse.unsw.edu.au>
1670
1671         * support/export/export.c, support/include/nfslib.h,
1672         support/nfs/export.c, utils/exportfs/exportfs.c,
1673         utils/mountd/mountd.c: new export option "mountpoint"
1674         If no path is given, then the export point must be a
1675         mount point, or it won't be exported.  If a path is 
1676         given (e.g. mountpoint=/path) then that path must be
1677         a mountpoint or the exportpoint won't be exported.
1678         * utils/exportfs/exportfs.man: document mountpoint option.
1679         * support/misc/mountpoint.c: New file with is_mountpoint()
1680         to determine if something is a mountpoint.
1681         
1682 2003-05-23  NeilBrown <neilb@cse.unsw.edu.au>
1683
1684         * utils/mountd/cache.c(cache_get_filehandle): take a separate path
1685         argument as we might not be getting the filehandle for the
1686         mountpoint.
1687         * utils/mountd/mountd.c(get_rootfh): pass real path when calling
1688         cache_get_filehandle.
1689         * utils/mountd/mountd.c(get_rootfh): check export point and
1690         requested directory are on the same filesystem, and complain if
1691         not.
1692         
1693 2003-05-22  NeilBrown <neilb@cse.unsw.edu.au>
1694
1695         * utils/mountd/auth.c(auth_authenticate_internal): make sure
1696         portnumber is still checked when using new cache lookup.
1697         
1698 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
1699
1700         * utils/exportfs/exportfs.c: Use check_new_cache and cache_flush
1701          Don't actually talk to kernel when new cache is in effect, except
1702          to flush
1703         * utils/exportfs/exportfs.c: add -f option to fully flush cache.
1704         * support/export/xtab.c: Only rename new xtab into place if it has
1705          changed, thus preserving modify date for exportfs to use when
1706          flushing.
1707         * support/nfs/cacheio.c: Add cache_flush
1708         * support/export/xtab.c: Only rename new xtab into place if it has
1709          changed, thus preserving modify date for exportfs to use when
1710          flushing.
1711         
1712 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
1713
1714         * support/export/client.c: Add client_compose, client_member to
1715         handle new composite client names
1716         * support/include/exportfs.h: Declare above functions.
1717         * utils/mountd/auth.c: use client_compose to determine calling
1718         client if new cache is being used.
1719         * utils/mountd/auth.c: call cache_export to export a filesystem if
1720         new_cache, check if new cache is used, and call my_svc_run instead
1721         of svc_run
1722         * utils/mountd/svc_run.c: new file defining my_svc_run
1723         * utils/mountd/cache.c: new file for handling cache upcalls.
1724         * support/nfs/cacheio.c(check_new_cache): new function to check if
1725         new cache should be used.
1726         
1727         
1728 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
1729
1730         * support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE
1731         * support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE
1732         * utils/exportfs/exportfs.c(dump): ditto
1733         
1734 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
1735
1736         * support/export/hostname.c(get_reliable_hostbyaddr): new function
1737         to get host name from address with full checking of authenticity.
1738         * support/include/misc.h: declare above function
1739         * utils/mountd/auth.c(auth_authenticate_internal): remove all
1740         logic for authenticating address.
1741         * utils/mountd/auth.c(auth_authenticate): call new
1742         get_reliable_hostbyaddr to to hostname lookup before calling _internal.
1743         
1744         
1745 2003-03-30  NeilBrown <neilb@cse.unsw.edu.au>
1746
1747         * tools/rpcgen/rpc_main.c(find_cpp): removed
1748         * tools/rpcgen/rpc_main.c(open_input): use execvp to find "cpp", 
1749         then try hard-coded paths.
1750         
1751 2003-03-26  Chip Salzenberg  <chip@pobox.com>
1752
1753         * debian/changelog: Version 1.0.3-1.
1754
1755 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
1756
1757         * utils/mountd/rmtab.c (slink_safe_rename): real_newpath should be
1758         "const char*", not "char*".
1759
1760 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
1761
1762         * configure.in (VERSION): Set to "1.0.3".
1763         * nfs-utils.spec: Likewise.
1764         * configure: Regenerated.
1765
1766 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
1767
1768         * support/nfs/cacheio.c: New File - support for read/writing
1769         to export cache in /proc/rpc/*/channel
1770         * support/nfs/Makefile: compile cacheio.c
1771         * support/include/nfslib.h: declare cacheio.c functions
1772         * support/nfs/nfsexport.c: export and unexport through
1773         /proc/rpc/*/channel if possible, as old syscall interface
1774         may not survive into 2.6 on all architectures.
1775         
1776 2003-02-19 NeilBrown <neilb@cse.unsw.edu.au>    
1777         Ben Leslie <benno@sesgroup.net>
1778
1779         * support/nfs/rpcmisc.c(rpc_init):  change test for ignoring
1780         "defport" from (__rpcfdtype == 0) to (__rpcpmstart==0).  The
1781         former would incorectly ignore defport if the application 
1782         explicitly set __rpcfdtype.  The later is sufficient to avoid the
1783         special handling in the case where stdin is an internet socket.
1784
1785         * utils/mountd/mountd.c(main): Add 'n' to option list in
1786         getopt_long as this is a short form of --no-tcp which want being
1787         checked.
1788         
1789 2003-02-12  Chip Salzenberg  <chip@pobox.com>
1790
1791         * debian/changelog: Version 1.0.2-2.
1792
1793 2002-11-27  Chip Salzenberg  <chip@pobox.com>
1794
1795         * utils/mountd/rmtab.c (slink_safe_rename): Fix off-by-one buffer
1796         overflow bug.  Reformat per rest of source file.
1797
1798 2002-11-19  NeilBrown <neilb@cse.unsw.edu.au>
1799
1800         * utils/exportfs/exports.man: Correct notes about whether the wild
1801         card characters match a period.  They do.
1802         
1803 2002-10-15  Juan Gomez <juang@us.ibm.com>
1804
1805         * utils/mountd/rmtab.c (slink_safe_rename): New. Support
1806         symlink.
1807         (mountlist_add): Call slink_safe_rename instead of rename.
1808
1809 2002-10-11  H.J. Lu <hjl@lucon.org>
1810
1811         * support/include/exportfs.h (export_errno): New.
1812
1813         * support/nfs/exports.c: Include <errno.h>.
1814         (export_errno): New.
1815         (getexportent): Set export_errno to EINVAL for bad option.
1816         (parseopts): Likewise.
1817         Report the location of the default sync/async option.
1818
1819         * utils/exportfs/exportfs.c (main): Initialize export_errno to
1820         0. Return export_errno.
1821
1822 2002-10-11  Juan Gomez  <gomez@cs.sjsu.edu>
1823         NeilBrown <neilb@cse.unsw.edu.au>
1824
1825         utils/statd/statd.c(killer): don't pmap_unset if in notify_only mode
1826         utils/statd/statd.c(main): don't pmap_unset if in notify_only mode
1827         
1828 2002-09-16  Chip Salzenberg  <chip@pobox.com>
1829
1830         * utils/rquotad/rquota_svc.c (main): Use int for value of getopt.
1831
1832 2002-09-15  Chip Salzenberg  <chip@pobox.com>
1833
1834         * support/nfs/rpcmisc.c (rpc_init): Allow stdin to be a non-INET
1835         socket, as occurs when run from sshd.
1836         * debian/changelog: Version 1.0.2-1.
1837
1838 2002-09-12  H.J. Lu <hjl@lucon.org>
1839
1840         * support/nfs/svc_socket.c: Remove HAVE_SVCTCP_SOCKET and
1841         HAVE_SVCUDP_SOCKET.
1842
1843 2002-09-12  H.J. Lu <hjl@lucon.org>
1844
1845         * configure.in: Remove checking svctcp_socket and svcudp_socket.
1846         * configure: Regenerated.
1847
1848         * support/include/config.h.in (HAVE_SVCTCP_SOCKET): Removed.
1849         (HAVE_SVCUDP_SOCKET): Removed.
1850
1851         * support/include/nfslib.h: Undo the last change.
1852
1853 2002-09-12  H.J. Lu <hjl@lucon.org>
1854
1855         * support/include/nfslib.h (svctcp_socket): Protect it with
1856         HAVE_SVCTCP_SOCKET.
1857         (svcudp_socket): Protect it with HAVE_SVCUDP_SOCKET.
1858
1859 2002-09-12  H.J. Lu <hjl@lucon.org>
1860
1861         * configure.in (VERSION): Set to "1.0.2".
1862         * configure: Regenerated.
1863         * nfs-utils.spec: Likewise.
1864
1865 2002-09-12  H.J. Lu <hjl@lucon.org>
1866
1867         * configure.in: Check svctcp_socket and svcudp_socket.
1868         * configure: Regenerated.
1869
1870         * support/include/config.h.in (HAVE_SVCTCP_SOCKET): New.
1871         (HAVE_SVCUDP_SOCKET): New.
1872
1873         * support/include/nfslib.h (svctcp_socket): New.
1874         (svcudp_socket): New.
1875
1876         * support/nfs/Makefile (OBJS): Add svc_socket.o.
1877
1878         * support/nfs/svc_socket.c: New.
1879
1880         * support/nfs/rpcmisc.c (rpc_init): Call svctcp_socket and
1881         svcudp_socket if port is unspecified.
1882
1883         * utils/nfsd/nfsd.c (main): Call getservbyname for port.
1884
1885         * utils/rquotad/rquota_svc.c: Include <nfslib.h>.
1886         (killer): New. Signal handler to unregister.
1887         (main): Use killer. Call svcudp_socket to get the default
1888         socket.
1889
1890 2002-09-02 Juan Gomez <juang@us.ibm.com>
1891         NeilBrown <neilb@cse.unsw.edu.au>
1892
1893         Add -N option to statd to run in notify-only mode.
1894
1895         * utils/statd/statd.h: uncomment MODE_NOTIFY_ONLY
1896         * utils/statd/statd.man: document -N
1897         * utils/statd/statd.c: enabled -N, largely exists but needed to be
1898         uncommented and completed
1899         
1900 2002-09-02 Juan Gomez <juang@us.ibm.com>
1901         NeilBrown <neilb@cse.unsw.edu.au>
1902
1903         statd to have " -P directory" arg to use that directory instead
1904         of /var/lib/nfs.  This is useful for fail-over clusters.
1905         
1906         * utils/statd/statd.h: define SM_DIR etc as var, not const.
1907         * utils/statd/statd.c: define "-P" option to set SM_*
1908         appropriately.
1909         * utils/statd/monitor.c: sprintf to cope with SM_DIR not being
1910         a constant any more.
1911         * utils/statd/notify.c: ditto.
1912         * utils/statd/statd.man: document -P option.
1913         
1914 2002-08-26  Chip Salzenberg  <chip@pobox.com>
1915
1916         * utils/nfsd/nfsd.man: Fix typo.
1917         * debian/changelog: Version 1.0.1-1.
1918
1919 2002-05-29 NeilBrown <neilb@cse.unsw.edu.au>
1920
1921         * let parseopts know if /etc/exports was being read or not, 
1922         and have it only print "no sync or async" warning in that case.
1923         
1924 2002-05-06 Tom McNeal <trmcneal@attbi.com>
1925         NeilBrown <neilb@cse.unsw.edu.au>
1926
1927         * utils/nfsstat/nfsstat.c: Handle differing format for
1928            /proc/net/rpc/nfsd between pre and post 2.4.0
1929         
1930 2002-04-09  NeilBrown <neilb@cse.unsw.edu.au>
1931         James Pearson <james-p@moving-picture.com>
1932
1933         * support/nfs/rmtab.c(fendrmtabent): sync changes to 
1934         storage before returning, as this is critical state
1935
1936 2002-04-08  Sean O'Connell <sean@ee.duke.edu>
1937             H.J. Lu <hjl@lucon.org>
1938
1939         * etc/redhat/nfs: New.
1940
1941 2002-04-08  H.J. Lu <hjl@lucon.org>
1942
1943         * etc/redhat/nfs.init: Updated.
1944
1945         * nfs-utils.spec.in: Updated.
1946         * nfs-utils.spec: Regenerated.
1947
1948         * utils/mountd/mountd.c (longopts): Fix a typo.
1949
1950         * utils/mountd/mountd.man: Updated.
1951
1952 2002-04-07  H.J. Lu <hjl@lucon.org>
1953
1954         * etc/redhat/nfslock.init (restart): Just do stop and start.
1955
1956         * etc/redhat/nfs.init: Fix a typo.
1957
1958 2002-04-07  H.J. Lu <hjl@lucon.org>
1959
1960         * configure.in (VERSION): Set to "1.0.1".
1961         * configure: Regenerated.
1962         * nfs-utils.spec: Likewise.
1963
1964         * README: Updated for 1.0.1.
1965
1966 2002-04-07  Sean O'Connell <sean@ee.duke.edu>
1967             H.J. Lu <hjl@lucon.org>
1968
1969         * etc/redhat/nfs.init: Read /etc/sysconfig/nfsd for NFS tuning.
1970
1971 2002-02-28   Steven Whitehouse <steve@gw.chygwyn.com>
1972               NeilBrown <neilb@cse.unsw.edu.au>
1973
1974         Add support for fsid=nn export option so that device
1975         numbers don't go in filehandles.
1976         * support/export/nfsctl.c(expsetup): if exporting and NFSEXP_FSID
1977         is set, pass the fsid in-place of the device number
1978         * support/nfs/exports.c: parse and print fsid= option.
1979         Also check if efname has been set, and use "command line"
1980         instead in error messages.
1981         Also, use strtol instead of atoi for anon[ug]id= so that
1982         bad numbers cause errors.
1983         
1984 2002-01-17   Adrian Drzewiecki <drze@MissionCriticalLinux.com>
1985              NeilBrown <neilb@cse.unsw.edu.au>
1986
1987         * support/nfs/exports.c: remove NFSEXP_ASYNC as a default
1988         flag so that "sync" becomes the default.
1989         Check that either "sync" or "async" is given as an option
1990         and warn if neither are present
1991         * utils/exportfs/exports.man: change documentation for "sync"
1992         to be documentation for "async".
1993         * utils/exportfs/exportfs.man: note that "sync" is the default
1994         rather than "async"
1995         
1996         
1997 2002-01-02  Chip Salzenberg  <chip@pobox.com>
1998
1999         * support/export/nfsctl.c (expsetup): Don't export entries that
2000         specify id mappings not supported by the kernel.  No extant kernel
2001         supports any significant mapping, only 'identity' (i.e. none).
2002         When other mappings are supported, this code will need changing.
2003         * debian/changelog: Version 1.0-2.
2004
2005 2001-12-26  Chip Salzenberg  <chip@pobox.com>
2006
2007         * nfs-utils.spec (Version): Set to "1.0".
2008         * configure.in (VERSION): Likewise.
2009         * configure: Regenerated.
2010         * README: Rewritten.
2011         * debian/changelog: Version 1.0-1.
2012
2013         * utils/exportfs/exports.man: Emphasize the need for options to
2014         immediately follow client names.  Explain that wildcards don't
2015         usually work on addresses, but may work when reverse DNS fails.
2016         Comment out a leftover TP that was TPing our indentation.
2017         * utils/mountd/mountd.man, utils/rquotad/rquotad.man,
2018         utils/statd/statd.man: Remove refs to non-existent "hosts_allow(5)".
2019         * debian/changelog: Version 0.3.3-6.
2020
2021 2001-12-20  NeilBrown <neilb@cse.unsw.edu.au>
2022
2023         * support/export/client.c(client_lookup): If a host has multiple
2024         IP addresses, then we must always use the result of a
2025         gethostbyname, not that of gethostbyaddr for exporting
2026         
2027 2001-12-20  NeilBrown <neilb@cse.unsw.edu.au>
2028
2029         * support/export/client.c (client_lookup): use strcasecmp when
2030         comparing host names
2031         * support/nfs/export.c (getexportent): add fromkernel arg and use
2032         different defaults as kernels prior to 2.4.11 assume different
2033         defaults in /proc/fs/nfs/exports
2034         * support/include/nfslib.h, support/export/export.c,
2035         support/export/xtab.c:  support extra "fromkernel" arg for
2036         getexportent. 
2037         
2038 2001-12-13  Chip Salzenberg  <chip@pobox.com>
2039
2040         * debian/changelog: Version 0.3.3-5.
2041
2042 2001-11-26  TAKAI Kousuke <takai@vlsi.kuee.kyoto-u.ac.jp>
2043
2044         * support/nfs/xio.c (xskip): Call `xungetc' instead of
2045         `ungetc' to keep x_line more properly.
2046
2047 2001-11-26  Chip Salzenberg  <chip@pobox.com>
2048
2049         * utils/showmount/showmount.c (main): Don't assume that strings
2050         starting with digits are IP addresses.
2051         * utils/nfsd/nfsd.c (main): Close all fds and reopen 0,1,2 on
2052         /dev/null before nfssvc().  Use syslog to report nfssvc errors.
2053         * support/misc/tcpwrapper.c, utils/mountd/mountd.man,
2054         utils/rquotad/rquotad.man, utils/statd/statd.man: Fix comments and
2055         man pages: We check host names *and* addresses with tcpwrappers.
2056         * debian/changelog: Version 0.3.3-4.
2057
2058 2001-11-21  Chip Salzenberg  <chip@pobox.com>
2059
2060         * support/nfs/clients.c (cfname): Added: current clients file name.
2061         (setnfsclntent): Set it.
2062         ({get,end}nfsclntent, syntaxerr): Use it.
2063         * support/nfs/exports.c (efname): Added: current exports file name.
2064         (setnfsexportent): Set it.
2065         (endnfsexportent, parseopts, getexport, syntaxerr): Use it.
2066         (parseopts): Accept old-style "crossmnt" option, for old xtabs.
2067         * debian/changelog: Version 0.3.3-3.
2068
2069 2001-10-11  Chip Salzenberg  <chip@pobox.com>
2070
2071         * utils/mountd/mountd.c (main): Close fds > 2 _before_ RPC init.
2072         * debian/changelog: Version 0.3.3-2.
2073
2074 2001-10-08  Chip Salzenberg  <chip@pobox.com>
2075
2076         * utils/mountd/mountd.c (main): When daemonizing, close all fds > 2.
2077         * utils/Makefile.in: Remove old Makefile in target 'distclean'.
2078         * utils/mountd/mountd.man: Update paths to /var/lib.
2079         * debian/*: Version 0.3.3-1, with Debian-specific fixes.
2080
2081 2001-10-06  Preston Brown <pbrown@redhat.com>
2082
2083         * utils/nfsstat/nfsstat.man: Updated.
2084
2085 2001-09-24  H.J. Lu <hjl@lucon.org>
2086
2087         * configure.in (VERSION): Set to "0.3.3".
2088         * configure: Regenerated.
2089         * nfs-utils.spec: Likewise.
2090
2091         * README: Updated for 0.3.3.
2092
2093 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
2094
2095         Arrange that "exportfs -au" never does DNS lookup:
2096         
2097         * support/export/client.c (client_lookup) : add "canonical"
2098         flag which says that the hostname is known to be canonical, so
2099         don't do a lookup
2100
2101         * support/export/export.c (export_create) : add "canonical"
2102         flag to be passed down to client_lookup
2103         * support/export/export.c (export_lookup) : Likewise
2104
2105         * support/export/xtab.c (xtab_read) : pass appropriate
2106         "canonical" flag to export_lookup and export_create:
2107         set if reading list of filesystems currently exports
2108         (is_export != 1). 
2109
2110         * support/export/export.c (export_read) : pass 0 as 
2111         "canonical" flag to export_lookup and export_create
2112         * support/export/rmtab.s (rmtab_read) : Likewise
2113
2114         * support/include/exportfs.h : redeclare various routines
2115         to have "canonical" flag
2116
2117         * utils/exportfs/exportfs.c (main) : redo logic for 
2118         "-au" to read in what is currently exported, but never even 
2119         look at what "should" be exported.
2120
2121         * utils/exportfs/exportfs.c (unexportall) : remove this
2122         routine. Functionality is completely included in
2123         exports_update
2124
2125         * utils/exportfs/exportfs.c (exportfs) : set "canonical"
2126         flag to zero in calls to export_lookup and export_create.
2127
2128         
2129 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
2130             Anne Milicia <milicia@missioncriticallinux.com>
2131
2132         * support/export/client.c (client_lookup) call gethostbyadd
2133         to make sure that we have a canonical hostname, even for
2134         dotted-quads
2135         * utils/exportfs/exportfs.c (exportfs) Likewise
2136         
2137 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
2138
2139         * support/nfs/exports.c (putexportent): \octal quote any spaces
2140         etc in a path name
2141         * support/nfs/xio.c (xgettok): recognise double-quote and
2142         \octal quoting in path names
2143         * utils/exportfs/exports.man: document quoting conventions
2144         for path names
2145         
2146 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
2147
2148         * utils/mountd/auth.c (auth_authenticate_internal): Reverse
2149           change from 2000-08-02:  It causes problems if someone exports
2150           to both a hostname and IP addresses.  nfs-utils must be
2151           consistant about the canonical name that it chooses.
2152
2153 2001-08-17  Ragnar Kjørstad <nfs@ragnark.vestdata.no>
2154             H.J. Lu <hjl@lucon.org>
2155
2156         * etc/redhat/nfslock.init (STATDARG): New. Pass it to rpc.statd.
2157
2158         * utils/statd/statd.c (longopts): Add "name".
2159         (usage): Add "-n/--name".
2160         (main): Set MY_NAME with "-n/--name".
2161
2162         * utils/statd/state.c (change_state): Set MY_NAME only if it
2163         is NULL.
2164         
2165         * utils/statd/statd.man: Updated for "-n/--name".
2166
2167 2001-07-26  H.J. Lu <hjl@lucon.org>
2168
2169         * nfs-utils.spec (Release): Set to 8.
2170
2171 2001-07-25  H.J. Lu <hjl@lucon.org>
2172
2173         * etc/redhat/nfs.init: Check if rpc.rquotad exists before doing
2174         anything about it.
2175
2176 2001-06-27  H.J. Lu <hjl@lucon.org>
2177
2178         * etc/redhat/nfs.init: Run rpc.rquotad only if it exists.
2179
2180 2001-06-27  H.J. Lu <hjl@lucon.org>
2181
2182         * utils/rquotad/rquota_server.c: Don't call statfs () for
2183         the block size. Use BLOCK_SIZE instead.
2184
2185 2001-06-27  H.J. Lu <hjl@lucon.org>
2186
2187         * config.mk.in (CC_FOR_BUILD): Renamed from BUILD_CC.
2188         (CFLAGS_FOR_BUILD): New. Don't use @CFLAGS@.
2189
2190         * configure.in (enable_nfsv3): Set to yes by default.
2191         (--enable-rquotad): Added
2192         (AC_PROG_CXX): Removed.
2193         (AC_OUTPUT): Add utils/Makefile.
2194         (CC_FOR_BUILD): Renamed from BUILD_CC.
2195         * configure: Regenerated.
2196
2197         * utils/Makefile: Removed.
2198
2199         * utils/Makefile.in: New.
2200
2201         * nfs-utils.spec.in (rquotad): New. Set to 0 to disable
2202         rquotad.
2203         (CC_FOR_BUILD): Renamed from BUILD_CC.
2204         * nfs-utils.spec: Regenerated.
2205
2206 2001-06-15  Chip Salzenberg  <chip@debian.org>
2207
2208         * debian/changelog: Version 0.3.2-2.
2209         * debian/*.init: Minor fixes.
2210
2211 2001-06-07  Lon H. Hohberger <hohberger@missioncriticallinux.com>
2212
2213         * etc/nodist/nfs-server: Fixed a bug where the script would
2214         disable mounts from NFSv3 clients if NFSv3 is present.
2215
2216 2001-06-05  H.J. Lu <hjl@lucon.org>
2217
2218         * utils/mountd/mountd.c (longopts): Add "descriptors/o".
2219         (main): Support --descriptors/-o to set the limit of the number
2220         of open file descriptors.
2221         (usage): Updated.
2222
2223         * utils/mountd/mountd.man: Updated for --descriptors/-o.
2224
2225 2001-06-04  H.J. Lu <hjl@lucon.org>
2226
2227         * nfs-utils.spec (Release): Set to 6.
2228
2229 2001-05-28  H.J. Lu <hjl@lucon.org>
2230
2231         * utils/lockd/lockd.c (main): chdir to NFS_STATEDIR.
2232         * utils/mountd/mountd.c (main): Likewise.
2233         * utils/nfsd/nfsd.c (main): Likewise.
2234         * utils/rquotad/rquota_svc.c (main): Likewise.
2235
2236 2001-05-06  Anne Milicia <milicia@missioncriticallinux.com>
2237
2238         * support/export/client.c (client_check): Check IP address
2239         againet netgroup.
2240
2241 2001-05-06  Neil Brown <neilb@cse.unsw.edu.au>
2242
2243         * support/export/client.c (client_gettype): Treat `*' as
2244         MCL_ANONYMOUS.
2245
2246 2001-04-22  H.J. Lu <hjl@lucon.org>
2247
2248         * nfs-utils.spec.in: Fix a typo.
2249         * nfs-utils.spec: Regenerated.
2250
2251 2001-04-21  H.J. Lu <hjl@lucon.org>
2252
2253         * nfs-utils.spec.in: Fix cross build.
2254         * nfs-utils.spec: Regenerated.
2255         (Release): Set to 5.
2256
2257 2001-04-18  H.J. Lu <hjl@lucon.org>
2258
2259         * nfs-utils.spec.in: Support cross build.
2260         * nfs-utils.spec: Regenerated.
2261         (Release): Set to 4.
2262
2263         * config.sub: New.
2264         * config.guess: New.
2265
2266         * config.mk.in (BUILD_CC): New.
2267         (CC): Set to $(BUILD_CC) if BUILD is defined.
2268         (AR): Set to @AR@.
2269         (LD): Set to @LD@.
2270         (RANLIB): Set to @RANLIB@.
2271
2272         * configure.in: Check BUILD_CC, RANLIB, AR and LD.
2273         * configure: Regenerated.
2274
2275         * tools/rpcgen/Makefile (BUILD): Set to true.
2276
2277 2001-04-01  Chip Salzenberg  <chip@valinux.com>
2278
2279         * tools/rpcgen/rpc_svcout.c (write_timeout_func): Remove
2280         redundant, and sometimes broken, declaration of svc_fdset;
2281         it may be a macro.
2282         * support/nfs/rpcmisc.c (closedown): Likewise.
2283         
2284 2001-03-21  H.J. Lu <hjl@lucon.org>
2285
2286         * nfs-utils.spec: Regenerated.
2287         (Release): Set to 3.
2288
2289 2001-03-21  Ion Badulescu  <ionut@cs.columbia.edu>
2290
2291         * utils/statd/statd.c (main): make sure file descriptors 0-2
2292         are open to /dev/null.
2293
2294 2001-03-21  H.J. Lu <hjl@lucon.org>
2295
2296         * support/nfs/rpcmisc.c: Restore the change made on 2001-03-10.
2297         * support/nfs/rpcmisc.c: Likewise.
2298         * utils/rquotad/rquota_svc.c: Likewise.
2299         * utils/rquotad/rquotad.man: Likewise.
2300         * utils/statd/Makefile: Likewise.
2301         * utils/statd/rmtcall.c: Likewise.
2302         * utils/statd/simulate.c: Likewise.
2303         * utils/statd/statd.c: Likewise.
2304         * utils/statd/statd.man: Likewise.
2305
2306 2001-03-11  H.J. Lu <hjl@lucon.org>
2307
2308         * configure.in (RELEASE): New. Default to 1, set by
2309         --with-release=XXX. Substitute nfs-utils.spec.
2310         * nfs-utils.spec.in (Release): Set to @RELEASE@.
2311         * configure: Regenerated.
2312         * nfs-utils.spec: Likewise.
2313
2314 2001-03-11  H.J. Lu <hjl@lucon.org>
2315
2316         * utils/rquotad/rquotad.man: Fix a typo.
2317
2318 2001-03-11  H.J. Lu <hjl@lucon.org>
2319
2320         * support/include/rpcmisc.h: Undo the change made on 2001-03-10.
2321         * support/nfs/rpcmisc.c: Likewise.
2322         * utils/rquotad/rquota_svc.c: Likewise.
2323         * utils/rquotad/rquotad.man: Likewise.
2324         * utils/statd/Makefile: Likewise.
2325         * utils/statd/rmtcall.c: Likewise.
2326         * utils/statd/simulate.c: Likewise.
2327         * utils/statd/statd.c: Likewise.
2328         * utils/statd/statd.man: Likewise.
2329
2330 2001-03-10  H.J. Lu <hjl@lucon.org>
2331
2332         * configure.in (VERSION): Set to "0.3.2".
2333         * configure: Regenerated.
2334         * nfs-utils.spec: Likewise.
2335
2336         * README: Updated for 0.3.2.
2337
2338 2001-03-10  Tavis Barr <tavis@boole.isetr.columbia.edu>
2339
2340         * utils/rquotad/rquotad.man: Updated for -p.
2341         * utils/statd/statd.man: Likewise.
2342
2343 2001-03-10  Ion Badulescu  <ionut@cs.columbia.edu>
2344
2345         * support/nfs/rpcmisc.c: export makesock()
2346
2347         * support/include/rpcmisc.h (makesock): Declared.
2348
2349         * utils/rquotad/rquota_svc.c: added longopts, added support for
2350         specifying the port to bind to on the command line.
2351
2352         * utils/statd/statd.c: ditto, also specify port used for
2353         outgoing connections.
2354         (do_regist): Removed.
2355
2356         * utils/statd/rmtcall.c (statd_get_socket): Renamed from
2357         get_socket. Make it extern.
2358
2359         * utils/statd/simulate.c (daemon_simulator): Call rpc_init
2360         instead of do_regist.
2361
2362         * utils/statd/Makefile (LIBS): link with our own libnfs
2363
2364 2001-03-09  H.J. Lu <hjl@lucon.org>
2365
2366         * etc/redhat/nfslock.init: Changed chkconfig line to 60 86.
2367         * etc/nodist/nfs-client: Likewise.
2368
2369 2001-02-26  Chip Salzenberg  <chip@valinux.com>
2370
2371         * debian/changelog: Version 0.3.1-1.
2372         * Mention upstream source and license in copyright file.
2373         * Add build-Depends for debhelper and libwrap0-dev.
2374
2375 2001-02-20  Lon Hohberger <hohberger@missioncriticallinux.com>
2376
2377         * etc/nodist/nfs-server: Changed chkconfig line to 60 20
2378         * etc/nodist/nfs-client: Likewise.
2379
2380 2001-02-18  Lon Hohberger <hohberger@missioncriticallinux.com>
2381
2382         * utils/statd/statd.man: Changed /usr/sbin/rpc.statd to
2383         /sbin/rpc.statd.
2384
2385 2001-02-17  Patrick J. LoPresti <patl@curl.com>
2386
2387         * utils/statd/log.c (log_init): Use LOG_DAEMON instead of
2388         LOG_LOCAL5.
2389
2390 2001-02-14  H.J. Lu <hjl@lucon.org>
2391
2392         * utils/statd/rmtcall.c: Include <time.h>.
2393         * utils/statd/svc_run.c: Likewise.
2394
2395 2001-02-14  H.J. Lu <hjl@lucon.org>
2396
2397         * configure.in (VERSION): Set to "0.3.1".
2398         * configure: Regenerated.
2399         * nfs-utils.spec: Likewise.
2400
2401         * README: Updated for 0.3.1.
2402
2403 2001-02-14  H.J. Lu <hjl@lucon.org>
2404
2405         * support/nfs/rpcmisc.c: Include <time.h>.
2406
2407 2001-02-14  Chip Salzenberg  <chip@valinux.com>
2408
2409         * debian/control: Change priority of nhfsstone package to 'extra'.
2410
2411 2001-02-12  Chip Salzenberg  <chip@valinux.com>
2412
2413         * debian/changelog: Version 0.3-2.
2414
2415 2001-02-02  H.J. Lu <hjl@lucon.org>
2416
2417         * support/include/rpcmisc.h (rpc_init): Remove bufsize.
2418         
2419         * support/nfs/rpcmisc.c (makesock): Remove socksz and comment
2420         out SO_SNDBUF/SO_RCVBUF.
2421         (rpc_init): Remove bufsize and remove socksz in calls to
2422         makesock ().
2423
2424         * utils/mountd/mountd.c (main): Remove bufsize in calls to
2425         rpc_init ().
2426
2427 2001-01-28  Chip Salzenberg  <chip@valinux.com>
2428
2429         * debian/changelog: Version 0.3-1.
2430
2431 2001-01-25  H.J. Lu <hjl@lucon.org>
2432
2433         * configure.in (VERSION): Set to "0.3".
2434         * configure: Regenerated.
2435         * nfs-utils.spec: Likewise.
2436
2437         * README: Updated for 0.3.
2438
2439 2001-01-25  H.J. Lu <hjl@lucon.org>
2440
2441         * utils/lockd/lockd.c (main): Ignore errno == EINVAL.
2442
2443 2001-01-20  Chip Salzenberg  <chip@valinux.com>
2444
2445         * support/include/xio.h (xgetc): Declare to return int.
2446         * support/nfs/xio.c (xgetc): Return int.
2447         (xgettok, xskip, xskipcomment): Use int for value of xgetc.
2448         * utils/statd/statd.c (main): Use int for value of getopt.
2449         * debian/changelog: Version 0.2.1-5.
2450         
2451 2000-12-10  Chip Salzenberg  <chip@valinux.com>
2452
2453         * utils/statd/monitor.c (sm_mon_1_svc): Fix buggy check for
2454         program and procedure numbers of kernel lockd's callback.  Also,
2455         besides the old (and broken) procedure #24, allow #16 per Trond.
2456
2457 2000-12-03  Chip Salzenberg  <chip@valinux.com>
2458
2459         * support/nfs/xio.c (xfopen): Initialize x_line to one, not zero.
2460         * debian/control: Let nhfsstone replace files in nfs-kernel-server.
2461         * debian/changelog: Version 0.2.1-4.
2462
2463 2000-11-27  Tobias Ringstrom <tori@tellus.mine.nu>
2464
2465         * utils/mountd/auth.c (auth_authenticate): Log the bad path
2466         warning.
2467
2468 2000-11-24  Neil Brown <neilb@cse.unsw.edu.au>
2469
2470         * support/nfs/exports.c (getexportent): Check for host name
2471         without option, or options without hostname, and print a warning,
2472         as this is most likely a typo.
2473
2474 2000-11-19  Chip Salzenberg  <chip@valinux.com>
2475
2476         * debian/control: Add dependency on portmap.
2477         * debian/changelog: Version 0.2.1-3.
2478
2479 2000-11-10  H.J. Lu <hjl@lucon.org>
2480
2481         * nfs-utils.spec.in: Don't use libtool.
2482         Add ChangeLog and COPYING to doc.
2483         * nfs-utils.spec: Rebuild.
2484
2485 2000-11-09  H.J. Lu <hjl@lucon.org>
2486
2487         * etc/redhat/nfs.init (start): Back out the last change.
2488
2489 2000-11-09  H.J. Lu <hjl@lucon.org>
2490
2491         * etc/redhat/nfs.init (start): Pass --no-tcp to mountd if
2492         TCP is not supported by kernel.
2493
2494         * support/nfs/rpcmisc.c (rpc_init): Don't set _rpcfdtype to 0.
2495
2496         * utils/mountd/mountd.c (longopts): Add "-n/--no-tcp".
2497         (main): Set to _rpcfdtype to SOCK_DGRAM for "-n/--no-tcp".
2498
2499         * utils/mountd/mountd.man: Updated for "-n/--no-tcp".
2500
2501 2000-10-24  Lon Hohberger <hohberger@missioncriticallinux.com>
2502
2503         * utils/statd/callback.c: Fix bug preventing callbacks to local lockd.
2504         * utils/statd/rmtcall.c: Add some IP address paranoia when doing
2505         callbacks to local lockd.
2506
2507 2000-10-18  Scott McDermott <mcdermot@questra.com>
2508
2509         * utils/exportfs/exports.man: Updated for CIDR netmask.
2510
2511 2000-10-17  Scott McDermott <mcdermot@questra.com>
2512
2513         * support/export/client.c (client_init): Support CIDR netmask
2514         in /etc/exports.
2515
2516 2000-10-11  H.J. Lu <hjl@lucon.org>
2517
2518         * aclocal.m4 (AC_TCP_WRAPPER): Fix a typo.
2519         * configure: Rebuilt.
2520
2521 2000-10-06  Lon Hohberger <hohberger@missioncriticallinux.com>
2522
2523         * utils/statd/statd.man: Change "/var/lib/nfs/sm/state" to
2524         "/var/lib/nfs/state".
2525
2526 2000-10-05  Lon Hohberger <hohberger@missioncriticallinux.com>
2527
2528         * utils/statd/statd.h (run_mode): New global bitmask of runtime
2529         behaviors: fg/bg, logging, etc.
2530         * utils/statd/statd.c: New command line options: -V -h -? -d .
2531         * utils/statd/statd.man: Update for changes to statd.
2532
2533         * utils/statd/log.h (log_init): Remove parameter of function; use
2534         global variable "name_p" instead.
2535         * utils/statd/log.c: Add support for logging to stderr.
2536
2537         * utils/statd/notlist.c: Partially rewrite notify list handling
2538         functions.  Eliminate run-off-end-of-list bug when calling
2539         nlist_insert_timer.  Add lots of comments.
2540         
2541 2000-09-27  H.J. Lu <hjl@lucon.org>
2542
2543         * README: Updated for RedHat 7.0.
2544
2545 2000-09-27  H.J. Lu <hjl@lucon.org>
2546
2547         * nfs-utils.spec: Rebuild.
2548
2549 2000-09-27  H.J. Lu <hjl@lucon.org>
2550
2551         * README: Updated for 0.2.1.
2552
2553 2000-09-27  H.J. Lu <hjl@lucon.org>
2554
2555         * nfs-utils.spec.in: Updated to use rpm macros and support
2556         RedHat 7.0.
2557
2558 2000-09-25  H.J. Lu <hjl@lucon.org>
2559
2560         * configure.in (VERSION): Set to "0.2.1".
2561         * configure: Regenerated.
2562         * nfs-utils.spec: Updated.
2563
2564 2000-09-25  H.J. Lu <hjl@lucon.org>
2565
2566         * utils/mountd/auth.c (auth_authenticate_internal): Make sure a
2567         non-NULL hostent is always returned.
2568
2569 2000-09-11  Ion Badulescu  <ionut@cs.columbia.edu>
2570
2571         * etc/redhat/nfslock.init: don't kill lockd processes that do not
2572         have an executable (i.e. kernel threads)
2573
2574 2000-09-01  H.J. Lu <hjl@lucon.org>
2575
2576         * README: Updated for 0.2.
2577
2578 2000-09-01  Jay Weber <jweber@valinux.com>
2579
2580         * etc/redhat/nfs.init: Added ability for rpc.mountd to default to
2581         supporting version 3 of nfs if available, else it will fall back to
2582         version 2 support only.
2583
2584 2000-08-30  H.J. Lu <hjl@lucon.org>
2585
2586         * configure.in (VERSION): Set to "0.2".
2587         * configure: Regenerated.
2588         * nfs-utils.spec: Updated.
2589
2590 2000-08-25  H.J. Lu <hjl@lucon.org>
2591
2592         * support/misc/tcpwrapper.c (logit): Modify the log output.
2593
2594 2000-08-25  Ion Badulescu  <ionut@cs.columbia.edu>
2595
2596         * utils/rquotad/rquotad.man, utils/statd/statd.man,
2597         utils/mountd/mountd.man: updated
2598         
2599         * utils/mountd/Makefile (LIBS): added -lmisc $(LIBWRAP) $(LIBNSL)
2600         * utils/rquotad/Makefile: fix comment
2601
2602         * support/misc/tcpwrapper.c (logit): added comment about waiting
2603         for the children after fork()
2604         
2605         * utils/mountd/mountd.c (main): ignore SIGCHLD to prevent leaving
2606         zombies behind (from logit()'s fork)
2607         * utils/rquotad/rquota_svc.c (main): ditto
2608         * utils/statd/statd.c (main): ditto
2609
2610         * utils/rquotad/rquota_svc.c (rquotaprog_1): pass RQUOTAPROG
2611         to check_default instead of 0, for prognum
2612
2613         * utils/statd/statd.c (sm_prog_1_wrapper): pass SM_PROG
2614         to check_default instead of 0, for prognum
2615
2616         * utils/mountd/mount_dispatch.c: Include "tcpwrapper.h" if
2617         HAVE_TCP_WRAPPER is defined.
2618         (mount_dispatch): Call check_default () if HAVE_TCP_WRAPPER is
2619         defined. Reject an RPC call if check_default () fails.
2620
2621 2000-08-25  H.J. Lu <hjl@lucon.org>
2622
2623         * support/include/tcpwrapper.h: New for the tcp wrapper
2624         support.
2625         * support/misc/Makefile: Likewise.
2626         * support/misc/from_local.c: Likewise.
2627         * support/misc/tcpwrapper.c: Likewise.
2628
2629         * aclocal.m4 (AC_TCP_WRAPPER): New.
2630         * configure.in: Use it. Substitute LIBWRAP.
2631         * configure: Rebuilt.
2632
2633         * config.mk.in (LIBNSL): New.
2634         (LIBWRAP): Likewise.
2635
2636         * support/Makefile (SUBDIRS): Add misc.
2637
2638         * support/lib/Makefile (LIBS): Add libmisc.a.
2639
2640         * utils/rquotad/Makefile (LIBS): Add
2641         
2642                 -lmisc $(LIBWRAP) $(LIBNSL)
2643
2644         * utils/statd/Makefile (LIBS): Likewise.
2645
2646         * utils/rquotad/rquota_svc.c: Include "tcpwrapper.h" if
2647         HAVE_TCP_WRAPPER is defined.
2648         (rquotaprog_1): Call check_default () if HAVE_TCP_WRAPPER is
2649         defined. Reject an RPC call if check_default () fails.
2650
2651         * utils/statd/statd.c: Include "tcpwrapper.h" if
2652         HAVE_TCP_WRAPPER is defined.
2653         (sm_prog_1_wrapper): New. A wrapper for sm_prog_1. Call
2654         check_default () before calling sm_prog_1 (). Define it as
2655         sm_prog_1_wrapper if HAVE_TCP_WRAPPER is defined.
2656
2657 2000-08-25  Chip Salzenberg  <chip@valinux.com>
2658
2659         * debian/*: Complete Debian build support.
2660         * etc/debian/*: Remove.
2661
2662 2000-08-24  Neil Brown <neilb@cse.unsw.edu.au>
2663
2664         * support/export/client.c(client_check): removed the "dot+1" as a
2665           ypdomain argument to innetgr as this is entirely bogus.
2666           It should always be NULL.
2667         
2668 2000-08-23  Neil Brown <neilb@cse.unsw.edu.au>
2669
2670         * support/export/xtab.c(xtab_read): introduce new mode for
2671            reading xtab. i.e. a list of exports that might be known to the
2672            kernel, or might not.  These are flagged as m_exported == -1
2673         * support/export/xtab.c(xtab_mount_read):  call xtab_read with new
2674            value "2" for xtab, meaning don't trust this too much.
2675         * support/include/exportfs.h(struct mexport): changed m_exported
2676            from one bit to an int so that it can hold new value
2677         * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
2678            kernel if it is uncertain whether the kernel knows (m_exported == -1)
2679         * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
2680            status is uncertain
2681
2682         * support/nfs/xio.c(xflock): added O_CREAT when getting
2683            a write lock so that missing files aren't fatal.
2684
2685         * etc/debian/nfs-common: new file from "potato"
2686         * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
2687          
2688 2000-08-09  H.J. Lu <hjl@lucon.org>
2689
2690         * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
2691         startup to ensure all existing clients work fine.
2692
2693         * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
2694         to xtab_read () for reading _PATH_XTAB.
2695
2696 2000-08-02  H.J. Lu <hjl@lucon.org>
2697
2698         * utils/mountd/auth.c (auth_authenticate_internal): Try to
2699         avoid the reverse name lookup.
2700
2701 2000-07-04  H.J. Lu <hjl@lucon.org>
2702
2703         * utils/statd/log.c: Include <stdlib.h> for exit ().
2704
2705         * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
2706         gcc warning.
2707
2708 2000-07-04  H.J. Lu <hjl@lucon.org>
2709
2710         * configure.in (VERSION): Set to "0.1.9.1".
2711         * configure: Regenerated.
2712         * nfs-utils.spec: Updated.
2713
2714         * README: Updated.
2715
2716 2000-07-04  Neil Brown  <neilb@cse.unsw.edu.au>
2717
2718         * support/export/hostname.c (hostent_dup): Handle the NULL
2719         h_aliases field.
2720
2721 2000-07-03  H.J. Lu <hjl@lucon.org>
2722
2723         * README: Update the util-linux requirement.
2724
2725 2000-07-03  H.J. Lu <hjl@lucon.org>
2726
2727         * configure.in (VERSION): Set to "0.1.9".
2728         * configure: Regenerated.
2729         * nfs-utils.spec: Updated.
2730
2731         * README: Updated.
2732
2733 2000-07-03  H.J. Lu <hjl@lucon.org>
2734
2735         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
2736         stop to ensure all clients can still access the server
2737         before it is shutdown.
2738
2739 2000-06-30  Jeff Uphoff <juphoff@transmeta.com>
2740
2741         * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
2742         calls with format string.
2743         
2744 2000-06-28  Chip Salzenberg  <chip@valinux.com>
2745
2746         * utils/statd/log.c (log): Call syslog with format string.
2747
2748 2000-06-27  H.J. Lu <hjl@lucon.org>
2749
2750         * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
2751         instead of OPEN_MAX.
2752
2753 2000-06-27  H.J. Lu <hjl@lucon.org>
2754
2755         * README: Updated.
2756
2757 2000-06-27  H.J. Lu <hjl@lucon.org>
2758
2759         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
2760         startup to ensure all existing clients are exported.
2761
2762         * configure.in (VERSION): Set to "0.1.8.2".
2763         * configure: Regenerated.
2764         * nfs-utils.spec: Updated.
2765
2766 2000-06-06  H.J. Lu <hjl@lucon.org>
2767
2768         * configure.in (VERSION): Set to "0.1.8.1".
2769         * configure: Regenerated.
2770         * nfs-utils.spec: Updated.
2771
2772 2000-06-06  H.J. Lu <hjl@lucon.org>
2773
2774         * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
2775         to "struct sockaddr_in *" for glibc 2.2.
2776         (mount_umnt_1_svc): Likewise.
2777         (mount_umntall_1_svc): Likewise.
2778         (mount_export_1_svc): Likewise.
2779         (mount_exportall_1_svc): Likewise.
2780         (mount_pathconf_2_svc): Likewise.
2781         (get_rootfh): Likewise.
2782
2783 2000-06-04  H.J. Lu <hjl@lucon.org>
2784
2785         * etc/redhat/nfs.init: Fix a typo in comment.
2786
2787 2000-05-31  H.J. Lu <hjl@lucon.org>
2788
2789         * configure.in (VERSION): Set to "0.1.8".
2790         * configure: Regenerated.
2791         * nfs-utils.spec: Updated.
2792
2793         * README: Updated.
2794
2795 2000-05-31  H.J. Lu <hjl@lucon.org>
2796
2797         * configure.in (VERSION): Set to "0.1.7.5".
2798         * configure: Regenerated.
2799         * nfs-utils.spec: Updated.
2800
2801         * support/include/nfslib.h (exportent): Add a new field,
2802         r_count, to count the number of mounts from a client.
2803         (getrmtabent): Take a new argument for position in file.
2804         (putrmtabent): Likewise.
2805         (fgetrmtabent): Likewise.
2806         (fputrmtabent): Likewise.
2807         * support/nfs/rmtab.c (getrmtabent): Handle the new argument
2808         for position in file.
2809         (fgetrmtabent): Likewise.
2810         (putrmtabent): Likewise.
2811         (fputrmtabent): Likewise.
2812
2813         * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
2814         field, r_count.
2815
2816         * support/export/rmtab.c (rmtab_read): Pass NULL as the new
2817         argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
2818         and fputrmtabent ().
2819         * utils/mountd/rmtab.c (mountlist_add): Likewise.
2820         (mountlist_del): Likewise.
2821         (mountlist_del_all): Likewise.
2822         (mountlist_list): Likewise.
2823
2824         * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
2825         for the existing entry and initialize "r_count" to 1.
2826         (mountlist_del): Decrement "r_count".
2827
2828 2000-05-18  H.J. Lu <hjl@lucon.org>
2829
2830         * configure.in (VERSION): Set to "0.1.7.4".
2831         * configure: Regenerated.
2832         * nfs-utils.spec: Updated.
2833
2834 2000-05-18  H.J. Lu <hjl@lucon.org>
2835
2836         * etc/redhat/nfs.init (restart): Just do stop and start.
2837
2838 2000-05-09  Jay Weber <jweber@valinux.com>
2839
2840         * utils/rquotad/hasquota.c: added support for ext3 recognition
2841         in rquotad.
2842         * utils/rquotad/mntent.h: Likewise.
2843
2844 2000-05-01  H.J. Lu <hjl@lucon.org>
2845
2846         * configure.in (VERSION): Set to "0.1.7.3".
2847         * configure: Regenerated.
2848         * nfs-utils.spec: Updated.
2849
2850 2000-05-01  H.J. Lu <hjl@lucon.org>
2851
2852         * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
2853         mounting poins in /etc/fstab.
2854
2855 2000-05-01  H.J. Lu <hjl@lucon.org>
2856
2857         * configure.in (VERSION): Set to "0.1.7.2".
2858         * configure: Regenerated.
2859         * nfs-utils.spec: Updated.
2860
2861 2000-05-01  H.J. Lu <hjl@lucon.org>
2862
2863         * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
2864         to check for the mounting point.
2865
2866 2000-04-29  Chip Salzenberg  <chip@valinux.com>
2867             Neil Brown  <neilb@cse.unsw.edu.au>
2868
2869         * Really re-use RPC ports.
2870           (Fixes earlier patch.  Sorry, Neil.)
2871
2872 2000-04-26  H.J. Lu <hjl@lucon.org>
2873
2874         * configure.in (VERSION): Set to "0.1.7.1".
2875         * configure: Regenerated.
2876         * nfs-utils.spec: Updated.
2877
2878 2000-04-26  H.J. Lu <hjl@lucon.org>
2879
2880         * etc/redhat/nfslock.init: Check if lockd exits before killing
2881         it.
2882
2883 2000-04-25  H.J. Lu <hjl@lucon.org>
2884
2885         * README: Require util-linux-2.10f-mount-rpc.patch for mount.
2886
2887 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
2888
2889         * support/nfs/exports.c (parsesquash): Correctly set the
2890         return pointer.
2891
2892 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
2893
2894         * support/include/nfs/nfs.h: Removed knowledge of internals of
2895              kernel filehandles (which can change) and defined nfs_fh_size
2896              which has variable size
2897         
2898         * support/nfs/getfh.c: defined getfh_size to use new syscall to
2899              get variable sized file handles, and change getfh{,old} to
2900              use nfs_fh_size        
2901         
2902         * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
2903              NFSv3 file handles
2904
2905         * tools/Makefile, tools/nlmtest/nlmtest.c
2906              nlmtest.c depended on internel format of file handles, so now
2907              doesn't work.
2908
2909         
2910 2000-03-12  Chip Salzenberg  <chip@valinux.com>
2911             Neil Brown  <neilb@cse.unsw.edu.au>
2912
2913         * support/nfs/rpcmisc.c (rpc_init): Share transports.
2914
2915 2000-03-13 H.J. Lu <hjl@lucon.org>
2916
2917         * etc/redhat/nfsd.init: Updated.
2918
2919         * etc/redhat/nfslock.init: Updated.
2920
2921         * nfs-utils.spec.in: Updated.
2922
2923         * configure.in (VERSION): Set to "0.1.7".
2924         * configure: Regenerated.
2925         * nfs-utils.spec: Updated.
2926
2927         * README: Updated.
2928
2929 Wed Mar  8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
2930
2931         * utils/exportfs/exportfs.c (dump): Included printing of
2932            nohide, no_subtree_check, and insecure_locks
2933
2934 2000-02-26  Chip Salzenberg  <chip@valinux.com>
2935
2936         * config.mk.in (INSTALLSUID): Strip ("-s").
2937         (INSTALLSCRIPT): Define.
2938         * utils/nhfsstone/Makefile: Use it.
2939
2940 2000-02-26  Chip Salzenberg  <chip@valinux.com>
2941
2942         * utils/lockd/lockd.man: Create.
2943         * utils/lockd/Makefile: Install it.
2944         * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
2945         * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
2946         * utils/nhfsstone/Makefile: Install the helper scripts and
2947           all four man pages.
2948         * utils/exportfs/exports.man: Fix typo.
2949
2950 2000-02-26  Chip Salzenberg  <chip@valinux.com>
2951
2952         * support/nfs/xio.c (xungetc): Decrement line number when
2953         character to unget is newline.  Make first parameter int, so
2954         it can distinguish EOF from \377.
2955         * support/include/xio.h (xungetc): Adjust prototype.
2956
2957 Fri Feb  4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
2958
2959         * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
2960         * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
2961         * utils/exportfs/exports.man: added documentation for no_auth_nlm.
2962
2963         This is for supporting a new option introduced in 2.3.42
2964
2965 Thu Feb  3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
2966
2967         * COPYING: Added. GPL.
2968
2969 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
2970
2971         * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
2972         to get the block size.
2973
2974 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
2975
2976         * nfs-utils.spec.in: Update ftp site.
2977
2978 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
2979
2980         * README: Update hostnames.
2981
2982 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
2983
2984         * configure.in (VERSION): Set to "0.1.6".
2985         * configure: Regenerated.
2986         * nfs-utils.spec: Updated.
2987
2988         * README: Updated.
2989
2990 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
2991
2992         * utils/mountd/auth.c (auth_authenticate_internal): Call
2993         xstrdup for hostname before passing it to gethostbyname.
2994
2995         * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
2996         of strdup.
2997
2998 Sun Dec 19 09:35:01 1999  H.J. Lu <hjl@lucon.org>
2999
3000         * README: Update the mailing list address.
3001
3002 Sun Dec 19 09:22:28 1999  H.J. Lu <hjl@lucon.org>
3003
3004         * configure.in (VERSION): Set to "0.1.5".
3005         * configure: Regenerated.
3006         * nfs-utils.spec: Updated.
3007
3008         * README: Updated.
3009
3010 Mon Dec 13 13:40:20 1999  H.J. Lu <hjl@lucon.org>
3011
3012         * utils/rquotad/hasquota.c (hasquota): Malloc one more char
3013         for '/'.
3014
3015 Mon Dec  6 09:42:45 1999  H.J. Lu <hjl@lucon.org>
3016
3017         * configure.in (VERSION): Set to "0.1.4".
3018         * configure: Regenerated.
3019         * nfs-utils.spec: Updated.
3020
3021         * README: Updated.
3022
3023 Mon Dec  6 09:28:07 1999  H.J. Lu <hjl@lucon.org>
3024
3025         * nfs-utils.spec.in: New file.
3026
3027         * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
3028
3029         * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
3030
3031 1999-12-04  Chip Salzenberg  <chip@valinux.com>
3032
3033         * config.mk.in: Use $(CC) as set by configure.
3034
3035 1999-12-04  Chip Salzenberg  <chip@valinux.com>
3036
3037         * rules.mk: Call $(MAKE) with $(MFLAGS).
3038
3039 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
3040
3041         * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
3042         IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
3043
3044 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
3045
3046         * nfs-utils.spec (Version): Set to 0.1.3.
3047
3048         * configure.in (VERSION): Set to "nfs-utils 0.1.3".
3049         * configure: Regenerated.
3050
3051         * README: Updated.
3052
3053 Mon Nov 29 11:15:47 1999  H.J. Lu <hjl@lucon.org>
3054
3055         * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
3056         (_PATH_DEV_DSK): Likewise.
3057         (getquotainfo): Match the mounting point from /etc/mtab
3058         instead of calling nfsmount_to_devname ().
3059
3060 1999-11-24  Chip Salzenberg  <chip@valinux.com>
3061
3062         * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
3063         to the new port 24 as well as the historical port 100021.
3064
3065 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
3066
3067         * etc/redhat/nfsd.init (stop): moved exportfs -ua after
3068         stopping nfsd to stop spurious ESTALE on server shutdown.
3069         
3070 Tue Nov 23 10:13:39 1999  Neil Brown <neilb@cse.unsw.edu.au>
3071
3072         * support/nfs/exports.c (parseopts): make copy of opt string
3073         before 'nul'ing out commas so that
3074
3075         # exportfs -o option1,option2 hosta:/fs hostb:/fs
3076
3077         applies both options to both exports.
3078
3079 Thu Oct 28 12:55:42 1999  H.J. Lu <hjl@lucon.org>
3080
3081         * README: Fix a few typos.
3082
3083         * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
3084         of long.
3085         * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
3086         * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
3087         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
3088         (unsigned_dec): Likewise.
3089         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
3090         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
3091
3092         * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
3093         instead of LONG.
3094         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
3095         (unsigned_dec): Likewise.
3096         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
3097         * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
3098         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
3099
3100 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
3101
3102         * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
3103         * support/nfs/exports.c: added {no_,}subtree_check and changed
3104           crossmnt to nohide
3105         * utils/exportfs/exports.man: added no_subtree_check and nohide
3106           and removed irrelevant stuff from unfsd.
3107         * support/export/rmtab.c: rmtab_read didn't quite do the right
3108           thing if a pathname from rmtab was a subdirectory of an export-point
3109
3110 Tue Oct 26 17:22:40 1999  H.J. Lu <hjl@lucon.org>
3111
3112         * README: Updated ftp site.
3113
3114 Mon Oct 25 18:12:45 1999  H.J. Lu <hjl@lucon.org>
3115
3116         * nfs-utils.spec (Version): Set to 0.1.2.
3117
3118         * configure.in (VERSION): Set to "nfs-utils 0.1.2".
3119         * configure: Regenerated.
3120
3121         * README: Updated.
3122
3123 Mon Oct 25 18:11:21 1999  H.J. Lu <hjl@lucon.org>
3124
3125         * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
3126         (auth_authenticate_internal): Check for NULL return on forward
3127         DNS lookup.
3128         (auth_authenticate): Handle "no_forward_dns".
3129
3130 Thu Oct 21 16:22:06 1999  H.J. Lu <hjl@lucon.org>
3131
3132         * Version 0.1.1 released.
3133
3134         * nfs-utils.spec (Version): Set to 0.1.1.
3135
3136         * configure.in (VERSION): Set to "nfs-utils 0.1.1".
3137         * configure: Regenerated.
3138
3139         * README: Updated.
3140
3141 Mon Oct 18 17:43:29 1999  H.J. Lu <hjl@lucon.org>
3142
3143         * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
3144         to knfsd-clients.
3145         (Provides): Likewise.
3146
3147 Mon Oct 18 14:56:22 1999  H.J. Lu <hjl@lucon.org>
3148
3149         * Initial version 0.1 released.
3150
3151         * configure.in (VERSION): Set to "nfs-utils 0.1".
3152         * configure: Regenerated.
3153
3154 Mon Oct 18 14:54:57 1999  H.J. Lu <hjl@lucon.org>
3155
3156         * utils/mountd/mountd.c (get_exportlist): Cleanup.
3157
3158         * utils/exportfs/exportfs.c (unexport_all): Unexport from
3159         kernel only if the entry is exported to kernel.
3160         (unexportfs): Likewise.
3161
3162 Wed Sep 08 16:49:32 1999  Neil Brown <neilb@cse.unsw.edu.au>
3163
3164 1/ utils/mountd/rmtab.c::mountlist_list
3165
3166      This routine stats the rmtab file to see if it has changed.  It
3167      if has, it cleans up it's old copy of the data. But it still
3168      always re-read the file, thus returning multiple copies of the
3169      data on consecutive calls without intervening changes.
3170      "Showmount -a" didn't show this as it appears to sort/unique the
3171      data, but 'strace showmount -a' showed that the size of the
3172      datagram that it received grew.
3173
3174      I moved the getrmtabent loop inside the mtime test.
3175
3176 2/ utils/exportfs/exportfs.c
3177    
3178      Many routines used the m_path field of m_export instead of
3179      e_path.
3180      According to the comment in nfslib.h, m_path should only
3181      be used when processing a mount request (i.e. in mountd)
3182      where the mountpoint may be a subdirectory of the export point.
3183
3184      I changed all occurances of m_path to e_path
3185
3186
3187 3/ utils/exportfs/exportfs.c:main
3188
3189       extra arguments are not meaningful with -a or -r, but
3190       exportfs accepted them and then ignored the -a/-r, expect that
3191       -r would still unexport everything first.
3192
3193       I generate an error if there are extra args and f_all
3194
3195 4/ utils/exportfs/exportfs.c:main
3196      extract dump out as a special case.
3197
3198 5/ utils/exportfs/exportfs.c
3199      made f_reexport a local variable.
3200
3201
3202 6/ utils/exportfs/exportfs.c:main,exportall
3203
3204     support/export/rmtab.c
3205        only  mayexport on newly created entries, don't set xtabent at all
3206
3207 7/ support/include/nfslib.h
3208
3209       add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
3210
3211 8/ support/export/xtab.c
3212
3213       xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
3214       else from xtab
3215
3216
3217 9/ support/export/xtab.c
3218
3219       xtab_mount_read now sets m_exported, and NOT
3220         xtabent and mayexport
3221
3222       removed the append arguement from xtab_write as it was
3223         never used.
3224
3225       added is_export flag to xtab_write similar to xtab_read
3226         if is_export, only write entries with m_xtabent or m_addxtab
3227         if !is_export, only write entries with m_exported
3228      
3229 10/ support/export/export.c::export_allowed_internal
3230
3231       added test for exp->m_mayexport, as the export tree
3232         may have entries that are no longer allowed to be exported,
3233         and so shouldn't caused deduced exported by rmtab_read
3234
3235 11/ utils/exportfs/exportfs.c::main
3236         error checking of flags.
3237
3238 12/ utils/exportfs/exportfs.c
3239
3240         total rewrite of export and unexport logic.
3241         We now:
3242         -  build an exportslist of valid exports, based on
3243            current etab file  and arguments,
3244         -  read rmtab to instantiate relevant wild card entries
3245         -  read etab to find out what is currently exported
3246         -  synchronise intention with reality
3247         -  write out etab and xtab
3248
3249 13/  various
3250         discard the m_addxtab flag
3251         add m_changed flag so we know what to report in exportfs
3252
3253 14/ utils/mountd/auth.c:auth_authenticate
3254
3255         the value returned by gethostbyaddr was trusted.
3256
3257         It now follows this with a call to gethostbyname
3258         and checks that the address is in the list.
3259
3260 15/ support/export/nfsctl.c::cltsetup,expsetup
3261
3262         force client names to lowercase as kernel is
3263         sensitive to case
3264
3265 16/ quietened a few compiler warnings
3266
3267 17/ support/export/client:client_lookup
3268
3269      look for pre-existing client with same name before creating
3270         a new one.
3271
3272 18/ support/include/exportfs.h
3273
3274      The ordering of the MCL_* enum was:
3275         ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
3276
3277      I moved ANONYMOUS to the end.
3278
3279      The ordering is significant when an export entry is being searched for to 
3280         match a given address.  There are two problems with ANONYMOUS being first.
3281
3282         1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
3283            then the ro case will always be found first and the privileged hosts won't get
3284            their privilege
3285         2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
3286            export entry for the specific host, and writes it to xtab.
3287            When another request comes from the same host, the ANONYMOUS entry is found again, 
3288            before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
3289            again.  If causes bloat in xtab.
3290
3291       Putting ANONYMOUS at the end reflects it's nature as a catch-all
3292
3293 19/ utils/exportfs/exportfs.man
3294         many updates to the man page to reflect changes to the code
3295
3296 -----------------------
3297
3298
3299
3300 TODO:
3301
3302 - allow exportfs to modify rmtab file
3303 - make sure kernel never gets two clients with same IP address
3304     - possible kernel should reject
3305     - needs to be some way to lookup client in kernel by IP address
3306 - maybe get kernel to do case-insensitive comparisons on client names
3307 - remove unused clients from kernel
3308
3309 - change etab to xtab and xtab to xtab.active
3310
3311 - timestamp and/or statd-stamp in rmtab for removing old entries.
3312
3313 Mon Oct 18 11:48:07 1999  H.J. Lu <hjl@lucon.org>
3314
3315         * linux-nfs: New directory.
3316         * linux-nfs/ChangeLog: Moved from ..
3317         * linux-nfs/INSTALL: Likewise.
3318         * linux-nfs/KNOWNBUGS: Likewise.
3319         * linux-nfs/NEW: Likewise.
3320         * linux-nfs/README: Likewise.
3321         * linux-nfs/THANKS: Likewise.
3322         * linux-nfs/TODO: Likewise.
3323
3324         * Starting from knfsd 1.4.7.