Updated for nfs-utils 0.1.2.
[nfs-utils.git] / ChangeLog
1 Mon Oct 25 18:12:45 1999  H.J. Lu <hjl@lucon.org>
2
3         * nfs-utils.spec (Version): Set to 0.1.2.
4
5         * configure.in (VERSION): Set to "nfs-utils 0.1.2".
6         * configure: Regenerated.
7
8         * README: Updated.
9
10 Mon Oct 25 18:11:21 1999  H.J. Lu <hjl@lucon.org>
11
12         * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
13         (auth_authenticate_internal): Check for NULL return on forward
14         DNS lookup.
15         (auth_authenticate): Handle "no_forward_dns".
16
17 Thu Oct 21 16:22:06 1999  H.J. Lu <hjl@lucon.org>
18
19         * Version 0.1.1 released.
20
21         * nfs-utils.spec (Version): Set to 0.1.1.
22
23         * configure.in (VERSION): Set to "nfs-utils 0.1.1".
24         * configure: Regenerated.
25
26         * README: Updated.
27
28 Mon Oct 18 17:43:29 1999  H.J. Lu <hjl@lucon.org>
29
30         * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
31         to knfsd-clients.
32         (Provides): Likewise.
33
34 Mon Oct 18 14:56:22 1999  H.J. Lu <hjl@lucon.org>
35
36         * Initial version 0.1 released.
37
38         * configure.in (VERSION): Set to "nfs-utils 0.1".
39         * configure: Regenerated.
40
41 Mon Oct 18 14:54:57 1999  H.J. Lu <hjl@lucon.org>
42
43         * utils/mountd/mountd.c (get_exportlist): Cleanup.
44
45         * utils/exportfs/exportfs.c (unexport_all): Unexport from
46         kernel only if the entry is exported to kernel.
47         (unexportfs): Likewise.
48
49 Wed Sep 08 16:49:32 1999  Neil Brown <neilb@cse.unsw.edu.au>
50
51 1/ utils/mountd/rmtab.c::mountlist_list
52
53      This routine stats the rmtab file to see if it has changed.  It
54      if has, it cleans up it's old copy of the data. But it still
55      always re-read the file, thus returning multiple copies of the
56      data on consecutive calls without intervening changes.
57      "Showmount -a" didn't show this as it appears to sort/unique the
58      data, but 'strace showmount -a' showed that the size of the
59      datagram that it received grew.
60
61      I moved the getrmtabent loop inside the mtime test.
62
63 2/ utils/exportfs/exportfs.c
64    
65      Many routines used the m_path field of m_export instead of
66      e_path.
67      According to the comment in nfslib.h, m_path should only
68      be used when processing a mount request (i.e. in mountd)
69      where the mountpoint may be a subdirectory of the export point.
70
71      I changed all occurances of m_path to e_path
72
73
74 3/ utils/exportfs/exportfs.c:main
75
76       extra arguments are not meaningful with -a or -r, but
77       exportfs accepted them and then ignored the -a/-r, expect that
78       -r would still unexport everything first.
79
80       I generate an error if there are extra args and f_all
81
82 4/ utils/exportfs/exportfs.c:main
83      extract dump out as a special case.
84
85 5/ utils/exportfs/exportfs.c
86      made f_reexport a local variable.
87
88
89 6/ utils/exportfs/exportfs.c:main,exportall
90
91     support/export/rmtab.c
92        only  mayexport on newly created entries, don't set xtabent at all
93
94 7/ support/include/nfslib.h
95
96       add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
97
98 8/ support/export/xtab.c
99
100       xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
101       else from xtab
102
103
104 9/ support/export/xtab.c
105
106       xtab_mount_read now sets m_exported, and NOT
107         xtabent and mayexport
108
109       removed the append arguement from xtab_write as it was
110         never used.
111
112       added is_export flag to xtab_write similar to xtab_read
113         if is_export, only write entries with m_xtabent or m_addxtab
114         if !is_export, only write entries with m_exported
115      
116 10/ support/export/export.c::export_allowed_internal
117
118       added test for exp->m_mayexport, as the export tree
119         may have entries that are no longer allowed to be exported,
120         and so shouldn't caused deduced exported by rmtab_read
121
122 11/ utils/exportfs/exportfs.c::main
123         error checking of flags.
124
125 12/ utils/exportfs/exportfs.c
126
127         total rewrite of export and unexport logic.
128         We now:
129         -  build an exportslist of valid exports, based on
130            current etab file  and arguments,
131         -  read rmtab to instantiate relevant wild card entries
132         -  read etab to find out what is currently exported
133         -  synchronise intention with reality
134         -  write out etab and xtab
135
136 13/  various
137         discard the m_addxtab flag
138         add m_changed flag so we know what to report in exportfs
139
140 14/ utils/mountd/auth.c:auth_authenticate
141
142         the value returned by gethostbyaddr was trusted.
143
144         It now follows this with a call to gethostbyname
145         and checks that the address is in the list.
146
147 15/ support/export/nfsctl.c::cltsetup,expsetup
148
149         force client names to lowercase as kernel is
150         sensitive to case
151
152 16/ quietened a few compiler warnings
153
154 17/ support/export/client:client_lookup
155
156      look for pre-existing client with same name before creating
157         a new one.
158
159 18/ support/include/exportfs.h
160
161      The ordering of the MCL_* enum was:
162         ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
163
164      I moved ANONYMOUS to the end.
165
166      The ordering is significant when an export entry is being searched for to 
167         match a given address.  There are two problems with ANONYMOUS being first.
168
169         1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
170            then the ro case will always be found first and the privileged hosts won't get
171            their privilege
172         2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
173            export entry for the specific host, and writes it to xtab.
174            When another request comes from the same host, the ANONYMOUS entry is found again, 
175            before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
176            again.  If causes bloat in xtab.
177
178       Putting ANONYMOUS at the end reflects it's nature as a catch-all
179
180 19/ utils/exportfs/exportfs.man
181         many updates to the man page to reflect changes to the code
182
183 -----------------------
184
185
186
187 TODO:
188
189 - allow exportfs to modify rmtab file
190 - make sure kernel never gets two clients with same IP address
191     - possible kernel should reject
192     - needs to be some way to lookup client in kernel by IP address
193 - maybe get kernel to do case-insensitive comparisons on client names
194 - remove unused clients from kernel
195
196 - change etab to xtab and xtab to xtab.active
197
198 - timestamp and/or statd-stamp in rmtab for removing old entries.
199
200 Mon Oct 18 11:48:07 1999  H.J. Lu <hjl@lucon.org>
201
202         * linux-nfs: New directory.
203         * linux-nfs/ChangeLog: Moved from ..
204         * linux-nfs/INSTALL: Likewise.
205         * linux-nfs/KNOWNBUGS: Likewise.
206         * linux-nfs/NEW: Likewise.
207         * linux-nfs/README: Likewise.
208         * linux-nfs/THANKS: Likewise.
209         * linux-nfs/TODO: Likewise.
210
211         * Starting from knfsd 1.4.7.