Commit Graph

7202 Commits

Author SHA1 Message Date
Corinna Vinschen fa421c7a75 * dir.cc (readdir_worker): Initialize dirent.d_type and __d_unused1.
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper):
	Set dirent.d_type based on FILE_ATTRIBUTE_*.
	* include/sys/dirent.h: Define _DIRENT_HAVE_D_TYPE (enables DT_*
	declarations).
	(struct dirent): Add d_type. Adjust __d_unused1 size to preserve layout.
2008-11-28 09:04:35 +00:00
Christopher Faylor 65ebf94e53 * exceptions.cc (sigpacket::process): Make sure that 'tls' is never NULL when
used.
2008-11-28 02:56:09 +00:00
Christopher Faylor 15c509b515 clarify entry 2008-11-26 17:21:20 +00:00
Christopher Faylor 025c1fac6e Remove unneeded whitespace.
* fhandler_fifo.cc (fhandler_fifo::open): Rework to cause errno to be set to
ENXIO when opening a fifo write/nonblocking.
* environ.cc (ucreqenv): Rename to ucenv.  Move code from old ucenv here and
conditionalize it on create_upcaseenv.
(ucenv): Delete.
(environ_init): Fix compiler warning by moving create_upcaseenv test to ucenv.
Don't bother checking for child_proc_info when calling ucenv since it is
assumed to be NULL at the point where the function is called.
* path.cc (symlink_worker): Turn off MS-DOS path warnings when dealing with
devices since the device handler passes in a translated MS-DOS path.
* sec_auth.cc (lsaprivkeyauth): Avoid variable initialization which causes a
compiler error.
* fhandler_netdrive.cc: Update copyright.
2008-11-26 17:21:04 +00:00
Christopher Faylor f43f75a09d * Revert erroneous checkin. 2008-11-26 16:42:27 +00:00
Christopher Faylor b73c50e86a update copyright 2008-11-26 16:42:00 +00:00
Christopher Faylor 81fa789153 * Makefile.in: Revert erroneous checkin.
* Makefile.common: Tweak to work better with new utils/mingw front-end.
2008-11-26 16:40:29 +00:00
Corinna Vinschen d865502063 * passwd.c (longopts): Add --reg-store-pwd option.
(opts): Add -R option.
	(usage): Add text for -R/--reg-store-pwd option.
	(main): Fix size of local user and password string arrays.
	Handle -R option.
	* utils.sgml: Add text for passwd -R/--reg-store-pwd option.
2008-11-26 10:19:09 +00:00
Corinna Vinschen d4db08d7a6 * Makefile.in (OBJS): Add setpwd.o.
* README: Explain new service to store passwords in the LSA registry
	area.
	* bsd_helper.cc (get_token_info): Make externally available.
	* bsd_helper.h (get_token_info): Declare.
	* client.cc (client_request::handle_request): Add case for
	CYGSERVER_REQUEST_SETPWD request.
	* setpwd.cc: New file implementing the CYGSERVER_REQUEST_SETPWD
	request.
2008-11-26 10:18:53 +00:00
Corinna Vinschen 51303cbd0c * Makefile.in (DLL_OFILES): Add setlsapwd.o.
* cygserver.h (CYGWIN_SERVER_VERSION_API): Bump.
	(request_code_t): Define CYGSERVER_REQUEST_SETPWD request type.
	* cygserver_msg.h (client_request_msg::retval): Use default value of -1
	for retval if msglen is 0.
	* cygserver_sem.h (client_request_sem::retval): Ditto.
	* cygserver_shm.h (client_request_shm::retval): Ditto.
	* cygserver_setpwd.h: New file.
	* external.cc (cygwin_internal): Implement new CW_SET_PRIV_KEY type.
	* sec_auth.cc (open_local_policy): Make externally available.
	Get ACCESS_MASK as argument.
	(create_token): Accommodate change to open_local_policy.
	(lsaauth): Ditto.
	(lsaprivkeyauth): New function fetching token by retrieving
	password stored in Cygwin or Interix LSA private data area and
	calling LogonUser with it.
	* security.h (lsaprivkeyauth): Declare.
	(open_local_policy): Declare.
	* setlsapwd.cc: New file implementing setting LSA private data password
	using LsaStorePrivateData or by calling cygserver if available.
	* syscalls.cc (seteuid32): Add workaround to get the original token
	when switching back to the original privileged user, even if
	setgroups group list is still active.  Add long comment to explain why.
	Call lsaprivkeyauth first, only if that fails call lsaauth or
	create_token.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_SET_PRIV_KEY.
2008-11-26 10:18:10 +00:00
Christopher Faylor b94518ea98 * overview2.sgml: Reorganize and make minor wording changes. 2008-11-25 16:39:58 +00:00
Christopher Faylor a5032b7899 * overview2.sgml: Clarify unix-specific automatic updates section. 2008-11-25 16:20:30 +00:00
Corinna Vinschen 06c4c61863 * overview2.sgml: Add text that no automatic updates are provided. 2008-11-25 09:54:50 +00:00
Corinna Vinschen 99abc9526e * fhandler_floppy.cc (fhandler_dev_floppy::raw_read): Drop
initialization of bytes_to_read.  Set bytes_to_read to len in
	non-buffered case.  Call read_bytes correctly with bytes_to_read
	instead of len.
2008-11-21 13:46:17 +00:00
Corinna Vinschen b007725e34 * mmap.cc (MapView): Add NT status to debug output. 2008-11-21 10:52:10 +00:00
Corinna Vinschen babd4a9c62 * autoload.cc (GetSystemDEPPolicy): Define.
(GetProcessDEPPolicy): Ditto.
	(SetProcessDEPPolicy): Ditto.
	* dcrt0.cc (disable_dep): New static function.
	(dll_crt0_0): Call disable_dep on platforms requiring it.  Add longish
	comment to explain the circumstances.
	* wincap.h (wincaps::ts_has_dep_problem): New element.
	* wincap.cc: Implement above element throughout.
	(wincapc::init): Set ts_has_dep_problem to true on 2008 Terminal
	Servers.
	* winsup.h (WINVER): Set to 0x0601.
2008-11-12 11:04:27 +00:00
Corinna Vinschen bef8896587 * include/winbase.h (PROCESS_DEP_ENABLE,
PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION): Define for >= Vista SP1.
	(enum _DEP_SYSTEM_POLICY_TYPE): Ditto.
	(GetProcessDEPPolicy, GetSystemDEPPolicy, SetProcessDEPPolicy): Ditto.
2008-11-11 14:44:54 +00:00
Corinna Vinschen 2348e4f3c6 * mount.cc (mount_info::cygdrive_win32_path): Always upper case
DOS drive letter to accommodate case sensitivity.
	(cygdrive_getmntent): Ditto.
	* path.cc (path_conv::check): Invalidate wide_path after making path
	relative.
2008-11-11 11:45:05 +00:00
Corinna Vinschen 9df1dbeac6 * cygwinenv.sgml: Add description for upcaseenv option. 2008-11-11 10:51:45 +00:00
Corinna Vinschen 188fb31537 * environ.cc (create_upcaseenv): New static variable.
(renv_arr): New static array to keep track of environment variables
	which have to be always uppercased.
	(idx_arr): Ditto.
	(start_at): Ditto.
	(ucreqenv): New function to uppercase only the environment variables
	from renv_arr.
	(parse_thing): Add "upcaseenv" setting.
	(environ_init): Parse $CYGWIN before doing anything else.  Call
	ucreqenv instead of ucenv if CYGWIN=noupcaseenv is set.
2008-11-11 10:51:03 +00:00
Christopher Faylor 6865f89087 * path.cc (normalize_win32_path): Don't add a trailing '\' if the cwd returns a
path with a trailing '\'.
2008-11-11 03:51:55 +00:00
Christopher Faylor dc74da050c * pthread.cc (pthread_mutex::_unlock): Avoid unlocking a mutex if the
recursion_counter is already 0.
(pthread_mutex::_destroy): Don't consider a mutex busy if its recursion_counter
== 0.
(pthread_mutex::_fixup_after_fork): Set recursion_counter to 0 to flag that
we've just forked.  Don't reset the owner of this mutex since the forkee may
think it still owns the mutex.  Reinstate initialization of win32_obj_id.
* fhandler_floppy.cc (fhandler_dev_floppy::raw_read): Initialize a variable to
bypass a C++ warning.
2008-11-07 18:32:41 +00:00
Corinna Vinschen c6b7418c89 * environ.cc (environ_init): Avoid evaluating $CYGWIN twice. 2008-11-05 11:57:44 +00:00
Christopher Faylor 029d147e94 * Makefile.in: Use -static-libgcc when creating cygserver.exe. 2008-10-30 13:17:42 +00:00
Christopher Faylor b2e5367846 * Makefile.in (ALL_LDFLAGS): Link libgcc statically for everything here. 2008-10-29 13:13:26 +00:00
Keith Marshall 2004f7603f Correct some binary distribution packaging defects. 2008-10-28 23:55:39 +00:00
Corinna Vinschen 8937c103ed * wincap.cc (all wincaps): Store in .cygwin_dll_common section same as
wincap.  Add comment to explain why.
2008-10-23 21:00:45 +00:00
Corinna Vinschen 3e97726f98 * autoload.cc (GetSystemWindowsDirectoryW): Define.
* kernel32.cc (GetWindowsDirectoryW): Implement to abstract from
	running under Terminal Services or not.
	(GetWindowsDirectoryA): Ditto.
2008-10-22 13:30:42 +00:00
Corinna Vinschen df54adb746 * passwd.cc (pwdgrp::read_passwd): Check if we're called within
user_shared initialization and ignore myself, if so.  Reformat
	conditional expression.
2008-10-21 16:47:28 +00:00
Corinna Vinschen 669bdeb822 * ntdll.h (NtSetAttributesFile): New inline function.
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Use
	NtSetAttributesFile.
	* path.cc (symlink_worker): Ditto.
	* syscalls.cc (unlink_nt): Ditto.
	(rename): Omit FILE_SHARE_DELETE when opening files on Samba.  Add
	comment to explain why.
2008-10-20 19:30:06 +00:00
Keith Marshall 87ab6bfb62 Fix MinGW-Bug [2136252]: Remove extraneous radix point in printf( "%.0f", v ) for v < 0.5 2008-10-18 14:33:48 +00:00
Corinna Vinschen edf5a5bd15 * dtable.cc (dtable::get_debugger_info): Call SetStdHandle
for the newly opened handle.  Explain why.
	(dtable::stdio_init): Don't duplicate standard error handle
	when stderr has already been created under debugger control.
2008-10-17 16:24:20 +00:00
Keith Marshall 206473437f Fix MinGW-Bug [2160227]: Eliminate conflicting declarations and implementations of scalb(). 2008-10-13 22:47:58 +00:00
Corinna Vinschen 5f9ca0d25a * sec_acl.cc (setacl): Align standard owner and group permissions
with alloc_sd.  Strip FILE_READ_ATTRIBUTES fromn setting
	FILE_GENERIC_EXECUTE permissions same as in alloc_sd.
	* security.cc (alloc_sd): Reformat expression.  Strip EA permission
	bits from owner_deny and group_deny computation.
2008-10-13 16:01:50 +00:00
Christopher Faylor 423fd4f2f4 fix typo 2008-10-13 00:57:47 +00:00
Christopher Faylor 6e9b938063 * mingw: Set sawcfile when -xc* is detected. Extend list of detected source
filew.
2008-10-13 00:56:09 +00:00
Christopher Faylor a7844a1841 * Makefile.in: Use a different method to invoke gcc in a cygwin-hosted
environment.
* mingwex/Makefile.in: Ditto.
* profile/Makefile.in: Ditto.
* configure.in: Record mingw front-end for building under Cygwin.
* mingwex/configure.in: Ditto.
* profile/configure.in: Ditto.
* configure: Regenerate.
* mingwex/configure: Ditto.
* profile/configure: Ditto.
2008-10-12 23:58:17 +00:00
Christopher Faylor 391f2a8eed * mingw: Add more checks to allow more varied use. 2008-10-12 23:54:03 +00:00
Christopher Faylor 4941ce49c5 * Makefile.in: Rearrange to avoid -mno-cygwin.
* configure.in: Use mingw front-end from utils directory as compiler front-end.
* configure: Regenerate.
* cyglsa.c (cyglsa_printf): Rename from 'printf' to avoid a compiler error.
(print_sid, print_groups, print_privs, print_dacl, print_tokinf,
LsaApLogonUserEx): Ditto.
2008-10-12 23:53:26 +00:00
Christopher Faylor 12c819e204 * mingw: Use a better method to find where mingw directory lives. 2008-10-12 03:20:37 +00:00
Christopher Faylor 9401a0f805 Dummy check-in to get right revision log:
* mingw: New front-end script to control building of MinGW files without using
the deprecated -mno-cygwin option.
* Makefile.in: Use mingw front-end.
2008-10-12 03:08:33 +00:00
Christopher Faylor fd49ac277f * Makefile.in: Tweak to work better with new utils/mingw front-end.
In utils:
2008-10-12 03:06:12 +00:00
Keith Marshall 374349395e Use de-facto standard Makefile goals to invoke test suite. 2008-10-11 21:59:04 +00:00
Keith Marshall 3c68dd9313 Make strtod() inline definition C89 compliant. 2008-10-11 21:47:56 +00:00
Chris Sutcliffe 90ba302a29 2008-10-09 Chris Sutcliffe <ir0nh34d@users.sf.net>
* include/mmsystem.h (sndAlias): Correct GCC4 warning.
2008-10-10 02:04:37 +00:00
Corinna Vinschen 079db16bf7 * fhandler_disk_file.cc (fhandler_base::fstat_helper): Check
for executable suffixes here in case we're on a file system
	not supporting permission.
	* path.cc (path_conv::check): Drop check for executable suffixes.
2008-10-09 14:23:09 +00:00
Corinna Vinschen 3059d18288 * fhandler_floppy.cc (fhandler_dev_floppy::raw_read): Keep track of
current position in non-buffered case, too.
2008-10-09 12:41:52 +00:00
Corinna Vinschen 2768ae50dd * grp.cc (pwdgrp::read_group): Generate more speaking group name
if passwd gid exists under different gid in /etc/group.
2008-10-09 11:52:54 +00:00
Corinna Vinschen c7a8139540 Fix ChangeLog entry 2008-10-09 10:01:49 +00:00
Corinna Vinschen c32849c5bc * path.cc (path_conv::is_binary): Always check for GetBinaryType.
* syscalls.cc (rename): Fix test for just changing case of name on
	case insensitive filesystems.
2008-10-09 09:43:02 +00:00