aboutsummaryrefslogtreecommitdiff
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* Make settrans return value returned by chroot commandSvante Signell2014-08-191-4/+12
| | | | | * utils/settrans.c (main): In case of chroot_command, get status from waitpid() call, and call error() appropriately.
* utils/settrans: implement settrans --startJustus Winter2014-06-151-1/+31
| | | | | | | | | | | | Start the translator specified by the NODE's passive translator record and set it as NODE's active translator. This is the equivalent of doing: % settrans --active /node $(showtrans /node) * utils/settrans.c (argp_option): Add --start. (parse_opt): Handle --start. (main): Retrieve the passive translator record if --start is given.
* Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurdSamuel Thibault2014-04-221-4/+4
|\
| * build: Remove configure check for libcrypt.Ludovic Courtès2014-04-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | GNU libc has provided the 'crypt' function in libcrypt for a long time, making this check unnecessary. * configure.ac: Remove libcrypt check and 'LIBCRYPT' substitution. * config.make.in (LIBCRYPT): Remove. * trans/Makefile (password-LDLIBS): Change $(LIBCRYPT) to -lcrypt. * utils/Makefile (login-LDLIBS, addauth-LDLIBS, setauth-LDLIBS): Likewise.
* | Add TODO about fork() making rpctrace emit an errorSamuel Thibault2014-04-221-0/+2
|/ | | | | * utils/rpctrace.c (rewrite_right): Explain why the unknown send right error happens on fork().
* auth: improve the mig mutator functionsJustus Winter2014-03-012-9/+3
| | | | | | | | | | | | | | | | | | Previously, the mig mutator function auth_port_to_handle was defined in auth.c (fakeauth.c), preventing it from being inlined into the mig-generated server functions. Put it in mig-decls.h instead. Rename authmutations.h to mig-mutate.h, auth_mig.h to mig-decls.h. This is the naming convention used for pflocal. * auth/auth.h: New file. * auth/auth_mig.h: Rename to mig-decls.h, add copyright notice, define mutator functions. * auth/authmutations.h: Rename to mig-mutate.h, restore copyright notice, adjust accordingly. * auth/auth.c: Include auth.h, remove auth_port_to_handle. * utils/fakeauth.c: Likewise. * auth/Makefile: Adjust accordingly. * utils/Makefile: Likewise.
* utils/umount: do not remove passive translator recordsJustus Winter2014-02-251-2/+2
| | | | | | | | Passive translator records are a Hurd concept. Therefore, the umount compatibility program should not remove them. * utils/umount.c (passive_flags): Unset FS_TRANS_SET. (doc): Adjust accordingly.
* Fix fakeroot and remap parsing corner casesSamuel Thibault2014-02-252-14/+5
| | | | | | | | | | Fix case when $PWD contains spaces. Pass directly arguments to command, to directly avoid escaping issues. Based on suggestion by Ivan Shmakov <oneingray@gmail.com> * utils/fakeroot.sh (TARGET): Do not define. (sh): Rather pass PWD and commandline as parameters. * utils/remap.sh: Likewise.
* utils: include the mig-generated server headers in fakeauth.cJustus Winter2014-01-201-4/+2
| | | | | | | | | GNU MIG recently gained support for emitting x_server_routine declarations in the generated server header file. Using this declaration, the x_server_routine functions can be inlined into the demuxer function. * utils/fakeauth.c: Include the mig-generated server headers.
* utils/rpctrace: fix output so that replies can be attributed to requestsJustus Winter2013-12-161-2/+26
| | | | | | | | | | | | | | | | | | | | Currently, it is impossible to properly attribute response messages to requests. Even though rpctrace is single-threaded, its tracee may not. Or there might be more than one tracee. In any such case it is not guaranteed that the reply message we just processed is for the request we just printed. Fix this by printing ellipsis with the port name, so that reply messages can be properly attributed: task129(pid3312)->mach_port_allocate (3) ...134 task129(pid3312)->mach_port_deallocate (pn{ 1}) ...160 134... = 0 pn{ 30} 160... = 0 * utils/rpctrace.c (last_reply_port): New variable. (print_ellipsis): New function. (print_request_header): Optionally print ellipsis and update last_reply_port. (print_reply_header): Likewise.
* utils/rpctrace: escape non-printable characters in stringsJustus Winter2013-12-161-2/+46
| | | | | | * utils/rpctrace.c (escape_sequences): New char array mapping characters to their escape sequence. (print_data): Escape non-printable characters when printing strings.
* utils/rpctrace: handle MACH_MSG_TYPE_PORT_SEND rights in trace_and_forwardJustus Winter2013-12-161-0/+4
| | | | | | | This allows one to rpctrace processes doing select(2). * utils/rpctrace.c (trace_and_forward): Handle MACH_MSG_TYPE_PORT_SEND rights.
* utils/rpctrace: generalize tracing codeJustus Winter2013-12-161-17/+23
| | | | | | | | | Currently, rpctrace dies if a tracee uses select(2) because it asserts that reply_type is a MACH_MSG_TYPE_PORT_SEND_ONCE right. Generalize the code surrounding the failing assertion. * utils/rpctrace.c (trace_and_forward): Generalize code by switching over reply_type.
* utils/rpctrace: generalize code in rewrite_rightJustus Winter2013-12-161-3/+1
| | | | | * utils/rpctrace.c (rewrite_right): Generalize the code so we can use rewrite_right to rewrite MACH_MSG_TYPE_PORT_SEND rights for non-rpc ports.
* utils/mount: fix autodetection of fat file systemsJustus Winter2013-12-131-2/+5
| | | | | | | | mount uses libblkid (if available) to detect the file system type when using mount -t auto. libblkid calls fat file systems "vfat", our fat translator is called "fatfs". Fix this discrepancy in mount. * utils/mount.c (do_mount): Fix autodetection of fat file systems.
* utils/settrans: fix the teardown of chrooted environmentsJustus Winter2013-12-101-25/+44
| | | | | | | | | | | | | | | | | | | | | Previously, settrans --chroot would just exec the target. Create a new process for that purpose. Wait for its completion, then ask the translator (nicely by default) to go away. If it refuses with EBUSY, it might be because some process has daemonized inside the chrooted environment. This fixes the following bug when settrans is used with fakeroot: % fakeroot-hurd /bin/true 2>&1 | tee <hangs> Here, fakeroot-hurd execs settrans with --chroot, settrans execs /hurd/fakeauth which will eventually exec the target /bin/true. When true terminates, it will close its stdout and stderr. But /hurd/fakeroot's stderr is also connected to tee's stdin, preventing tee from exiting. * utils/settrans.c (main): Fix the teardown of chrooted environments.
* utils: improve the auth_demuxer function in fakeauth.cJustus Winter2013-12-041-5/+14
| | | | | | | | | | Handle multiple request types as recommended by the Mach Server Writer's Guide section 4, subsection "Handling Multiple Request Types". This avoids initializing the reply message in every X_server function. The reply message has already been properly initialized in libports, so there is no need to call mig_reply_setup. * utils/fakeauth.c (auth_demuxer): Improve the demuxer function.
* utils: fix dead initializationJustus Winter2013-11-211-2/+2
| | | | | | | Found using the Clang Static Analyzer. * utils/frobauth.c (posix_parse_opt): Fix dead initialization. (no_ugids_parse_opt): Likewise.
* utils: implement portinfo --searchJustus Winter2013-11-102-2/+125
| | | | | | | | | | | | | Implement the --search switch of portinfo. The feature was suggested in the source code and partly implemented. portinfo --search locates the target ports (or all ports) in any other process and prints the port mapping and information about the port in the remote process. * utils/Makefile: Link portinfo against libps. * utils/portinfo.c (options): Enable --search option. (search_for_port): New function. (search_for_ports): Likewise. (main): Call search_for_port{,s} as appropiate.
* utils: implement settrans --pid-fileJustus Winter2013-11-091-1/+21
| | | | | | | | | | | This switch makes settrans write the pid file of the active translator it starts to a file. This makes the pid easily retrievable for test suites. * utils/settrans.c (options): Add --pid-file. (main): Add variable pid_file. (parse_opt): Handle --pid-file switch. (open_node): Write pid file.
* Fix spurious port deallocationSamuel Thibault2013-09-211-1/+0
| | | | | * utils/storeinfo.c (parse_opt): Do not deallocate `file` port, `store_free` does it already.
* Fix sscanf format for c99Samuel Thibault2013-09-211-1/+1
| | | | | * utils/rpctrace.c (parse_msgid_list): Use %ms instead of %as in sscanf format.
* Add match-options to utils sourcesJustus Winter2013-09-161-1/+1
| | | | * utils/Makefile (SRCS): Add match-options.c
* Fix variable namesSamuel Thibault2013-09-101-2/+2
| | | | | | * utils/Makefile (mount-LDLIBS): Define to libblkid_LIBS instead of libblkid-LIBS (mount-CPPFLAGS): Likewise.
* mount: handle -t autoJustus Winter2013-09-092-8/+29
| | | | | | | | | | | | | | | Use libblkid to detect the filesystem type if "auto" is given as type. Remove the translator localization from main, this is also done in do_mount and any errors are propagated properly. This way "auto" is handled correctly if given on the command line or used as filesystem type in the fstab. * configure.ac: Add check for libblkid. * config.make.in: Make libblkid specific values available. * utils/Makefile: Use libblkid specific values. * utils/mount.c (DEFAULT_FSTYPE): Use "auto" as default type. (do_mount): Detect type using libblkid. (main): Drop translator localization.
* Fix buildSamuel Thibault2013-08-291-1/+0
| | | | * utils/umount.c: Do not include useless <blkid/blkid.h>.
* Merge branch 'master-merge'Samuel Thibault2013-08-291-79/+118
|\
| * umount: add a umount utilityJustus Winter2013-08-292-4/+364
| | | | | | | | | | | | | | | | This adds a umount utility that implements most of the functions that the Linux umount utility provides, especially that subset that is used by the Debian package initscripts. * utils/umount.c: New file.
* | utils: add nullauth utilityJustus Winter2013-08-282-3/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | nullauth drops all authentication credentials and runs the given program. This is also useful to drop privileges on behalf of translators that do not need any credentials in some circumstances, e.g. % settrans -ap /hurd/nullauth -- /hurd/storeio -Tzero makes storeio run without any credentials. * utils/nullauth.c: New file. * utils/Makefile: Build nullauth.
* | umount: add a umount utilityJustus Winter2013-08-282-4/+325
|/ | | | | | | | This adds a umount utility that implements most of the functions that the Linux umount utility provides, especially that subset that is used by the Debian package initscripts. * utils/umount.c: New file.
* mount: ignore mounted filesystems if --all is givenJustus Winter2013-08-281-0/+9
| | | | | | | Linux' mount utility ignores mounted filesystems if mount --all is invoked. This patch makes our mount do the same. utils/mount.c (main): Ignore mounted filesystems if --all is given.
* mount: implement -O, --test-optsJustus Winter2013-08-284-4/+121
| | | | | | | | | | | | | | | | | --test-opts in combination with --all mounts only those filesystems with options matching the given set of options. Note that the semantic of the inverting "no" prefix differs from --types: While --types=nonfs,ufs means neither nfs nor ufs, --test-opts=nofoo,bar means not foo, but bar. * utils/match-options.h: New file. * utils/match-options.c: Likewise. (test_opts): New variable. (test_opts_len): Likewise. (match_options): New function. * utils/mount.c (parse_opt): Handle -O, --test-opts. (main): Use match_options as filter.
* mount: add -f and --fake argumentsJustus Winter2013-08-281-1/+28
| | | | | | | | Add -f and --fake arguments. This makes our mount more compatible with Linux mount. * utils/mount.c (argp_opts): Add -f and --fake. (do_mount): Fake the translator startup if --fake is given.
* mount: fix mount -oremount with one parameterJustus Winter2013-08-281-6/+23
| | | | | | | | This fixes mount -oremount when just given the mountpoint, e. g.: % mount -oremount,ro /tmp * util/mount.c (main): Add a one-argument form for remount.
* mount: add -n and --no-mtab argumentsJustus Winter2013-08-281-0/+5
| | | | | | | | | Add -n and --no-mtab arguments. As we do not write an mtab file, this is a trivial patch that just ignores this argument to be more compatible with Linux mount. * utils/mount.c (argp_opts): Add -n and --no-mtab. (parse_opt): Do nothing on 'n'.
* utils: escape arguments in remap.shJustus Winter2013-08-251-1/+7
| | | | | | | | | | | | | | | | remap.sh uses /bin/sh to first change the working directory and then execute the given program in the remap context. But the arguments given on the command line were not properly escaped: % '/bin/sh' '-c' 'echo $0' /bin/sh % remap '/bin/sh' '-c' 'echo $0' <empty line> % remap-fixed '/bin/sh' '-c' 'echo $0' /bin/sh * utils/remap.sh: Escape arguments handed to /bin/sh so that they are not evaluated prematurely.
* utils: escape arguments in fakeroot.shJustus Winter2013-08-251-2/+8
| | | | | | | | | | | | | | | | | | fakeroot.sh uses /bin/sh to first change the working directory and then execute the given program in the fakeroot context. But the arguments given on the command line were not properly escaped: % '/bin/sh' '-c' 'echo $0' /bin/sh % fakeroot-tcp '/bin/sh' '-c' 'echo $0' /bin/sh % fakeroot-hurd '/bin/sh' '-c' 'echo $0' <empty line> % fakeroot-hurd-fixed '/bin/sh' '-c' 'echo $0' /bin/sh * utils/fakeroot.sh: Escape arguments handed to /bin/sh so that they are not evaluated prematurely.
* Remove unused variableMiguel Figueiredo2013-06-021-1/+0
| | | | * utils/x.c (main): Remove unused variable.
* Revert "utils/vmstat: Use gnumach.defs from gnumach"Samuel Thibault2013-05-132-3/+1
| | | | This reverts commit 202339d49461ce6dcffd3a5b3690537daea5ef38.
* utils/vmstat: Use gnumach.defs from gnumachDavid Michael2013-05-052-1/+3
| | | | | | | | | | The gnumach installation provides the include file mach/gnumach.defs instead of mach/gnumach.h. This runs the defs file through MIG and builds the result for vmstat. * utils/vmstat.c: Replace <mach/gnumach.h> with "gnumach_U.h". * utils/Makefile (vmstat): Add rule to depend on gnumach_U.o. * Makeconf (mach_defs_names): Add gnumach.
* Fix remap invocationSamuel Thibault2013-03-261-2/+4
| | | | | | * utils/remap.sh (REMAPPED): Default to empty. (while): Break as soon as there are no arguments any more. Do not break on mapping parameters
* rpctrace: implement -EPino Toscano2013-03-011-1/+49
| | | | | | | | | | | | | Add a -E option to rpctrace, much like its strace's equivalent, to add/change/unset environment variables among the ones inherited by the process. Implements the savannah task #9331. * utils/rpctrace.c: Include <envz.h>. (options): Add the 'E' option. (parse_opt) <'E'>: Handle case. Create ENVZ from ENVP, and change it according to ARG. (main): Create CMD_ENVP from ENVZ if not null, or assign ENVP to it. Pass CMD_ENVP to traced_spawn.
* Add remap translatorSamuel Thibault2013-02-262-3/+67
| | | | | | | | | | | | * trans/remap.c: New file. * trans/Makefile (targets): Add remap. (SRCS): Add remap.c. (remap): Add rule. * utils/remap.sh: New script. * utils/Makefile (targets): Add remap. (special-targets): Add remap. (SRCS): Add remap.sh. * NEWS: Advertise new translator
* Report VM cache statisticsRichard Braun2013-01-141-15/+29
| | | | | | | | * utils/vmstat.c: Include <mach/gnumach.h> and <mach/vm_cache_statistics.h>. (vm_state): New `cache_stats` member. (vm_state_refresh): Call vm_cache_statistics. (_F): Adjust offset. (fields): Add entries for new statistics and adjust member names.
* Do not expand format name in posix format optionCyril Roelandt2012-12-171-0/+2
| | | | | | | | | This fixes hang of ps -o user * utils/ps.c (parse_opt): When POSIX_FMT is set, do not lookup format name from OUTPUT_FMTS.
* Switch from cthreads to pthreadsRichard Braun2012-11-273-12/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makefiles, headers, types, macros and function calls are renamed where appropriate. Most of this work was done by Barry deFreese and Thomas DiModica. * auth/Makefile: Switch from cthreads to pthreads. * auth/auth.c: Likewise. * boot/Makefile: Likewise. * boot/boot.c: Likewise. * boot/ux.c: Likewise. * console-client/Makefile: Likewise. * console-client/console.c: Likewise. * console-client/driver.c: Likewise. * console-client/driver.h: Likewise. * console-client/generic-speaker.c: Likewise. * console-client/kbd-repeat.c: Likewise. * console-client/ncursesw.c: Likewise. * console-client/pc-kbd.c: Likewise. * console-client/pc-mouse.c: Likewise. * console-client/timer.c: Likewise. * console-client/trans.c: Likewise. * console-client/vga.c: Likewise. * console/Makefile: Likewise. * console/console.c: Likewise. * console/display.c: Likewise. * console/input.c: Likewise. * console/pager.c: Likewise. * defpager/backing.c: Likewise. * exec/Makefile: Likewise. * exec/exec.c: Likewise. * exec/hashexec.c: Likewise. * exec/priv.h: Likewise. * ext2fs/Makefile: Likewise. * ext2fs/balloc.c: Likewise. * ext2fs/dir.c: Likewise. * ext2fs/ext2fs.c: Likewise. * ext2fs/ext2fs.h: Likewise. * ext2fs/ialloc.c: Likewise. * ext2fs/inode.c: Likewise. * ext2fs/msg.c: Likewise. * ext2fs/pager.c: Likewise. * ext2fs/pokel.c: Likewise. * ext2fs/storeinfo.c: Likewise. * ext2fs/truncate.c: Likewise. * fatfs/Makefile: Likewise. * fatfs/dir.c: Likewise. * fatfs/fat.c: Likewise. * fatfs/fatfs.h: Likewise. * fatfs/inode.c: Likewise. * fatfs/main.c: Likewise. * fatfs/pager.c: Likewise. * fatfs/virt-inode.c: Likewise. * ftpfs/Makefile: Likewise. * ftpfs/ccache.c: Likewise. * ftpfs/ccache.h: Likewise. * ftpfs/conn.c: Likewise. * ftpfs/dir.c: Likewise. * ftpfs/fs.c: Likewise. * ftpfs/ftpfs.c: Likewise. * ftpfs/ftpfs.h: Likewise. * ftpfs/ncache.c: Likewise. * ftpfs/netfs.c: Likewise. * ftpfs/node.c: Likewise. * hostmux/Makefile: Likewise. * hostmux/hostmux.h: Likewise. * hostmux/mux.c: Likewise. * hostmux/node.c: Likewise. * hostmux/stubs.c: Likewise. * hurd/shared.h: Likewise. * isofs/Makefile: Likewise. * isofs/inode.c: Likewise. * isofs/lookup.c: Likewise. * isofs/main.c: Likewise. * isofs/pager.c: Likewise. * libcons/Makefile: Likewise. * libcons/cons-switch.c: Likewise. * libcons/cons.h: Likewise. * libcons/dir-changed.c: Likewise. * libcons/file-changed.c: Likewise. * libcons/init-init.c: Likewise. * libcons/vcons-close.c: Likewise. * libcons/vcons-input.c: Likewise. * libcons/vcons-move-mouse.c: Likewise. * libcons/vcons-open.c: Likewise. * libcons/vcons-scrollback.c: Likewise. * libdiskfs/Makefile: Likewise. * libdiskfs/boot-start.c: Likewise. * libdiskfs/dead-name.c: Likewise. * libdiskfs/dir-chg.c: Likewise. * libdiskfs/dir-link.c: Likewise. * libdiskfs/dir-lookup.c: Likewise. * libdiskfs/dir-mkdir.c: Likewise. * libdiskfs/dir-mkfile.c: Likewise. * libdiskfs/dir-readdir.c: Likewise. * libdiskfs/dir-rename.c: Likewise. * libdiskfs/dir-renamed.c: Likewise. * libdiskfs/dir-rmdir.c: Likewise. * libdiskfs/dir-unlink.c: Likewise. * libdiskfs/disk-pager.c: Likewise. * libdiskfs/diskfs-pager.h: Likewise. * libdiskfs/diskfs.h: Likewise. * libdiskfs/file-access.c: Likewise. * libdiskfs/file-chg.c: Likewise. * libdiskfs/file-exec.c: Likewise. * libdiskfs/file-get-fs-opts.c: Likewise. * libdiskfs/file-get-trans.c: Likewise. * libdiskfs/file-get-transcntl.c: Likewise. * libdiskfs/file-getcontrol.c: Likewise. * libdiskfs/file-getfh.c: Likewise. * libdiskfs/file-lock-stat.c: Likewise. * libdiskfs/file-lock.c: Likewise. * libdiskfs/file-reparent.c: Likewise. * libdiskfs/file-set-trans.c: Likewise. * libdiskfs/file-sync.c: Likewise. * libdiskfs/file-syncfs.c: Likewise. * libdiskfs/fsys-getroot.c: Likewise. * libdiskfs/fsys-options.c: Likewise. * libdiskfs/fsys-syncfs.c: Likewise. * libdiskfs/ifsock.c: Likewise. * libdiskfs/init-first.c: Likewise. * libdiskfs/init-init.c: Likewise. * libdiskfs/init-startup.c: Likewise. * libdiskfs/io-duplicate.c: Likewise. * libdiskfs/io-get-conch.c: Likewise. * libdiskfs/io-identity.c: Likewise. * libdiskfs/io-map-cntl.c: Likewise. * libdiskfs/io-map.c: Likewise. * libdiskfs/io-modes-get.c: Likewise. * libdiskfs/io-modes-off.c: Likewise. * libdiskfs/io-modes-on.c: Likewise. * libdiskfs/io-modes-set.c: Likewise. * libdiskfs/io-owner-get.c: Likewise. * libdiskfs/io-owner-mod.c: Likewise. * libdiskfs/io-prenotify.c: Likewise. * libdiskfs/io-read.c: Likewise. * libdiskfs/io-readable.c: Likewise. * libdiskfs/io-reauthenticate.c: Likewise. * libdiskfs/io-rel-conch.c: Likewise. * libdiskfs/io-restrict-auth.c: Likewise. * libdiskfs/io-revoke.c: Likewise. * libdiskfs/io-seek.c: Likewise. * libdiskfs/io-sigio.c: Likewise. * libdiskfs/io-stat.c: Likewise. * libdiskfs/io-write.c: Likewise. * libdiskfs/lookup.c: Likewise. * libdiskfs/name-cache.c: Likewise. * libdiskfs/node-drop.c: Likewise. * libdiskfs/node-make.c: Likewise. * libdiskfs/node-nput.c: Likewise. * libdiskfs/node-nputl.c: Likewise. * libdiskfs/node-nref.c: Likewise. * libdiskfs/node-nrefl.c: Likewise. * libdiskfs/node-nrele.c: Likewise. * libdiskfs/node-nrelel.c: Likewise. * libdiskfs/peropen-rele.c: Likewise. * libdiskfs/priv.h: Likewise. * libdiskfs/shutdown.c: Likewise. * libdiskfs/sync-interval.c: Likewise. * libfshelp/Makefile: Likewise. * libfshelp/fetch-root.c: Likewise. * libfshelp/fshelp.h: Likewise. * libfshelp/get-identity.c: Likewise. * libfshelp/lock-acquire.c: Likewise. * libfshelp/lock-init.c: Likewise. * libfshelp/locks.h: Likewise. * libfshelp/set-active.c: Likewise. * libfshelp/trans.h: Likewise. * libfshelp/transbox-init.c: Likewise. * libiohelp/Makefile: Likewise. * libiohelp/get_conch.c: Likewise. * libiohelp/handle_io_release_conch.c: Likewise. * libiohelp/initialize_conch.c: Likewise. * libiohelp/iohelp.h: Likewise. * libiohelp/verify_user_conch.c: Likewise. * libnetfs/Makefile: Likewise. * libnetfs/dir-lookup.c: Likewise. * libnetfs/dir-mkdir.c: Likewise. * libnetfs/dir-mkfile.c: Likewise. * libnetfs/dir-readdir.c: Likewise. * libnetfs/dir-rmdir.c: Likewise. * libnetfs/dir-unlink.c: Likewise. * libnetfs/drop-node.c: Likewise. * libnetfs/file-chauthor.c: Likewise. * libnetfs/file-check-access.c: Likewise. * libnetfs/file-chflags.c: Likewise. * libnetfs/file-chmod.c: Likewise. * libnetfs/file-chown.c: Likewise. * libnetfs/file-exec.c: Likewise. * libnetfs/file-get-storage-info.c: Likewise. * libnetfs/file-get-translator.c: Likewise. * libnetfs/file-lock-stat.c: Likewise. * libnetfs/file-lock.c: Likewise. * libnetfs/file-reparent.c: Likewise. * libnetfs/file-set-size.c: Likewise. * libnetfs/file-set-translator.c: Likewise. * libnetfs/file-statfs.c: Likewise. * libnetfs/file-sync.c: Likewise. * libnetfs/file-syncfs.c: Likewise. * libnetfs/file-utimes.c: Likewise. * libnetfs/fsys-getroot.c: Likewise. * libnetfs/fsys-set-options.c: Likewise. * libnetfs/init-init.c: Likewise. * libnetfs/io-clear-some-openmodes.c: Likewise. * libnetfs/io-duplicate.c: Likewise. * libnetfs/io-get-openmodes.c: Likewise. * libnetfs/io-get-owner.c: Likewise. * libnetfs/io-identity.c: Likewise. * libnetfs/io-mod-owner.c: Likewise. * libnetfs/io-read.c: Likewise. * libnetfs/io-readable.c: Likewise. * libnetfs/io-reauthenticate.c: Likewise. * libnetfs/io-restrict-auth.c: Likewise. * libnetfs/io-revoke.c: Likewise. * libnetfs/io-seek.c: Likewise. * libnetfs/io-set-all-openmodes.c: Likewise. * libnetfs/io-set-some-openmodes.c: Likewise. * libnetfs/io-stat.c: Likewise. * libnetfs/io-write.c: Likewise. * libnetfs/make-node.c: Likewise. * libnetfs/netfs.h: Likewise. * libnetfs/nput.c: Likewise. * libnetfs/nref.c: Likewise. * libnetfs/nrele.c: Likewise. * libnetfs/release-peropen.c: Likewise. * libnetfs/shutdown.c: Likewise. * libpager/Makefile: Likewise. * libpager/chg-compl.c: Likewise. * libpager/clean.c: Likewise. * libpager/data-request.c: Likewise. * libpager/data-return.c: Likewise. * libpager/data-unlock.c: Likewise. * libpager/inhibit-term.c: Likewise. * libpager/lock-completed.c: Likewise. * libpager/lock-object.c: Likewise. * libpager/mark-error.c: Likewise. * libpager/no-senders.c: Likewise. * libpager/object-init.c: Likewise. * libpager/object-terminate.c: Likewise. * libpager/offer-page.c: Likewise. * libpager/pager-attr.c: Likewise. * libpager/pager-create.c: Likewise. * libpager/pager-shutdown.c: Likewise. * libpager/priv.h: Likewise. * libpager/seqnos.c: Likewise. * libpipe/Makefile: Likewise. * libpipe/pipe.c: Likewise. * libpipe/pipe.h: Likewise. * libports/Makefile: Likewise. * libports/begin-rpc.c: Likewise. * libports/bucket-iterate.c: Likewise. * libports/claim-right.c: Likewise. * libports/class-iterate.c: Likewise. * libports/complete-deallocate.c: Likewise. * libports/count-bucket.c: Likewise. * libports/count-class.c: Likewise. * libports/create-bucket.c: Likewise. * libports/create-internal.c: Likewise. * libports/destroy-right.c: Likewise. * libports/enable-bucket.c: Likewise. * libports/enable-class.c: Likewise. * libports/end-rpc.c: Likewise. * libports/get-right.c: Likewise. * libports/import-port.c: Likewise. * libports/inhibit-all-rpcs.c: Likewise. * libports/inhibit-bucket-rpcs.c: Likewise. * libports/inhibit-class-rpcs.c: Likewise. * libports/inhibit-port-rpcs.c: Likewise. * libports/init.c: Likewise. * libports/interrupt-notified-rpcs.c: Likewise. * libports/interrupt-on-notify.c: Likewise. * libports/interrupt-operation.c: Likewise. * libports/interrupt-rpcs.c: Likewise. * libports/interrupted.c: Likewise. * libports/lookup-port.c: Likewise. * libports/manage-multithread.c: Likewise. * libports/no-senders.c: Likewise. * libports/port-deref-weak.c: Likewise. * libports/port-deref.c: Likewise. * libports/port-ref-weak.c: Likewise. * libports/port-ref.c: Likewise. * libports/ports.h: Likewise. * libports/reallocate-from-external.c: Likewise. * libports/reallocate-port.c: Likewise. * libports/resume-all-rpcs.c: Likewise. * libports/resume-bucket-rpcs.c: Likewise. * libports/resume-class-rpcs.c: Likewise. * libports/resume-port-rpcs.c: Likewise. * libports/stubs.c: Likewise. * libports/transfer-right.c: Likewise. * libstore/Makefile: Likewise. * libstore/gunzip.c: Likewise. * libstore/part.c: Likewise. * libstore/unzipstore.c: Likewise. * libthreads/Makefile: Likewise. * libtreefs/dir-lookup.c: Likewise. * libtreefs/fsys-getroot.c: Likewise. * libtreefs/fsys-hooks.c: Likewise. * libtreefs/fsys.c: Likewise. * libtreefs/trans-help.c: Likewise. * libtreefs/trans-start.c: Likewise. * libtreefs/treefs.h: Likewise. * libtrivfs/cntl-create.c: Likewise. * libtrivfs/dyn-classes.c: Likewise. * libtrivfs/io-reauthenticate.c: Likewise. * libtrivfs/io-restrict-auth.c: Likewise. * libtrivfs/protid-clean.c: Likewise. * libtrivfs/protid-dup.c: Likewise. * libtrivfs/trivfs.h: Likewise. * mach-defpager/Makefile: Likewise. * mach-defpager/default_pager.c: Likewise. * mach-defpager/kalloc.c: Likewise. * mach-defpager/main.c: Likewise. * nfs/Makefile: Likewise. * nfs/cache.c: Likewise. * nfs/main.c: Likewise. * nfs/mount.c: Likewise. * nfs/name-cache.c: Likewise. * nfs/nfs.h: Likewise. * nfs/ops.c: Likewise. * nfs/rpc.c: Likewise. * nfsd/Makefile: Likewise. * nfsd/cache.c: Likewise. * nfsd/loop.c: Likewise. * nfsd/main.c: Likewise. * nfsd/nfsd.h: Likewise. * pfinet/Makefile: Likewise. * pfinet/ethernet.c: Likewise. * pfinet/glue-include/asm/spinlock.h: Likewise. * pfinet/glue-include/linux/interrupt.h: Likewise. * pfinet/glue-include/linux/sched.h: Likewise. * pfinet/glue-include/linux/timer.h: Likewise. * pfinet/glue-include/linux/wait.h: Likewise. * pfinet/iioctl-ops.c: Likewise. * pfinet/io-ops.c: Likewise. * pfinet/kmem_cache.c: Likewise. * pfinet/main.c: Likewise. * pfinet/options.c: Likewise. * pfinet/pfinet-ops.c: Likewise. * pfinet/pfinet.h: Likewise. * pfinet/sched.c: Likewise. * pfinet/socket-ops.c: Likewise. * pfinet/socket.c: Likewise. * pfinet/timer-emul.c: Likewise. * pfinet/tunnel.c: Likewise. * pflocal/Makefile: Likewise. * pflocal/connq.c: Likewise. * pflocal/io.c: Likewise. * pflocal/sock.c: Likewise. * pflocal/sock.h: Likewise. * pflocal/socket.c: Likewise. * pflocal/sserver.c: Likewise. * proc/Makefile: Likewise. * proc/info.c: Likewise. * proc/main.c: Likewise. * proc/mgt.c: Likewise. * proc/msg.c: Likewise. * proc/proc.h: Likewise. * proc/stubs.c: Likewise. * proc/wait.c: Likewise. * storeio/Makefile: Likewise. * storeio/dev.c: Likewise. * storeio/dev.h: Likewise. * storeio/open.c: Likewise. * storeio/open.h: Likewise. * storeio/pager.c: Likewise. * storeio/storeio.c: Likewise. * term/Makefile: Likewise. * term/devio.c: Likewise. * term/hurdio.c: Likewise. * term/main.c: Likewise. * term/munge.c: Likewise. * term/ptyio.c: Likewise. * term/term.h: Likewise. * term/users.c: Likewise. * tmpfs/Makefile: Likewise. * tmpfs/dir.c: Likewise. * tmpfs/node.c: Likewise. * tmpfs/tmpfs.c: Likewise. * tmpfs/tmpfs.h: Likewise. * trans/Makefile: Likewise. * trans/fakeroot.c: Likewise. * trans/fifo.c: Likewise. * trans/hello-mt.c: Likewise. * trans/new-fifo.c: Likewise. * trans/streamio.c: Likewise. * ufs/Makefile: Likewise. * ufs/alloc.c: Likewise. * ufs/dir.c: Likewise. * ufs/hyper.c: Likewise. * ufs/inode.c: Likewise. * ufs/main.c: Likewise. * ufs/pager.c: Likewise. * ufs/pokeloc.c: Likewise. * ufs/sizes.c: Likewise. * ufs/ufs.h: Likewise. * usermux/Makefile: Likewise. * usermux/mux.c: Likewise. * usermux/node.c: Likewise. * usermux/usermux.h: Likewise. * utils/Makefile: Likewise. * utils/fakeauth.c: Likewise. * utils/rpctrace.c: Likewise.
* Rework rpctrace into handling multitask programsDa Zheng2012-07-011-275/+787
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rpctrace.c (UNKNOWN_NAME): New variable. (task_info): New structure. (traced_task): Removed. (task_ihash): New variable. (unknown_task): Likewise. (add_task): New function. (remove_task): Likewise. (traced_info): Modified. (receiver_info): New structure. (sender_info): Likewise. (send_once_info): Likewise. (TRACED_INFO): New macro. (SEND_INFO): Likewise. (SEND_ONCE_INFO): Likewise. (req_info): New structure. (req_head): New variable. (add_request): New function. (remove_request): Likewise. (freelist): Different type. (notify_pi): New variable. (receive_right_list): Likewise. (dummy_wrapper): Likewise. (traced_names): Different initial value. (other_class): New variable. (print_request_header): Different parameter. (print_reply_header): Likewise. (new_receiver_info): New function. (destroy_receiver_info): Likewise. (new_send_wrapper): Redefined. (new_send_once_wrapper): Modified. (unlink_sender_info): New function. (traced_dropweak): Removed. (traced_clean): New function. (seen_receive_right): Likewise. (discover_receive_right): Likewise. (get_send_wrapper): Likewise. (rewrite_right): Redefined. (print_contents): Don't treat mach_port_insert_right specially. (wrap_all_threads): Use new structuress. (wrap_new_thread): Likewise. (wrap_new_task): New function. (trace_and_forward): Redefined. (expected_reply_port): Removed. (print_request_header): Use new structures. (print_reply_header): Likewise. (unfinished_line): Removed. (traced_spawn): Use new structures. (main): Initialize some global variables.
* Make rpctrace handle terminate/suspend signals correctlyDa Zheng2012-07-011-2/+86
| | | | | | | | | Fixes bug #3939 * rpctrace.c (traced_task): Relocate. (wrap_all_threads): New function. (wrap_new_thread): Likewise. (trace_and_forward): Wrap all thread ports.
* Replace fragile manual »make dist« system with one based on »git archive«.Thomas Schwinge2012-04-081-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makeconf (lndist): Remove target. (dist-hook, dist.tar): New targets. * Makefile (dist): Rewrite this target's as well as accompanying rules. (%-lndist, cp-linked-files, $(lf-inst)): Remove targets. (%.bz2, %.gz, %/dist-hook): New targets. (DISTFILES): Set. * doc/Makefile (DISTFILES): Set. * doc/Makefile (lndist, lndist-info-targets): Remove targets. * include/Makefile (lndist): Remove target. * libthreads/Makefile (lndist, lndist-i386-files, lndist-map-file): Remove targets. * pfinet/Makefile (lndist, lndist-linux-src-net-core-files) (lndist-linux-src-net-ethernet-files, lndist-linux-src-net-ipv4-files) (lndist-linux-src-net-ipv6-files, lndist-linux-src-asm-files) (lndist-linux-src-include-linux-files, lndist-linux-src-include-net-files) (lndist-linux-src-include-asm-files, lndist-glue-include-linux-files) (lndist-glue-include-asm-files): Remove targets. * auth/Makefile (LCLHDRS): Don't set. * boot/Makefile (LCLHDRS, DIST_FILES): Likewise. * bsdfsck/Makefile (LCLHDRS): Likewise. * config/Makefile (DIST_FILES): Likewise. * console-client/Makefile (LCLHDRS): Likewise. * console/Makefile (LCLHDRS, DIST_FILES): Likewise. * doc/Makefile (DIST_FILES): Likewise. * exec/Makefile (LCLHDRS, DIST_FILES): Likewise. * ext2fs/Makefile (LCLHDRS): Likewise. * fatfs/Makefile (LCLHDRS): Likewise. * ftpfs/Makefile (LCLHDRS): Likewise. * hostmux/Makefile (LCLHDRS): Likewise. * hurd/Makefile (DIST_FILES): Likewise. * include/Makefile (LCLHDRS): Likewise. * isofs/Makefile (LCLHDRS, DIST_FILES): Likewise. * libcons/Makefile (LCLHDRS): Likewise. * libdirmgt/Makefile (LCLHDRS): Likewise. * libdiskfs/Makefile (LCLHDRS): Likewise. * libfshelp/Makefile (LCLHDRS): Likewise. * libftpconn/Makefile (LCLHDRS): Likewise. * libihash/Makefile (LCLHDRS): Likewise. * libiohelp/Makefile (LCLHDRS): Likewise. * libnetfs/Makefile (LCLHDRS): Likewise. * libpager/Makefile (LCLHDRS): Likewise. * libpipe/Makefile (LCLHDRS): Likewise. * libports/Makefile (LCLHDRS): Likewise. * libps/Makefile (LCLHDRS): Likewise. * libshouldbeinlibc/Makefile (LCLHDRS): Likewise. * libstore/Makefile (LCLHDRS, DIST_FILES): Likewise. * libthreads/Makefile (LCLHDRS): Likewise. * libtreefs/Makefile (LCLHDRS): Likewise. * libtrivfs/Makefile (LCLHDRS): Likewise. * mach-defpager/Makefile (LCLHDRS): Likewise. * nfs/Makefile (LCLHDRS): Likewise. * nfsd/Makefile (LCLHDRS): Likewise. * pfinet/Makefile (LCLHDRS): Likewise. * pflocal/Makefile (LCLHDRS): Likewise. * proc/Makefile (LCLHDRS, DIST_FILES): Likewise. * release/Makefile (DIST_FILES): Likewise. * storeio/Makefile (LCLHDRS): Likewise. * sutils/Makefile (LCLHDRS): Likewise. * term/Makefile (LCLHDRS, DIST_FILES): Likewise. * tmpfs/Makefile (LCLHDRS): Likewise. * ufs-fsck/Makefile (LCLHDRS): Likewise. * ufs/Makefile (LCLHDRS): Likewise. * usermux/Makefile (LCLHDRS): Likewise. * utils/Makefile (LCLHDRS): Likewise.
* Add missing format strings for error, printk, problemPino Toscano2011-10-192-3/+3
| | | | | | | | | | | | | | | | | | | Some calls to `error', `printk', and `problem' lacked a format string, leading to build failure when compiling with stricter CFLAGS. * nfs/mount.c (mount_root): Add format string for `error' calls which lacked it. * pfinet/main.c (pfinet_bind): Likewise. * term/main.c (main): Likewise. * utils/shd.c (run): Likewise. * utils/storeinfo.c (main): Likewise. * pfinet/linux-src/include/net/tcp.h (tcp_clear_xmit_timer): Add format string for `printk' call which lacked it. (tcp_timer_is_set): Likewise. * ufs-fsck/utilities.c (punt): Add format string for `problem' call which lacked it.