Commit Graph

2186 Commits

Author SHA1 Message Date
Christopher Faylor 97478fe6b4 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Check specifically
for non-existent file, first.
(fhandler_disk_file::fstat): Perform fd open on files with funny characters.
2002-06-02 16:53:29 +00:00
Christopher Faylor 47413f8473 * fhandler_process.cc (fhandler_process::open): Set fileid. 2002-06-02 16:42:02 +00:00
Christopher Faylor afc15fdf49 * how-programming.texinfo: Add more words to the "how to build". 2002-06-02 06:18:53 +00:00
Christopher Faylor 6b7cd251c7 Remove unneeded sigproc.h includes throughout.
* fhandler.h (fhandler_proc::fill_filebuf): Take a pinfo argument.
* fhandler_proc.cc (fhandler_proc::get_proc_fhandler): Simplify search for
given pid.
(fhandler_proc::readdir): Assume that pid exists if it shows up in the winpid
list.
* fhandler_process.cc (fhandler_process::open): Simplify search for given pid.
Call fill_filebuf with pinfo argument.
(fhandler_process::fill_filebuf): Pass pinfo here and assume that it exists.
* pinfo.h (pinfo::remember): Define differently if sigproc.h is not included.
* dll_init.cc (dll_list::detach): Don't run destructor on exit.
2002-06-02 06:07:01 +00:00
Christopher Faylor a673eba664 * configure.in: Complain about lack of w32api directory.
* configure: Regenerate.
2002-06-02 05:54:33 +00:00
Christopher Faylor e065a187ab * fhandler.cc (fhandler_base::fstat): Move dev and ino calculation into caller.
* syscalls.cc (stat_worker): Calculate dev and ino calculation here, if zero.
* fhandler_proc.cc (fhandler_proc::fhandler_proc): Minor reorg for debugging.
* fhandler_process.cc (fhandler_process::exists): Return 0 on nonexistence.
(fhandler_process::fstat): Simplify pid logic.
* fhandler_tape.cc (fhandler_dev_tape::fstat): Minor reformatting.
2002-06-02 03:13:22 +00:00
Danny Smith 2843ca56e7 * include/windef.h: Fix typo in last change. 2002-06-01 21:09:29 +00:00
Danny Smith 748bc82966 * include/windef.h: Add no-op __try, __except, __finally
defines from ...
	* include/excpt.h: Remove file.
	* include/windows.h: Don't include excpt.h.
2002-06-01 20:38:33 +00:00
Christopher Faylor 60abf1c4b8 * path.cc (chdir): Don't allow cd'ing to a non-directory virtual path. 2002-06-01 18:20:51 +00:00
Christopher Faylor 28af03faed * fhandler_disk_file.cc (readdir): Move inode calculation into caller.
(fhandler_cygdrive::readdir): Add "." and "..".
* dir.cc (readdir): Move inode calculation here so that fhandler readdirs can
benefit.
2002-06-01 02:45:38 +00:00
Christopher Faylor 548e208b82 remove accidentally checked in test version. 2002-06-01 02:31:53 +00:00
Christopher Faylor dd892d50a2 oops 2002-05-31 23:00:18 +00:00
Christopher Faylor 30478f15d4 (add the rest of the ChangeLog)
* dtable.cc (dtable::init_std_file_from_handle): Default to using binmode
derived from path_conv, when required.
* fhandler.h (fhandler_base::get_w_binary): Default to binmode if nothing else
is specified.
* fhandler.h (fhandler_base::get_r_binary): Ditto.
* fhandler_disk_file.cc (fhandler_disk_file::fstat_by_handle): Work around g++
warning.
* path.cc (path_conv::check): Remove a debugging statement.
2002-05-31 22:59:57 +00:00
Christopher Faylor 8e74c3207f * fhandler_console.cc (fhandler_console::open): Reinstate setting of flags. 2002-05-31 22:53:25 +00:00
Christopher Faylor de86e35bc4 * fhandler_console.cc (fhandler_console::open): Always default to binmode.
(fhandler_console::write_normal): Don't honor binmode setting.  There is
already a termios setting for this.
(fhandler_console::init): Correct argument order in init call.
2002-05-31 22:35:57 +00:00
Christopher Faylor 8461f41ec0 * fhandler.cc (fhandler_base::open): Make default open mode == binmode.
(fhandler_base::init): Set open flags based on derived binmode argument.
2002-05-31 20:48:14 +00:00
Christopher Faylor bcd0ed9f6a * dll_init.cc (dll_list::init): Eliminate unneeded debugging statement. 2002-05-31 20:34:40 +00:00
Christopher Faylor 18c04cc4b2 * fhandler_proc.cc (fhandler_proc::readdir): Set errno when no more files.
* fhandler_process.cc (fhandler_process::readdir): Ditto.
* fhandler_registry.cc (fhandler_registry::readdir): Ditto.
2002-05-31 20:30:36 +00:00
Christopher Faylor 69be001cea * path.cc (path_conv::check): Set fileattr to INVALID_FILE_ATTRIBUTES for
nonexistent virtual device path.
(chdir): Set correct errno when attempt is made to cd to nonexistent virtual
device path.
2002-05-31 03:11:21 +00:00
Christopher Faylor 5d8c7a56c2 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Always call fstat_by_name
if fd is not opened to allow fstat_by_name to properly set errno.
* fhandler.cc (binmode): Default to binmode when mode is not known.
2002-05-31 00:15:22 +00:00
Christopher Faylor dfe569334a * mkpasswd.cc (main): Don't reset to binmode if stdout is a terminal. 2002-05-30 19:35:51 +00:00
Corinna Vinschen 5fe3a988af * include/ntdef.h (ANSI_STRING, PANSI_STRING, OEM_STRING, POEM_STRING):
Add missing typedefs.
2002-05-30 08:20:52 +00:00
Corinna Vinschen d74eced5d5 * autoload.cc: Replace autoload statments for ZwXXX by NtXXX.
Drop ZwQuerySystemInformation since NtQuerySystemInformation was
	already available.
	* fhandler_proc.cc (format_proc_uptime): Replace call to
	ZwQuerySystemInformation by call to NtQuerySystemInformation.
	(format_proc_stat): Ditto.
	* fhandler_process.cc (format_process_stat): Replace call to
	ZwQueryInformationProcess by call to NtQueryInformationProcess.
	(get_process_state): Ditto.
	(get_mem_values): Ditto.  Replace call to ZwQueryVirtualMemory by
	call to NtQueryVirtualMemory.
	* ntdll.h: Cleanup.  Drop ZwQuerySystemInformation since
	NtQuerySystemInformation was already available.  Replace declarations
	of ZwXXX functions by declarations of NtXXX.
	* pinfo.cc (winpids::enumNT): Replace call to ZwQuerySystemInformation
	by call to NtQuerySystemInformation.
2002-05-30 07:45:30 +00:00
Christopher Faylor b050246c00 * mount.cc (main): Make -b the default. 2002-05-30 03:42:19 +00:00
Christopher Faylor d4000bc4c6 speling fxi 2002-05-30 03:14:04 +00:00
Christopher Faylor 186637a508 * include/sys/cygwin.h (EXTERNAL_PINFO_VERSION): Reinstate.
* external.cc (fillout_pinfo): Use it.
2002-05-29 21:00:55 +00:00
Corinna Vinschen 50674f2dc3 * 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 20:10:27 +00:00
Corinna Vinschen 3a571063b3 * external.cc (fillout_pinfo): Use new version define.
* include/sys/cygwin.h (external_pinfo): Define
	EXTERNAL_PINFO_VERSION_16_BIT and EXTERNAL_PINFO_VERSION_32_BIT
	instead of just EXTERNAL_PINFO_VERSION.
2002-05-29 20:07:54 +00:00
Christopher Faylor 9fef0139c2 * external.cc (fillout_pinfo): Set new version field in external_pinfo
structure.
* include/sys/cygwin.h (external_pinfo): Replace strace_file with version
field.
2002-05-29 17:12:07 +00:00
Corinna Vinschen 642745443f * ps.cc (main): Change print format for uid to unsigned. Use uid32
member of struct external_pinfo instead of uid.
2002-05-29 15:07:14 +00:00
Corinna Vinschen a8d7ae61e7 Change internal uid datatype from __uid16_t to __uid32_t
throughout.
	* cygwin.din: Export new symbols getpwuid32, getpwuid_r32, getuid32,
	geteuid32, setuid32, seteuid32.
	* passwd.cc (getpwuid32): New function.
	(getpwuid_r32): Ditto.
	* syscalls.cc (seteuid32): Ditto.
	(setuid32): Ditto.
	* uinfo.cc (getuid32): Ditto.
	(geteuid32): Ditto.
	* winsup.h (uid16touid32): New macro, correclt casting from __uid16_t
	to __uid32_t.
	(gid16togid32): Ditto fir gids.
	(getuid32): Declare.
	(geteuid32): Ditto.
	(getpwuid32): Ditto.
	* include/sys/cygwin.h (struct external_pinfo): Add members uid32 and
	gid32.
2002-05-29 15:04:29 +00:00
Corinna Vinschen 9854c44c43 * include/cygwin/socket.h: Protect some symbols against multiple
definition.
	* include/netinet/ip.h: Ditto.
	* include/netinet/tcp.h: Ditto.

	* include/netinet/ip.h: Replace by BSD derived version of the file.
	* include/netinet/tcp.h: Ditto.
	* include/netinet/udp.h: New file.
	* include/cygwin/ip.h: Remove.
2002-05-29 07:38:54 +00:00
Corinna Vinschen f59faec485 * passwd.c (prog_name): New global variable.
(longopts): Ditto.
	(opts): Ditto.
	(usage): Standardize output. Accomodate new options.
	(print_version): New function.
	(main): Accomodate longopts and new --help, --version options.
2002-05-29 07:13:09 +00:00
Christopher Faylor cef6955910 * dtable.cc (dtable::init_std_file_from_handle): Attempt stronger detection of
invalid handle.
(handle_to_fn): Detect pathological condition where NT resets the buffer
pointer to NULL on an invalid handle.
2002-05-29 05:15:43 +00:00
Christopher Faylor 654783b62f clarify changelog 2002-05-29 03:42:12 +00:00
Christopher Faylor a761ad8200 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Properly check for
whether we should be opening the file to search for #! characters.  Set
path_conv structure execability, too, if found.
2002-05-29 03:06:37 +00:00
Corinna Vinschen 6c5e0401d4 * ps.cc (usage): Fix typo. 2002-05-28 14:59:36 +00:00
Corinna Vinschen 7ea70e9970 * security.cc (set_security_attribute): Call getegid32() instead of
getegid().
	* include/cygwin/grp.h: Declare getegid32().
2002-05-28 14:58:13 +00:00
Corinna Vinschen 5719640581 Change internal gid datatype from __gid16_t to __gid32_t
throughout.
	* cygwin.din: Export new symbols chown32, fchown32, getegid32,
	getgid32, getgrgid32, getgrnam32, getgroups32, initgroups32, lchown32,
	setgid32, setegid32, getgrent32.
	* grp.cc (grp32togrp16): New static function.
	(getgrgid32): New function.
	(getgrnam32): Ditto.
	(getgrent32): Ditto.
	(getgroups32): Change name of internal function from getgroups.
	(getgroups32): New function.
	(initgroups32): Ditto.
	* syscalls.cc (chown32): Ditto.
	(lchown32): Ditto.
	(fchown32): Ditto.
	(setegid32): Ditto.
	(setgid32): Ditto.
	* uinfo.cc (getgid32): Ditto.
	(getegid32): Ditto.
	* include/cygwin/grp.h: Remove declaration of getgrgid() and getgrnam().
	Declare getgrgid32() and getgrnam32() instead.  Declare getgid32().
2002-05-28 14:10:55 +00:00
Earnie Boyd d4cf003fa0 * include/w32api.h: Increment version to 1.5
* Makefile.in: Ditto.
2002-05-28 13:24:26 +00:00
Earnie Boyd 0c6190694d Merging MinGW changes 2002-05-28 13:20:28 +00:00
Earnie Boyd 4ad1e6fedb Merging MinGW changes 2002-05-28 13:13:45 +00:00
Christopher Faylor ad39fa8cb0 * ps.cc (prog_name): New global variable.
(longopts): Ditto.
(opts): Ditto.
(usage): New function.
(print_version): New function.
(main): Accomodate longopts and new --help, --version options.
2002-05-28 03:38:36 +00:00
Christopher Faylor 0c12979b72 * autoload.cc (noload): Properly mask low order word for determining number of
bytes to pop.
2002-05-28 02:09:15 +00:00
Christopher Faylor 57e2ae682c * fhandler_disk_file.cc (fhandler_disk_file::fstat): Minor logic cleanup. 2002-05-28 02:00:55 +00:00
Christopher Faylor 2402700d07 * autoload.cc (LoadFuncEx): Define via new LoadFuncEx2 macro.
(LoadFuncEx2): Adapted from LoadFuncEx.  Provides control of return value for
nonexistent function.
(NtQueryObject): Declare.
(IsDebuggerPresent): Declare via LoadFuncEx2 and always return true if not
available.
* debug.h (being_debugged): Just rely on IsDebuggerPresent return value.
* dtable.cc (handle_to_fn): New function.
(dtable::init_std_file_from_handle): Attempt to derive std handle's name via
handle_to_fn.
(dtable::build_fhandler_from_name): Fill in what we can in path_conv structure
when given a handle and path doesn't exist.
* fhandler.cc (fhandler_base::open): Don't set the file pointer here.  Use
pc->exists () to determine if file exists rather than calling GetFileAttributes
again.
* fhandler.h (fhandler_base::exec_state_isknown): New method.
(fhandler_base::fstat_helper): Add extra arguments to declaration.
(fhandler_base::fstat_by_handle): Declare new method.
(fhandler_base::fstat_by_name): Declare new method.
* fhandler_disk_file (num_entries): Make __stdcall.
(fhandler_base::fstat_by_handle): Define new method.
(fhandler_base::fstat_by_name): Define new method.
(fhandler_base:fstat): Call fstat_by_{handle,name} as appropriate.
(fhandler_disk_file::fstat_helper): Accept extra arguments for filling out stat
structure.  Move handle or name specific stuff to new methods above.
(fhandler_disk_file::open): Use real_path->exists rather than calling
GetFileAttributes again.
* ntdll.h (FILE_NAME_INFORMATION): Define new structure.
(OBJECT_INFORMATION_CLASS): Partially define new enum.
(OBJECT_NAME_INFORMATION): Define new structure.
(NtQueryInformationFile): New declaration.
(NtQueryObject): New declaration.
* path.cc (path_conv::fillin): Define new method.
* path.h (path_conv::fillin): Declare new method.
(path_conv::drive_thpe): Rename from 'get_drive_type'.
(path_conv::volser): Declare new method.
(path_conv::volname): Declare new method.
(path_conv::root_dir): Declare new method.
* syscalls.cc (fstat64): Send real path_conv to fstat as second argument.
2002-05-28 01:55:40 +00:00
Corinna Vinschen 74b2f73ea4 * security.cc (lsa2str): New function.
(get_priv_list): Call lsa2str instead of sys_wcstombs.
2002-05-27 11:58:49 +00:00
Corinna Vinschen 75bf293153 * syscalls.cc (seteuid): Do not take allow_ntsec into account.
Attempt to use an existing or new token even when the uid
	matches orig_uid, but the gid is not in the process token.
	Major reorganization after several incremental changes.
	(setegid): Do not take allow_ntsec into account. Minor
	reorganization after several incremental changes.
2002-05-27 11:48:15 +00:00
Danny Smith 31be924314 2002-05-27 Ren� M�ller Fonseca <fonseca@users.sourceforge.net>
* include/winreg.h: (RegConnectRegistry[AW]): Replace
	LP[W]STR with LPC[W]STR.
	(REG_QWORD, REG_QWORD_LITTLE_ENDIAN): Add defines.
	Clean up whitespace.
2002-05-27 09:44:17 +00:00
Danny Smith a440dc9527 2002-05-27 Rick Rankin <rick_rankin@yahoo.com>
* include/winnls.h: Add #define for LOCALE_RETURN_NUMBER.
2002-05-27 08:49:26 +00:00
Christopher Faylor 918a268c80 * debug.h (being_debugged): New macro.
* dtable.cc (dtable::extend): Use new macro.
* exceptions.cc (try_to_debug): Ditto.
* strace.cc (strace::hello): Only output debugging info when we think we're
being debugged.
2002-05-27 02:25:28 +00:00
Christopher Faylor 0cfbfc249f * winsup.h: Remove duplicate declarations of malloc_lock and malloc_unlock. 2002-05-27 02:09:19 +00:00
Christopher Faylor 149965f73c update comment 2002-05-27 02:06:16 +00:00
Christopher Faylor d73f9745f1 * 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-27 01:49:08 +00:00
Christopher Faylor d7b4a30001 Remove unneeded sync.h, where appropriate, throughout. Remove unneeded heap.h,
where appropriate, throughout.  Remove unneeded exceptions.h, where
appropriate, throughout.  Remove unneeded perprocess.h, where appropriate,
throughout.
2002-05-25 02:22:50 +00:00
Christopher Faylor 8b3e5e2d6e Fix typos. 2002-05-24 21:11:43 +00:00
Corinna Vinschen 908f9b653b * security.cc (create_token): Call __sec_user() instead of
sec_user() to remove dependence on allow_ntsec. Verify that
	the returned sd is non-null.
2002-05-24 14:44:05 +00:00
Corinna Vinschen f1b53fa94c * setfacl.c (usage): Standardize usage output. Change return type to
static void.
        (print_version): New function.
        (longopts): Added longopts for all options.
        (main): Accommodate changes in usage function and new version option.
2002-05-24 14:40:14 +00:00
Robert Collins a6247be998 2002-05-25 Robert Collins <rbtcollins@hotmail.com>
* gmon.c (fake_sbrk): Correctly return -1 on failed malloc's.
2002-05-24 14:24:33 +00:00
Christopher Faylor ff93854697 * dtable.cc (dtable::build_fhandler_from_name): Just pass posix path along to
set_name via return_and_clear_normalized_path.
(dtable::build_fhandler): New method with const char * argument.
(dtable::reset_unix_path_name): Eliminate.
(dtable::dup_worker): Use correct build_fhandler method.
* mmap.cc (mmap_record::alloc_fh): Ditto.
* dtable.h (dtable::build_fhandler): New method.
(dtable::reset_unix_path_name): Eliminate.
* fhandler.cc (fhandler_base::set_name): Assume that unix_name has already been
cmalloced.
(fhandler_base::reset_unix_path_name): Eliminate.
(fhandler_base::~fhandler_base): Coercion for cfree.
* fhandler.h (fhandler_base::unix_path_name): Make const char *.
(fhandler_base::win32_path_name): Ditto.
(fhandler_base::reset_unix_path_name): Eliminate.
* fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Accommodate const char
*ness of win32_path_name.
* fhandler_socket.cc (fhandler_socket::fstat): Accommodate new set_name
requirements.
* path.cc (path_conv::return_and_clear_normalized_path): New method.
(path_conv::clear_normalized_path): Eliminate.
(path_conv::~path_conv): Ditto.
(path_conv::check): Accommodate new build_fhandler method.
* path.h (path_conv::~path_conv): Eliminate.
(path_conv::clear_normalized_path): Ditto.
(path_conv::return_and_clear_normalized_path): Declare new method.
2002-05-24 05:44:10 +00:00
Christopher Faylor b4bb31ad55 * path.cc (path_conv::check): Make sure any trailing path component is part of
potential normalized posix path.
2002-05-23 20:01:46 +00:00
Corinna Vinschen 82d178a405 * 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-23 10:56:57 +00:00
Christopher Faylor b2f338e9a9 * smallprint.c (__small_vsprintf): Implement '%o' after all these years. 2002-05-23 06:00:49 +00:00
Christopher Faylor ff7b1ed927 fix typo. 2002-05-23 04:48:03 +00:00
Christopher Faylor 8704ad9da9 * mount.cc (version) New global variable.
(usage) Standardize usage output.  Accomodate new version option.
(print_version) New function.
(longopts) Accomodate new version option.
(opts) Ditto.
(main) Ditto.
2002-05-23 04:19:07 +00:00
Christopher Faylor fc240f584b * fhandler.h (fhandler_virtual::exists): Eliminate path argument.
(fhandler_proc::exists): Ditto.
(fhandler_registry::exists): Ditto.
(fhandler_process::exists): Ditto.
* fhandler_proc.cc (fhandler_proc::exists): Ditto.  Use built-in name.
* fhandler_process.cc (fhandler_process::exists): Ditto.
(fstat): Ditto.
* fhandler_registry.cc (fhandler_registry::exists): Ditto.
(fhandler_registry::fstat): Ditto.
* fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
* path.cc (path_conv::check): Ditto.  Add debugging.
* syscalls.cc (dup): Always call dup2 for error handling.
2002-05-22 22:09:58 +00:00
Corinna Vinschen 1d2b71d6a3 * include/cygwin/types.h: Revert previous patch. 2002-05-22 12:47:54 +00:00
Corinna Vinschen 36f86a5537 * include/cygwin/types.h: Define pthread stuff only if _POSIX_THREADS
is defined.
2002-05-22 10:33:39 +00:00
Corinna Vinschen 5bb52de4e2 * cygpath.cc (usage): Change usage output slightly.
* 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-22 10:05:41 +00:00
Earnie Boyd 382df84bda * Makefile.in: Increment VERSION to 1.4.
(conf_prefix): New variable.
	(bindist): Modify target to use $(conf_prefix).
2002-05-21 16:50:13 +00:00
Corinna Vinschen 2d6ce5c228 * security.cc (open_local_policy): Initialize lsa to
INVALID_HANDLE_VALUE instead of NULL.
	(get_logon_server_and_user_domain): Test for INVALID_HANDLE_VALUE
	instead of NULL.
	(create_token): Both of the above.
2002-05-21 14:50:26 +00:00
Danny Smith 130e7349a5 2002-05-20 Philip Aston <philipa@mail.com>
* include/pbt.h (PBT_APMRESUMESUSPEND): Correct value is 7.
2002-05-20 00:57:18 +00:00
Danny Smith a110a2ad4d 2002-05-20 Ren� M�ller Fonseca <fonseca@users.sourceforge.net>
* include/lmaccess.h: (NetAccess*, NetGroup*,
	NetLocalGroup*, NetUser*, NetGet*, INetLogonControl[2],
	NetQueryDisplayInfotmationIndex): Replace LPWSTR with LPCWSTR.
2002-05-20 00:52:06 +00:00
Christopher Faylor 9ded8bd8b2 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Make handling of nlink
consistent for remote files.
2002-05-18 21:07:18 +00:00
Christopher Faylor cf737d6b32 * strace.cc (add_child): Use calloc since new requires working libstdc++.a.
(fhandler_disk_file::fstat): Ditto for delete/free.
2002-05-18 21:05:10 +00:00
Christopher Faylor 2701126aaf * path.cc (path_conv::check): Always set executable bit for executable
extension.
2002-05-18 20:27:49 +00:00
Christopher Faylor 197f807736 remove white space 2002-05-18 06:10:16 +00:00
Christopher Faylor b05b7d84d6 * fhandler.cc (fhandler_base::lseek): Avoid calling SetFilePointer with high
order part of 64 bit address on OS's which do not support that kind of
operation.  Otherwise Windows 95 will become confused.
2002-05-17 19:30:52 +00:00
Corinna Vinschen d6dc98256c * fhandler_raw.cc (fhandler_dev_raw::open): Replace set_errno()
by __seterrno_from_win_error().
	* security.cc (open_local_policy): Ditto.
	(get_lsa_srv_inf): Ditto.
	(get_user_groups): Ditto.
	(get_user_primary_group): Ditto.
	(create_token): Ditto.
	(subauth): Ditto.
2002-05-17 09:32:45 +00:00
Corinna Vinschen 35a89cbe95 * times.cc (utimes): Use FILE_WRITE_ATTRIBUTES even on 9x/Me when
opening file for writing timestamp.
	* wincap.cc: Remove flag has_specific_access_rights.
	* wincap.h: Ditto.
2002-05-17 08:32:29 +00:00
Corinna Vinschen ebbdc7034b * syscalls.cc (seteuid): Set default dacl in process token.
Replace in-line code by call to verify_token().
	(setegid): Reverse change from 2002-01-21. Add call to
	RevertToSelf and set primary group in impersonation token.
	* security.cc (create_token): Store pgrpsid in token security
	descriptor, except if it already appears in my_grps.
	Use sec_acl() in place of get_dacl().
	(verify_token): Create from code in seteuid(), with tighter checks.
	(get_dacl) Deleted.
	(get_group_sidlist): Add argument to indicate if pgrpsid is already
	in the groups.
	* security.h: Define verify_token().
	* autoload.cc: Load GetKernelObjectSecurity().
2002-05-16 09:30:48 +00:00
Corinna Vinschen e355de817c * cygpath.cc (get_short_paths): Fix more error checking.
(get_short_name): Ditto.

	* 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-15 11:36:00 +00:00
Corinna Vinschen 5588e28765 * cygpath.cc (get_short_name): Fix error checking. 2002-05-14 16:07:26 +00:00
Christopher Faylor ef48a2cad3 * kill.cc (prog_name) New global variable.
(usage) Standardize usage output.  Add descriptions.
(print_version) New function.
(longopts) Accomodate new version option.
(opts) Ditto.
(main) Ditto.
2002-05-13 23:42:32 +00:00
Christopher Faylor feb7f1a97d * cygwin.din: Add strlcat and strlcpy.
* include/cygwin/version.h: Increment API minor version number.
2002-05-13 19:53:46 +00:00
Corinna Vinschen 043bc3e1ee * shared.cc (__sec_user): Split into sec_acl() and call orig_sid().
(sec_acl): Create from part of __sec_user(), except creator/owner.
	* security.h: Define sec_acl() and MAX_DACL_LEN.
2002-05-13 12:10:49 +00:00
Christopher Faylor 6eabab557a * kill.cc (listsig): Display numeric id when given symbolic input. 2002-05-13 05:35:44 +00:00
Christopher Faylor 3ff9fd2b9b document kill -h. 2002-05-13 05:25:14 +00:00
Christopher Faylor 30feaa22dd * kill.cc (usage): Show new options. Allow specification of output stream.
(main): Implement 'h' option.
2002-05-13 05:23:37 +00:00
Christopher Faylor 65791b5de3 Update ChangeLog with missing entry. 2002-05-13 05:18:34 +00:00
Christopher Faylor c49fa76263 * 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.
2002-05-13 05:13:58 +00:00
Christopher Faylor d52265ffb2 remove a comma 2002-05-12 19:29:20 +00:00
Christopher Faylor c8b20196dd * fhandler_disk_file.cc (fhandler_disk_file::open): Avoid using O_DIROPEN when
OS doesn't support it.  Return proper errno in that case.
2002-05-12 19:20:01 +00:00
Christopher Faylor 56caca1d16 fix entry 2002-05-12 04:55:10 +00:00
Christopher Faylor b4f8d31f3b * syscalls.cc (_read): Change error to EBADF if attempt to write to a
non-writable fd.
2002-05-12 04:43:29 +00:00
Christopher Faylor 48897dfeb9 * 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-12 04:29:54 +00:00
Christopher Faylor 29ee580d07 * fhandler.h (executable_states): For now, make dont_care_if_executable
equivalent to not_executable.
* sys/mount.h: Define MOUNT_NOTEXEC.
* path.h (fs_info): New class.
(path_conv): Move fs-specific fields to new 'fs' structure.
(path_conv::update_fs_info): Move to fs_info and rename to just 'update'.
* path.cc (fs_info::update): Ditto.  Return 'true' if successful.
(fillout_mntent): Add ',noexec' to list of reported options.
2002-05-12 03:08:59 +00:00
Christopher Faylor b84621d2e3 * fhandler_virtual.cc (fhandler_virtual::close): Quiet a compiler warning. 2002-05-12 01:59:53 +00:00
Christopher Faylor 6566d27da4 fix formatting 2002-05-12 01:50:38 +00:00
Christopher Faylor 0371d66a64 fix comment 2002-05-12 01:41:17 +00:00
Christopher Faylor 9ba913a56d * autoload.cc: Add dynamic load statements for 'ZwQueryInformationProcess' and
'ZwQueryVirtualMemory'.
* fhandler.h: Change type of bufalloc and filesize members of fhandler_virtual
from int to size_t.  Change type of position member from __off32_t to
__off64_t.  Add new fileid member to fhandler_virtual class.  Make seekdir take
an __off64_t argument.  Make lseek take an __off64_t argument.  Add
fill_filebuf method to fhandler_virtual.  Add fill_filebuf method to
fhandler_proc.  Add fill_filebuf method to fhandler_registry.  Add fill_filebuf
method to fhandler_process.  Add saved_pid and saved_p members to
fhandler_process.
* fhandler_proc.cc (proc_listing_array): Add 'loadavg', 'meminfo', and 'stat'.
(proc_fhandlers array): Ditto.
(fhandler_proc::open): Use fill_filebuf to flesh out the file contents.
(fhandler_proc::fill_filebuf): New method.
(fhandler_proc::format_proc_meminfo): Ditto.
(fhandler_proc::format_proc_stat): Ditto.
(fhandler_proc::format_proc_uptime): Ditto.
* fhandler_process.cc (process_listing): Add 'stat' and 'statm'.
(fhandler_process::fstat): Find the _pinfo structure for the process named in
the filename.  Return ENOENT if the process is no longer around.  Set the gid
and uid fields of the stat structure.
(fhandler_process::open): Store pid and pointer to _pinfo structure in
saved_pid and saved_p respectively.  Use fill_filebuf to flesh out file
contents.
(fhandler_proc::fill_filebuf): New method.
(format_process_stat): New function.
(format_process_status): Ditto.
(format_process_statm): Ditto.
(get_process_state): Ditto.
(get_mem_values): Ditto.
* fhandler_registry.cc (fhandler_registry::seekdir): Change argument type from
__off32_t to __off64_t.
(fhandler_registry::fill_filebuf): New method.
* fhandler_virtual.cc (fhandler_virtual::seekdir): Change argument type from
__off32_t to __off64_t.
(fhandler_virtual::lseek): Ditto.
(fhandler_virtual::fill_filebuf): New method.
(fhandler_virtual::fhandler_virtual): Initialise fileid to -1.
* wincap.cc: Set flag has_process_io_counters appropriately.
* wincap.h: Add flag has_process_io_counters.
2002-05-12 01:37:48 +00:00
Christopher Faylor f561f644e9 * syscalls.cc (_write): Change error to EBADF if attempt to write to a
non-writable fd.
2002-05-09 22:55:08 +00:00
Corinna Vinschen 6327de5fef * cygheap.h (class cygheap_user): Add member `orig_psid'.
Add method `orig_sid()'.
	* cygheap.cc (cygheap_user::set_sid): Maintain orig_psid.
2002-05-08 14:21:08 +00:00
Christopher Faylor 84d06cb64d * 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-05-08 01:55:56 +00:00
Danny Smith 735bb7e7d7 * include/commctrl.h (ImageList_DragShowNolock): Remove
conflicting redeclaration.
2002-05-07 22:58:26 +00:00
Corinna Vinschen 795b46cf8f * localtime.cc (tzsetwall): Use wildabbr if generated timezone name
length < 3.
2002-05-07 13:18:44 +00:00
Danny Smith 3769952b4d * include/windows.h: Move _ANONYMOUS_UNION, _ANONYMOUS_STRUCT,
STRICT and related defines to ...
	* include/windef.h: Here.

	ChangeLog: Correct date and typo in last entry.
2002-05-06 23:37:52 +00:00
Corinna Vinschen a991777994 * spawn.cc (spawn_guts): Move call to set_process_privilege()
to load_registry_hive().
	* registry.cc (load_registry_hive): ditto.
	* fork.cc (fork_parent): Call sec_user_nih() only once.
2002-05-06 10:05:46 +00:00
Christopher Faylor 13ee3618d0 * path.h (path_conv::path_conv): Initialise normalized_path to NULL. 2002-05-04 18:27:27 +00:00
Christopher Faylor 58e74c7e7f . 2002-05-04 04:30:57 +00:00
Christopher Faylor 8761c1dcf7 * net.cc (getdomainname): Change second argument of getdomainname to size_t.
* fhandler_proc.cc (proc_listing): Add '.' and '..' to directory listing.
(fhandler_proc::open): Change use of mode to flags.  If the file does not exist
already, fail with EROFS if O_CREAT flag is set.  Change EROFS error to EACCES
error when writing to a file.  Use cmalloc to allocate memory for filebuf.
(fhandler_proc::close): Use cfree to free filebuf.
(fhandler_proc::get_proc_fhandler): Properly detect attempts to access unknown
subdir.
* fhandler_process.cc (process_listing): Add '.' and '..' to directory listing.
(fhandler_process::open): Use cmalloc to allocate memory for filebuf.
(fhandler_process::close): Use cfree to free filebuf.
* fhandler_registry.cc (registry_listing): Add .  and '..' to directory
listing.
(fhandler_registry::open): Move check for open for writing before open_key.
Use cmalloc to allocate memory for filebuf.
(fhandler_registry::close): Use cfree to free filebuf.
(fhandler_registry::telldir): Use lower 16 bits of __d_position as position in
directory.
(fhandler_registry::seekdir): Ditto.
* fhandler_virtual.cc (fhandler_virtual::write): Change EROFS error to EACCES
error.
(fhandler_virtual::open): Set the NOHANDLE flag.
(fhandler_virtual::dup): Add call to fhandler_base::dup.  Allocate child's
filebuf using cmalloc.  Copy filebuf from parent to child.
(fhandler_virtual::close): Use cfree to free filebuf.
(fhandler_virtual::~fhandler_virtual): Ditto.
(from Chris Faylor <cgf@redhat.com>).
(fhandler_registry::readdir): Add support for '.' and '..' files in
subdirectories of /proc/registry.
* path.cc (path_conv::check): Do not return ENOENT if a file is not found in
/proc.
2002-05-04 03:24:35 +00:00
Danny Smith c218361efa * include/winsock2.h (int32): Remove typedef.
(SEVICETYPE): Add typedef.
	(struct _flowspec):Revise struct definition,  Comment
	on types used for members.
2002-05-03 03:01:51 +00:00
Christopher Faylor 335c87f94d * fhandler_proc.cc (fhandler_proc::fstat): Use fhandler name rather than
path_conv name.
(fhandler_proc::open): Ditto.
* fhandler_process.cc (fhandler_process::fstat): Use fhandler name rather than
path_conv name.
(fhandler_process::open): Ditto.
* fhandler_registry.cc (fhandler_registry::fstat): Use fhandler name rather
than path_conv name.
(fhandler_registry::open): Ditto.
* path.cc (path_conv::check): Don't copy posix path when virtual.
(mount_info::conv_to_win32_path): Don't zero string when isproc.  Just derive
normal windows path.
* path.h (path_conv::clear_normalized_path): Declare new method.
* path.cc (path_conv::clear_normalized_path): Define new method.
* dtable.cc (build_fhandler_from_name): Clear normalized path when finished to
conserve space.
2002-05-03 02:43:45 +00:00
Christopher Faylor 3bb7eb449c * fhandler_proc.cc (fhandler_proc::fstat): Prime with information from
fhandler_base::fstat.  Use defines rather than constants for permission
settings.
2002-05-02 23:58:20 +00:00
Corinna Vinschen d055ecb08f * path.cc (hash_path_name): Improve hash function strength. 2002-05-02 16:46:12 +00:00
Robert Collins 6396bad848 missed a conflict indicator 2002-05-02 11:27:15 +00:00
Robert Collins 37143995da 2002-05-02 Robert Collins <rbtcollins@hotmail.com>
* thread.cc (__pthread_cond_dowait): Fix a race on signalling from a
        thread woken by the same condition variable it's signalling on. Thanks
        to Michael Beach for the report and test case.
2002-05-02 11:26:22 +00:00
Danny Smith 4c956a7c0f * include/winnt.h (EVENT_*, SEMAPHORE_*, MUTEX_*): Remove
more defines added in earlier 2002-05-02 change.
	* lib/Makefile.in (TEST_OPTIONS): Add -Wsystem-headers flag.
2002-05-02 08:41:03 +00:00
Danny Smith 08d528a57c * include/winnt.h (THREAD_PRIORITY_*): Remove defines.
Add TIMER_* to last ChangeLog entry.
2002-05-02 05:59:56 +00:00
Christopher Faylor c477dccfa8 add new files 2002-05-02 04:26:05 +00:00
Christopher Faylor 7a90892d0c add comment 2002-05-02 04:14:40 +00:00
Christopher Faylor 291be3076b * path.h (pathconv_arg): Add PC_POSIX.
(path_conv): Add normalized_path field.
* path.cc (path_conv::~path_conv): New destructor.
(path_conv::check): Set normalized_path, where appropriate.
* dtable.cc (build_fhandler_from_name): Use normalized path from path_conv.
* syscalls.cc (chroot): Ditto.
* cygheap.h: Remove path_prefix_p declaration.  Christopher Faylor
<cgf@redhat.com> (minor fixups)
* Makefile.in: Add fhandler_proc.o, fhandler_registry.o, fhandler_process.o and
fhandler_virtual.o.
* dtable.cc (dtable::build_fhandler): Add entries for FH_PROC, FH_REGISTRY and
FH_PROCESS.  Set unix_name to the normalized posix path.
* fhandler.h: Add constants for FH_PROC, FH_REGISTRY and FH_PROCESS.  Add class
declarations for fhandler_virtual, fhandler_proc, fhandler_registry and
fhandler_virtual.  Update fhandler_union accordingly.
* fhandler_proc.cc: New file.  Add implementation for fhandler_proc.
* fhandler_virtual.cc: New file.  Add implementation for fhandler_virtual.
* fhandler_process.cc: New file.  Add implementation for fhandler_process.
* fhandler_registry.cc: New file.  Add implementation for fhandler_registry.
* path.cc: Add isproc and isvirtual_dev macros.
* path.cc (path_conv::check): Add check for virtual devices.
* path.cc (mount_info::conv_to_win32_path): Convert paths in /proc to empty
Win32 paths.
* path.cc (chdir): Replace check for FH_CYGDRIVE with more generic
isvirtual_dev macro.  Force setting of posix path for virtual fhandlers.
* path.h: Add externally visible path_prefix_p and normalized_posix_path
prototypes.
2002-05-02 04:13:48 +00:00
Danny Smith e1377e380f * include/winnt.h (THREAD_*, EVENT_*, MUTANT_*,
SEMAPHORE_*, MUTEX_*): Add new defines.
2002-05-02 03:49:43 +00:00
Christopher Faylor fee93846d6 * include/cygwin/types.h: Include <sys/sysmacros.h>. 2002-05-01 20:26:33 +00:00
Danny Smith 2a71c1d299 * include/commctrl.h (SNDMSG): Define and use throughout
in other macros instead of SendMessage.
	* include/commdlg.h (SNDMSG): Ditto.
2002-05-01 01:10:51 +00:00
Corinna Vinschen eccebec08d * mkgroup.c (main): Change call to exit() to a return statement.
* mkpasswd.c (main): Ditto.

	* 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-04-29 10:21:54 +00:00
Christopher Faylor b807c4ad01 * configure.in: Remove cinstall target.
* Makefile.in: Ditto.
* configure: Regenerate.
2002-04-25 23:19:28 +00:00
Earnie Boyd 54492ef5c6 2002-04-22 Jos� Fonseca <jrfonseca@users.sf.net>
* include/GL/gl.h: New file.
	* include/GL/glext.h: Ditto.
	* include/GL/glu.h: Ditto.
2002-04-22 23:19:36 +00:00
Danny Smith cb699ad770 * include/mbstring.h: New file.
* include/mbctype.h: New file.

	Correct some email address dyslexia.
2002-04-20 13:50:04 +00:00
Danny Smith 97b6ae270d * include/tchar.h (_tputenv): Add UNICODE mappings.
(_tsearchenv): Likewise.
	(_tmakepath): Likewise.
	(_tsplitpath): Likewise.
	(_tfullpath): Likewise.
	(__TEXT): Make same as define in w32api/include/winnt.h.
2002-04-20 05:13:20 +00:00
Danny Smith 1cbcda2e6c * include/tchar.h (_tputenv): Add UNICODE mappings.
(_tsearchenv): Likewise.
	(_tmakepath): Likewise.
	(_tsplitpath): Likewise.
	(_tfullpath): Likewise.
	(__TEXT): Make same as define in w32api/include/winnt.h.
2002-04-20 05:05:50 +00:00
Christopher Faylor 27dcb52a29 revert patch 2002-04-19 14:42:20 +00:00
Robert Collins 4ce4e69db6 2002-04-16 Thomas Pfaff <tpfaff@gmx.net>
* dll_init.h (per_process::dtors_run): New member.
        * dll_init.cc (per_module::run_dtors): Run dtors only once.
        (dll::init): Initialize dtors_run flag.
2002-04-19 12:46:19 +00:00
Danny Smith e9f1cbd011 * dirent.c (opendir): Convert given pathname to
absolute pathname.
2002-04-18 10:32:27 +00:00
Corinna Vinschen 9b15f5fa95 * security.cc (get_lsa_srv_inf): Prevent extraneous backslashes for
the NT Domain case.
2002-04-18 09:11:54 +00:00
Christopher Faylor 32eec3ec1c remove obsolete comment. 2002-04-15 19:23:27 +00:00
Corinna Vinschen 4deace13e4 * net.cc (cygwin_accept): Set socket type for accepted socket.
(socketpair): Set socket type for both sockets.

	From Egor Duda <deo@logos-m.ru>:

	* fhandler.h (class fhandler_socket): New member to store socket type.
	(fhandler_socket::get_socket_type): Access it.
	(fhandler_socket::set_socket_type): Ditto.
	* net.cc (cygwin_socket): Store socket type.
	(cygwin_connect): Disable security checks for connectionless sockets.
	(cygwin_accept): Ditto.
2002-04-12 14:52:36 +00:00
Earnie Boyd 891057bce7 * include/w32api.h: Increment version.
* Makefile.in: Ditto.
2002-04-09 23:49:11 +00:00
Christopher Faylor dbe67a8103 * cygwin.din: Add strptime.
* include/cygwin/version.h: Increment API version number.
2002-04-09 23:47:26 +00:00
Earnie Boyd 4e4871b389 * include/_mingw.h: Increment version.
* Makefile.in: Ditto.
2002-04-09 23:47:01 +00:00
Earnie Boyd 605280b192 * Makefile.in: Use bzip2 compression for Cygwin target. 2002-04-09 22:22:17 +00:00
Earnie Boyd 63cc0b39c8 * Makefile.in (bindist): Use * instead of . for file list for tar
command.
2002-04-09 22:06:54 +00:00
Earnie Boyd 41c3dd2144 * moldname-crtdll.def: Remove CR from end of line.
* moldname-msvcrt.def: Ditto.
2002-04-09 21:03:59 +00:00
Corinna Vinschen 464b3e8039 * fork.cc (fork_child): Call fixup_mmaps_after_fork() somewhat earlier. 2002-04-09 16:33:13 +00:00
Corinna Vinschen d78bda7b75 * fhandler.cc (fhandler_base::open): Set read-only bit in
file_attributes when adequate.
2002-04-09 13:01:00 +00:00
Danny Smith 244a8fae42 * include/math.h (DOMAIN, SING, OVERFLOW, UNDERFLOW,
TLOSS, PLOSS): Move oldname defines back, following
	the underscored names.
2002-04-04 08:54:50 +00:00
Christopher Faylor 932e88a3bc new description for old api. 2002-04-04 05:28:49 +00:00
Danny Smith e432b38efe * include/objidl.h (IRunningObjectTable.Register): Correct
prototype.
	* include/wtypes.h (ROTFLAGS_REGISTRATIONKEEPSALIVE,
	ROTFLAGS_ALLOWANYCLIENT): Add defines.
	* include/wtypes.h (enum tagCLSCTX): Change formatting.
2002-04-02 09:00:14 +00:00
Danny Smith cb01b9eadb * include/shellapi.h (SHGFI_ATTR_SPECIFIED): Add define. 2002-03-31 20:45:38 +00:00
Danny Smith 06bdee1cf6 * include/stdio.h (_snwprintf): Correct spelling.
(_vsnwprintf): Likewise.
	* include/wchar.h (_snwprintf): Correct spelling.
	(_vsnwprintf): Likewise.
2002-03-30 01:38:27 +00:00