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