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