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