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
|
-*- Text -*-
XXX this needs much work, trolling through ChangeLogs.
Many, many, many bugs have been fixed, including some resource
consumption problems and race conditions. The system can compile
itself as well as most external applications. The amount of stress
the system can tolerate has increased a lot.
The new ftpfs translator can be used to transparently access FTP
servers through the filesystem. Together with the new hostmux
translator, which can invoke host-specific translators like ftpfs,
this leads to a very comfortable way to use FTP archives on the Hurd.
A new translator usermux can invoke user specific translators. It can
be used to provide a symlink to all users home directories in a single
place (similar to amd/automount).
The tmpfs translator can be used to store files and directories in RAM
without any overhead of a real filesystem. The amount of memory
allocated equals the amount of space occupied, and an upper limit can
be defined.
Shadow passwords are now supported. If the password field in
/etc/passwd contains the string "x", the crypted password is looked up
in /etc/shadow instead. A new password server distributes auth ports
after password verification.
The pfinet server uses the Linux 2.2.12 IP stack now. It supports the
new interface types dummy and tun which provide a bottomless sink and
IP tunnel interface respectively. It also supports all common network
ioctls now.
The Hurd can now access CD-ROMs containing an ISO9660 file format with
the new isofs translator. Rock Ridge extensions are supported, as well
as some GNU extensions to store GNU specific file system attributes in
such filesystems.
Two new translators, hello and hello-mt, illustrate how to implement
simple trivfs based filesystems in the Hurd.
A new utility `rpctrace' aids in debugging the Hurd by listing all
invoked RPCs with message id and port right information.
The Hurd does no longer contain the utility `su', which is included in
the GNU shellutils package. `setauth --save' can also be used as a
replacement.
The init script mechanism became more flexible, as it was splitted
into several files. This allows to plug in different styles of init
procedures by just hooking them into /libexec/runsystem.
The ext2fs server understands the sparse_super filesystem option, and
can deal with the filetype option (but won't make use of this itself).
Several utilities have new options. All store based filesystems can
be configured with --no-suid, --no-exec, --bootflags, --boot-command
and --no-cache. The null translator also can be full now (--full).
The magic translator can provide an empty directory.
The crash server supports several modes of operation, it can suspend
or kill a crashing task. Core dumping is planned for but not
implemented yet. Users can set their own crash server using an
environment variable.
The new fakeroot translator appears to give transparent access to the
underlying directory node. However, all accesses are made using the
credentials of the translator regardless of the client and the
translator fakes success for chown and chmod operations, reporting the
faked IDs and modes in later stat calls.
The new fakeauth program runs a command with a fake authentication
handle that claims to be root or any arbitrary identity derived from
that handle, but in fact is always just a proxy for your real
authentication handle.
The features provided by the fakeroot translator and fakeauth are
combined in the new fakeroot program.
The proc server can show the start time of processes.
* sync -> syncfs, takes args
* Default pager (serverboot) understands Linux (mkswap) signature pages.
New boot script function $(add-raw-paging-file) inhibits looking for the
signature page. New function $(add-linux-paging-file) checks for the
page and refuses to use the swap partition or paging file if there is no
valid Linux signature page. A stand-alone default pager `mach-defpager'
is implemented which supports the same features. With
"die $(serverboot)"
in the boot script, serverboot doesn't become the default pager.
* libstore uses off64_t internally, allowing large stores to be
handled properly. The zero store supports suffix b, k/K, m/M, g/G
for blocks, kilo-, mega- and gigabytes resp. when specifying the
store size. The remap store understands N+ as the end of the store
starting from block N. A new store type `bunzip2' uncompresses
stores in the bzip2 format into memory.
* msgport, ping
9 June 1997
Version 0.2
Summary of important externally visible changes since version 0.1:
Many, many bugs have been fixed, including some resource consumption
problems. The system can now compile itself, and stay running the
whole time. It is quite reliable, and is used here for regular
computing tasks now.
New programs addauth, rmauth, unsu, su, and setauth modify the uid
sets of running programs. Using addauth you can add root to your
emacs, write a file, and then use rmauth to take the uid back. (Of
course, passwords are required when necessary.) New program `ids'
will tell you what all the user ids are that a program has. Note that
in the Hurd a program can have several user ids all at once, just like
Unix supports having several group ids. Now that you can dynamically
change the ids of running programs, system administration (among other
things) becomes much easier.
Two new programs, ftpcp and ftpdir, can be used to fetch files using
FTP with a simple command line interface.
We have moved the `serverboot' bootstrapper and default pager from
Mach into the Hurd source distribution, so that Mach can avoid
distributing user programs. We hope to phase out use of serverboot
entirely at some point. Along with this, we made serverboot much
quieter.
We now build profiling versions of the Hurd libraries, and the
makefiles have targets to build profiling executables as desired.
We have added `lmail', a /bin/mail replacement for use with sendmail
to do local mail delivery.
The idle threads of the kernel no longer count in `ps' towards the
total run time of the kernel process. This means that the kernel will
now sort into the right location for `u' format output.
Several oddities in NFS client behavior have been fixed to produce
more sensible results.
The "loopback" device is now supported (automatically) inside pfinet.
It should now be possible to use pfinet with no ethernet at all.
Filesystems now use `store' library; the contents of the filesystem
can be nearly anywhere (including another file somewhere).
Some annoying bugs in tty behavior have been fixed. Some still
remain, unfortunately.
New translator `firmlink' is like a cross between a symlink and a hard
link.
Programmer visible changes:
Filesystems support a new "reparenting" feature. This makes `..' from
the "reparented" node return whatever the user wishes, for a given
`open' regime. This enables the "firmlink" translator to work, and
will also be important in implementing shadow filesystems.
The fshelp library now managed UID sets itself, and contains functions
to do permission checks in the usual way. Now it's much easier to be
sure every filesystem implements the same permission checks.
The trivfs library has had its static initializations replaced with
spiffy dynamic ones.
New library `libftpconn' is used to manage FTP connections. We are
already using this library for some local system administration tasks,
and are making it the basis of the (as yet unfinished) ftpfs
filesystem for the Hurd.
6 September 1996
Version 0.1.
Summary of important externally visible changes since version 0.0:
Many miscellaneous bugs have been fixed.
Missing source files in 0.0 have been correctly added to the
distribution.
Configuration now knows that various 386 equivalents use the same
assembly files.
There is now an nfsd; it has not be well-tested. It would be nice if
some people would run it and try things out. It does not yet support
Hurd-specific features.
Exec now compiles correctly even when you don't have BFD installed.
Ext2fs format interpretation problems have been fixed. This means it
can be suitably used to boot with.
init now properly understands SIGHUP and SIGTERM, and does the right
thing correctly.
Much code has been written in nfs towards supporting version 3 of the
protocol, but it's not done yet. Don't try and turn it on.
Version information in uname is now calculated differently.
Some improvements have been made in the SETUP script.
sync, reboot, and halt now do argument parsing and understand --help
and --version.
The new `e2os' program has been added to change the "creator OS" field
on an ext2fs filesystem.
Bugs in term and libtrivfs have been fixed, allowing emacs shell mode
to work cleanly. Other minor bugs have also been fixed.
ufs and ext2fs now do directory search rotoring to speed repeated and
sequential directory lookups.
ufs now notes correctly if a disk cannot be written to and turns on
the readonly flag automatically in this case. (Useful for floppies.)
ufs statfs information (printed by df) should now be correct.
A serious bug in ufs fsck when dealing with large directories has been
fixed.
A new program `vminfo' prints the virtual memory map of task.
All disk filesystems (ufs and ext2fs) now do directory name caching of
`..' which was not previously done. In addition, you can now set the
cache size to be large, and then do experiments and see what the cache
hit rate would have been for various smaller sizes. This should help
in optimizing the size of the cache.
A port leak in the pager library has been fixed; previously ufs leaked
two ports per file used until the kernel's limit (about 30,000) was
reached.
6 August 1996
Version 0.0
Initial release
|