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