File: ChangeLog

package info (click to toggle)
nfs-user-server 2.2beta47-23
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,016 kB
  • ctags: 1,435
  • sloc: ansic: 12,067; sh: 652; makefile: 265
file content (1023 lines) | stat: -rw-r--r-- 35,295 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
Wed Nov 10 10:17:16 1999

	* Security fix for buffer overflow in fh_buildpath
	  No thanks to Mariusz who reported it to bugtraq
	  rather than me.

Wed Sep  8 09:07:38 1999

	* If a host is listed by IP addr, do a reverse lookup
	  just once when parsing the exports file.

	* When an unknown addr is matched by the anonymous
	  or default client, create an entry in the address
	  hash table. Don't allow more than 1000 anon/default
	  hash entries at one time (brutal garbage collection).

	* Fix by Derek Mulcahy: auth_getclient_internal
	  now flags 1.2.3.4/255.255.255.0 hosts as special
	  so that a DNS lookup is skipped.

	* More fixes for netmask exports. Thanks to
	  Mikael Hakman <Mikael.Hakman@ibm.net> for
	  testing them.

Thu Jul 15 12:16:46 1999  Olaf Kirch <okir@monad.swb.de>

	* Mount attempts from an unlisted client would
	  crash mountd (NULL pointer deref).

Fri Jun 11 12:11:10 1999  Olaf Kirch <okir@monad.swb.de>

	* Scott Simpson <simpsons@intergame.com> reports
	  that setfsuid(-2) fails on his machine.
	  Lo and behold, it does so on my machine, too.
	  That's because glibc switched to 32bit userland
	  uid's and makes sure the upper 16bits are
	  zero before calling the kernel's setfsuid() etc.

Wed Jun  2 14:13:50 1999  Olaf Kirch <okir@monad.swb.de>

	* Added --no-spoof-trace flag to mountd
	  (parallels nfsd's use of this flag)
	  as per suggestion from beurton@univ-ubs.fr (Luc.Beurton).
	  Option documented in manpages.

Wed May 26 10:07:02 1999  Olaf Kirch <okir@monad.swb.de>

	* Broken SECURE_PORT macro in system.h.
	  Bug report and fix from Kazutoshi Morioka
	  <aab36830.pop07.odn.ne.jp>

Mon May 17 15:19:17 1999  Olaf Kirch <okir@monad.swb.de>

	* Newer glibc's actually define authdes_getucred...

Mon Apr 19 14:01:31 1999  Olaf Kirch <okir@monad.swb.de>

	* The last few patches again broke exporting of the
	  root directory :-(
	  Thanks to Gavin Hurlbut <gjhurlbu@beirdo.ott.uplink.on.ca>.

Thu Apr  8 14:43:38 1999  Olaf Kirch <okir@monad.swb.de>

	* Patch from Peter Benie <pjb1008@cam.ac.uk> to
	  make sure that if we require secure ports, we make
	  sure requests don't come in from < IPPORT_RESERVED/2.

Mon Jan 11 22:12:01 1999  Olaf Kirch <okir@monad.swb.de>

	* Various fixes to the inode number generation
	* For each export, now keep track what its origin
	  is (e.g. a netmask export, or a wildcard one).
	  We also keep a pointer to the parent export.
	* In nfsd_readdir, hide the inode number for the ..
	  entry if we're reading the top-most exported
	  directory (avoids inode clashes when using the new
	  inode # generation scheme).

Wed Nov  4 23:39:15 1998  Olaf Kirch <okir@monad.swb.de>

	* The recently-introduced FHFIND_CHECK invoked from
	  within auth_fh was consuming unacceptable amounts
	  of CPU because the fsuid/fsgid weren't set
	  to the aller's credentials. As a consequence,
	  the lstat call would fail more often than not,
	  causing calls to fh_buildpath.

	  Reported and anaylzed by Wolfgang Moeller,
	  <moeller@gwdvms.dnet.gwdg.de>. Many many thanks
	  for this very helpful bug report.

Fri Oct 30 17:42:17 1998  Olaf Kirch <okir@monad.swb.de>

	* Experimental code for inode # generation.
	  Should cure the inode aliasing problems people see
	  on big disks.

	* Added Pavel Machak's patch for exprimental file
	  systems.

Fri Oct 23 09:40:16 1998  Olaf Kirch <okir@monad.swb.de>

	* On machines where people didn't enable the resolver's
	  nospoof option, exporting to just a single IP of
	  a multi-homed host would create a client entry for
	  a randomly chosen IP (well, of the ones that belong
	  to the client, of course:-).
	  Still not perfectly solved; listing a single IP
	  will now export to _all_ IPs of a multi-homed host.
	  Reported by <nick@gidora.zeta.org.au>.

Mon Oct 19 17:32:07 1998  Olaf Kirch <okir@monad.swb.de>

	* Listing /cdrom/	foo(ro)
	  would export
		/	world
		/cdrom	foo
	  Reported by <Harald.Hannelius@iki.fi>

Wed Sep 30 12:39:22 1998  Olaf Kirch <okir@monad.swb.de>

	* Fixed yet another problem with mountd (DoS attack).
	  Bug found and reported to bugtraq by Tiago Rodrigues
	  <tiagor@solsuni.pt>.

	* Added experimental code for TCP authentication via
	  external daemon.

	* Anonymous clients get a different set of default options.

	* Fixed problem in fh_find with directories that are
	  mount points (cached FHs would be discarded and rebuilt
	  for every call).

	* ANSIized a couple of functions.

Mon Sep 14 14:32:37 1998  Olaf Kirch <okir@monad.swb.de>

	* Added the --fail-safe option to mountd/nfsd.
	  This option gives you automatic restarting of the
	  servers after death by signal. This is a debugging
	  feature.

	* Replace all signal() calls with sigaction() unless
	  the former implement BSD signal semantics (i.e. signal
	  handlers are sticky, unlike on sysv).

Thu Sep 10 15:54:13 1998  Olaf Kirch <okir@monad.swb.de>

	* Fixed two bugs in the authentication code.
	  1. Numeric IPs weren't handled properly
	  2. Exporting the root directory didn't work.

	* Some clients send partial utimes updates only
	  (mtime but no atime, etc).
	  Fix from Alan Cox <alan.cox@redhat.com>

	* aclocal.m4: Don't assume "." is in the path when
	  running site.mk.
	  Fix from SL Baur  <steve@altair.xemacs.org>

	* nfsd.c: when receiving SIGHUP, the daemon
	  was trying to re-read the exports file under whatever
	  uid it happened to handle the most recent request.
	  Bad idea if /etc/exports is not world-readable.
	  Reported by Tero Pelander <tpeland@top.tkukoulu.fi>

	* auth_init.c: when receiving SIGHUP, nfsd would loop
	  forever in auth_init() if there were bad characters
	  in an export entry's options field (e.g. a `-').
	  Reported by Tero Pelander <tpeland@top.tkukoulu.fi>

Fri Aug 28 17:30:53 1998  Olaf Kirch <okir@monad.swb.de>

	* Fixed a stupid bug in the handling of some mount
	  requests...

Fri Aug 28 10:18:46 1998  Olaf Kirch <okir@monad.swb.de>

	* Fixed buffer overrun (blush).

Fri Jul 10 15:11:30 1998  Olaf Kirch <okir@monad.swb.de>

	* As per pavel Machek's request, now does a chdir("/")
	  at start-up.

Mon Dec 22 09:44:10 1997  Olaf Kirch <okir@monad.swb.de>

	* Various fixes to make it compile on glibc2
	  (Pascal Dupuis <dupuis@lei.ucl.ac.be>)
	* Dprintf wouldn't print L_NOTICE messages
	  (Dieter Stolte <d.Stolte@tu-bs.de>)

Sun Dec 21 13:35:07 1997  Olaf Kirch <okir@monad.swb.de>

	* Backed out the getattr patch introduced in previous patch.
	* Some experimental code for multiple servers in R/W mode.

Mon Dec  8 17:15:28 1997  Olaf Kirch <okir@monad.swb.de>

	* mountd now supports hosts_access
	* Fixed uid/gid mapping to work on glibc 2 (32bit uid_t/gid_t)
	  Also added to new mapping facilities (static and NIS)
	* Fixed a problem with the alarm timer never going off when
	  running multiple servers (Bernd Anhaeupl)
	* Fixed a problem with bad device numbers (always 1) in
	  getattr() (Marty Leisner).
	* Some NIS servers (e.g. Sun) return trailing white space
	  in hosts.byaddr NIS maps. Libc doesn't remove them, so
	  the code in auth.c has to.

Wed Aug 27 12:42:35 1997  Olaf Kirch <okir@monad.swb.de>

	* rpc.mountd would let the client know whether a file was
	  installed or not, even if the client was not authorized
	  to mount it.

Mon Aug 11 16:46:40 1997  Olaf Kirch <okir@monad.swb.de>

	* Added --log-transfers option.
	* Streamlined the anon-only case to provide better performance
	  for world exports (e.g. for off-the-server Linux installs).

Fri Jul 11 16:00:00 1997  Olaf Kirch <okir@monad.swb.de>

	* Added some support for WebNFS. Still subject to testing.

Sat Jun 28 19:01:17 1997  Olaf Kirch <okir@monad.swb.de>

	* If an exports line contains the anon client, make sure
	  the volume is presented as world-exportable to showmount
	  clients. Otherwise it causes problems for some automounter
	  implementations (e.g. Sun's automount).  Bug report and fix
	  by M. Manoj Kumar <manoj@sys.soft.net>.
	* mount manpage now refers explicitly to both NFS and SMB
	  when describing the --re-export option.

Thu Jun 19 11:55:04 1997  Olaf Kirch <okir@monad.swb.de>

	* When the client called setattr() with wildcard mtime,
	  we returned the old mtime. Reported by tstam@cse.cuhk.edu.hk.
	* rmtab was created with the wrong permissions.

Wed Feb  5 17:11:39 1997  Olaf Kirch <okir@monad.swb.de>

	* Modified BUILD script so it can be called to set up
	  site.h and site.mk non-interactively (do you call that
	  intra-actively?)
	  
Tue Dec 31 16:57:57 1996  Olaf Kirch <okir@monad.swb.de>

	* Directories within setgid directories didn't get
	  created with the setgid bit set.

Fri Nov 22 00:03:08 1996  Olaf Kirch <okir@monad.swb.de>

	* Fixed serious bug in create/lookup/mkdir etc which
	  didn't check for slashes in the file name.
	* The hosts_ctl call in ugidd.c was missing an argument.
	  Thanks to Ken-ichi Yamasaki <yamasaki@phys.uec.ac.jp>

Tue Nov 19 09:43:48 1996  Olaf Kirch <okir@monad.swb.de>

	* Fixed problem with Ultrix clients who would send a
	  mode of 0xffff in some setattr calls.

Fri Nov 15 11:50:28 1996  Olaf Kirch <okir@monad.swb.de>

	* Added experimental CDF support. See README.CDF for details.

Wed Sep 25 01:19:25 1996  Olaf Kirch <okir@monad.swb.de>

	* Fixed a very old bug in the file handle cache. When many
	  files are accessed in quick succession, there may be a hash
	  clash in the fh cache (ouch). This is normally detected,
	  but the stale FH wouldn't be removed in all cases. Instead,
	  nfsd would incorrectly flag an NFSERR_STALE error.

Fri Sep 20 13:58:46 1996  Olaf Kirch <okir@monad.swb.de>

	* Fixed stupid typo in getattr.c, where file size was always
	  capped at 1024 in fattr returns.
	* mountd can now run on fixed port number (for the benefit of
	  firewalls).
	  Patch courtesy to Patrick Weemeeuw <patrick@kulnet.kuleuven.ac.be>,
	  with some minor changes by me (okir).
	* Cleaned up some minor nuisance when running from inetd. 

Sat Aug 17 17:55:21 1996  Olaf Kirch <okir@monad.swb.de>

	* When executing an mknod call, don't assume anything about
	  the size or layout of the client's dev_t, and cast the
	  size attribute to dev_t directly.
	  If the cast loses bits, return NFSERR_INVAL.

Fri Aug  2 11:19:58 1996  Olaf Kirch <okir@monad.swb.de>

	* getattr should return the exact size of a symlink, not
	  NFS_MAXPATH.

Sat Jul 27 03:35:57 1996  Olaf Kirch <okir@monad.swb.de>

	* Backed out a bug introduced by the AXP patches
	  (David Mosberger-Tang).
	* Corrected an off-by-one error in mountd handling of different
	  mount protocol versions (H.J. Lu).
	* Improved netgroup processing; nfsd and mountd unregister from
	  the portmapper after shutdown (Swen Thuemmler).

Fri Jul  5 12:09:01 1996  Olaf Kirch (okir@monad.swb.de)

	* Added support for MOUNT ver 2 to mountd. Solaris 2.5 seems
	  to need it in some incarnations.

Fri Jun 14 17:56:29 1996  Olaf Kirch (okir@monad.swb.de)

	* Added patches by David Mosberger-Tang to be able
	  to let unfsd run on Linux/AXP (and other 64bit machines?).

Fri Mar  1 20:23:38 1996  Olaf Kirch (okir@monad.swb.de)

	* NULL pointer dereference in auth_init.c, get_client()
	  when exporting /. (Steven L. Baur <steve@miranova.com>)

Wed Feb 28 20:39:36 1996  Olaf Kirch (okir@monad.swb.de)

	* When started from inetd, force foreground mode

Wed Feb 21 16:11:29 1996  Olaf Kirch (okir@monad.swb.de)

	* In nfsproc_symlink, if the arguments contained valid attributes,
	  we would try to set the attrs of the symlink _destination_,
	  which is clearly wrong and led to error messages.
	  Thanks to <Klaus.Steinberger@physik.tu-muenchen.de>.

Thu Feb 15 01:26:05 1996  Olaf Kirch (okir@monad.swb.de)

	* Finally fixed the SIGHUP death syndrome. A dangling pointer
	  was at fault, but the problem occured only when using
	  anonymous exports.  Why do people do things like that?! :-)

	  Many thanks to Jan Kasprzac <kas@foresta.cz> for mailing me
	  a very instructive gdb trace.

Tue Feb 13 11:31:00 1996  Olaf Kirch (okir@monad.swb.de)

	* Fixed a problem with showmount not displaying directories
	  exported to everyone.
	* Fixed problem with broken OS/2 clients that would try to do
	  a lookup(dirname, "").
	  Bug report & fix by Jon Seymour <jon@zeta.org.au>

Wed Jan 31 19:59:36 1996  Olaf Kirch (okir@monad.swb.de)

	* Added umask(0) to fh_init.
	* Now do bounds checking on read requests. Reads of more than
	  8K would crash the server... Yuck!
	  Bumped max read/write size to 16K.

Mon Jan 29 11:12:58 1996  Olaf Kirch (okir@monad.swb.de)

	* nfsd now recognizes the nfs/udp service port defined in
	  /etc/services
	* Calls from anonymous clients used to cause DNS lookups each
	  time. Thought I had fixed that ages ago... :-(
	* Reverted 'enhancement' that tried to open a file RDWR first.
	  This was supposed to avoid repeated open/close for files that
	  client A was writing to while client B is reading it. Unfortu-
	  nately, the open/close took place nevertheless, and the code
	  didn't check for ETXTBSY on binaries.

	  Thanks to Mike Castle <mcastle@umr.edu> for his excellent
	  bug report.

Sat Jan  6 14:32:20 1996  Olaf Kirch (okir@monad.swb.de)

	* Back-ported my knfsd-based rquotad to unfsd.  Still needs
	  testing by someone actually using quotas.

Sat Jan  6 02:26:56 1996  Olaf Kirch (okir@monad.swb.de)

	* Fixed a `problem' with create handling of read-only files. In
	  path_open, the owner would be allowed any type of access even
	  when the file was inaccessible due to bad permissions (e.g.
	  writing to a mode 400 file). This introduces a different, much
	  more unintuitive feature, namely that a creat() call would
	  truncate an existing file, even when mode 400! There's no
	  One True Belief in this case, but I've modified the code to
	  allow this type of access only for read/write operations,
	  because a semi-succeeding creat operation is much more confusing
	  than a failing truncate.

	  Again, many thanks to Michael Vishchers vishchers@nev.psi.de]

Tue Dec 26 18:35:05 1995  Olaf Kirch (okir@monad.swb.de)

	* Released as 2.2beta6.

Fri Dec 22 18:35:44 1995  Olaf Kirch (okir@monad.swb.de)

	* In path_open, try to open the file RDWR first, and if that fails
	  with EPERM, use the mode provided by the caller.
	* In nfsd_proc_create, open files with O_WRONLY rather than O_RDWR.
	  This made Sun clients barf when doing `echo > xxx' where x was
	  a write-only file.
	* In nfsd_proc_create, ignore the size attribute in the setattr
	  invocation when the file was newly created. It's not needed, and
	  it triggers a very stupid (IMHO) bug in some NFS clients (see
	  comment in the code).
	  [All bugs reported by Michael Vishchers vishchers@nev.psi.de]

Mon Dec 11 20:17:00 1995  Olaf Kirch (okir@monad.swb.de)

	* Ignore client-side enforcement of BSD setgid directories, i.e.
	  ignore gid attribute on creat, mkdir and symlink. The chown
	  call will fail anyway if the user is not in the directory's
	  group; and if the file system was mounted with the BSD option,
	  the kernel will do that for us.

	* truncate() would ignore values greater than the current file
	  size.

	  [Reported by Alec.Muffet@UK.Sun.COM]

Sat Nov 11 23:15:05 1995  Olaf Kirch (okir@monad.swb.de)

	* Fixed a couple of minor glitches reported by Walter Misar
	  <misar@rbg.informatik.th-darmstadt.de>.
	  (Spelling mistake in exports.5 and possible buffer overwrite
	  when reading the exports file).

	* rpcmisc.c: Attempt at fixing an obscure problem with mountd
	  and nfsd occasionally dying after receiving a SIGHUP. It
	  appears this is caused by a SIGPIPE being sent to the daemon
	  when trying to write to a dead socket (but why do sockets die
	  at all?). The daemons now ignore SIGPIPE, hoping that the RPC
	  library code will cope gracefully with the failed write.

Sat Oct 14 00:25:42 1995  Olaf Kirch (okir@monad.swb.de)

	* Fixed problem with file systems exported with all_squash
	  on. Files created by some user were unaccessible to him/her
	  afterwards because the client would perform its own permission
	  checking and find that the user's uid was != nobody_uid.
	  Bug report and initial patch thanks to Robert Vogelgesang
	  <vogelges@rhrk.uni-kl.de>.
	  Note that the modification constitutes a grave hack; and
	  is therefore disabled by default. Compile with DOSHACKS
	  defined to get it.

Fri Sep 29 17:34:17 1995  Olaf Kirch (okir@monad.swb.de)

	* Added noaccess option in exports file.

Wed Sep 13 03:05:16 1995  Olaf Kirch (okir@monad.swb.de)

	* Fixed the stale fh bug, thanks to Petri Kutvonen.
	  The problem was that fh_buildpath would fail to
	  reconstruct the file name from the hashed path in the
	  fh if the user didn't have write permission. Setting
	  the uid to root during path lookup cures this, and
	  also allows us to get rid of a lot of special-case
	  handling for xonly-directories.
	* Added new host format in /etc/exports that permits
	  exports to an entire subnet using addr/mask in dotted
	  quad notation.

Thu Aug 31 20:29:57 1995  Olaf Kirch (okir@monad.swb.de)

	* Increased number of simultaneously open FHs from 8 to
	  3/4*FOPEN_MAX and added LRU list for open files.

Tue Aug 29 23:26:23 1995  Olaf Kirch (okir@monad.swb.de)

	* when a new file couldn't be created because of missing
	  permissions, nfsd-2.2 would return ENOENT instead of EACCES.
	  A `oerrno = oerrno' statement in fh.c was at fault.

Sat Aug 19 17:26:16 1995  Olaf Kirch (okir@monad.swb.de)

	* umask didn't work on mkdir() because it used only the
	  uid/gid provided in the attributes argument. Changed to
	  use mode and utimes arguments as well.
	* symlink ignored the attributes altogether. RFC 1094 says
	  that ``on UNIX servers, the attributes are never used, since
	  symlinks always have mode 0777.'' Evaluating utimes and
	  possibly the owner attributes may still be useful, IMHO, so I
	  added this.

Fri Aug 18 13:11:16 1995  Olaf Kirch (okir@monad.swb.de)

	* A lookup("/", "..") would cause memory corruption.
	  Rarely happens, only with diskless clients and DOS boxes...
	* Fixed a number of BUILD and Makefile problems reported by
	  Holger Grothe.
	* The fh cache is now always flushed from the top RPC dispatch
	  loop to avoid cache corruption. Why is it that bug reports
	  always come in waves?
	* Updated configure.in and aclocal.m4 for Autoconf 2.3

Fri Aug 18 18:11:38 1995  Alexander O. Yuriev (alex@bach.cis.temple.edu)

	* Added ability to log mount requests
	* Modified BUILD

Wed Aug 16 23:31:36 1995  Olaf Kirch (okir@monad.swb.de)

	* Fixed a bug in the create call for readonly-FSs. Thanks
	  to Miquel van Smoorenburg for reporting this.
	* Fixed problem with build script.
	* Added additional code to trace fh's. Hunting for a problem
	  with stale fh's...
	* NFS calls that accept an sattr argument didn't map the uid/gid.
	  Changed all calls to use the new setattr() function.
	* Released as 2.2beta4.

Wed Aug  9 21:10:15 1995  Olaf Kirch (okir@monad.swb.de)

	* Fixed bug in the link routine that would break hardlinks
	  totally. Reported by edi@edefix.han.de.

Thu Jun 29 19:50:36 1995  Olaf Kirch (okir@monad.swb.de)

	* Changed order of while() test in nfsd_proc_readdir so that
	  we read the next directory entry even if it wouldn't fit
	  anymore. This way, we avoid nfs_readdir returning empty
	  dirlists in some cases.

Wed Jun 28 14:31:51 1995  Olaf Kirch (okir@monad.swb.de)

	* Deny hard links between different export volumes.
	  (Could be a security problem if they have different
	  uid mapping strategies).

Sun Jun 25 19:38:29 1995  Alexander O. Yuriev (alex@bach.cis.temple.edu)

	* Added interactive BUILD script. This script now takes care
	  of ugidd configuration.
	* If nfsd is compiled without uid mapping support, rpc.ugidd is
	  replaced with a dummy program.
	* exports file access control added to auth_init.c

Sat Jun 24 15:11:06 1995  Miquel van Smoorenburg (miquels@drinkel.ow.org)

	* Added support for FIFOs and UNIX sockets in nfsproc_create_2.
	  UNIX socket creation is currently supported only on Linux.

Fri Jun 23 14:16:16 1995  Olaf Kirch (okir@monad.swb.de)

	* Added a call to auth_fh at the top of nfsproc_lookup.
	  Without this call, the directory file handle would sometimes
	  be checked with the wrong uid/gid.

Tue Jun 13 18:23:01 1995  Olaf Kirch (okir@monad.swb.de)

	* Enabled Multiple-Server hack. This option implies global
	  read-only export. See nfsd.8 manpage.

Sat May 27 00:34:06 1995  Olaf Kirch (okir@monad.swb.de)

	* Added selective squashing (squash_uids=...) and
	  client-specific nobody uid (anonuid=..) support.
	  Rewrote exports.5 manpage.

	* uid mapping is now compiled in unconditionally.

Thu May 25 13:58:55 1995  Olaf Kirch (okir@monad.swb.de)

	* Added MNT_DUMP patches by Dariush Shirazi
	  <dshirazi@uhl.uiowa.edu>.

	* Added SIGHUP handlers to mountd and nfsd for re-reading
	  the exports file and flushing the fh cache.

	* Added files mountd.h and mount_dispatch.c. The latter replaces
	  mount_svc.c.

	* Support for multi-homed clients.

Fri May 19 21:36:53 1995  Olaf Kirch (okir@monad.swb.de)

	* (dispatch.c): log_call is now only called when debugging has
	  really been enabled. Otherwise the pr_* functions get called
	  regardless of debug state. This saves about 30-50% of execution
	  time per call.

	* Moved generic RPC startup code (as generated by rpcgen from
	  Rick's rpc-0.9) into rpcmisc.c. These routines are now used
	  by both nfsd and mountd.

	* Added hosts_access control to ugidd.

	* ugidd would crash if someone asked for a nonexistent user
	  or group name. uid_name and gid_group would return NULL
	  in this case, which makes xdr_string segfault.

	* mountd would re-export NFS-mounted file systems regardless
	  or whether it had been started with --re-export or not. Fixed.

	* creat calls on existing special files should now work even on
	  read-only FSs. Again, this is for the sake of Sun's
	  echo >/dev/null.

Thu May 18 00:19:50 1995  Olaf Kirch (okir@monad.swb.de)

	* Added per-call profiling. See the description of -DCALL_PROFILE
	  in the Makefile.

	* Added netgroup support to /etc/exports parsing.

Sat Apr 29 00:58:42 1995  Olaf Kirch (okir@monad.swb.de)

	* The file handle flushing code is now executed more frequently.
	  File descriptors are closed after about 2 minutes of inactivity
	  so that files deleted behind our back actually go away.  Thanks
	  to David Coons <davec@fa.disney.com> for his very helpful bug
	  report.

Thu Apr 27 01:50:27 1995  Olaf Kirch (okir@monad.swb.de)

	* Fixed a bug with fd reuse in fh_fd. A previously opened
	  file was not checked for access restrictions when another
	  user tried to read it. 

	* Redid much of the uid mapping code in ugid_map.c. Hopefully
	  a lot cleaner and robust now. This code is still experimental,
	  though.

Wed Apr 26 01:46:11 1995  Ricky Beam (cramer@catt.ncsu.edu)

	* Incorporated Mark Shand's ugid mapping code to handle nfs calls
	  for unmatched filesystems -- a common thing I see under linux.

	* The actual source of the ugid code is unknown -- I've had it for
	  several years as the end result of a week long archie.

Tue Apr 11 00:45:10 1995  Olaf Kirch (okir@monad.swb.de)

	* Clients may now again appear as both wildcards and exact
	  names. In early 2.2 versions, foo.bar.edu would not get the
	  mount points for *.bar.edu.

	* Wildcards are matched from most specific to least specific. 
	  This allows to have both *.pal.xgw.fi and *.xgw.fi in your
	  /etc/exports.

Thu Mar 30 23:01:57 1995  Olaf Kirch (okir@monad.swb.de)

	* auth.c: redone entire client authentication.

	* auth.c: client lookup now uses hash table indexed by client
	  IP address.

	* nfsd.c: authenticate fh's on every request. Removed check_ro
	  and added general auth_fh function.

	* implemented root_squash.

	* added setfsuid/setfsgid. If it's not in the library, a static
	  inline asm function is kludged for Linux ix86.

	* nfsd.c (nfsproc_create_2): "echo > /dev/null" still wouldn't 
	  work from Suns (it would create a regular file instead). We now
	  set the request's attr.size field to major/minor number of the
	  device if we see this sort of thing.

	* auth_init.c: moved check for nobody's uid and gid to auth_init
	  so this check is performed at run time. Removed AC_NOBODY
	  checks from configure.in and friends.

Mon Dec 27 22:37:12 1993  Rick Sladkey  (jrs@lepton)

	* released as Universal NFS Server 2.0

	* dispatch.c (nfs_dispatch): omit comparision of unsigned >= 0.

	* fh.c (fh_find): quiet gcc 2.5 format warning.

	* nfsd.h (realpath prototype): only if not HAVE_REALPATH defined.

Sun Nov 21 09:48:07 1993  Rick Sladkey  (jrs@lepton)

	* system.h (setreuid, setregid): change to seteuid and setegid.

	* configure.in (AC_HAVE_FUNCS): check for seteuid.

	* dispatch.c (set_ids), fh.c (path_open): change
	setreuid and setregid to seteuid and setegid forms.

Thu Nov  4 22:20:51 1993  Rick Sladkey  (jrs@lepton)

	* auth_clnt.c (auth_clnt): fix a NULL dereference bug
	found due to the new qmagic binary format, nice.

	* fh.c (fh_find), getattr.c (getattr), logging.c (dprintf):
	replace blind usage of a raw string as the format string
	to a printf-like function.  Now filenames with a % in them work.

	* nfsd.c (nfsd_nfsproc_create_2): it seems incredible
	but the latest patch still didn't allow SunOS to say
	echo >/dev/null on a read-only filesystem.  One more try.

Sat Oct 30 22:51:13 1993  Rick Sladkey  (jrs@lepton)

	* nfsd.c (main): use setsid in preference to TIOCNOCTTY.

Thu Oct 28 21:02:39 1993  Rick Sladkey  (jrs@lepton)

	* nfsd.c (nfsd_nfsproc_create_2): allow buggy SunOS
	clients to `create' existing char and block devices on
	read-only filesystems.

Wed Oct 27 21:03:24 1993  Rick Sladkey  (jrs@lepton)

	* logging.c (toggle_logging): bug in interrupt
	handler on systems where signals need to be re-armed.

	* nfsd.c (nfsd_nfsproc_setattr_2): bug reported
	by Ross Becker where files were not being truncated
	properly.

Wed Oct 13 20:08:45 1993  Rick Sladkey  (jrs@lepton)

	* nfsmounted.c: new file.

	* mountd.8, nfsd.8: general overhaul of the manual pages.

	* mountd.c, nfsd.c, auth_init.c: new option `--re-export'.

	* aclocal.m4, configure.in: minor changes for autoconf 1.6.

	* dispatch.c (set_ids): failsafe check on size of cred_len
	suggested by Glenn Moloney.

Tue Oct 12 00:36:17 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in (config.status target rule): build config.status
	using old config.status with --recheck, not configure with
	--no-create.

Fri Oct  8 01:12:25 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in: new library target libns.a.

	* xmalloc.c, xstrdup.c, strdup.c, strstr.c: new
	files from fileutils 3.6.

Thu Oct  7 00:07:05 1993  Rick Sladkey  (jrs@lepton)

	* aclocal.h: new macro AC_MOUNTLIST based on the
	configure.in from fileutils 3.6.

	* mountlist.c, mountlist.h: new files from fileutils 3.6.

Wed Oct  6 01:20:14 1993  Rick Sladkey  (jrs@lepton)

	* aclocal.m4, acconfig.h, configure.in: new autoconf
	macro to detect uid and gid for nobody and nogroup.

Tue Oct  5 00:04:48 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in: new rules for configure and config.h.in.

	* aclocal.m4: new file of macros from configure.in.

	* dispatch.c: change -2 uid/gid for nobody to 65534.

	* system.h: try to extract or define PATH_MAX and NAME_MAX.
	
	* dispatch.c (xsetgroups):  it turns out that the type of
	the aup_gids field of authunix_parms structure is the same
	as the gids argument to setgroups on all systems I could
	test.  Therefore xsetgroups was not correct and may not
	be necessary.

	* system.h: new file for system dependencies.

	* nfsd.h: handle broken stat macros.

	* acconfig.h: new file.

	* config.h.in: new file created by autoheader.

Mon Oct  4 19:30:31 1993  Rick Sladkey  (jrs@lepton)

	* nfsd.c (serveral functions): replace chown with lchown.

	* dispatch.c (xsetgroups): new function to acount for
	BSD systems where arg to setgroups is not a gid_t pointer.

	* nfsd.c (nfsd_nfsproc_create_2): handle situation where
	the client's major and minor don't agree with the server's.

	* dispatch.c (nfs_dispatch): add support for supplementary
	groups based on Stephen Harris's patch.

	* eaccess.c: new file from fileutils 3.6.  Might use this
	to avoid ever changing user or group IDs.

	* utimes.c (utimes): allow for missing NULL utime argument.

	* nfsd.c (nfsd_nfsproc_create_2): account for a sunos41
	bug where created regular files have a missing S_IFMT value.

Sun Oct  3 22:12:05 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in (mount_svc.c rule): account for solaris2
	braindamage wrt _rpcfdtype.

	* configure.in, Makefile.in: account for possible alloca.c.

	* alloca.c: new file, getopt.c may need it, arghh.

	* fh.c, auth_init.c, auth_clnt.c, nfsd.c: rename
	variables called "name" to "fname" or "hname" because
	"name" is an rpcgen typdef in mount.h and some compilers
	croak on variables with the same name as a type.

	* dispatch.c (table_ent macro): added support for
	pre-ANSI token concatenation and stringification.

	* many files: changed function definitions with ANSI
	prototypes to K&R style declarations.

Sat Oct  2 11:56:12 1993  Rick Sladkey  (jrs@lepton)

	* utimes.c: new file for systems without utimes(2).

	* nfsd.h: defines for setreuid, setregid and getdtablesize.

	* configure.in: check for setreuid, utimes, and
	getdtablesize functions.

	* nfsd.c (check_ro_attrib): fixed bug in Eric's ro checking.
	The argument rqstp was being ignored in favor of the global
	variable svc_rqstp.

	* fh.c (fh_compose): change Job's new .. checking to use
	auth_clnt instead of using the mountfh list.

	* auth_init.c (auth_init): undo Job's new .. checking setup.
	It doesn't work when an export point is a leading substring
	of another mount point.

	* nfs.d (nfsd_nfsproc_readlink_2): fixed bug in Eric's
	new ro permission checking.  The code was checking what
	the link pointed to, not the link itself.

	* many files: Replaced bzero, bcmp, bcopy, index and rindex
	with their ANSI counterparts.

	* nfsd.h (string functions): use or define the string
	functions memcmp, memset, memcpy, strchr and strrchr.

	* Makefile.in (dependencies for C GENFILES): when using VPATH,
	rpcgen gets the include path wrong for the header file.
	Use sed to fix it.

Thu Sep 23 13:30:00 1993  Eric Kasten (tigger@tigger.cl.msu.edu)

	* Added code to allow for proper mounting of a mixture of
        ro and rw file systems.  Most changes are in nfsd.c, including
        the coding of the function check_ro_attrib(), and the 
	inclusion of the calls to this function in the following 
	functions:

		nfsd_nfsproc_setattr_2()
		nfsd_nfsproc_create_2()
		nfsd_nfsproc_remove_2()
		nfsd_nfsproc_rename_2()
		nfsd_nfsproc_link_2()
		nfsd_nfsproc_symlink_2()
		nfsd_nfsproc_mkdir_2()
		nfsd_nfsproc_rmdir_2()


Sat Oct  2 01:32:55 1993  Rick Sladkey  (jrs@lepton)

	* many files: add patch from Job de Haas to prohibit .. on mountpoints.

Fri Oct  1 01:28:46 1993  Rick Sladkey  (jrs@lepton)

	* Makefile.in (mount_svc rule): ensure _rpcpmstart isn't static.

	* mountd.c: make _rpcpmstart and forking depend on HAVE_RPCGEN_I.

	* mountd.c: make _svc suffix depend on HAVE_RPCGEN_C.

	* configure.in, Makefile.in: detect rpcgen, rpcgen -C, and rpcgen -I.

	* Makefile.in: add dependencies for headers.

	* mountd.c (main): use setsid if TIOCNOTTY isn't defined.

	* nfsd.c (main): use setsid if TIOCNOTTY isn't defined.

	* mkinstalldirs: new version.

	* showmount.c (main, usage): added long options.

	* nfsd.c (main, usage): added long options.

	* mountd.c (main, usage): added long options.

	* getopt.c, getopt1.c, getopt.h: new files.

	* fh.c (path_open): fixed a stupid bug where new files couldn't be
	created.

Tue Sep 21 20:08:02 1993  Rick Sladkey  (jrs@lepton)

	* nfsd.c (nfsd_nfsproc_create_2): rework Mark Eichin's special
	file patch so that mknod from the client now works.

	* fh.c (path_open): ensure EISDIR is returned for all special files.

	* many files: pervasive changes for autoconf dependencies.

	* strerror.c, mkdir.c, rename.c: new files based on tar-1.11.2.

	* fsusage.c, fsusage.h: new files from fileutils-3.6.

	* Makefile.in, configure.in, mkinstalldirs, COPYING, INSTALL:
	new files based on autoconf and GNU standards.

Thu Aug  5 19:51:50 1993  Rick Sladkey  (jrs@lepton)

	* showmount.c (main): use gethostname as default instead of localhost.

	* showmount.c (main): zero out RPC data structures before use.

	* showmount.c (main): calculate exact column width for exports display.

	* showmount.c (main): fix "(everybody)" netgroup display problem.

	* nfsd.h (declarations): add prototype for realpath.

	* auth_init.c (auth_init): use realpath to excise symlinks here too.

	* mountd.c (mountproc_mnt_1): don't force leading slash on filenames.

	* mountd.c (mountproc_mnt_1): permit files as well as directories
	to be mounted by clients.

	* mountd.c (mountproc_mnt_1): use `realpath()' as a replacement for
	the incomplete symlink expansion.

	* realpath.c: new file.

	* fh.c (path_open): emulate Sun NFS server's EISDIR response
	to reads or writes on character or block special files.

	* fh.c (path_open): added support for clients being able to read
	execute-only files.

	* fh.c (nfs_errtbl): added support for EINVAL that Sun forgot.

Sat Apr 24 01:10:29 1993  Rick Sladkey  (jrs@lepton)

	* auth_clnt.c (auth_clnt): restored the "move to front" feature of
	auth_clnt while maintaining FNvK fix below.

Sun Apr  5 02:21:00 1993  Fred N. van Kempen  (waltje@uwalt.nl.mugnet.org)

	* auth_clnt.c (auth_clnt): Fixed the "looping" bug.

Sat Apr 10 21:56:10 1993  Rick Sladkey  (jrs@lepton)

	* packaged and released as nfs-server-1.5.

	* mountd.c (mountproc_mnt_1): resolve all symlinks in the pathname
	of a mount request.
	Bug reported by Peter McDonald <pmacdona@sanjuan.UVic.CA>.

	* fh.c (path_open): extended stateless server fix to allow reading
	a unreadable file if owned by requesting uid.

Sun Feb 14 00:00:00 1993  Fred N. van Kempen  (waltje@uwalt.nl.mugnet.org)

	* total re-organization of the source distribution.

	* added SYSLOG support.  Removed logfile support.

	* fixed /etc/exports reading bug.

Thu Feb  4 00:40:42 1993  Rick Sladkey  (jrs@lepton)

	* many files: added in obz@raster.Kodak.COM (Orest Zborowski)
	changes to support multiple file descriptor caching and debug
	changes.

	* fh.c (fh_fd): added stateless server capability to write to
	read-only file if owned by requesting uid.

Fri Jan 29 01:39:25 1993  Rick Sladkey  (jrs@lepton)

	* packaged and released as nfs-server-1.2.

Sun Jan 24 02:07:21 1993  Rick Sladkey  (jrs@lepton)

	* added anonymous mounts, lots of reorganizations.

Sat Jan 23 21:09:39 1993  Rick Sladkey  (jrs@lepton)

	* added showmount -e support to mountd.

	* added authentication and pathname validation to mountd.

	* added support for hostname patterns in exports file.

	* renamed lots of files to more generic names.

Sat Jan 16 13:17:08 1993  Rick Sladkey  (jrs@lepton)

	* main.c (main): added support for tcp version of nfsd as well as
	the ability to start nfsd from inetd.

	* dispatch.c: changed NOBODY and NOGROUP defines to -2.

Mon Jan 11 23:57:59 1993  Rick Sladkey  (jrs@lepton)

	* Makefile: added support for tcp version of mountd.