summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <cgf@redhat.com>2003-09-20 20:27:10 +0000
committerChristopher Faylor <cgf@redhat.com>2003-09-20 20:27:10 +0000
commit56fc2de784ceb281868e0b8e6b65fe6d02041261 (patch)
tree83208dc2707c28cee0f4954783a5ae62abd6a8ef
parente4bb2b924b61883aa2a300ea250eea6bbb51c3e1 (diff)
downloadgdb-cvs/cr-0x9b.tar.gz
* kill.cc (main): Allow negative pids (indicates process groups).cvs/cr-0x9bcr-0x9b
-rw-r--r--winsup/utils/ChangeLog1275
-rw-r--r--winsup/utils/kill.cc256
2 files changed, 1531 insertions, 0 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
new file mode 100644
index 00000000000..819c5b16b88
--- /dev/null
+++ b/winsup/utils/ChangeLog
@@ -0,0 +1,1275 @@
+2003-09-20 Christopher Faylor <cgf@redhat.com>
+
+ * kill.cc (main): Allow negative pids (indicates process groups).
+
+2003-09-17 Christopher Faylor <cgf@redhat.com>
+
+ * parse_pe.cc (exclusion::sort_and_check): Make error message a little
+ more explicit and ignore (hopefully) harmless region overlap.
+
+2003-09-13 Christopher Faylor <cgf@redhat.com>
+
+ * kill.c (forcekill): Wait for process to terminate even if
+ TerminateProcess says it failed.
+
+2003-09-11 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Tweak mingw libz.a detection to make it more reliably
+ detect when libz.a is not available.
+
+2003-09-11 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * cygcheck.cc (dump_only): New global variable.
+ (usage): Add "--dump-only" option, fix "--verbose" line.
+ (longopts, opts): Add "--dump-only" option.
+ (main): Process the "--dump-only" flag. Add new semantic check.
+ Pass dump_only information to dump_setup().
+
+2003-09-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * getfacl (main): Remove extern declaration of optind.
+ * setfacl (main): Remove extern declaration of optarg and optind.
+
+2003-09-10 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (cygcheck.o): Use MINGW_CXX for compilation.
+ * cygcheck.cc: Just include <getopt.h> rather than cygwin version.
+ (pretty_id): Avoid compiler warnings.
+ * cygpath.cc (usage): Ditto.
+
+2003-09-10 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (MINGW_CXX): Define and use for mingw-compiled files.
+ * path.cc: Include more path info in cygwin-specific includes since the
+ cygwin directory is no longer included by default.
+
+2003-09-10 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: More fixups to adjust for the fact that mingw_getopt.o
+ is no longer built.
+
+2003-09-10 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Remove references to getopt since it is now part of
+ mingwex.
+
+2003-09-08 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Rename libz.h -> zlib.h.
+
+2003-09-07 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Detect existence of mingw zlib headers and libraries.
+ Build cygcheck without package checking if they are unavailable.
+ * dump_setup.cc: Generate dummy zlib macros when zlib is not available.
+ (open_package_list): Use zlib functions to uncompress package lists.
+ Return gzFile rather than FILE *.
+ (check_package_files): Change fp to gzFile to accommodate zlib
+ functions. Use gzgets to read from package file. Use gzclose to close
+ the handle.
+ (package_list): Ditto.
+ (package_find): Ditto.
+
+2003-09-05 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * dump_setup.cc (check_package_files): Don't fail on empty package.
+
+2003-09-01 AJ Reins <reinsaj@yahoo.com>
+
+ * mount.cc (mount_commands): Ensure user mode is actually user mode and
+ not the default system mode.
+
+2003-08-31 Christopher Faylor <cgf@redhat.com>
+
+ * kill.cc (forcekill): Silence some compiler warnings.
+
+2003-08-31 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Oops. Put the '...' in the right place.
+
+2003-08-31 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Display "..." when not-verbose.
+
+ * kill.cc (forcekill): Default to entered pid when pinfo fails. Issue
+ some warnings when things don't work.
+
+2003-08-17 David Rothenberger <daveroth@acm.org>
+
+ * dump_setup.cc (check_package_files): Strip leading / and ./ from
+ package file names.
+
+2003-08-16 David Rothenberger <daveroth@acm.org>
+
+ * dump_setup.cc (package_find): Don't stop searching on missing
+ file list.
+ (package_list): Ditto.
+
+2003-08-16 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * dump_setup.cc: (package_list): Make output terse unless
+ verbose requested. Fix formatting.
+ (package_find): Ditto.
+
+2003-08-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygcheck.cc (main): Fix some formatting and help text printing.
+
+2003-08-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * cygcheck.cc (find_package,list_package): New global
+ variables.
+ (usage): Add "--find-package" and "--list-package" options,
+ reformat output.
+ (longopts, opts): Add "--find-package" and "--list-package"
+ options.
+ (main): Process the "--find-package" and "--list-package"
+ flags. Add new semantic checks. Add calls to find_package()
+ and list_package().
+ * dump_setup.cc: Fix header comment.
+ (match_argv): Change return type to int to distinguish
+ between real matches and default ones.
+ (open_package_list): New static function.
+ (check_package_files): Factor out opening the package list
+ file into open_package_list().
+ (get_packages): New static function.
+ (dump_setup): Factor out getting a list of packages into
+ get_packages().
+ (package_list, package_find): New global functions.
+
+2003-08-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * regtool.cc (usage): Add missing linefeed. Move example to --help
+ text. Fix forward slash description.
+
+2003-08-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * dump_setup.cc (check_package_files): Fix extra '/' in filename.
+ Resize command buffer. Fix buffer overflow bug.
+
+2003-08-09 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+ Christopher Faylor <cgf@redhat.com>
+
+ * dump_setup.cc (dump_setup): Check for the existence of the package
+ list file. Rework slightly to use static buffer for popen commands.
+
+2003-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+ Christopher Faylor <cgf@redhat.com>
+
+ * dump_setup.cc (version_len): New static variable.
+ (could_not_access,directory_exists): New static function.
+ (file_exists): Ditto.
+ (check_package_files): Ditto.
+ (dump_setup): Check the contents of each package if check_files is true
+ and output the result in the "Status" column. Flush output after each
+ package.
+
+2003-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+ Christopher Faylor <cgf@redhat.com>
+
+ * dump_setup.cc (dump_setup): Remove redundant null check. Add
+ informative message if package info not found.
+
+2003-07-26 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (do_mount): Issue warning when using managed mount option on
+ non-empty directory.
+
+2003-07-25 Christopher Faylor <cgf@redhat.com>
+
+ * configure.in: Use 'install-sh -c'.
+ * configure: Regenerate.
+
+2003-07-25 Christopher Faylor <cgf@redhat.com>
+
+ * configure.in: Always use install-sh.
+ * configure: Regenerate.
+
+2003-07-03 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (struct opt): Remove posix option.
+
+2003-07-03 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (longopts): Add long "options" keyword.
+ (opts): Add -o option.
+ (usage): Display -o option.
+ (struct opt): New.
+ (concat3): New function.
+ (main): Handle -o flag.
+
+2003-06-12 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (pretty_id): Rework slightly to not rely on spaces.
+
+2003-06-12 Christopher Faylor <cgf@redhat.com>
+
+ * cygpath.cc: Throughout, always return error when GetShortPathName
+ returns 0.
+
+2003-04-26 Joshua Daniel Franklin <joshuadfranklin at yahoo dot com>
+
+ * mkpasswd.c (usage) Remove extra newline from description output.
+
+2003-04-26 Joshua Daniel Franklin <joshuadfranklin at yahoo dot com>
+
+ * cygcheck.cc (usage) Add description output.
+ * cygpath.cc (usage) Add description output.
+ * dumper.cc (usage) Add newline to description output.
+ * kill.cc (usage) Add description output.
+ * mkgroup.c (usage) Grammatical change to description output.
+ * mkpasswd.c (usage) Grammatical change to description output.
+ * mount.cc (usage) Add description output.
+ * passwd.c (usage) Add description output.
+ * ps.cc (usage) Add description output.
+ * regtool.cc (usage) Add description output.
+ * setfacl.c (usage) Remove extra newline from description output.
+ * ssp.c (usage) Add description output.
+ * strace.cc (usage) Add description output.
+ * umount.cc (usage) Add description output.
+
+2003-04-10 Pierre Humblet <pierre.humblet@ieee.org>
+
+ * mkpasswd.c (current_user): print uid and gid as unsigned.
+ (enum_users): Ditto. Do not free servername.
+ (usage): Update to allow several domains and improve -p.
+ (main): On Win9x limit uids to 1000. Only print specials
+ when -l is specified. Add a loop to allow several domains
+ and free servername in the loop.
+ * mkgroup.c (enum_groups): Do not free servername.
+ (usage): Update to allow several domains. Change uid to gid.
+ (main): Only print specials when -l is specified. Add a
+ loop to allow several domains and free servername in the loop.
+
+2003-03-24 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (dump_sysinfo): Ensure that CYGWIN environment variable
+ is correctly set.
+
+2003-03-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * getfacl.c (username): Fix ambiguous printf calls.
+ (groupname): Ditto.
+ (main): Ditto.
+
+2003-03-04 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (strace.exe): Include mingw_getopt.o in link line.
+ * cygcheck.cc (print_version): Update copyright.
+ * strace.cc (print_version): Ditto.
+ (main): Allow cygwin paths for -o option.
+ (create_child): Allow cygwin path as argv[0].
+ * path.cc (path.cc): Allow UNC paths.
+
+2003-03-01 Pierre Humblet <pierre.humblet@ieee.org>
+
+ * mkpasswd.cc (main): On Win95, output both a default line and a
+ line for the current user (if known) with a pseudorandom uid. If
+ the -u switch is given, produce a line for the specified user.
+ * mkgroup.cc (main): On Win95 change the group name from "unknown" to
+ "all".
+
+2003-02-28 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (cygcheck.o): Fix so that actual mingw include files are
+ used.
+ * cygcheck.cc (find_on_path): Translate from cygwin path when qualified
+ path name found.
+ (pretty_id): New function. Dump output of id command.
+ (dump_sysinfo): Call pretty_id for CYGWIN=ntsec and CYGWIN=nontsec cases.
+
+2003-02-12 Christopher Faylor <cgf@redhat.com>
+
+ * cygpath.cc (doit): Allocate more space for non-path filename.
+
+2003-02-07 Christopher Faylor <cgf@redhat.com>
+
+ * dump_setup.cc (compar): Use case insensitive comparisons.
+ (dump_setup): Calculate package_len based on already used "len". Don't
+ bother with version_len.
+
+2003-02-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * dump_setup.cc (dump_setup): Compute the longest package name
+ and align columns properly.
+
+2003-02-06 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (common_apps): Add some more apps.
+ * path.cc (get_cygdrive): Correctly set system flag.
+
+2003-01-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * Makefile.in (ALL_LDFLAGS): Remove newlib/libm from tools paths.
+ (MINGW_LDFLAGS): Remove in favor of definition from Makefile.common.
+
+2003-01-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkgroup.c: Fix copyright date.
+ * mkpasswd.c: Ditto.
+ * setfacl.c: Ditto.
+
+2003-01-09 Pierre Humblet <pierre.humblet@ieee.org>
+
+ * setfacl.c (usage): Remove double ":" for mask and other.
+
+2003-01-07 Pierre Humblet <pierre.humblet@ieee.org>
+
+ * mkpasswd.c (current_user): Create.
+ (usage): Reorganize to support Win95/98/ME.
+ (main): Add option for -c. Reorganize to parse options for
+ Win95/98/ME and to call current_user. Add username in gecos field
+ on Win95/98/ME.
+ * mkgroup.c (enum_groups): Print gid with %u.
+ (print_win_error): Create from passwd.cc.
+ (current_group): Create.
+ (usage): Reorganize to support Win95/98/ME.
+ (main): Add option for -c. Reorganize to parse options for
+ Win95/98/ME and to call current_group.
+
+2002-12-14 Pierre Humblet <pierre.humblet@ieee.org>
+
+ * setfacl.c (main): Place a single : after other and mask.
+ * getfacl.c (getaclentry): Allow both : and :: for other and mask.
+ (main): Remove extraneous break.
+
+2002-11-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkpasswd.c (main): Set pw_passwd field to '*' on 9x/Me.
+
+2002-11-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * setfacl.c (getperm): Set only `other' permission bits.
+ (getaclentry): Set a_id to -1 by default.
+
+2002-11-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * getfacl.c (permstr): Use `other' permission bits for requesting
+ ace permissions.
+
+2002-11-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * setfacl.c (usage): Add missing LF.
+
+2002-10-30 Christopher Faylor <cgf@redhat.com>
+
+ * cygpath.cc (get_long_path_name_w32impl): Define similarly to
+ GetLongPathName.
+ (get_long_name): Correctly prototype GetLongPathName.
+ (get_long_paths): Implement using get_long_name to cut down on code
+ duplication.
+ (doit): Do various things to make path output work predictably.
+
+2002-10-19 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (usage): Correctly report default mode.
+ * strace.cc (main): Use strtoul as appropriate.
+
+2002-09-29 Christopher Faylor <cgf@redhat.com>
+
+ * cygpath.cc (close_arg): Remove unused static.
+ * mkgroup.c (enum_local_users): Avoid compiler warning.
+ (enum_users): Ditto.
+ * mkpasswd.c: Ditto throughout.
+ * ssp.c: Ditto throughout.
+
+2002-09-18 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc: Include sys/time.h rather than time.h to avoid a
+ compiler error.
+
+2002-09-17 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc: Reorder includes to avoid compiler error.
+
+2002-09-15 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * cygcheck.cc (print_version) Add final newline.
+ * getfacl.c (print_version) Add final newline.
+ * kill.cc (print_version) Add final newline.
+ * mkgroup.c (print_version) Add final newline.
+ * mkpasswd.c (print_version) Add final newline.
+ * mount.cc (print_version) Add final newline.
+ * passwd.c (print_version) Add final newline.
+ * ps.cc (print_version) Add final newline.
+ * regtool.cc (print_version) Add final newline.
+ * setfacl.c (print_version) Add final newline.
+ * ssp.c (print_version) Add final newline.
+ * strace.cc (print_version) Add final newline.
+ * umount.cc (print_version) Add final newline.
+
+2002-09-12 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * cygpath.cc (options) New global variable.
+ (main) Make short options global for easier change.
+ (print_version) Add a missing newline.
+
+2002-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
+
+ * regtool.cc (find_key): Add support for custom key separator.
+ (usage): Document it.
+
+2002-08-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkgroup.c (main): Don't print an entry for "Everyone".
+ * mkpasswd.c (print_special): Set pw_gid to 544 for SYSTEM user.
+ (main): Don't print an entry for "Everyone".
+
+2002-07-06 Christopher Faylor <cgf@redhat.com>
+
+ * configure.in: Check for libiconv.a.
+ * configure: Regenerate.
+ * Makefile.in: Add libiconv.a to libraries required for dumper.exe.
+
+2002-07-06 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Use MINGW stuff from Makefile.common.
+
+2002-07-01 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkgroup.c: Add function pointers for functions from advapi32.dll.
+ (load_netapi): Load used functions from advapi32.dll.
+ (main): Use function pointers instead of statically linked functions
+ from advapi32.dll.
+
+2002-07-01 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (main): Ensure that mount_already_exists() also gets default
+ flag that is passed to do_mount.
+
+2002-06-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * cygpath.cc (long_options): Add "dos" and "mixed", correct "close",
+ "file" and "type" to use NULL flag.
+ (usage): Clean up usage output (more), accomodate new options.
+ (main): Add --dos and --mixed options; accomodate all output forms in
+ --type. Make UNIXy output default.
+
+2002-06-18 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * cygpath.cc (usage): Clean up usage output.
+ (dowin): Correct output of -t mixed for -ADHPSW options.
+
+2002-06-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * passwd.c: Rearrange includes to avoid unnecessary warnings.
+ (GetPW): Add parameter to (dis)allow printing of Windows username.
+ Use defines instead of numerical constants where possible.
+ Try avoiding impersonation problem. Rearrange to print Windows
+ username only if it's different from Cygwin username.
+ (ChangePW): Use defines instead of numerical constants where possible.
+ (main): Call GetPW with additional parameter. Change error text.
+
+2002-06-14 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * passwd.c (GetPW): Handle case of user-edited /etc/passwd
+ with cygwin_internal (CW_EXTRACT_DOMAIN_AND_USER, ...).
+
+2002-06-09 Christopher Faylor <cgf@redhat.com>
+
+ * path.cc (cygpath): Change MOUNT_AUTO to MOUNT_CYGDRIVE.
+ (getmntent): Ditto.
+
+2002-06-09 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (main): Use default system/user flag for cygdrive stuff,
+ too.
+ (change_cygdrive_prefix): Change MOUNT_AUTO to MOUNT_CYGDRIVE.
+ * umount.cc (remove_cygdrive_prefix): Ditto.
+ (main): Use default system/user flag for cygdrive stuff, too.
+
+2002-06-08 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (opts): Remove '-i' option.
+ (usage): Ditto.
+ (main): Ditto.
+ (longopts): Remove --import-old-mounts option.
+
+2002-06-07 David Peterson <chief@mail.idrive.com>
+ Christopher Faylor <cgf@redhat.com>
+
+ * cygpath.cc: Add option to output windows paths in different formats:
+ "dos" and "mixed".
+ (main): Process options.
+ (doit): Check new options flags.
+
+2002-06-06 Egor Duda <deo@logos-m.ru>
+
+ * regtool.cc (Fail): Be more verbose.
+ (find_key): Add support for remote registry access.
+ (usage): Document it.
+ * utils.sgml: Document it.
+
+2002-06-06 Christopher Faylor <cgf@redhat.com>
+
+ * strace.cc (main): Make toggle a local variable.
+
+2002-06-07 Conrad Scott <conrad.scott@dsl.pipex.com>
+
+ * strace.cc (toggle): New global variable.
+ (error): Use exit instead of ExitProcess so that stdio buffers get
+ flushed.
+ (create_child): Remove command line error checking.
+ (dostrace): Ditto.
+ (dotoggle): New function.
+ (usage): Add entry for new option -T|--toggle. Alphabetize.
+ (longopts): Add new option -T|--toggle.
+ (opts): Ditto.
+ (main): Handle new -T|--toggle option. Move all command line checking
+ here from other functions.
+ * utils.sgml: Update section for strace.
+
+2002-06-05 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * strace.cc (version): New global variable.
+ (usage): Accommodate stdout output.
+ (print_version): New function.
+
+2002-06-03 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * ssp.c (version): New global variable.
+ (longopts): Ditto.
+ (opts): Ditto.
+ (run_program): Correct cmd_line typos to cmdline.
+ (usage): New function. Standardize usage output. Add ssp.txt to
+ --help output.
+ (print_version): New function.
+ (main): Accommodate getopt.
+
+2002-06-03 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * umount.cc (version): New global variable.
+ (longopts): Accommodate new --version option.
+ (opts): Ditto.
+ (usage): Standardize usage output.
+ (print_version): New function.
+ (main): Accommodate --help, --version options.
+
+2002-06-02 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * regtool.cc (prog_name): New global variable.
+ (longopts): Ditto.
+ (opts): Ditto.
+ (usage): Standardize usage output. Rearrange/add descriptions.
+ (print_version): New function.
+ (main): Accommodate longopts and new --help, --version options. Add
+ check for (_argv[optind+1] == NULL).
+
+2002-06-02 Christopher Faylor <cgf@redhat.com>
+
+ * strace.cc (forkdebug): Make true by default.
+ (attach_process): Use window pid if cygwin pid isn't available (yet).
+ (create_child): Use either DEBUG_ONLY_THIS_PROCESS or DEBUG_PROCESS,
+ exclusively. (Suggested by Conrad.Scott@dsl.pipex.com)
+
+2002-05-30 Christopher Faylor <cgf@redhat.com>
+
+ * mkpasswd.cc (main): Don't reset to binmode if stdout is a terminal.
+
+2002-05-29 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (main): Make -b the default.
+
+2002-05-29 Corinna Vinschen <corinna@vinschen.de>
+
+ * ps.cc (main): Use uid or uid32 member of struct external_pinfo
+ dependent of the value of the struct's version member.
+
+2002-05-29 Corinna Vinschen <corinna@vinschen.de>
+
+ * ps.cc (main): Change print format for uid to unsigned. Use uid32
+ member of struct external_pinfo instead of uid.
+
+2002-05-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * passwd.c (prog_name): New global variable.
+ (longopts): Ditto.
+ (opts): Ditto.
+ (usage): Standardize output. Accommodate new options.
+ (print_version): New function.
+ (main): Accommodate longopts and new --help, --version options.
+
+2002-05-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * ps.cc (usage): Fix typo.
+
+2002-05-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * ps.cc (prog_name): New global variable.
+ (longopts): Ditto.
+ (opts): Ditto.
+ (usage): New function.
+ (print_version): New function.
+ (main): Accommodate longopts and new --help, --version options.
+
+2002-05-26 Christopher Faylor <cgf@redhat.com>
+
+ * strace.cc (attach_process): Don't tell process to start stracing
+ here.
+ (proc_child): Do it here, instead, after first debug event. This
+ should work around inexplicable races with DebugActiveProcess.
+ (dostrace): Pass any pid argument to proc_child.
+
+2002-05-23 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * getfacl.c (usage): Standardize usage output. Change return type to
+ static void.
+ (print_version): New function.
+ (longopts): Added longopts for all options.
+ (main): Accommodate new help and version options.
+
+2002-05-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * mount.cc (version): New global variable.
+ (usage): Standardize usage output. Accommodate new version option.
+ (print_version): New function.
+ (longopts): Accommodate new version option.
+ (opts): Ditto.
+ (main): Ditto.
+
+2002-05-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygpath.cc (usage): Change usage output slightly.
+
+2002-05-20 Joerg Schaible <joerg.schaible@gmx.de>
+
+ * cygpath.cc (main): Add option l to support conversion to
+ Windows long file names. Refactured code for capital options.
+ Support of options from file for capital options.
+ (dowin): New function. Refactured from main.
+ (doit): Call long path conversion.
+ (get_long_name): New function.
+ (get_long_paths): New function.
+ (get_long_path_name_w32impl): New function. Reimplementation
+ of Windows API function GetLongPathName (only 98/Me/2000/XP or
+ higher).
+ (get_short_name): Call GetShortPathName only once.
+ (get_short_paths): Fix calculating buffer size.
+ * utils.sgml: Update cygpath section for l option.
+
+2002-05-18 Christopher Faylor <cgf@redhat.com>
+
+ * strace.cc (add_child): Use calloc since new requires working
+ libstdc++.a.
+ (remove_child): Ditto for delete/free.
+
+2002-05-15 Mark Blackburn <marklist@fangorn.ca>
+
+ * cygpath.cc (get_short_paths): Fix more error checking.
+ (get_short_name): Ditto.
+
+2002-05-14 Joerg Schaible <joerg.schaible@gmx.de>
+
+ * cygpath.cc (main): Add option H to show the Windows' profiles
+ directory. Support short names for options DPSW. Clean up
+ copied code lines.
+ * utils.sgml: Update cygpath section for H option and s support.
+
+2002-05-14 Mark Blackburn <marklist@fangorn.ca>
+
+ * cygpath.cc (get_short_paths): Fix error checking.
+
+2002-05-13 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * kill.cc (prog_name): New global variable.
+ (usage): Standardize usage output. Add descriptions.
+ (print_version): New function.
+ (longopts): Accommodate new version option.
+ (opts): Ditto.
+ (main): Ditto.
+
+2002-05-13 Christopher Faylor <cgf@redhat.com>
+
+ * kill.cc (listsig): Display numeric id when given symbolic input.
+
+2002-05-13 Christopher Faylor <cgf@redhat.com>
+
+ * kill.cc (usage): Show new options. Allow specification of output
+ stream.
+ (main): Implement 'h' option.
+
+2002-05-13 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (kill.exe): Add as a specific target.
+ * kill.cc (longopts): New.
+ (opts): Ditto.
+ (get_sig): Accept const char * parameter. Return -1 on unknown signal.
+ (test_for_unknown_sig): New function.
+ (listsig): New function.
+ (main): Use getopt_long for option parsing. Implement -l, and -s
+ options. Use test_for_unknown_sig() to test for signal validity.
+
+ * mount.cc (longopts): Make static.
+ (opts): Ditto.
+
+2002-05-12 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (do_mount): Default to non-exec option for remote drives.
+ Report warnings before attempting a mount.
+ (longopts): Add no-executable option.
+ (mount_commands): Ditto.
+ (opts): Ditto.
+ (usage): Ditto. Indicate that system mount is now the default.
+ (main): Accommodate no-executable option. Make system mount the
+ default.
+ * umount.cc (usage): Indicate that system umount is now the default.
+ (main): Make system umount the default.
+
+2002-05-07 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * dumper.cc (usage): Standardize usage output. Generalize to allow use
+ for help.
+ (longopts): New struct. Added longopts for all options.
+ (print_version): New function.
+ (main): Change getopt to getopt_long. Accommodate new help and version
+ options.
+
+2002-03-29 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkgroup.c (main): Change call to exit() to a return statement.
+ * mkpasswd.c (main): Ditto.
+
+2002-03-27 Joshua Daniel Franklin joshuadfranklin@yahoo.com
+
+ * mkpasswd.c (usage): Simplify usage output. Generalize to allow use
+ for help. Correct '?' typo to 'h'.
+ (longopts): Add version option.
+ (opts): Add 'v' version option.
+ (print_version): New function.
+ (main): Accommodate new version option. Accommodate usage parameter
+ changes.
+
+2002-03-19 Christopher Faylor <cgf@redhat.com>
+
+ * mkgroup.c (usage): Use one just fprintf + string concatenation for
+ output message.
+ (print_version): Add void to function type and update copyright.
+
+2002-03-16 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * mkgroup.c (usage): Simplify usage output. Generalize to allow use
+ for help. Correct '?' typo to 'h'.
+ (longopts): Add version option.
+ (opts): Add 'v' version option.
+ (print_version): New function.
+ (main): Accommodate new version option. Accommodate usage parameter
+ changes. Use usage to output help message.
+
+2002-03-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkgroup.c (main): When generating group 513, check for computer's
+ primary domain instead of current user's domain.
+
+2002-03-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkgroup.c (main): When generating group 513, check for domain SID
+ if computer name isn't mapped to a SID.
+
+2001-03-11 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * kill.cc (usage): Move to top of file.
+ (getsig): Ditto.
+ (forcekill): Ditto.
+
+2002-03-06 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc: Reformat.
+
+2002-03-06 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (longopts): Use correct short option for --version.
+
+2002-03-06 Christopher Faylor <cgf@redhat.com>
+
+ * cygpath.cc: Reformat.
+
+2002-02-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * cygpath.cc (print_version): New function.
+ (main): Accommodate new version function. Initialize 'o' to prevent
+ warning.
+
+2002-02-27 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (main): Eliminate non-GNU formatting glitch.
+
+2002-02-27 Christopher Faylor <cgf@redhat.com>
+
+ * ssp.c (help_desk): Fix compiler warning.
+
+2002-02-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+ Christopher Faylor <cgf@redhat.com>
+
+ Change appropriate globals to statics throughout.
+ * cygcheck.cc (usage): Simplify usage output. Generalize to allow use
+ for help.
+ (longopts): Add version option.
+ (opts): Add 'V" version option.
+ (print_version): New function.
+ (main): Accommodate new version option. Accommodate usage parameter
+ changes. Use usage to output help message.
+
+002-02-19 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (CXXFLAGS): Add override so that HAVE_DECL_GETOPT is
+ defined.
+ (libbfd): Use -B rather than -L so that bfd from build directory is
+ correctly found.
+ (libintl): Ditto.
+
+2002-02-15 Christopher Faylor <cgf@redhat.com>
+
+ * mount.cc (usage): Fix typo in output.
+
+2002-02-14 Christopher Faylor <cgf@redhat.com>
+
+ * strace.cc (attach_process): Change CW_STRACE_ON to CW_STRACE_TOGGLE.
+
+2002-01-31 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkpasswd.c (main): Set default home path for 9x/Me if --path-to-home
+ isn't given.
+
+2002-01-30 Corinna Vinschen <corinna@vinschen.de>
+
+ * passwd.cc (ChangePW): Add parameter to differ between called for
+ checking old password and called for changing password. If called
+ for checking old password, return non-zero only if password is surely
+ incorrect.
+ (main): Call ChangePW() with additional parameter.
+
+2002-01-29 Christopher Faylor <cgf@redhat.com>
+
+ * dump_setup.cc (parse_filename): Don't consider '_' part of the
+ version.
+
+2002-01-28 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc: Fix typo. Remove uid_t kludge. Rely on kludge in
+ sys/cygwin.h instead.
+ * getfacl.c: Add include to remove warning.
+ * mkgroup.c (main): Assign variables outside of parameter passing.
+ This seems to eliminate some compiler warnings.
+
+2002-01-28 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc: Use specific cygwin includes, as required.
+
+2002-01-28 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (MINGW_INCLUDES): Change cygwin include.
+ * strace.cc: Use specific cygwin includes, as required.
+ (load_cygwin): New function. Loads cygwin DLL, if necessary.
+ (attach_process): Attaches strace to a running process.
+ (dostrace): Accept pid argument. Attach to pid if supplied.
+ (usage): Describe -p option. Correct system description.
+ (longopts): Alphabetize.
+ (opts): Ditto.
+ (main): Ditto. Handle -p option.
+
+2002-01-21 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (CXXFLAGS): Ensure that important settings are preserved
+ even when overriden by command line.
+
+2002-01-21 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Build intermediate cygcheck.o to force use of MINGW_CXXFLAGS.
+ * cygcheck.cc (cygwin_info): Intitialize variable to quiet g++ warning.
+ (dump_sysinfo): Make variables unsigned to quiet g++ warnings.
+ * strace.cc (version_string): Rename from SCCSid.
+ (add_child): Remove unused variable.
+ (version): Use version_string. Avoid use of fprintf.
+
+2002-01-21 DJ Delorie <dj@redhat.com>
+
+ * Makefile.in: Use CXX instead of CC to compile C++ sources.
+
+2002-01-17 DJ Delorie <dj@redhat.com>
+
+ * cygcheck.cc (already_did): Avoid default constructors, which may
+ require exception support.
+
+2001-01-16 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
+
+ * cygpath.cc (main): Add options to show Desktop and Start
+ Menu's Programs directory for current user or all users.
+ Move bulk of DPWS options outside the getopt case statement.
+ * utils.sgml: Update cygpath section for ADPWS options.
+
+2002-01-15 Joerg Schaible <joerg.schaible@gmx.de>
+
+ * cygpath.cc (doit): Empty file ignored using option -i.
+
+2002-01-15 Mark Bradshaw <bradshaw@crosswalk.com>
+
+ * mkpasswd.c (print_win_error): Add a new function.
+ (enum_users): Use print_win_error.
+ (enum_local_groups): Ditto.
+ (main): Ditto.
+
+2001-12-26 Jonathan Kamens <jik@curl.com>
+
+ * cygpath.cc (doit): Detect and warn about an empty path. Detect and
+ warn about errors converting a path.
+ (main): Set prog_name correctly -- don't leave an extra slash or
+ backslash at the beginning of it.
+
+Fri Dec 14 14:04:37 2001 Jason Tishler <jason@tishler.net>
+
+ * mkpasswd.c (enum_users): Change to unconditionally use
+ the --path-to-home option, if supplied by the user. Use default
+ --path-to-home option value, if appropriate.
+ (usage): Change usage statement to reflect new semantics.
+ (main): Remove defaulting of the --path-to-home option.
+
+Fri Dec 14 12:10:39 2001 Jason Tishler <jason@tishler.net>
+
+ * mkpasswd.c (opts): Add indication that '-p' option requires an
+ argument.
+
+2001-12-11 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Add define to CXXFLAGS.
+
+2001-12-03 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (usage): Add -c description.
+ * cygpath.cc (usage): Alphabetize options.
+ * strace.cc (usage): Ditto.
+
+2001-11-21 Christopher Faylor <cgf@redhat.com>
+
+ * path.cc (cygpath): Don't consider cygdrive stuff when trying to derive
+ native paths.
+
+2001-11-20 Mark Bradshaw <bradshaw@staff.crosswalk.com>
+
+ * mkpasswd.c: include lmerr.h
+ (main): New -u option to allow specifying a
+ specific user. If specified, groups aren't displayed and
+ output is limited to only the specified user.
+ (enum_users): If specific user is specified, via -u option,
+ display only that user's record. With -u use NetUserGetInfo
+ instead of NetUserEnum.
+ (load_netapi): Added netusergetinfo.
+
+2001-11-15 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
+
+ * strace.cc (main): Change getopt() to getopt_long().
+ Add support for help and version info.
+ Use new parse_mask() function for -m/--mask option.
+ (longopts): Add long options structure.
+ (opts): Move options string from getopts call to static var.
+ (usage): Print usage information.
+ (SCCSid): Version info.
+ (version): New function for displaying version info.
+ (parse_mask): New function supporting parsing of mnemonics,
+ hex, and basic expressions in masks.
+ (mnemonic2ul): New mnemonic parsing function.
+ (tag_mask_mnemonic): New type.
+ (mnemonic_table): New table of mnemonics for mnemonic2ul() to
+ search through.
+
+2001-11-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygcheck.cc (dump_sysinfo): Redefine output format slightly.
+ Print correct build number on 9x/ME systems.
+
+2001-11-12 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (main): Slight formatting tweak.
+
+2001-11-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygcheck.cc (dump_sysinfo): Add some more details.
+
+2001-11-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygcheck.cc (dump_sysinfo): Print more detailed OS information string
+ using OSVERSIONINFOEX information.
+
+2001-11-11 Christopher Faylor <cgf@redhat.com>
+
+ * path.h: New file.
+
+2001-11-11 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (scan_registry): Open registry with read-only access.
+ (main): Reflect argument change for dump_setup.
+ * dump_setup.cc (dump_setup): Add preliminary extra argument for future
+ use.
+ * path.cc (read_mounts): Open registry with read-only access.
+
+2001-11-11 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (main): Display package info when '-s' is specified.
+ * dump_setup.cc (dump_setup): Change header. Remove typo. Always sort
+ packages output.
+
+2001-11-11 Christopher Faylor <cgf@redhat.com>
+
+ * dump_setup.cc: New file.
+ * Makefile.in: Add info for dump_setup.o.
+ * cygcheck.cc (main): Recognize '-c' option for checking setup
+ installed base.
+ * path.cc (cygpath): Read mount table if not loaded.
+
+2001-11-10 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in (cygcheck.exe): Compile as -mno-cygwin executable.
+ * path.cc: New file.
+ * cygcheck.cc (init_paths): Use MS-DOS path syntax.
+ (cygwin_info): Properly display cygwin version numbers. Prettify some
+ output.
+ (dump_sysinfo): Calculate max names of posix and ms-dos paths for
+ prettier output.
+
+2001-11-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygcheck.cc (dump_sysinfo): Print more detailed OS information string.
+
+2001-11-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * getfacl.c (username): New function.
+ (groupname): Ditto.
+ (usage): Ditto. Add more user friendly help text.
+ (main): Add -n and --help option. Print names instead of IDs
+ unless -n option is given.
+ * setfacl.c (getperm): Tolerate whitespace and comment chars in input.
+ (getaclentry): Fix several input string misdetections.
+ (getaclentries): Allow - as input file name to read from stdin.
+ Tolerate whitespace and comment chars in input.
+ (usage): Add more user friendly help text.
+ (main): Add --help option.
+
+2001-11-04 Egor Duda <deo@logos-m.ru>
+
+ * strace.cc (main): New option '-w'. Start traced process in separate
+ window. New option '-S x'. Flush buffered output every x seconds.
+ (create_child): Start child process in new window, when requested.
+ When requested, periodically flush debugging output.
+
+2001-10-24 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Remove EXEEXT consideration. We always need .exe
+ extensions.
+
+2001-10-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * mkgroup.c: Avoid compiler warnings.
+ (print_special): New function.
+ (main): Print special accounts by calling print_special().
+ * mkpasswd.c: Avoid compiler warnings.
+ (enum_users): Print additional U-domain\username info in gecos
+ field when SIDs are printed.
+ (print_special): New function.
+ (main): Print special accounts by calling print_special().
+
+2001-10-15 Christopher Faylor <cgf@redhat.com>
+
+ * mkpasswd.cc (enum_users): Shorten "unused" passwd field.
+
+2001-10-13 Christopher Faylor <cgf@redhat.com>
+
+ * Makefile.in: Allow stdinc searching for dumper.
+
+Tue Oct 9 21:59:00 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in (MINGW_INCLUDES): Accommodate changes in Makefile.common.
+
+Sun Oct 7 23:06:39 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * kill.cc (main): Set exit value to 1 on invalid pid. Perform minor
+ cleanup.
+
+Fri Sep 21 20:40:30 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in (mingw_getopt.o): Ensure that newlib include directories
+ are not searched.
+
+Thu Sep 20 21:00:20 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in (MINGW_INCLUDES): Still need cygwin/include directory.
+
+Wed Sep 19 12:22:08 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in: Filter newlib includes from mingw compilation.
+
+2001-09-14 Egor Duda <deo@logos-m.ru>
+
+ * dumper.cc (dumper::dumper): Print error code in case of error.
+ (dumper::add_thread): Ditto.
+ (dumper::collect_memory_sections): Ditto.
+ (dumper::dump_memory_region): Ditto.
+ (dumper::collect_process_information): Ditto.
+ (print_section_name): Fix formatting.
+
+2001-09-13 Egor Duda <deo@logos-m.ru>
+
+ * dumper.cc (main): Properly recognize negative pids (used by w9x).
+
+2001-09-09 Egor Duda <deo@logos-m.ru>
+
+ * dumper.cc (main): Change command-line arguments format to be
+ similar to gdb. Allow adding error_start=x:\path\to\dumper.exe to
+ CYGWIN environment variable to perform core dumping in case of
+ program crash.
+ (usage): Ditto.
+
+Wed Sep 5 22:37:21 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in (dumper): Change logic for libbfd and libintl so that
+ they will be found either in the build tree or the installed directory.
+ * mkpasswd.c (enum_users): Add a comment as a password for NT.
+
+2001-09-03 Michael A Chase <mchase@ix.netcom.com>
+
+ * mount.cc (mount_commands): Don't write /cygdrive/u mount points.
+
+2001-09-03 Michael A Chase <mchase@ix.netcom.com>
+
+ * mount.cc (longopts): Add mount-commands to options list.
+ (usage): Add mount-commands option.
+ (mount_commands): New function. Write commands to recreate current
+ mounts.
+
+Sat Sep 1 15:58:11 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * mount.cc (main): Eliminate excess arguments in printf.
+
+2001-08-30 Egor Duda <deo@logos-m.ru>
+
+ * dumper.h: Update copyright notice.
+ * dumper.cc: Ditto.
+ * dumper.cc: (dumper::print_core_section_list): New function.
+ * dumper.h: (dumper::print_core_section_list): Declare it.
+ * dumper.cc (print_section_name): New function.
+ (dumper::collect_process_information): Augment debugging output.
+ Stop debugee processing if it posts double exception.
+ (usage): Fix typo in option name.
+
+Tue Aug 28 14:45:02 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * mount.cc (main): Issue correct warning for 'not enough arguments'.
+
+2001-08-14 Joerg Schaible <joerg.schaible@gmx.de>
+
+ * cygpath.cc (main): Support -w for Windows (System) directories and
+ return physical correct orthography for the Windows System dir.
+
+2001-07-14 Chris Genly <chgenly@alum.mit.edu>
+
+ * regtool.cc (find_key): Handle keys with only one subkey.
+
+Wed Jun 27 22:46:10 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * regtool.cc (find_key): Revert previous change.
+
+Wed Jun 27 13:37:41 2001 Keith Starsmeare" <keith_starsmeare@yahoo.co.uk>
+
+ * regtool.cc (find_key): Allow '/' as a synonym for '\\'.
+
+Fri Jun 15 00:49:21 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * mkpasswd.c (main): Output passwd file in binary mode so that there
+ are no CRs in the file.
+ * umount.cc (remove_all_user_mounts): Don't try to remove /cygdrive
+ mounts.
+
+Tue May 1 10:50:48 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * mkpasswd.c (enum_users): Use /bin/bash as the default shell.
+ (main): Ditto.
+
+Sat Apr 28 22:32:01 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * passwd.cc (ttymnam): New function.
+ (main): Use ttynam() to report name of tty.
+
+2001-04-19 Egor Duda <deo@logos-m.ru>
+
+ * dumper.cc (dumper::init_core_dump): Set architecture field in dump
+ header.
+
+Mon Apr 16 15:08:00 2001 Corinna Vinschen <vinschen@redhat.com>
+
+ * mkgroup.c: Add function pointers `netlocalgroupgetmembers' and
+ `netgroupgetusers'.
+ (load_netapi): Load function pointers `netlocalgroupgetmembers'
+ and `netgroupgetusers'.
+ (enum_local_users): New function.
+ (enum_local_groups): Call `enum_local_users' for each group if
+ `print_users' is set.
+ (enum_users): New function.
+ (enum_groups): Call `enum_users' for each group if `print_users' is set.
+ (usage): Add usage text for `-u/--users'.
+ (longopts): Add option `--users'.
+ (opts): Add option character `u'.
+ (main): Set `print_users' according to option `-u/--users'.
+ Call `enum_local_groups' and `enum_groups' with additional parameter
+ `print_users'.
+
+2001-04-15 Michael A Chase <mchase@ix.netcom.com>
+
+ * mount.cc (longopts): Add help to options list.
+ (opts): Add 'h' to options string.
+ * umount.cc (longopts): Add help to options list.
+ (opts): Add 'h' to options string and change 'R' to 'A'.
+
+2001-04-13 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
+
+ * mkgroup.c (enum_groups): Use RID + offset specified an additional
+ argument as ID.
+ (usage): Add description of -o option.
+ (longopts, opts): Add specifications of -o/--id-offset option.
+ (main): Add -o option. Invoke enum_groups with specified offset.
+ * mkpasswd.c (enum_users): Just like mkgroup.c.
+ (usage, longopts, opts): Ditto.
+ (main): Add -o option. Invoke enum_users with specified offset only
+ against domain accounts.
+
+2001-04-11 Egor Duda <deo@logos-m.ru>
+
+ * mkgroup.c (uni2ansi): Use native method to convert from Unicode
+ to multi-byte strings.
+ * mkpasswd.c (uni2ansi): Ditto.
+ (enum_users): Pass buffer size when converting string.
+ (enum_local_groups): Ditto.
+ * mkgroup.c (enum_groups): Ditto.
+ (enum_local_groups): Ditto.
+
+Mon Apr 2 22:41:33 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * mount.cc (main): Use getopt_long for parsing arguments.
+ (usage): Reformat, show long and short options.
+ * umount.cc (main): Ditto, all of the above.
+
+Mon Apr 2 10:58:26 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * mount.cc (show_mounts): Change format string to more closely resemble
+ UNIX when displaying mount table.
+
+Sat Mar 17 21:46:06 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * kill.cc (forcekill): Use dwProcessId when opening a process, not the
+ Cygwin pid.
+
+Mon Mar 5 18:50:00 2001 Corinna Vinschen <vinschen@redhat.com>
+
+ * getfacl.c: Add copyright hint.
+ * setfacl.c: Ditto.
+ * strace.cc: Ditto.
+
+Tue Jan 09 10:26:23 2001 Tony Sideris <tonys1110@home.com>
+
+ * regtool.cc (cmd_list): Add new registry display options.
+ (cmd_list): Add code to implement -p, -k, and -l options.
+
+ * regtool.cc (Fail): Add call to LocalFree to free memory allocated by
+ FormatMessage.
+
+Wed Jan 10 09:16:57 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * regtool.cc (translate): Ensure that 'c' is initialized.
+ (cmd_set): Ditto for rv.
diff --git a/winsup/utils/kill.cc b/winsup/utils/kill.cc
new file mode 100644
index 00000000000..a4dba050d59
--- /dev/null
+++ b/winsup/utils/kill.cc
@@ -0,0 +1,256 @@
+/* kill.cc
+
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+
+This file is part of Cygwin.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <string.h>
+#include <time.h>
+#include <errno.h>
+#include <windows.h>
+#include <sys/cygwin.h>
+#include <getopt.h>
+
+static const char version[] = "$Revision$";
+static char *prog_name;
+
+static struct option longopts[] =
+{
+ {"help", no_argument, NULL, 'h' },
+ {"list", optional_argument, NULL, 'l'},
+ {"force", no_argument, NULL, 'f'},
+ {"signal", required_argument, NULL, 's'},
+ {"version", no_argument, NULL, 'v'},
+ {NULL, 0, NULL, 0}
+};
+
+static char opts[] = "hl::fs:v";
+
+extern "C" const char *strsigno (int);
+
+static void
+usage (FILE *where = stderr)
+{
+ fprintf (where , ""
+ "Usage: %s [-f] [-signal] [-s signal] pid1 [pid2 ...]\n"
+ " %s -l [signal]\n"
+ "Send signals to processes\n"
+ "\n"
+ " -f, --force force, using win32 interface if necessary\n"
+ " -l, --list print a list of signal names\n"
+ " -s, --signal send signal (use %s --list for a list)\n"
+ " -h, --help output usage information and exit\n"
+ " -v, --version output version information and exit\n"
+ "", prog_name, prog_name, prog_name);
+ exit (where == stderr ? 1 : 0);
+}
+
+static void
+print_version ()
+{
+ const char *v = strchr (version, ':');
+ int len;
+ if (!v)
+ {
+ v = "?";
+ len = 1;
+ }
+ else
+ {
+ v += 2;
+ len = strchr (v, ' ') - v;
+ }
+ printf ("\
+%s (cygwin) %.*s\n\
+Process Signaller\n\
+Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.\n\
+Compiled on %s\n\
+", prog_name, len, v, __DATE__);
+}
+
+static int
+getsig (const char *in_sig)
+{
+ const char *sig;
+ char buf[80];
+ int intsig;
+
+ if (strncmp (in_sig, "SIG", 3) == 0)
+ sig = in_sig;
+ else
+ {
+ sprintf (buf, "SIG%s", in_sig);
+ sig = buf;
+ }
+ intsig = strtosigno (sig) ?: atoi (in_sig);
+ char *p;
+ if (!intsig && (strcmp (buf, "SIG0") != 0 && (strtol (in_sig, &p, 10) != 0 || *p)))
+ intsig = -1;
+ return intsig;
+}
+
+static void
+test_for_unknown_sig (int sig, const char *sigstr)
+{
+ if (sig < 0 || sig > NSIG)
+ {
+ fprintf (stderr, "%s: unknown signal: %s\n", prog_name, sigstr);
+ usage ();
+ exit (1);
+ }
+}
+
+static void
+listsig (const char *in_sig)
+{
+ int sig;
+ if (!in_sig)
+ for (sig = 1; sig < NSIG; sig++)
+ printf ("%s%c", strsigno (sig) + 3, (sig < NSIG - 1) ? ' ' : '\n');
+ else
+ {
+ sig = getsig (in_sig);
+ test_for_unknown_sig (sig, in_sig);
+ if (atoi (in_sig) == sig)
+ puts (strsigno (sig) + 3);
+ else
+ printf ("%d\n", sig);
+ }
+}
+
+static void __stdcall
+forcekill (int pid, int sig, int wait)
+{
+ external_pinfo *p = (external_pinfo *) cygwin_internal (CW_GETPINFO_FULL, pid);
+ DWORD dwpid = p ? p->dwProcessId : (DWORD) pid;
+ HANDLE h = OpenProcess (PROCESS_TERMINATE, FALSE, (DWORD) dwpid);
+ if (!h)
+ {
+ fprintf (stderr, "couldn't open pid %u\n", (unsigned) dwpid);
+ return;
+ }
+ if (!wait || WaitForSingleObject (h, 200) != WAIT_OBJECT_0)
+ if (!TerminateProcess (h, sig << 8)
+ && WaitForSingleObject (h, 200) != WAIT_OBJECT_0)
+ fprintf (stderr, "couldn't kill pid %u, %u\n", (unsigned) dwpid,
+ (unsigned) GetLastError ());
+ CloseHandle (h);
+}
+
+int
+main (int argc, char **argv)
+{
+ int sig = SIGTERM;
+ int force = 0;
+ int ret = 0;
+ char *gotasig = NULL;
+
+ prog_name = strrchr (argv[0], '/');
+ if (prog_name == NULL)
+ prog_name = strrchr (argv[0], '\\');
+ if (prog_name == NULL)
+ prog_name = argv[0];
+ else
+ prog_name++;
+
+ if (argc == 1)
+ usage ();
+
+ opterr = 0;
+
+ char *p;
+ int pid = 0;
+
+ for (;;)
+ {
+ int ch;
+ char **av = argv + optind;
+ if ((ch = getopt_long (argc, argv, opts, longopts, NULL)) == EOF)
+ break;
+ switch (ch)
+ {
+ case 's':
+ gotasig = optarg;
+ sig = getsig (gotasig);
+ break;
+ case 'l':
+ if (!optarg)
+ {
+ optarg = argv[optind];
+ if (optarg)
+ {
+ optind++;
+ optreset = 1;
+ }
+ }
+ if (argv[optind])
+ usage ();
+ listsig (optarg);
+ break;
+ case 'f':
+ force = 1;
+ break;
+ case 'h':
+ usage (stdout);
+ break;
+ case 'v':
+ print_version ();
+ break;
+ case '?':
+ if (gotasig)
+ {
+ pid = strtol (argv[optind], &p, 10);
+ if (pid < 0)
+ goto out;
+ usage ();
+ }
+ optreset = 1;
+ optind = 1 + av - argv;
+ gotasig = *av + 1;
+ sig = getsig (gotasig);
+ break;
+ default:
+ usage ();
+ break;
+ }
+ }
+
+out:
+ test_for_unknown_sig (sig, gotasig);
+
+ argv += optind;
+ while (*argv != NULL)
+ {
+ if (!pid)
+ pid = strtol (*argv, &p, 10);
+ if (*p != '\0')
+ {
+ fprintf (stderr, "%s: illegal pid: %s\n", prog_name, *argv);
+ ret = 1;
+ }
+ else if (kill (pid, sig) == 0)
+ {
+ if (force)
+ forcekill (pid, sig, 1);
+ }
+ else if (force && sig != 0)
+ forcekill (pid, sig, 0);
+ else
+ {
+ char buf[1000];
+ sprintf (buf, "%s %d", prog_name, pid);
+ perror (buf);
+ ret = 1;
+ }
+ argv++;
+ pid = 0;
+ }
+ return ret;
+}