Commit Graph

366 Commits

Author SHA1 Message Date
Corinna Vinschen 70158cafd7 * regtool.cc (key_type): Drop.
(REG_AUTO): Define.
	(value_type): Replace key_type.  Use REG_xxx values directly.
	Accomodate change throughout.
	(longopts): Add --dword, --dword-le, --none, --qword and --hex options.
	(opts): Add -d, -D, -n, -Q and -x options.
	(types): Array to convert REG_xxx into strings.
	(hex): New variable to keep value of --hex option.
	(usage): Accomodate new options.  Print only the necessary by default.
	Only be verbose in case of -h/--help option.
	(cmd_list): Use key separator from -K option when printing.
	Print value type when verbose option is given.  Handle so far not
	handled REG_xxx types.
	(cmd_set): Avoid SEGV due to missing argument.  Handle so far not
	handled REG_xxx types.
	(cmd_get): Handle --binary option type agnostic.  Handle so far not
	handled REG_xxx types.
	(main): Handle new options.
2006-10-21 17:19:29 +00:00
Corinna Vinschen 3c256e38f9 * regtool.cc (longopts): Add --wow32 option.
(opts): Add -W option.
	(usage): Add text for --wow32/-W option.
	(main): Handle --wow32/-W option.
	* utils.sgml: Document the new -W option.
2006-10-19 09:08:44 +00:00
Corinna Vinschen 53930874cb * regtool.cc (KEY_WOW64_64KEY): Drop definition. Instead define
WINVER to 0x0502 before including windows.h.
2006-10-16 19:34:27 +00:00
Corinna Vinschen 40c60b89d5 * regtool.cc (KEY_WOW64_64KEY): Define.
(longopts): Add --wow64 option.
	(opts): Add -w option.
	(wow64): New variable to control usage of KEY_WOW64_64KEY access flag.
	(usage): Add text for --wow64/-w option.
	(print_version): Fix copyright.
	(find_key): Use wow64 value in calls to RegOpenKeyEx and RegCreateKeyEx.
	(cmd_add): Use wow64 value in call to RegCreateKeyEx.
	(regDeleteKeyEx): New function pointer to load RegDeleteKeyEx function
	dynamically.
	(cmd_remove): Load and use regDeleteKeyEx when wow64 is set.
	(main): Handle --wow64/-w option.
	* utils.sgml: Document the new -w option.
2006-10-16 18:00:06 +00:00
Corinna Vinschen cea9b62102 * cygcheck.cc (get_word, get_dword): Move to path.cc.
(LINK_EXTENSION): New macro.
	(check_existence): New static function.
	(find_on_path): Check for symbolic links if asked.
	(dll_info): New error handling.
	(track_down): Only call dll_info() for executables, display
	an error for symlinks, and print magic number for others.
	(find_app_on_path): New static function.
	(cygcheck, dump_sysinfo): Call find_app_on_path() instead of
	find_on_path().
	* path.cc (cmp_shortcut_header): New static function.
	(get_word, get_dword): Moved from cygcheck.cc.
	(EXE_MAGIC, SHORTCUT_MAGIC, SYMLINK_COOKIE, SYMLINK_MAGIC): New
	macros.
	(is_exe, is_symlink, readlink): New functions.
	* path.h (is_exe, is_symlink, readlink): Declare.
	(get_word, get_dword): Ditto.
2006-10-05 17:24:13 +00:00
Christopher Faylor 56ec0f9c9c * Makefile.in: Fix -ntdll typo.
* cygcheck.cc (main): Restore POSIXLY_CORRECT before displaying user's
environment.
2006-09-12 15:14:51 +00:00
Corinna Vinschen fb43e6237c * path.cc (vconcat): Don't convert backslahes to slashes.
(cygpath): Return native path with all backslashes.
2006-08-03 15:29:30 +00:00
Corinna Vinschen 2dba45f4aa * Makefile.in (cygpath.exe): Add rule to link cygpath against ntdll.dll.
* cygpath.cc: Include DDK headers.
	(RtlAllocateUnicodeString): New static inline function.
	(get_device_name): New static function to evaluate DOS path from
	native NT path.
	(get_device_paths): New function to do the same for path lists.
	(doit): Call get_device_paths/get_device_name where appropriate.
2006-08-02 09:48:18 +00:00
Corinna Vinschen acc31d1a90 * cygpath.cc (get_long_name): Fallback to get_long_path_name_w32impl. 2006-07-31 07:31:56 +00:00
Corinna Vinschen bc31293a0d * cygpath.c (get_long_name): Cover the case that GetLongPathName
doesn't return valid information for non-existant files.  Just return
	incoming filename in that case.
2006-07-27 21:07:33 +00:00
Corinna Vinschen e60e8d3b0e * Makefile.in: Build setmetamode.exe.
* setmetamode.c: New file.
2006-07-03 16:00:58 +00:00
Christopher Faylor 99fc5e10f3 update to newer autoconf 2006-05-24 16:59:03 +00:00
Christopher Faylor 6265ac10be * strace.cc (proc_child): Propagate return code from child process.
(dostrace): Ditto.
(main): Ditto.
2006-05-24 16:50:50 +00:00
Corinna Vinschen 17c8ac3992 * regtool.cc (options): Add 'binary'.
(usage): Document 'load|unload|save' and '-b'.
	(find_key): Add 'options' parameter, add load/unload.
	(cmd_set): Add KT_BINARY case.
	(cmd_get): Add hex output in KT_BINARY case.
	(cmd_load): New function.
	(cmd_unload): New function.
	(set_privilege): New function.
	(cmd_save): New function.
	(commands): Add load, unload and save.
	(main): Add '-b'
	* utils.sgml (regtool): Document it.
2006-03-03 09:43:35 +00:00
Corinna Vinschen 4fc92aa730 * cygpath.cc (get_long_name): Load GetLongPathNameA instead of incorrect
GetLongPathName.
	(doit): Create mixed filename after converting to short or long pathname
	respectively.
2006-02-17 12:17:47 +00:00
Corinna Vinschen 32410d2175 * ps.cc (main): Set aflag if -p option is given. 2006-02-17 11:16:23 +00:00
Corinna Vinschen df4f13b723 * ps.cc (longopts): Add --process option.
(opts): Add -p option.
	(usage): Mention -p/--process option.
	(main): Handle -p option.
	* utils.sgml: Describe -p/--process option.
2006-02-16 11:17:19 +00:00
Corinna Vinschen 96a4362c92 * regtool.cc (usage): Clarify help for "-K". 2006-02-15 10:57:17 +00:00
Corinna Vinschen 9d1c0a6053 * cygcheck.cc (find_on_path): Update copyright text. 2006-02-08 14:19:40 +00:00
Corinna Vinschen e699adfce5 * cygcheck.cc (find_on_path): Create copy of rv on successful access
check, since rv can be reused in subsequent calls.
2006-02-08 14:13:28 +00:00
Christopher Faylor 3c09c0fb25 * cygcheck.cc (common_paths): Add "patch". 2006-01-19 21:16:38 +00:00
Christopher Faylor 101b3cb01a * cygcheck.cc (init_paths): Record first_nonsys_path.
(find_on_path): Start on first nonsys path when !search_sysdirs.
2006-01-19 20:17:11 +00:00
Christopher Faylor ecd4fba273 white space 2006-01-19 18:57:41 +00:00
Christopher Faylor 25ef7a93b6 Wasn't going to check this in but since it did get checked in, here's a ChangeLog. 2006-01-18 16:11:53 +00:00
Dave Korn 79f24ec37d * cygpath.cc (dowin): Remove stray debugging printf statement. 2006-01-18 12:34:59 +00:00
Corinna Vinschen 3d7e89f8a2 * Makefile.in: Replace etcdir with sysconfdir. 2006-01-17 12:33:46 +00:00
Corinna Vinschen 8581551218 * Makefile.in (cygcheck.exe): Do not link against libwininet.a.
* cygcheck.cc (pInternetCloseHandle): Define global function pointer.
	(display_internet_error): Use it.
	(package_grep): Attempt to load wininet.dll at runtime.  Call WinInet
	API through function pointers throughout.
2006-01-15 09:29:02 +00:00
Corinna Vinschen 053d5eed93 * cygcheck.cc (dump_sysinfo): Convert k32 to HMODULE. 2006-01-13 15:36:29 +00:00
Corinna Vinschen 67066cabad * cygcheck.cc (dump_sysinfo): Convert osname to const and remove casts
in subsequent assignments.  Recognize Longhorn/Vista and report as not
	yet supported.  Recognize when running under WOW64 and report native
	CPU type.  Slightly rearrange \n printing.
2006-01-13 13:39:05 +00:00
Christopher Faylor 951bd8e9f1 * cygcheck.cc: Replace ` with ' throughout. 2006-01-12 17:43:53 +00:00
Christopher Faylor 2ea1dced21 * cygcheck.cc (dump_sysinfo): Report the failing drive to prevent having to
guess.
2006-01-05 18:31:26 +00:00
Christopher Faylor 5d97040501 *** cygwin DLL Changes:
* child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
(child_info::dwProcessId): Delete.
(child_info::straced): New variable.
(child_info::handle_fork): New member function.
* dcrt0.cc (in_forkee): New global variable.
(__cygwin_user_data::forkee): Mark as obsolete.
(do_global_ctors): Use in_forkee rather than user_data->forkee.
(get_cygwin_startup_info): Ditto.  Deal with new straced field to allow strace
to deal with children of attached processes.
(initial_env): Accommodate changes to strace::hello.
(child_info_fork::handle_fork): Rename from plain old 'handle_fork'.  Move
alloc_stack() call elsewhere.
(dll_crt0_0): Fill out more of user_data.  Reference handle_fork via fork_info.
Add some debugging output.
(_dll_crt0): Don't wait for sync thread if sync_startup is invalid.  Zero
sync_startup here.  Call alloc_stack() here, if appropriate.
(dll_crt0_1): Use in_forkee rather than user_data->forkee.
(dll_crt0): Ditto.
* malloc_wrapper.cc (malloc_init): Ditto.
* dll_init.cc (in_forkee): Remove local static version of this variable.
(dll_list::load_after_fork): Don't set in_forkee here.
* external.cc (cygwin_internal): Use strace method rather than accessing field
directly.
* fhandler.cc (fhandler_base::read): Ditto.
* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Ditto.
* fork.cc (frok::parent): Invoke strace write_childpid to communicate with
potential strace.
(child_copy): Add more detail to debugging output.
* init.cc (calibration_id): New static variable.
(prime_threads): Set sync_startup to invalid handle if we already know about
thread_func_ix.  Use static calibration_id to hold calibration thread id.
* munge_threadfunc (munge_threadfunc): Don't try to debug if we don't find
threadfunc_ix.
(dll_entry): Avoid calling munge_threadfunc and _cygtls::remove on non-cygwin
threads invoked during process startup.
* pinfo.cc (set_myself): Always call strace.hello here regardless of DEBUGGING.
* sigproc.cc (child_info::child_info): Remove spurious handling of dwProcessId.
Set straced as appropriate.
* spawn.cc (spawn_guts): Rename ciresrv to ch.  Invoke strace write_childpid to
communicate with potential strace.
* strace.cc: Include child_info.h.
(strace::hello): Remove inited test.  Use active() method to test if strace has
been activated.  Handle case where we are started before
(mypid): New function.
(strace::vsprntf): Try to deal more intelligently with case where progname may
not be filled out.  Put pid in parentheses if it is a windows pid rather than a
cygwin pid.  myself has been filled out.
(strace::write_childpid): New function for notifying strace about the creation
of children.
(strace::vprntf): Use strace method rather than accessing field directly.
(strace_printf): Ditto.
(strace::wm): Ditto.
* winsup.h (in_forkee): Declare.
* include/sys/strace.h (strace::write_childpid): Declare new function.
(strace::attached): Define new function.
(strace::active): Ditto.
(strace::active_val): Ditto.
(_STRACE_ON): Delete.
(_STRACE_OFF): Ditto.
(define_strace0): Use strace method rather than accessing field directly.
(strace_printf_wrap): Ditto.
(strace_printf_wrap1): Ditto.

*** cygwin utils changes:
* strace.cc (nprocesses): Make static global.
(quiet): New variable.
(strace_active): Ditto.
(add_child): Increment nprocesses here.  Don't add a child if it is already
added (windows bug?).  Report on child if not quiet.
(get_child): Just return NULL if child not found.
(remove_child): Report on child if not quiet.
(attach_process): Don't complain if given a windows process.  Use windows pid
in error.
(handle_output_debug_string): Issue error if trying to manipulate a process
that we don't know about.  Handle _STRACE_CHILD_PID - attach to reported child
when we get this.
(proc_child): Move nprocesses to file scope.  Report on exceptions.
(longopts): Implement "--quiet".
(opts): Implement "-q".
(main): Manipulate quiet flag.
* utils.sgml (strace): Add words describing '-q'.
2005-12-29 20:46:34 +00:00
Christopher Faylor 10e4168d84 * cygcheck.cc (common_apps): Add crontab, vi, vim. 2005-12-29 19:23:46 +00:00
Corinna Vinschen 14df41c155 * dump_setup.cc (package_find): Fix is_alias computation for "/usr/lib". 2005-12-19 16:58:33 +00:00
Christopher Faylor bc0d578d39 * cygcheck.cc (common_apps): Add a few more binaries to look for. 2005-12-15 03:36:14 +00:00
Christopher Faylor 801d6cc753 * strace.cc (show_usecs): Renamed from 'usecs'.
(main): Use show_usecs rather than usecs.  Toggle delta if '-u' is specified.
(handle_output_debug_string): Avoid printing microsecond timestamp if
show_usecs == 0.
* utils.sgml (strace): Add words to describe '-u'.
2005-12-05 16:39:06 +00:00
Christopher Faylor a39cfda7ba * Makefile.in: Link cygcheck with libwininet.a.
* cygcheck.cc: Add includes.
(grep_packages): New global variable.
(display_internet_error): New function.
(safe_chars): New global variable.
(base_url): Ditto.
(package_grep): New function.
(usage): Reword --help output for clarity.  Document new argument.
(longopts): Add 'package-query' option.
(opts): Add 'p' option, reorder to be consistent with 'longopts'.
(main): Accommodate new option.
* utils.sgml (cygcheck): Update --help output.  Document new -p option.
2005-11-22 17:19:17 +00:00
Corinna Vinschen f3a61fc4aa Fix typo. 2005-09-21 22:27:38 +00:00
Corinna Vinschen d829da1423 Align error message handling to mkpasswd's error messages throughout.
* mkgroup.c (print_win_error): Create macro calling ...
	(_print_win_error): ... this function created from former
	print_win_error.  Move up in source.
	(PDOMAIN_CONTROLLER_INFOW): Define return type of DcGetDcNameW.
	(dsgetdcname): New function pointer for DcGetDcNameW.
	(load_netapi): Get DcGetDcNameW address.
	(main): If DcGetDcNameW is available, use it.
	* mkpasswd.c (PDOMAIN_CONTROLLER_INFOW): Define return type of
	DcGetDcNameW.
	(dsgetdcname): New function pointer for DcGetDcNameW.
	(load_netapi): Get DcGetDcNameW address.
	(main): If DcGetDcNameW is available, use it.  Rename local variable
	domain_name_specified to domain_specified as in mkgroup.c.
2005-09-21 22:26:08 +00:00
Corinna Vinschen b17b7644d5 * regtool.cc: Extend copyright-years.
(print_version): Ditto.
	(cmd_list): Don't depend on terminating '\0' being present on
	string-values.
	(cmd_get): Don't attempt to read more than present, but keep
	extra space for terminating '\0'. Really output REG_BINARY.
	Don't leak memory.
	(cmd_set): Include trailing '\0' in string's length.
2005-09-08 09:24:41 +00:00
Corinna Vinschen 4fa0a39865 * passwd.c (longopts): Add --logonserver option.
(opts): Add -d option.
	(GetPW): Add server parameter which is given to Net functions.
	(ChangePW): Ditto.
	(PrintPW): Ditto.
	(SetModals): Ditto.
	(usage): Add description for -d/--logonserver option.
	(main): Add option handling for -d/--logonserver.  Use LOGONSERVER
	environment variable content for server to contact, unless
	-d/--logonserver option is given.  If both is missing, use NULL.
2005-08-18 20:25:43 +00:00
Brian Dessent 9a99dcd39c * cygcheck.cc (dump_sysinfo_services): Properly null-terminate 'buf'.
Avoid extraneous cygrunsrv invocation if 'verbose' is true.
2005-08-17 00:52:43 +00:00
Corinna Vinschen bb002a4968 * mount.cc (longopts): Fix typo which disallows --options option. 2005-08-03 09:23:39 +00:00
Christopher Faylor 0eccec28cc * cygcheck.cc (find_on_path): Perform .exe magic on non-PATH search. 2005-07-19 21:00:34 +00:00
Christopher Faylor 27eb5dbc70 * cygcheck.cc (track_down, cygcheck): Return true on success.
(main): Reflect cygcheck failures in exit status.
2005-07-05 21:41:37 +00:00
Corinna Vinschen d1ce2c4a15 * parse_pe.c (exclusion::sort_and_check): Remove crude cast. 2005-06-14 12:42:57 +00:00
Corinna Vinschen 26797de314 * cygcheck.cc (dump_sysinfo): Recognize XP Media Center and Tablet PC
Editions. Change .NET to 2003 throughout.  Recognize 2003 Web Server
	and Datacenter Server. Report when running in terminal server session.
2005-05-30 15:49:31 +00:00
Christopher Faylor cba3b11fc5 * cygcheck.cc (load_cygwin): Make half-hearted attempt to work with older DLLs.
* strace.cc (load_cygwin): Ditto.
2005-05-27 15:45:53 +00:00
Corinna Vinschen 827cff7fe2 * cygcheck.cc (dump_sysinfo_services): Add new function that uses
new cygrunsrv options to dump service info.
	(dump_sysinfo): Call dump_sysinfo_services if running under NT.
	Change 'Cygnus' to 'Cygwin' in output.
2005-05-23 09:54:44 +00:00
Christopher Faylor f609f58d32 * cygcheck.cc (load_cygwin): Remove debugging statement. 2005-05-20 16:50:39 +00:00