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
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
|
2006-06-15 Thomas Schwinge <tschwinge@gnu.org>
* hello-mt.c (trivfs_S_io_seek): Seek into the correct direction for
`SEEK_END'. Return EINVAL if file pointer would become negative.
* hello.c (trivfs_S_io_seek): Likewise.
2006-03-25 Thomas Schwinge <tschwinge@gnu.org>
[bug #15808]
* ifsock.c: Include <argp.h>, <sys/cdefs.h> and <version.h>.
(__XSTRING): New macro.
(argp_program_version, doc, argp): New variables.
(main): Call argp_parse().
Based on a patch by Ben Asselstine <benasselstine@gmail.com>.
2005-07-12 Marcus Brinkmann <marcus@gnu.org>
* magic.c (magic_getroot): Deallocate DOTDOT if processing here.
(magic_open): Do not allocate and deallocate DOTDOT, just consume
the reference given to us.
(magic_peropen_destroy): New function.
(main): If in directory mode, install magic_peropen_destroy hook.
2003-08-17 Marcus Brinkmann <marcus@gnu.org>
* fakeroot.c: Include <stddef.h>.
(struct netnode): Change type of member idport_locp
to hurd_ihash_locp_t.
(idport_ihash): Change type to struct hurd_ihash and initialize
with HURD_IHASH_INITIALIZER.
(new_node): Call hurd_ihash_add instead of ihash_add.
(netfs_node_norefs): Call hrd_ihash_locp_remove instead
ihash_locp_remove.
(netfs_S_dir_lookup): Call hurd_ihash_find instead ihash_find.
2003-09-05 Greg Buchholz <greg@sleepingsquirrel.org>
* fifo.c, new-fifo.c, null.c (trivfs_S_io_map): Change return value to
EOPNOTSUPP (was EINVAL).
2003-03-05 Roland McGrath <roland@frob.com>
Make /hurd/magic support translator delegation via /servers/magic.
* magic.c (struct magic): New structure.
(magic, directory, dirbuf, dirbufsize): Variables removed,
not members of struct magic.
(trivfs_modify_stat, magic_getroot, trivfs_S_dir_readdir): Use a
struct magic hanging off CNTL->hook rather than global variables.
(trivfs_append_args): Likewise.
(trivfs_S_dir_lookup): Likewise. Let magic string be null to indicate
prepending nothing in --directory mode.
(parse_opt): Use struct magic in STATE->input instead of globals.
If no argument, turn on --directory and leave M->magic null.
(argp): New static variable, instead of auto in main.
(main): Set both trivfs hook functions unconditionally.
Use a struct magic, pass it to argp_parse and store it in FSYS->hook.
Move directory buffer setup to ...
(parse_opt): ... here, do it on ARGP_KEY_SUCCESS.
(magic_open): Track users with a count.
(magic_protid_destroy): New function to track users.
(main): Set trivfs_protid_destroy_hook to that.
(trivfs_goaway): Call ports_destroy_right if FSYS has no users.
(all_fsys): New variable, list of all filesystems.
(trivfs_clean_cntl): New function, exit if no filesystems left.
(main): Put FSYS on that list. On timeout with no RPCs, try
trivfs_goaway on each filesystem on the list.
(trivfs_S_fsys_forward): New function.
(delegate): New variable.
(options): New option -U/--use-server to set it.
2002-12-08 Roland McGrath <roland@frob.com>
* pump.c: File removed.
2002-08-16 Marcus Brinkmann <marcus@gnu.org>
* proxy-defpager.c (S_default_pager_object_pages): New function.
(proxy_defpager_demuxer): Use S_default_pager_server (ie add the
prefix).
2002-08-14 Marcus Brinkmann <marcus@gnu.org>
* Makefile: Revert undocumented changes related to devpts that
were checked in unintentionally with the last change.
2002-08-06 Roland McGrath <roland@frob.com>
* proxy-defpager.c: Rename all the server functions with S_ prefix.
Include "default_pager_U.h" for client stub prototypes.
* Makefile (default_pager-MIGCOMSFLAGS): New variable, give -prefix S_.
(OBJS): Add default_pagerUser.o here.
(proxy-defpager): Depend on it.
2002-08-05 Marcus Brinkmann <marcus@gnu.org>
* proxy-defpager.c (allowed): Check CRED, not PORT.
(default_pager_info): Use real_defpager, not DEFAULT_PAGER.
(proxy_defpager_demuxer): New demuxer.
(main): Use it.
2002-06-14 Roland McGrath <roland@frob.com>
* proxy-defpager.c: New file.
* Makefile (targets, SRCS): Add it.
(proxy-defpager): New target.
(OBJS): Add default_pagerServer.o here.
2002-06-21 Roland McGrath <roland@frob.com>
* streamio.c (parse_opt): Fix fencepost error in -n arg parsing.
Reported by Nicola Girardi <nicola@g-n-u.de>.
2002-06-20 Roland McGrath <roland@frob.com>
* firmlink.c (trivfs_S_io_read): Fix pointer arithmetic.
Reported by Nicola Girardi <nicola@g-n-u.de>.
2002-06-15 Roland McGrath <roland@frob.com>
* magic.c (trivfs_S_dir_readdir): u_int -> size_t
2002-06-13 Roland McGrath <roland@frob.com>
* firmlink.c (trivfs_S_io_read): Fix type of DATA argument.
* streamio.c (trivfs_S_io_read): Likewise.
(trivfs_S_io_write): Likewise.
* hello.c (trivfs_S_io_read): Likewise.
* hello-mt.c (trivfs_S_io_read): Likewise.
* null.c (trivfs_S_io_read): Likewise.
(trivfs_S_io_write): Likewise.
(trivfs_S_file_set_size): Add reply port args.
* hello.c (trivfs_S_io_read): off_t -> loff_t
* hello-mt.c (trivfs_S_io_read): Likewise.
* streamio.c (trivfs_S_io_read, trivfs_S_io_write): Likewise.
(trivfs_S_file_sync): Add missing arg.
* new-fifo.c (trivfs_S_io_map): Add reply port args.
(trivfs_S_io_select): Remove bogus last arg.
* fifo.c (trivfs_S_io_map): Add reply port args.
(trivfs_S_io_select): Remove bogus last arg.
* null.c (trivfs_S_io_map): Add reply port args.
(trivfs_S_io_read, trivfs_S_io_write): off_t -> loff_t
(trivfs_S_file_set_size): Likewise.
(trivfs_S_io_select): Remove bogus last arg.
* firmlink.c (trivfs_S_io_read): off_t -> loff_t
(trivfs_S_io_select): Remove bogus last arg.
2002-06-09 Roland McGrath <roland@frob.com>
* fakeroot.c (new_node): Use ino_t for io_identity argument.
(netfs_S_dir_lookup): Likewise.
2002-06-07 Roland McGrath <roland@frob.com>
* firmlink.c (trivfs_S_io_readable): Use intptr_t, not off_t.
(trivfs_S_io_read): Likewise.
2002-05-28 Roland McGrath <roland@frob.com>
* symlink.c (S_fsys_getroot, S_fsys_getfile): u_int -> size_t
* streamio.c (device_open_reply): size_t -> int for dev_status_t
* crash.c (S_msg_report_wait): int -> mach_msg_id_t
(S_crash_dump_task): int -> integer_t
2002-05-26 Marcus Brinkmann <marcus@gnu.org>
* magic.c (trivfs_S_dir_readdir): Increment I after comparing it
with ENTRY, to fix off-by-one error.
2002-05-23 Roland McGrath <roland@frob.com>
* fakeroot.c (netfs_report_access): Always report O_RDWR|O_EXEC.
2002-05-23 Marcus Brinkmann <marcus@gnu.org>
* fakeroot.c (check_openmodes): Remove spurious if clause.
(netfs_attempt_mksymlink): Don't evaluate stat information to get
the length of the name, but use the string length of NAME and
store it in the new variable NAMELEN.
(netfs_S_dir_lookup): Don't always add O_NOLINK to FLAGS, but add
it to the mask instead.
2002-05-18 Roland McGrath <roland@frob.com>
* fakeroot.c (netfs_S_file_exec): Call check_openmodes and extract a
ref to the send right with the node locked.
* fakeroot.c (new_node): Get a reference on NP to return to the caller.
(netfs_attempt_mkfile): Unlock before new_node call.
(new_node): Take new arg LOCKED, says idport_ihash_lock already held.
(netfs_S_dir_lookup, netfs_attempt_mkfile, main): Update callers.
* fakeroot.c (fakeroot_auth_port): New variable.
(main): Initialize it.
(check_openmodes): New static function.
(netfs_check_open_permissions): Rewritten using it.
(netfs_S_dir_lookup): New function.
(netfs_attempt_lookup, netfs_attempt_create_file): Replaced with stubs.
2002-05-13 Roland McGrath <roland@frob.com>
* fakeroot.c (netfs_validate_stat): Set NP->nn_translated.
* fakeroot.c (netfs_S_file_exec): Don't lock the node (no need).
Don't use MACH_MSG_TYPE_MOVE_SEND.
* fakeroot.c (netfs_attempt_chmod): Handle a MODE argument with no
S_IFMT bits set.
2002-05-13 Marcus Brinkmann <marcus@gnu.org>
* fakeroot.c (netfs_server_name, netfs_server_version): New
variables.
2002-05-13 Marcus Brinkmann <marcus@gnu.org>
* symlink.c: Include <argp.h> and <version.h>.
(argp_program_version, options, args_doc, doc, argp): New
variables.
(parse_opt): New function.
(main): Replace argument count check and usage output by
argp_parse invocation.
2002-05-13 Marcus Brinkmann <marcus@gnu.org>
* fakeroot.c (netfs_S_file_exec): New function.
(netfs_S_io_prenotify): Fix last change.
(netfs_S_io_postnotify): Likewise.
2002-05-13 Marcus Brinkmann <marcus@gnu.org>
* fakeroot.c (NETFS_S_SIMPLE): New macro.
(netfs_S_io_get_conch): New function.
(netfs_S_io_release_conch): New function.
(netfs_S_io_eofnotify): New function.
(netfs_S_io_prenotify): New function.
(netfs_S_io_postnotify): New function.
(netfs_S_io_readnotify): New function.
(netfs_S_io_readsleep): New function.
(netfs_S_io_sigio): New function.
(netfs_S_io_map_cntl): New function.
2002-05-12 Roland McGrath <roland@frob.com>
* fakeroot.c (netfs_attempt_lookup): Treat EOPNOTSUPP like EACCES.
When all modes fail, try opening the node with zero openmodes.
* fakeroot.c (netfs_demuxer): New function. Reflect unrecognized
messages to the underlying node port.
2002-05-11 Roland McGrath <roland@frob.com>
* fakeroot.c (main): Stat the root node and fake its st_mode
immediately to remove translator bits.
2002-05-06 Marcus Brinkmann <marcus@gnu.org>
* fakeroot.c (netfs_attempt_lookup): Really check for EROFS or
EISDIR error from O_RDWR lookup (the last change checked for
O_RDWR | O_EXEC look ups, which is also necessary).
(netfs_attempt_mkfile): Unlock DIR.
(netfs_attempt_create_file): Likewise.
(netfs_S_io_map): New function.
2002-05-05 Roland McGrath <roland@frob.com>
* fakeroot.c (netfs_attempt_lookup): Check for EROFS or EISDIR error
from O_RDWR lookup.
* fakeroot.c (netfs_attempt_lookup): Check io_identity result for our
own fsys identity port; on match, look up the existing node for the
port to ourselves.
* fakeroot.c (netfs_attempt_lookup): Unlock DIR before doing RPCs.
2002-05-03 Marcus Brinkmann <marcus@gnu.org>
* fakeroot.c (netfs_node_norefs): Unlock node after not dropping
it at all.
2002-05-03 Roland McGrath <roland@frob.com>
* Makefile (fakeroot): New target.
(targets): Add it.
(SRCS): Add fakeroot.c.
* fakeroot.c: New file.
2002-03-23 James A. Morrison <ja2morri@uwaterloo.ca>
* ifsock.c (main): Use ERR, not errno.
* symlink.c: Include <error.h> and <errno.h>.
(main): Use err, not fprintf and exit. Use error, not perror and
exit. Use err, not error. Check for MACH_PORT_NULL
explicitly. Check for proper usage of symlink before checking if
symlink is started as a translator.
2002-03-11 Roland McGrath <roland@frob.com>
* crash.c: Add `corelimit' parameter to `dump_core' forward decl.
(S_crash_dump_task): Change caller, pass (off_t)-1 for now.
(struct crasher): New member `core_limit'.
(dead_crasher): Pass C->core_limit to dump_core.
(S_crash_dump_task): Set C->core_limit, to (off_t) -1 for now.
(dump_core): Function removed; now ../exec/elfcore.c defines it.
* Makefile (OBJS, crash): Add elfcore.o.
(elfcore.c): vpath decl to find this in $(top_srcdir)/exec.
2001-12-22 Roland McGrath <roland@frob.com>
* streamio.c (create_buffer): extern inline -> static inline
(buffer_size, buffer_readable, buffer_writable): Likewise.
(clear_buffer, buffer_read): Likewise.
2001-12-11 Marcus Brinkmann <marcus@gnu.org>
* streamio.c (device_open_reply): In the D_INVALID_OPERATION case,
clear ERR, which is a global variable.
2001-04-01 Neal H Walfield <neal@cs.uml.edu>
* magic.c (trivfs_S_dir_lookup): Use iohelp_dup_iouser
as per the new semantics.
2001-02-28 Roland McGrath <roland@frob.com>
* streamio.c (trivfs_modify_stat): Fix inverted sense of tests
for O_READ, O_WRITE bits.
2001-02-25 Roland McGrath <roland@frob.com>
* symlink.c: Include <string.h> for decls of built-ins.
* firmlink.c: Include <stdlib.h> for exit decl.
* ifsock.c: Likewise.
* null.c: Likewise.
* magic.c: Likewise.
* fifo.c: Likewise.
* hello.c: Likewise.
* hello-mt.c: Likewise.
2001-02-12 Marcus Brinkmann <marcus@gnu.org>
* fifo.c: Make version string say `fifo', not `null'.
Add period to doc text in ARGP.
* firmlink.c: Add period to doc text in ARGP_DOC, convert
semi-colon to colon.
* magic.c (options): Add period to DOC.
* new-fifo.c (fifo_trans_parse_args): Add doc string to ARGP.
Include <version.h>, new global variable ARGP_PROGRAM_VERSION.
* crash.c: Include <version.h>, add global variable
ARGP_PROGRAM_VERSION.
* hello.c: Include <version.h>, add global variable
ARGP_PROGRAM_VERSION.
(hello_argp): Add doc string.
* hello-mt.c: Likewise.
* streamio.c: Add period to DOC. Change streamdev to streamio in
version string.
* password.c (main): Add period to doc string in ARGP.
2001-01-17 Neal H Walfield <neal@cs.uml.edu>
* pump.c (start_pfinet): Conform to new fshelp_start_translator
semantics.
2001-01-20 Roland McGrath <roland@frob.com>
* streamio.c (options): Add aliases --rdonly, --ro for -r.
Add aliases --rdwr, -rw for -w.
Add new option --writeonly/--wronly/-W.
(readonly): Variable removed.
(parse_opt): Set trivfs_allow_open for -r/-w/-W.
(main): Don't set trivfs_allow_open here. Instead, use it to decide
whether to set up input_buffer/output_buffer or not.
(open_hook): Use trivfs_allow_open instead of readonly.
Check whether read is allowed too.
(trivfs_modify_stat): Likewise.
(clear_buffer): Do nothing if argument is null.
* streamio.c (stream_name, readonly, rdev, nperopens): Remove
superfluous zero initializers.
2001-01-13 Marcus Brinkmann <marcus@gnu.org>
* Makefile (SRCS): Add streamio.c
(streamio): Add dependency on device_replyServer.o.
Other dependencies identical to those for crash and password.
(OBJS): Add missing object files to list (crashServer.o
crash_replyUser.o msgServer.o device_replyServer.o).
* streamio.c: New file by OKUJI Yoshinori.
2000-07-26 Mark Kettenis <kettenis@gnu.org>
* Makefile: Reorder libs such that the threads lib comes before
the ports lib. This makes sure the functions in libthreads
properly override the stubs in libports with the new dynamic
linker semantics in glibc 2.2.
2000-03-19 Roland McGrath <roland@baalperazim.frob.com>
* new-fifo.c (trivfs_protid_portclasses, trivfs_protid_nportclasses):
Fix to size 2.
2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
* symlink.c (main): Don't use MAKE_SEND in Hurd RPC.
2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
* crash.c (S_crash_dump_task): Use ports_get_send_right.
2000-01-28 Roland McGrath <roland@baalperazim.frob.com>
* crash.c (enum crash_action): New alternative crash_unspecified (0).
(crash_orphans_how): New variable.
(S_crash_dump_task): If crash_how != crash_orphans_how, ascertain if
the task is an orphan before deciding what to do.
(options): New options --action, --orphan-action.
Old options now compatability aliases for --action=foo.
(parse_opt): Parse them.
(doc): New variable.
(crash_argp): Use DOC.
1999-12-03 Roland McGrath <roland@baalperazim.frob.com>
* null.c: Support --full/-f option to be /dev/full (ENOSPC writes).
(write_error_code): New variable.
(options, argp): New static const variables.
(parse_opt): New function.
(main): Move local ARGP out to static.
(trivfs_S_io_write): Return write_error_code instead of zero.
1999-11-08 Roland McGrath <roland@baalperazim.frob.com>
* hello-mt.c: New file, modified from hello.c to be multithreaded.
* Makefile (targets, SRCS): Add hello-mt, hello-mt.c.
(hello-mt): Add appropriate deps.
* Makefile (hello): Don't depend on libthreads.
* hello.c (trivfs_modify_stat): Set st_size from contents_len, not
sizeof (hello) - 1.
* hello.c: New file. From Gord with some cleanups and hacks from me.
* Makefile (targets, SRCS): Add hello, hello.c.
(hello): Add appropriate deps.
1999-10-11 Roland McGrath <roland@baalperazim.frob.com>
* magic.c: Rewritten using libtrivfs.
With new flag --directory/-d, present an empty directory that
has . and .. as normal and lists no other contents, but
looking up anything else within it does the magical retry.
* Makefile (magic): Update library deps accordingly.
1999-09-13 Roland McGrath <roland@baalperazim.frob.com>
* fifo.c, null.c, new-fifo.c: Reverted changes related to
io_map_segment.
1999-09-07 Thomas Bushnell, BSG <tb@mit.edu>
* null.c (trivfs_S_io_map): Renamed to ...
(trivfs_S_io_map_segment): ... here, with new parameter `index'.
* new-fifo.c (trivfs_S_io_map): Renamed to ...
(trivfs_S_io_map_segment): ... here, with new parameter `index'.
* fifo.c (trivfs_S_io_map): Renamed to ...
(trivfs_S_io_map_segment): ... here, with new parameter `index'.
1999-08-31 Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>
* crash.c (trivfs_modify_stat): Remove redundant fstype setting.
* password.c (trivfs_modify_stat): Likewise.
* bogus-fifo.c (main): Deallocate bootstrap port after using it.
* fifo.c (main): Likewise.
* firmlink.c (main): Likewise.
* ifsock.c (main): Likewise.
* magic.c (main): Likewise.
* null.c (main): Likewise.
* symlink.c (main): Likewise.
1999-07-11 Roland McGrath <roland@baalperazim.frob.com>
* firmlink.c: Add #include <sys/mman.h>.
1999-07-09 Thomas Bushnell, BSG <tb@mit.edu>
* firmlink.c (trivfs_S_io_read): Use mmap instead of vm_allocate.
1999-07-10 Roland McGrath <roland@baalperazim.frob.com>
* crash.c: Add #include <sys/mman.h> for munmap decl.
1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>
* crash.c (stop_pgrp): Use munmap instead of vm_deallocate.
1999-06-01 Roland McGrath <roland@baalperazim.frob.com>
* crash.c (options): Add --dump-core as alias for --core-file.
* crash.c: Support three modes of operation, selected by command line
switches:
-s/--suspend suspend crashing process (old behavior)
-k/--kill kill crashing process, no core dump
-c/--core-file dump core file
(enum crash_action): New type.
(crash_how): New variable.
(options, crash_argp, trivfs_runtime_argp): New variables.
(parse_opt, trivfs_append_args): New functions.
(main): Call argp_parse.
1999-05-19 Roland McGrath <roland@baalperazim.frob.com>
* null.c (trivfs_S_io_read): Fix return value.
Reported by Steinar Hamre <steinarh@fim.ntnu.no>.
1999-05-01 Roland McGrath <roland@baalperazim.frob.com>
* fwd.c (main): Add missing newline in usage msg.
From Marcus Brinkmann.
1999-02-20 Mark Kettenis <kettenis@gnu.org>
* password.c: New file.
* Makefile (targets): Add password.
(SRCS): Add password.c.
(OBJS): Add passwordServer.o.
(password-LDLIBS): New variable.
Use dependencies identical to those for crash.
1998-10-20 Roland McGrath <roland@baalperazim.frob.com>
* fifo.c (open_hook: WAIT): Add braces to silence gcc warning.
(trivfs_S_io_select): Likewise.
* new-fifo.c (fifo_trans_open): Likewise.
(trivfs_S_io_select): Likewise.
1998-07-20 Roland McGrath <roland@baalperazim.frob.com>
* firmlink.c (main): Fix return type to int, and use return.
* fwd.c (main): Likewise.
* new-fifo.c (main): Likewise.
* magic.c (main): Likewise.
* fifo.c (main): Likewise.
* null.c (main): Likewise.
1997-09-04 Miles Bader <miles@gnu.ai.mit.edu>
* null.c (main): Fix typo.
Wed Aug 20 14:07:56 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* crash.c (main): New args for
ports_manage_port_operations_multithread.
* fifo.c (main): Likewise.
* firmlink.c (main): Likewise.
* new-fifo.c (main): Likewise.
* null.c (main): Likewise.
1997-07-22 Miles Bader <miles@gnu.ai.mit.edu>
* devport.c: File removed.
* Makefile (targets): Remove devport.
(SRCS): Remove devport.c.
1997-07-15 Miles Bader <miles@gnu.ai.mit.edu>
* magic.c (main): Actually parse the arg.
1997-07-14 Miles Bader <miles@gnu.ai.mit.edu>
* magic.c (argp_program_version, args_doc, doc): New variables.
(main): Use argp to parse args.
Add new includes <argp.h> & <version.h>.
Fri Feb 28 20:00:14 1997 Miles Bader <miles@gnu.ai.mit.edu>
* Makefile (fwd null ifsock fifo new-fifo devport firmlink):
Add firmlink to targets depending on libthreads.
* null.c (main): Make multithreaded.
Tue Feb 25 15:42:40 1997 Miles Bader <miles@gnu.ai.mit.edu>
* firmlink.c (main): Make multithreaded.
Sun Feb 23 00:23:49 1997 Miles Bader <miles@gnu.ai.mit.edu>
* firmlink.c (argp): Use OPTIONS.
(getroot): If firmlink returns ENOENT, act like an unresolvable link.
Don't support visible mode.
(options, parse_opt): Remove -i.
Wed Feb 19 21:34:01 1997 Miles Bader <miles@gnu.ai.mit.edu>
* null.c (argp_program_version): Make const.
* fifo.c (argp_program_version, argp): New variables.
(parse_opt): New function.
(options): Use argp structures instead of getopt ones.
(main): Use argp instead of getopt.
<argp.h>: New include.
<getopt.h>: Include removed.
(trivfs_protid_port_class, trivfs_cntl_portclasses,
trivfs_protid_nportclasses, trivfs_cntl_nportclasses):
Variables removed.
(main): Don't use them.
Don't create our own port classes/bucket, let trivfs_startup do it.
Tue Feb 18 12:55:50 1997 Miles Bader <miles@gnu.ai.mit.edu>
* fifo.c <version.h>: New include.
(parse_opt): Use KEY, not OPT.
Fri Feb 14 03:05:59 1997 Miles Bader <miles@gnu.ai.mit.edu>
* null.c (control_class, node_class, port_bucket,
trivfs_protid_port_class, trivfs_cntl_portclasses,
trivfs_protid_nportclasses, trivfs_cntl_nportclasses):
Variables removed.
(main): Don't use them.
Thu Feb 13 19:42:38 1997 Miles Bader <miles@gnu.ai.mit.edu>
* firmlink.c: New file.
* Makefile (targets): Add firmlink.
(SRCS): Add firmlink.c.
(firmlink): New target.
Thu Sep 26 14:27:02 1996 Miles Bader <miles@gnu.ai.mit.edu>
* null.c (trivfs_S_file_check_access): Function removed (trivfs
default is now sufficient).
Tue Sep 24 15:39:36 1996 Miles Bader <miles@gnu.ai.mit.edu>
* null.c (provide_zeros): Variable removed.
(trivfs_S_io_read): Don't return zeros anymore.
(trivfs_S_io_readable): Always return 0.
(argp_program_version): New variable.
(main): Use argp for argument parsing.
(trivfs_S_file_check_access): New function.
Thu Sep 12 16:39:47 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makefile (HURDLIBS): New variable.
Fri Jul 12 23:02:36 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* crash.c (stop_pgrp): Fetch pgrp using correct call.
Mon Jul 8 13:52:36 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* crash.c (stop_pgrp): Don't do anything if ORPHANED.
Mon Jul 8 08:54:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* crash.c (stop_pgrp): Take second arg CTTYID. Fetch each pgrp
member's msgpor and send msg_sig_post with that as refport instead of
calling POSIX.1 kill function like a bonehead.
(S_crash_dump_task): Pass CTTY_ID arg through to stop_pgrp.
Sun Jul 7 22:43:23 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* crash.c (stop_pgrp): New function.
(S_crash_dump_task): Call stop_pgrp.
* Makefile (fwd): Depend on libports.
Mon Jul 1 16:09:10 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* Makefile (crash): New target.
* Makefile (SRCS): Added crash.c.
* crash.c: Moved here from ../exec.
(S_crash_dump_task): New args EXC, CODE, SUBCODE, CTTY_ID.
Supply SIGCODE arg to proc_mark_stop.
(signal_crasher): New arg SIGCODE, supply to proc_mark_exit. All
callers changed.
(S_msg_sig_post_untraced): Supply C->sigcode to proc_mark_stop.
(S_crash_dump_task): Drop arg TARGET.
(dump_core): Likewise; all callers changed.
(struct crasher): Delete member `target'.
(S_msg_describe_ports): New function.
Thu Jun 20 16:28:33 1996 Miles Bader <miles@gnu.ai.mit.edu>
* Makefile (null ifsock fifo new-fifo devport): Depend on
../libfshelp/libfshelp.a.
Wed May 29 10:31:16 1996 Miles Bader <miles@gnu.ai.mit.edu>
* devport.c (trivfs_S_file_get_storage_info): Implement new interface.
Sat May 11 01:19:21 1996 Miles Bader <miles@gnu.ai.mit.edu>
* new-fifo.c (fifo_trans_parse_args): Use ARGP_ERR_UNKNOWN instead
of EINVAL.
Tue Apr 30 09:58:47 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* Makefile (all): Delete target.
(include ../Makeconf): *Before* all dependences.
($(targets)): Each program depends on its associated .o.
Mon Apr 15 12:50:37 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* new-fifo.c (fifo_trans_parse_args): Supply missing arg to
argp_parse.
Sun Mar 31 13:26:48 1996 Miles Bader <miles@gnu.ai.mit.edu>
* Makefile (targets): Add devport.
(SRCS): Add devport.c.
Add devport as a target to various dependency rules.
Wed Feb 7 17:51:49 1996 Miles Bader <miles@gnu.ai.mit.edu>
* fifo.c (trivfs_S_file_set_size): Add #!$@&* reply port args.
* new-fifo.c (trivfs_S_file_set_size): Likewise.
Mon Jan 29 09:53:01 1996 Miles Bader <miles@gnu.ai.mit.edu>
* fifo.c (close_hook): Also disconnect ACTIVE_FIFO if the laster
writer is going away and there were no readers.
(open_hook): Unbreak a new read pipe even if not waiting for writers.
* new-fifo.c (fifo_trans_open): Typo.
Sun Jan 28 21:52:00 1996 Miles Bader <miles@gnu.ai.mit.edu>
* fifo.c (open_hook): Only bother to do anything if O_READ | O_WRITE.
* new-fifo.c (fifo_trans_open): Likewise.
When O_NONBLOCK is set, just don't block if possible, instead of
of returning EWOULDBLOCK.
(trivfs_S_io_select): The pipe is on CRED->po->hook, not CRED->hook.
(trivfs_modify_stat): Zero the returned size if there's no pipe.
Sat Jan 27 19:30:25 1996 Miles Bader <miles@gnu.ai.mit.edu>
* fifo.c (open_hook): When O_NONBLOCK is set, just don't block if
possible, instead of of returning EWOULDBLOCK.
Only set PO->hook if O_READ or O_WRITE is set.
(trivfs_S_io_select): The pipe is on CRED->po->hook, not CRED->hook.
(trivfs_modify_stat): Zero the returned size if there's no pipe.
Thu Jan 25 18:34:26 1996 Miles Bader <miles@gnu.ai.mit.edu>
* fifo.c (trivfs_goaway): Handle errors from ports_inhibit_bucket_rpcs.
* new-fifo.c (trivfs_goaway): Likewise.
Call ports_interrupt_rpcs instead of ports_interrupt_rpc.
Tue Jan 16 14:18:57 1996 Miles Bader <miles@gnu.ai.mit.edu>
* new-fifo.c (trivfs_S_io_select): Request interruption if the
reply-port dies.
Don't block if there's an error immediately available.
* fifo.c (trivfs_S_io_select): Ditto.
Mon Nov 6 12:39:32 1995 Miles Bader <miles@gnu.ai.mit.edu>
* magic.c (S_fsys_get_options): New function.
* symlink.c (S_fsys_get_options): New function.
Sun Nov 5 01:56:20 1995 Miles Bader <miles@gnu.ai.mit.edu>
* ifsock.c (main): Add flags argument to trivfs_startup call.
* null.c (main): Ditto.
* fifo.c (main): Ditto.
* new-fifo.c (fifo_trans_start): Ditto.
* symlink.c (main): Add flags argument to fsys_startup call.
(S_fsys_startup): Add FLAGS arg.
* magic.c (main): Add flags argument to fsys_startup call.
(S_fsys_startup): Add FLAGS arg.
Sat Oct 7 23:41:02 1995 Miles Bader <miles@gnu.ai.mit.edu>
* symlink.c (S_fsys_getpriv): Add new extra args.
* magic.c (S_fsys_getpriv): Ditto.
Mon Sep 18 14:54:55 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* fifo.c (trivfs_S_file_set_size): Renamed from trivfs_S_file_truncate;
Return EINVAL if the new size isn't 0.
* new-fifo.c (trivfs_S_file_truncate): Ditto.
* null.c (trivfs_S_file_set_size): Renamed from trivfs_S_file_truncate.
Fri Sep 8 12:27:35 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* fifo.c, new-fifo.c (open_hook): Block for read only when there's
really someone reading already, or until there's a writer.
(open_hook): Use the WAIT macro to block.
* fifo.c (wait_for_writer): New variable.
(main): Set WAIT_FOR_WRITER with WAIT_FOR_READER.
* new-fifo.c (struct fifo_trans): Added wait_for_writer field.
Delete standalone field. Add some comments.
(fifo_trans_create): Propagate and set the wait_for_writer field.
(fifo_trans_parse_args): Set the wait_for_writer field.
* fifo.c (trivfs_modify_stat): Only return pipe info if there's a pipe.
(close_hook): Don't die if there's no pipe.
* new-fifo.c (trivfs_modify_stat): Only return pipe info if
there's a pipe.
(fifo_trans_close): Don't die if there's no pipe.
Thu Aug 31 19:16:25 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* fifo.c (trivfs_S_io_select): Use pipe_pair_select.
(trivfs_S_io_write): Pass in the NOBLOCK parameter to pipe_write.
Wed Aug 30 12:14:58 1995 Miles Bader <miles@geech.gnu.ai.mit.edu>
* fifo.c (trivfs_goaway): Implement correctly.
(main): When we time out, don't exit unless there are no opens.
(main): Add timeouts.
(port_bucket): Now a local variable in main.
(trivfs_S_io_select): Implement correctly.
Tue Aug 29 17:31:45 1995 Miles Bader <miles@geech.gnu.ai.mit.edu>
* fifo.c (open_hook): Use hurd_condition_wait to detect interrupts.
Thu Aug 24 10:41:31 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* Makefile (all): New target.
(symlink, magic, ifsock, fifo, null): Put all dependencies in
these targets.
(null-HURDLIBS, ifsock-HURDLIBS, fifo-HURDLIBS): Removed.
Get rid of rules dealing with error.o
Wed Aug 23 13:11:18 1995 Miles Bader <miles@duality.gnu.ai.mit.edu>
* magic.c (S_fsys_forward): New function.
* symlink.c (S_fsys_forward): New function.
* bogus-fifo.c (S_fsys_forward): New function.
Tue Aug 22 10:48:47 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* Makefile (HURDLIBS): Add libshouldbeinlibc (everyone uses it).
(symlink, magic, fifo, null, ifsock): Remove error.o.
Get rid of rules dealing with error.o.
* fifo.c (trivfs_goaway, trivfs_modify_stat): Update arguments.
(trivfs_modify_stat): Give the size of the fifo now that we've got
a handle on it.
Mon Aug 21 14:43:46 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* null.c (trivfs_goaway, trivfs_modify_stat): Update arguments.
* ifsock.c (trivfs_goaway, trivfs_modify_stat): Update arguments.
* fifo.c (open_hook): Use condition_broadcast instead of
condition_signal on active_fifo_changed, as all waiters need be
notified of changes.
Tue Jul 25 13:53:30 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* fifo.c: New file.
(main): Don't pass in the MACH_RCV_TIMEOUT flag with a zero timeout.
* Makefile (SRCS): Add fifo.c.
(targets): Add fifo.
(fifo): New target.
Thu Jul 6 15:42:25 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* Makefile (OBJS): New var.
* Makefile: Removed dependencies that are now automatically
generated.
Wed Jul 5 21:17:34 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* Makefile (ifsock-HURDLIBS, null-HURDLIBS): New vars.
(null, ifsock): Fix dependencies.
Wed Jun 28 15:07:25 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu>
* null.c (PT_CTL, PT_NODE): Deleted macros.
(trivfs_protid_porttypes, trivfs_cntl_porttypes,
trivfs_protid_nporttypes, trivfs_cntl_nporttypes): Deleted vars.
(trivfs_protid_portclasses, trivfs_cntl_portclasses,
trivfs_protid_nportclasses, trivfs_cntl_nportclasses): New vars.
(control_class, node_class, port_bucket): New vars.
(main): Initialize control_class, node_class, port_bucket,
trivfs_protid_portclasses, and trivfs_cntl_portclasses.
(ports_cleanroutines): Delete initialization.
(main): Convert to new trivfs interface.
(trivfs_goaway): Likewise.
(main): Convert to new ports interface.
(ports_demuxer, ports_notice_idle, ports_no_live_ports,
ports_no_hard_ports): Deleted functions.
* Makefile (ifsock): Add dependency on libihash.
(null): Likewise.
* ifsock.c (PT_CTL, PT_NODE): Deleted macros.
(ports_cleanroutines): Deleted var.
(ports_notice_idle, ports_no_live_ports, ports_no_hard_ports):
Deleted functions.
(control_class, node_class, port_bucket): New vars.
(trivfs_protid_porttypes, trivfs_cntl_porttypes,
trivfs_protid_nporttypes, trivfs_cntl_nporttypes): Deleted vars.
(trivfs_protid_portclasses, trivfs_cntl_portclasses,
trivfs_protid_nportclasses, trivfs_cntl_nportclasses): New vars.
(main): Initialize control_class, node_class, port_bucket,
trivfs-protid_portclasses, and trivfs_cntl_portclasses.
(main): Use new trivfs interface.
(trivfs_goaway): Likewise.
(main): Use new ports interface.
(S_ifsock_getsockaddr): Likewise.
(demuxer): Renamed from ports_demuxer.
(demuxer): Declare ifsock_server.
Fri May 12 19:07:54 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* magic.c (S_fsys_set_options, S_fsys_mod_readonly): Change from
mod_readonly to set_options.
* symlink.c (S_fsys_set_options, S_fsys_mod_readonly): Ditto.
Thu May 11 13:36:28 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* null.c (trivfs_modify_stat): Make st_blksize really large.
Mon Apr 10 20:38:49 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* null.c (trivfs_S_file_truncate): Always return 0, so O_TRUNC works.
Sun Apr 9 00:26:07 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* null.c (main): Use trivfs_startup() instead of doing things manually.
Get rid of _libports_initialize() [it gets called automatically].
* ifsock.c (main): Ditto; also, use error() to print error messages.
Mon Apr 3 16:39:33 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* null.c (trivfs_modify_stat): Return more useful values for the
st_blksize and st_fstype fields.
Fri Mar 31 12:20:48 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* null.c (main): Move the check for the bootstrap port after the
args check, so that users can run it from the shell to get a usage
message.
* magic.c (main): Don't deallocate our right to the underlying
disk node, so we don't get garbage collected prematurely. Also
move the check for the bootstrap port after the args check, so
that users can run it from the shell to get a usage message.
Wed Mar 29 19:30:33 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* magic.c: New file: Translator to return F_RETRY_MAGIC strings.
* null.c: New file: Translator for /dev/null & /dev/zero.
* Makefile: Add support for the magic and null servers.
Wed Aug 31 11:08:10 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* symlink.c (S_fsys_mod_readonly, S_fsys_syncfs): New functions.
Tue Aug 30 16:42:29 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* ifsock.c (main): Call file_name_lookup instead af path_lookup.
Tue Aug 16 11:38:26 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* Makefile (symlink, symlink.o): New targets.
Change to be type `servers.'.
Fri Jul 22 15:15:49 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* Makefile: Rewritten in accord with new scheme.
|