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
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
|
Wed Nov 6 17:49:33 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* fshelp.h (fshelp_fetch_root): Delete args `uids', `gids',
`uids_len', and `gids_len'. New arg `user'.
* fetch-root.c (fshelp_fetch_root): Ditto.
* fshelp.h: Include <iohelp.h>.
(fshelp_access, fshelp_isowner, fshelp_checkdirmod): New
functions.
Mon Oct 21 21:55:21 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* fshelp.h: Add extern inline protection.
* fshelp.c: New file.
* Makefile (SRCS): Add fshelp.c.
Sun Oct 13 21:46:18 1996 Miles Bader <miles@gnu.ai.mit.edu>
* lock-acquire.c (fshelp_acquire_lock): Return success, not EBADF,
when unlocking a file which we don't have locked; this is netbsd's
behavior.
Thu Oct 10 17:12:19 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* lock-acquire.c (fshelp_acquire_lock): Use hurd_condition_wait so
we are properly interruptible.
Thu Sep 12 16:21:51 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makefile (HURDLIBS): New variable.
(libfshelp.so): Delete special dependency.
Tue Jul 16 11:30:42 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* lock-acquire.c (EWOULDBLOCK): Define, to work around new libc
bug.
Sun Jul 7 21:26:02 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* start-translator.c (fshelp_start_translator): Don't use unsafe
MOVE_SEND in call to fshelp_start_translator_long.
* fetch-root.c (fshelp_fetch_root): Don't use unsafe MOVE_SEND in
call to fshelp_start_translator_long.
Thu Jul 4 15:38:36 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* get-identity.c (fshelp_get_identity): Bother to initialize
I->fileno.
Wed Jul 3 11:29:49 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* get-identity.c: New file.
* fshelp.h (struct port_bucket): Mention name in global scope.
(fshelp_get_identity): New declaration.
* Makefile (SRCS): Add get-identity.c.
Thu Jun 27 17:56:44 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* Makefile (LCLHDRS): Add trans.h.
Mon Jun 24 16:00:48 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* fetch-root.c (fshelp_fetch_root): Deal properly with errors from
auth_makeauth.
Fri Jun 21 00:07:26 1996 Miles Bader <miles@gnu.ai.mit.edu>
* set-options.c (fshelp_set_options): Add & use INPUT arg.
* fshelp.h (fshelp_set_options): Add INPUT argument.
(fshelp_return_malloced_buffer): New declaration.
* return-buffer.c: New file.
* Makefile (SRCS): Add return-buffer.c.
Wed Jun 19 18:50:01 1996 Miles Bader <miles@gnu.ai.mit.edu>
* set-options.c: New file.
* fshelp.h: Add fshelp_set_options.
* Makefile (SRCS): Add set-options.c.
Fri May 10 16:12:50 1996 Miles Bader <miles@gnu.ai.mit.edu>
* delegate.c (fshelp_delegate_translation): Don't cast ARGV when
calling arg_create.
Thu May 9 11:17:08 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* exec-reauth.c (fshelp_exec_reauth): Provide new third arg to
proc_setowner.
* delegate.c (fshelp_delegate_translation): Cast first arg to
argz_create appropriately.
* fetch-root.c (fshelp_fetch_root) [reauth]: Use new args for
auth_user_authenticate.
Fri Apr 26 18:51:07 1996 Miles Bader <miles@gnu.ai.mit.edu>
* start-translator-long.c (service_fsys_startup): Make mach_msg
calls interruptible.
Wed Feb 21 17:09:12 1996 Miles Bader <miles@gnu.ai.mit.edu>
* set-active.c (fshelp_set_active): When EXCL, make sure the
active translator is really active.
* fetch-root.c (fshelp_fetch_root): Make sure the returned fsys control
port is valid.
Wed Feb 14 16:42:31 1996 Miles Bader <miles@gnu.ai.mit.edu>
* start-translator-long.c (fshelp_start_translator_long):
Terminate TASK if the exec fails.
Mon Jan 29 15:32:54 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* fetch-root.c (fshelp_fetch_root): Use hurd_condition_wait
instead of condition_wait.
* set-active.c (fshelp_set_active): Deal correctly with the case
where a passive translator is being started.
Fri Jan 26 17:56:08 1996 Miles Bader <miles@gnu.ai.mit.edu>
* fetch-root.c (fshelp_fetch_root): If io_reauthenticate returns
an error, just return MACH_PORT_NULL instead of aborting (the
server probably died; not a good sign for the health of the
translator, but it's better than dying ourselves...).
Tue Jan 2 15:36:28 1996 Miles Bader <miles@gnu.ai.mit.edu>
* exec-reauth.c (fshelp_exec_reauth): Don't setgid the uids.
Mon Jan 1 17:13:25 1996 Miles Bader <miles@gnu.ai.mit.edu>
* exec-reauth.c (fshelp_exec_reauth): New function.
* fshelp.h (fshelp_exec_reauth): New declaration.
* Makefile (SRCS): Added exec-reauth.c
Mon Nov 6 13:37:52 1995 Miles Bader <miles@gnu.ai.mit.edu>
* start-translator-long.c (service_fsys_startup): Don't pass the
address of reply.realnodeType.msgt_name -- it's not really an int,
although the compiler pretends it is.
* fetch-root.c (fshelp_fetch_root): When PORT_TYPE is
MACH_MSG_TYPE_MAKE_SEND, make the right *before* using it.
(fshelp_fetch_root): Don't bother reauthenticating the underlying
node returned by CALLBACK2 -- it already has the right ids. This
also gets rid of a problem with giving away our auth port prematurely.
Wed Nov 1 16:14:08 1995 Miles Bader <miles@gnu.ai.mit.edu>
* fetch-root.c (fshelp_fetch_root): Uses two callbacks now. Pass
an appropiate function to fshelp_start_translator_long instead of
the actual underlying node.
* fshelp.h (fshelp_fetch_root_callback1_t,
fshelp_fetch_root_callback2_t): New types replacing fshelp_callback_t.
(fshelp_fetch_root): Takes two callback args now.
* start-translator.c (fshelp_start_translator): Change to use a
callback function instead of passing the actual node.
* start-translator-long.c (fshelp_start_translator_long,
service_fsys_startup): Ditto.
(service_fsys_startup): Support the open flags coming from the
translator.
(struct fsys_startup_request): Add the flags field.
(flagsCheck): New variable.
* fshelp.h (fshelp_open_fn_t): New type.
(fshelp_start_translator, fshelp_start_translator_long): Now take
a function that opens the underlying node instead of the node itself.
Fri Oct 13 16:52:43 1995 Miles Bader <miles@gnu.ai.mit.edu>
* start-translator-long.c (fshelp_start_translator_long): Undo
last change to file_exec args.
Sat Oct 7 20:20:26 1995 Miles Bader <miles@gnu.ai.mit.edu>
* start-translator-long.c (fshelp_start_translator_long): Add
values for the dealloc parameters to file_exec (all false).
Give away our send right to TASK when we do file_exec.
Initialize BOOTSTRAP & TASK so the cleanup code doesn't get confused.
Fri Sep 29 17:44:00 1995 Miles Bader <miles@gnu.ai.mit.edu>
* transbox-init.c (fshelp_transbox_init): Initialize the flags field.
Tue Sep 5 18:25:24 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* fshelp.h (fshelp_delegate_translation): New declaration.
* delegate.c (fshelp_delegate_translation): New file, new function.
Fri Sep 1 12:01:06 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* Makefile (SRCS): Add delegate.c.
(REMHDRS): Removed.
Tue Jul 11 14:11:24 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* start-translator-long.c (fshelp_start_translator_long): If
PORTS_TYPE is MACH_MSG_TYPE_COPY_SEND, then drop our right on
bootstrap after the call, because we are pretending we haven't
changed the calling user's state. For the same reason, save the
old BOOTSTRAP port value, and restore it after the call.
Thu Jul 6 15:35:23 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* Makefile: Removed dependencies that are now automatically
generated.
Mon Jun 26 15:36:21 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* fetch-root.c (fshelp_fetch_root): Wakeup other blocked calls
*before* returning errors provided by fshelp_start_translator_long
or CALLBACK.
Fri Jun 23 14:25:52 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* fetch-root.c (fshelp_fetch_root): Parenthesize assert test
correctly.
* start-translator-long.c (service_fsys_startup): Parenthesize
construction of flags arg correctly.
Thu Jun 22 17:06:51 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* fetch-root.c (fshelp_fetch_root) [reauth]: If PORT is null, then
just return it.
* fetch-root.c (fshelp_fetch_root): Pass type and length
parameters in the right order in calls to auth_makeauth and
fshelp_start_translator_long.
Wed Jun 21 13:19:44 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* fetch-root.c (fshelp_fetch_root): Pass new third arg to
fshelp_set_active.
Mon Jun 19 16:41:51 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* fetch-control.c (fshelp_fetch_control): Only frob refs if
control is non-null.
* fshelp.h (fshelp_set_active): New parm EXCL.
* set-active.c (fshelp_set_active): Implement new interface.
* fetch-control.c (fshelp_fetch_control): Don't frob obsolete
innerlock.
* transbox-init.c (fshelp_transbox_init): Don't init obsolete
innerlock. Do init TRANSBOX->wakeup.
* set-active.c (fshelp_set_active): Don't frob obsolete innerlock.
* fetch-root.c (fshelp_fetch_root): Reduce levels of loops. Only
change ACTIVE when we are holding the lock. Use condition
mechanism to serialize attempts to start the passive translator.
* fshelp.h (struct transbox): Delete member `innerlock'. Add
members `flags' and `wakeup'; and define values for flags.
Wed Jun 14 13:06:17 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* fshelp.h (fshelp_fetch_root): New arg COOKIE.
(fshelp_callback_t): COOKIE->COOKIE1. New arg COOKIE2.
* fetch-root.c (fshelp_fetch_root): Take new arg COOKIE and pass
it to CALLBACK. Free ARGZ after we're done with them. Never
consume the right on DOTDOT.
* Makefile (LCLHDRS): Removed trans.h.
* handle-startup.c, init-trans.c, start-trans.c,
transboot-clean.c, kill-trans.c, trans-iter.c, trans-cntl.c,
trans-drop.c, trans.h: Deleted files.
* Makefile (SRCS): Remove translated.c.
* fshelp.h (fshelp_fetch_root): Don't actually need ROOT_TYPE.
UIDS and GIDS should be arrays.
(fshelp_callback_t): Should be error_t.
Tue Jun 13 15:59:08 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
Brand new translator support routines
* fshelp.h: Deleted `struct translink', fshelp_transboot_port_type,
fshelp_init_trans_link, fshelp_set_control,
fshelp_start_translator, fshelp_handle_fsys_startup,
fshelp_transboot_clean, fshelp_translator_iterate,
fshelp_translator_drop, fshelp_kill_translator.
* fshelp.h: Added fshelp_start_translator_long,
fshelp_start_translator, `struct transbox', fshelp_fetch_root,
fshelp_transbox_init, fshelp_callback_t, fshelp_translated,
fshelp_set_active, fshelp_fetch_control, fshelp_drop_transbox.
* Makefile (SRCS): Removed handle-startup.c, init-trans.c,
start-trans.c, transboot-clean.c, kill-trans.c, trans-iter.c,
trans-cntl.c, trans-drop.c. Added start-translator-long.c,
start-translator.c, fetch-root.c, transbox-init.c, translated.c,
set-active.c, fetch-control.c, and drop-transbox.c.
(OBJS): Replaced with computation from $(SRCS).
* start-translator.c, fetch-root.c, transbox-init.c, set-active.c,
fetch-control.c, drop-transbox.c: New files.
* start-translator-long.c: Adapted from ../lib/start-trans.c.
Include "fshelp.h" and <assert.h>.
(service_fsys_startup): Declare static. Only pass
MACH_RCV_TIMEOUT if TIMEOUT is nonzero. New parm `node_type'.
(fshelp_start_translator_long): Renamed from start_translator.
Lookup up executable at NAME instead of ARGZ. Delete vars
INIT_PORTS, FD_PORTS, INIT_INTS, I, and CHILD_PROC. Don't set any
of the ports, fds, or ints, with the exception of the bootstrap
port. Don't bother getting the child's proc server port.
Don't use __USEPORT. If we fail before calling file_exec,
then deallocate the ports ourselves, if they were MOVE_SEND.
Fri Oct 28 18:37:56 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* start-trans.c: Change `assert (!err)' to `assert_perror (err)'
throughout.
(fshelp_start_translator): Add assert_perror for io_reauthenticate
return.
Mon Sep 19 20:58:35 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
* trans-iter.c (fshelp_translator_iterate): Bother to attach
ITEM onto LIST as it's constructed.
Sat Sep 10 08:42:00 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* transboot-clean.c (fshelp_transboot_clean): Use EDIED, not EINVAL.
Wed Sep 7 10:34:13 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
* start-trans.c (fshelp_start_translator): RETRY label belongs
*after* initial lock of LINK. Unlock LINK before returning.
Tue Sep 6 14:52:49 1994 Michael I Bushnell <mib@churchy.gnu.ai.mit.edu>
* fshelp.h (struct trans_link): New member `lock'.
(fshelp_start_translator): Omit `lock' arg.
* trans.h (struct transboot): Omit member `lock'.
* init-trans.c (fshelp_init_trans_link): Initialize LINK->lock.
* start-trans.c (fshelp_start_translator): Don't set TB->lock.
Omit `lock' arg; use LINK->lock instead.
(fshelp_start_translator): Don't deallocate DIR.
* handle-startup.c (fshelp_handle_fsys_startup): Lock
TB->link->lock instead of TB->lock.
* transboot-clean.c (fshelp_transboot_clean): Likewise.
Thu Sep 1 16:46:53 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* fshelp.h (fshelp_start_translator): Doc fix.
* start-trans.c (fshelp_start_translator): Don't reauthenticate
NODE argument; expect fully authenticated node.
Wed Aug 31 14:28:25 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* start-trans.c (fshelp_start_translator): Before call to
proc_reauthenticate, CALL mach_reply_port, not just refer to
confusing CPP macro.
* start-trans.c (fshelp_start_translator): Call proc_setowner
for new process.
Tue Aug 30 16:19:45 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* start-trans.c: Include <string.h>.
* start-trans.c (fshelp_start_translator): Use new
reauthentication protocol throughout.
* start-trans.c (fshelp_start_translator): Use
hurd_file_name_lookup instead of hurd_path_lookup.
Wed Aug 17 16:03:49 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* start-trans.c (fshelp_start_translator): Designate the new
process as our child; then make sure it's under its own
authentication. As long as we've gotten the proc port for
this operation, might as well pass it too.
(fshelp_start_translator): Zero init ints and init ports.
* transboot-clean.c (fshelp_transboot_clean): Only set an error
if we haven't gotten fsys_startup yet.
Mon Aug 15 12:24:47 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* start-trans.c (fshelp_start_translator): Set LINK->starting
before blocking.
* handle-startup.c (fshelp_handle_fsys_startup): Clear
LINK->starting before waking up blocks.
* fshelp.h (struct trans_link): New member `error'.
* transboot-clean.c (fshelp_transboot_clean): Wakeup blocked
users with error.
* trans-cntl.c (fshelp_set_control): Clear LINK->error.
* init-trans.c (fshelp_init_trans_link): Likewise.
* start-trans.c (fshelp_start_translator): Fix
auth_user_authenticate to use the correct rendezvous port in
producing realnode from node..
Fri Jul 22 12:03:14 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* Makefile: Rewritten in accord with new scheme.
Wed Jul 20 13:31:39 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* start-trans.c (fshelp_start_translator): Missing first arg
to mach_port_deallocate of `dir'.
Tue Jul 19 18:44:53 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* fshelp.h (fshelp_start_translator): Doc fix.
(fshelp_handle_fsys_startup): Deleted dotdot args.
* trans.h (struct transboot): Removed member `dir'.
* start-trans.c (fshelp_start_translator): Don't initialize
TB->dir.
(fshelp_start_translator): Deallocate DIR arg when we're
done with it.
* handle-startup.c (fshelp_handle_fsys_startup): Deleted
dotdot args.
* transboot-clean.c (fshelp_transboot_clean): Don't free
no-longer-existent TB->dir.
Fri Jul 8 12:58:54 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* trans-cntl.c: Include <assert.h>.
Thu Jul 7 18:08:49 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* trans-drop.c: New file.
* fshelp.h (fshelp_translator_drop): New declaration.
* Makefile (OBJS): Added trans-drop.o.
(SRCS): ADded trans-drop.c.
Tue Jul 5 14:14:53 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* Makefile (DIST_FILES): New variable.
Thu Jun 16 16:27:39 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
* fshelp.h (fshelp_get_node_port, fshelp_done_with_node): Deleted
prototypes.
(fshelp_start_translator): Changed types of DIR and NODE to be
file_t.
* trans.h (struct transboot): Deleted members UID and GID.
Changed types of DIR and NODE to be file_t.
* transboot-clean.c (fshelp_transboot_clean): Deallocate ports
TB->node and TB->dir instead of calling fshelp_done_with_node.
* start-trans.c (fshelp_start_translator): Changed types of
DIR and MODE to be file_t. Rewritten to behave correctly in
numerous ways.
* handle-startup.c (fshelp_handle_fsys_startup): Return REAL
and DIR from ports in TB instead of calling fshelp_get_node_port.
Fri Jun 3 18:13:04 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu)
* fshelp.h (fshelp_set_control): New declaration.
* trans-cntl.c: New file.
* Makefile (SRCS): Added trans-cntl.c.
(OBJS): Added trans-cntl.o.
trans-cntl.o: Depend on trans.h.
Thu May 5 07:46:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
* Makefile: Change uses of $(headers) to $(includedir).
Mon Feb 14 11:32:59 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
* Makefile (install): New target.
|