1398 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			1398 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
2014-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ldap.cc (cyg_ldap::fetch_ad_account): Take additional domain string
 | 
						|
	parameter.  Convert into likely rootDSE string if not NULL, and use in
 | 
						|
	subsequent call to ldap_search_stW.  Add comment to explain that this
 | 
						|
	is not the exactly correct solution.
 | 
						|
	* ldap.h (cyg_ldap::fetch_ad_account): Change prototype accordingly.
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Always use loc_ldap
 | 
						|
	in call to fetch_posix_offset to make sure we're fetchoinmg the posix
 | 
						|
	offsets from *our* domain controller.  Only set domain variable to
 | 
						|
	non-NULL if the account is from a trusted domain.  Use domain in call
 | 
						|
	to cyg_ldap::fetch_ad_account.
 | 
						|
 | 
						|
2014-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* gmon.h: Pull in profile.h.  Explain why.
 | 
						|
 | 
						|
2014-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Fix potential SEGV
 | 
						|
	referencing NULL pointer.
 | 
						|
 | 
						|
2014-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* libc/bsdlib.cc (forkpty): Close master and slave if fork fails to
 | 
						|
	avoid resource leak (CID 59997).
 | 
						|
	* libc/fts.c: Update to FreeBSD version 1.39 (CID 59947).
 | 
						|
	* libc/minires.c (minires_get_search): Fix out-of-bounds read from
 | 
						|
	words array (CID 59937).
 | 
						|
 | 
						|
2014-05-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* flock.cc (delete_lock_in_parent): Use LIST_FOREACH_SAFE to avoid
 | 
						|
	dereferencing freed pointer (CID 60224).
 | 
						|
 | 
						|
2014-05-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_procsysvipc.cc (format_procsysvipc_msg): Rearrange code to
 | 
						|
	avoid resource leakage (CID 60002).  Don't use tmp_pathbuf, explain why.
 | 
						|
	Fix indentation.
 | 
						|
	(format_procsysvipc_sem): Ditto.
 | 
						|
	(format_procsysvipc_shm): Ditto (CID 60003).
 | 
						|
 | 
						|
2014-05-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_process.cc (get_mem_values): Rearrange code slightly to
 | 
						|
	avoid resource leakage (CID 59973).
 | 
						|
	(format_process_stat): Drop temporary variable wcmd and avoid
 | 
						|
	string copy without length check (CID 60050).
 | 
						|
	(format_process_status): Ditto (CID 60051).
 | 
						|
 | 
						|
2014-05-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_proc.cc (format_proc_swaps): Use tmp_pathbuf for filename,
 | 
						|
	rather than allocating and forgetting to free (CID 59982).
 | 
						|
 | 
						|
2014-05-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_floppy.cc (fhandler_dev_floppy::get_drive_info): Fix floppy
 | 
						|
	drive handling broken with 1.7.19.
 | 
						|
 | 
						|
2014-05-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* scandir.cc (scandir): Assume namelist is always valid, per POSIX.
 | 
						|
	(CID 60021).
 | 
						|
	* sec_auth.cc (cygwin_logon_user): Securely erase password copy.
 | 
						|
	(lsaprivkeyauth): Avoid trying to dereference data if no key is stored
 | 
						|
	in the registry (CID 60122).  Securely erase passwords after usage.
 | 
						|
 | 
						|
2014-05-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* pseudo-reloc.cc (__report_error): Raise size of module name buffer to
 | 
						|
	PATH_MAX.  Fix length in call to GetModuleFileNameW (CID 59947).
 | 
						|
 | 
						|
2014-05-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (call_gaa): Fix setting pa_ret pointer in case of an error
 | 
						|
	from GetAdaptersAddresses (CID 60218).
 | 
						|
	(get_ifs): Add missing braces in AF_INET6 case which broke netmask
 | 
						|
	computation.  Break out of loop if prefix gets <= 0 (CID 59939).
 | 
						|
 | 
						|
2014-05-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 31.
 | 
						|
 | 
						|
2014-05-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dtable.cc (handle_to_fn): Fix length parameter in call to
 | 
						|
	QueryDosDeviceW (CID 59936).
 | 
						|
 | 
						|
2014-05-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* pinfo.cc (pinfo_basic::pinfo_basic): Fix size of progname array in
 | 
						|
	call to GetModuleFileNameW (CID 59935).
 | 
						|
 | 
						|
2014-05-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* smallprintf.cc (__small_vsprintf): Add missing break in 'C' case.
 | 
						|
 | 
						|
2014-05-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (try_to_debug): Fix size of dbg_cmd (CID 59929).
 | 
						|
 | 
						|
2014-05-18  David Stacey  <drstacey@tiscali.co.uk>
 | 
						|
 | 
						|
	* syscalls.cc (getusershell): Fix buffer overrun (Coverity ID 59932).
 | 
						|
 | 
						|
2014-05-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* external.cc (cygwin_internal): Use local name buffer instead of
 | 
						|
	allocated one in CW_CYGNAME_FROM_WINNAME.
 | 
						|
 | 
						|
2014-05-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump to 273.
 | 
						|
 | 
						|
2014-05-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* external.cc (cygwin_internal): Implement CW_CYGNAME_FROM_WINNAME.
 | 
						|
	Add lengthy comment to explain what we do and why.
 | 
						|
	* include/sys/cygwin.h (cygwin_getinfo_types): Add
 | 
						|
	CW_CYGNAME_FROM_WINNAME.
 | 
						|
 | 
						|
2014-05-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_auth.cc (get_server_groups): Call get_logon_server only for
 | 
						|
	non-builtin accounts.
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Check incoming
 | 
						|
	account name for validity in terms of the current name prefixing rules
 | 
						|
	and refuse invalid names.
 | 
						|
 | 
						|
2014-05-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::ioctl): Handle the different
 | 
						|
	ideas of u_long between Winsock and Cygwin applications on x86_64.
 | 
						|
	Add long comment.
 | 
						|
 | 
						|
2014-05-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* signal.cc (sigprocmask): Fix strace output to include "how".
 | 
						|
 | 
						|
	* fhandler_console.cc (dev_console::save_restore): Only save current
 | 
						|
	dwEnd line rather than the one after that.
 | 
						|
 | 
						|
2014-05-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_user::init): Fix formatting in debug output.
 | 
						|
	(struct cyg_USER_INFO_24): Define temporarily.  Explain why.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Handle sane primary group
 | 
						|
	setting for Microsoft Accounts.  Explain why.
 | 
						|
	* wincap.h (wincaps::has_microsoft_accounts): New element.
 | 
						|
	* wincap.cc: Implement above element throughout.
 | 
						|
 | 
						|
2014-05-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* grp.cc (gr_ent::enumerate_caches): Fix copy/paste bug introducing
 | 
						|
	an endless loop.
 | 
						|
 | 
						|
2014-05-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (pwdgrp::parse_passwd): Fix an off by one computing the
 | 
						|
	buffer len.  Add comment.
 | 
						|
	* uinfo.cc (internal_getlogin): Fix typo in comment.
 | 
						|
 | 
						|
2014-05-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Tweak SID<->uid
 | 
						|
	conversion to cover S-1-5-113, S-1-5-114, and S-1-5-1000 groups.
 | 
						|
 | 
						|
2014-05-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* grp.cc (pwdgrp::parse_group): Set grp.len.  Drop generating any
 | 
						|
	gr_mem entries.
 | 
						|
	(getgrgid_r): Don't try to copy gr_mem entries.  Always set gr_mem
 | 
						|
	to an empty list.
 | 
						|
	(getgrnam_r): Ditto.
 | 
						|
	(app_gr): New static struct to store group data propagated to the
 | 
						|
	calling application via getgrgid/getgrnam.
 | 
						|
	(getgr_cp): Fill app_gr and return pointer to app_gr.g.
 | 
						|
	(getgrgid32): Call getgr_cp.
 | 
						|
	(getgrnam32): Ditto.
 | 
						|
	* passwd.cc (pwdgrp::parse_passwd): Set res.len.
 | 
						|
	(app_pw): New static struct to store passwd data propagated to the
 | 
						|
	calling application via getpwuid/getpwnam.
 | 
						|
	(getpw_cp): Fill app_pw and return pointer to app_pw.p.
 | 
						|
	(getpwuid32): Cal getpw_cp.
 | 
						|
	(getpwnam): Ditto.
 | 
						|
	* pwdgrp.h (struct pg_pwd): Add len member.
 | 
						|
	(struct pg_grp): Ditto.
 | 
						|
 | 
						|
2014-05-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* security.h (MAX_SUBAUTH_CNT): Drop.  Use SID_MAX_SUB_AUTHORITIES
 | 
						|
	instead throughout.
 | 
						|
	(MAX_SID_LEN): Drop.  Use SECURITY_MAX_SID_SIZE instead throughout.
 | 
						|
 | 
						|
2014-05-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* grp.cc (internal_getgroups): Drop unused cygsid variable.
 | 
						|
	* sec_helper.cc (cygpsid::pstring): Use sid_sub_auth_count macro.
 | 
						|
	(cygsid::get_sid): Use MAX_SUBAUTH_CNT rather than wrong constant 8.
 | 
						|
	Don't call memcpy to copy subauthorities into SID, use assignment.
 | 
						|
	(cygsid::getfromstr): Use MAX_SUBAUTH_CNT rather than wrong constant 8.
 | 
						|
	* security.h (MAX_SUBAUTH_CNT): New definition.  Set to 11 to cover
 | 
						|
	Microsoft Accounts.
 | 
						|
	(MAX_SID_LEN): Define in terms of SID member sizes and MAX_SUBAUTH_CNT.
 | 
						|
	(DBGSID): Use MAX_SUBAUTH_CNT to define size of SubAuthority array.
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Handle Micosoft
 | 
						|
	Accounts.  Handle them as well known group.  Compare domain names
 | 
						|
	case-insensitive.
 | 
						|
	* winlean.h (PIPE_REJECT_REMOTE_CLIENTS): Drop temporary definition
 | 
						|
	since Mingw64 catched up.
 | 
						|
	(DNLEN): Redefine as 16.  Explain why.
 | 
						|
 | 
						|
2014-05-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (cygwin_getsockopt): Rearrange code slightly and handle
 | 
						|
	TCP_NODELAY just like SO_KEEPALIVE and SO_DONTROUTE.
 | 
						|
 | 
						|
2014-05-03  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* spawn.cc (av::setup): Eat trailing whitespace on #! script.
 | 
						|
 | 
						|
2014-05-02  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_dsp.cc (ioctl): Use _ioctl for recursive call.
 | 
						|
 | 
						|
2014-04-26  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000026.
 | 
						|
	* fhandler.h (fhandler_console::save_top): Save top of screen
 | 
						|
	coordinates.
 | 
						|
	* fhandler_console.cc (dev::save_restore): Record top of screen
 | 
						|
	coordinates.  Clear entire buffer when restoring saved buffer and try
 | 
						|
	to position the cursor on the save relative place on the screen.
 | 
						|
 | 
						|
2014-04-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (NT_TRANSACTIONAL_ERROR): Cover all status codes up to
 | 
						|
	STATUS_TRANSACTION_NOT_ENLISTED.
 | 
						|
 | 
						|
2014-04-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc: On x86_64, define u_long as __ms_u_long before
 | 
						|
	including the windows headers.  Explain why.
 | 
						|
	(get_inet_addr): Convert ANY address to LOOPBACK address.  Explain why.
 | 
						|
	(fhandler_socket::evaluate_events): Forcibly set SO_ERROR socket option
 | 
						|
	in case a connection attempt failed.  Explain why.
 | 
						|
	(fhandler_socket::ioctl): Drop x86_64 re-definition of u_long here.
 | 
						|
	* fhandler_procnet.cc: On x86_64, define u_long as __ms_u_long before
 | 
						|
	including the windows headers.  Explain why.
 | 
						|
	* net.cc: Ditto.
 | 
						|
 | 
						|
2014-04-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc (check_iovec): Allow 0 as valid iovcnt value.
 | 
						|
 | 
						|
2014-04-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ldap.cc (user_attr): Remove "uid" attribute.
 | 
						|
	* ldap.h (LDAP_USER_NAME_ATTR): Remove.  Change other attribute index
 | 
						|
	values as required.
 | 
						|
	(cyg_ldap::get_user_name): Remove inline function.
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Remove code to handle
 | 
						|
	Cygwin username different from Windows username.
 | 
						|
	(pwdgrp::add_account_from_cygserver): Remove unnecessary cast.
 | 
						|
 | 
						|
2014-04-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winf.cc (linebuf::fromargv): Temporarily revert patch from 2014-01-24.
 | 
						|
 | 
						|
2014-04-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygtls.h (TP_NUM_C_BUFS): Raise to 50 to allow SYMLOOP_MAX recursions
 | 
						|
	path_conv <-> normalize_posix_path, plus a bit of buffer.
 | 
						|
	(TP_NUM_W_BUFS): Ditto.
 | 
						|
	(class san): Change type of _c_cnt and _w_cnt to unsigned.
 | 
						|
	* path.cc (normalize_posix_path): Guard recursion into path_conv
 | 
						|
	against tmp_pathbuf overflow.  Generate normalized path in call to
 | 
						|
	path_conv.  If the path is valid, replace dst with the normalized_path
 | 
						|
	from path_conv call.  Add comment to explain why we're doing this.
 | 
						|
	* tls_pbuf.cc (tls_pathbuf::destroy): Only free buffers until the
 | 
						|
	first buffer pointer is NULL.
 | 
						|
	(tmp_pathbuf::c_get): Simplify error message.
 | 
						|
	(tmp_pathbuf::w_get): Ditto.
 | 
						|
	* tls_pbuf.h (class tmp_pathbuf): Change type of c_buf_old and w_buf_old
 | 
						|
	to unsigned.
 | 
						|
	(tmp_pathbuf::check_usage): New inline method to check if we have 
 | 
						|
	enough tmp_pathbuf buffers left to call a function using tmp_pathbuf
 | 
						|
	buffers.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
	* tlsoffsets64.h: Regenerate.
 | 
						|
 | 
						|
2014-04-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (cygwin_setsockopt): Ignore IPV6_TCLASS the same way as IP_TOS.
 | 
						|
 | 
						|
2014-04-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Fix gid evaluation
 | 
						|
	for local accounts.
 | 
						|
 | 
						|
2014-04-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 30.
 | 
						|
 | 
						|
2014-04-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (exception::myfault_handle): Only handle the minimum
 | 
						|
	amount of exceptions the myfault handler was designed for.
 | 
						|
 | 
						|
2014-04-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.sc.in: (Temporarily?) workaround serious ld bug which
 | 
						|
	truncates symbols in certain computations to 32 bit.  See
 | 
						|
	https://sourceware.org/bugzilla/show_bug.cgi?id=16821
 | 
						|
 | 
						|
2014-04-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygserver_ipc.h (ipc_set_proc_info): Add bool parameter to specify
 | 
						|
	whether or not to send signal_arrived.
 | 
						|
	* shm.cc (client_request_shm::client_request_shm): Call
 | 
						|
	ipc_set_proc_info with bool parameter set to true to not send
 | 
						|
	signal_arrived.
 | 
						|
 | 
						|
2014-04-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ntea.cc (EA_BUFSIZ): Fix comment.
 | 
						|
	(read_ea): Use tmp_pathbuf for local buffer rather than alloca.
 | 
						|
	Throughout change ZwQueryEaFile to NtQueryEaFile in comments.
 | 
						|
 | 
						|
2014-04-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ntea.cc (EA_BUFSIZ): Reduce to 64K.  Add comment to explain why.
 | 
						|
 | 
						|
2014-03-29  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000025.
 | 
						|
	* exceptions.cc (_cygtls::signal_debugger): Reorganize to avoid
 | 
						|
	contacting the debugger if we have already done so via the exception
 | 
						|
	handler.  Eliminate need for goto.  Remove an ifdef in favor of just
 | 
						|
	allocating a larger buffer.
 | 
						|
 | 
						|
2014-03-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (dll_crt0_0): Install myfault exception handler on x86_64.
 | 
						|
	* exception.h (exception_list): Typedef as void on x86_64.
 | 
						|
	(exception::handler_installed): Remove.
 | 
						|
	(exception::handle_while_being_debugged): Remove.
 | 
						|
	(exception::myfault_handle): Declare for x86_64.
 | 
						|
	(exception::handle): Declare as ordinary exception handler on x86_64
 | 
						|
	as well.
 | 
						|
	(exception::exception): Drop previous code (again).  Install
 | 
						|
	exception::handle as SEH handler.
 | 
						|
	(exception::install_myfault_handler): New x86_64-only method to
 | 
						|
	install exception::myfault_handle as VEH handler.  Explain why.
 | 
						|
	(exception::~exception): For x86_64, define frame end label (again).
 | 
						|
	* exceptions.cc (CYG_EXC_CONTINUE_EXECUTION): Drop definition.
 | 
						|
	(CYG_EXC_CONTINUE_SEARCH): Ditto.
 | 
						|
	(exception::myfault_handle): New x86_64-only method, VEH handler to
 | 
						|
	handle myfault exceptions.
 | 
						|
	(exception::handle): Define as ordinary exception handler on x86_64
 | 
						|
	as well.  Use ExceptionContinueExecution and ExceptionContinueSearch
 | 
						|
	throughout instead of deleted Cygwin macros.  Don't handle myfault
 | 
						|
	exceptions on x86_64.
 | 
						|
 | 
						|
2014-03-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_auth.cc (create_token): Initialize lsa handle to NULL, rather than
 | 
						|
	to INVALID_HANDLE_VALUE.
 | 
						|
	(lsaauth): Ditto.
 | 
						|
	(lsaprivkeyauth): Ditto.
 | 
						|
	* setlsapwd.cc (setlsapwd): Don't initialize lsa handle.
 | 
						|
 | 
						|
2014-03-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (_cygtls::signal_debugger): Move memcpy to copy context
 | 
						|
	from incoming siginfo_t to thread_context, too.
 | 
						|
 | 
						|
2014-03-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* gendef (_sigbe/x86_64): Fix typo in .seh_proc pseudo-op.
 | 
						|
	(setjmp/x86_64): Drop storing ExceptionList pointer in jmp_buf->Frame.
 | 
						|
	Drop comment.  Store likely frame in rdx.  Jump to __setjmpex.
 | 
						|
	(__setjmpex): New function providing setjmp functionality.  Fetch
 | 
						|
	jmp_buf->Frame from rdx, like MSVCRT setjmpex.
 | 
						|
	(__sjfault/x86_64): Store rdx content in jmp_buf->Frame.
 | 
						|
	(__ljfault/x86_64): Don't restore ExceptionList pointer.
 | 
						|
	(longjmp/x86_64): Ditto.
 | 
						|
 | 
						|
2014-03-19  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Actually pass ioctl
 | 
						|
	argument to _ioctl.
 | 
						|
 | 
						|
2014-03-19  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_dev_dsp): Remove variable names from
 | 
						|
	declarations.
 | 
						|
	(fhandler_dev_dsp::close_audio_in): Make __reg1.
 | 
						|
	(fhandler_dev_dsp::close_audio_out): Make __reg2.
 | 
						|
	* fhandler_dsp.cc (fhandler_dev_dsp::close_audio_in): Make __reg1.
 | 
						|
	(fhandler_dev_dsp::close_audio_out): Make __reg2.
 | 
						|
	(fhandler_dev_dsp::close): Don't abruptly terminate sound just because
 | 
						|
	we are exiting.
 | 
						|
 | 
						|
2014-03-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exception.h (exception::handle_while_being_debugged): Declare.
 | 
						|
	(exception::exception): Install unhandled exception filter.
 | 
						|
	* exceptions.cc (exception::handle_while_being_debugged): New method.
 | 
						|
 | 
						|
2014-03-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (pg_ent::enumerate_ad): Ignore primary domain in list of
 | 
						|
	trusted domains only if all trusted domains are enumerated anyway.
 | 
						|
	Explain why.
 | 
						|
 | 
						|
2014-03-18  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_dsp.cc (fhandler_dev_dsp::fixup_after_fork): Actually call
 | 
						|
	_fixup_after_fork rather than looping forever.
 | 
						|
	(fhandler_dev_dsp::fixup_after_exec): Ditto.
 | 
						|
 | 
						|
2014-03-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	Partially revert patch from 2014-03-04.
 | 
						|
	* exception.h (exception::handler_installed): Declare.
 | 
						|
	(exception::exception): Install vectored exception handler on x86_64.
 | 
						|
	(exception::~exception): Remove for x86_64.
 | 
						|
	* exceptions.cc (exception::handler_installed): Define.
 | 
						|
 | 
						|
2014-03-17  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.h (no_thread_exit_protect): New class.
 | 
						|
	* sigproc.cc (thread_exit): Use no_thread_exit_protect to determine if
 | 
						|
	we need to coordinate ThreadExit/ExitProcess.
 | 
						|
	* fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Use
 | 
						|
	no_thread_exit_protect to kludge around waiting for waveOutClose as it
 | 
						|
	waits for a thread that never exits.
 | 
						|
	(fhandler_dev_dsp::Audio_in::stop): Ditto for waveInClose.
 | 
						|
 | 
						|
2014-03-16  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_dev_dsp::base): New method.
 | 
						|
	(fhandler_dev_dsp::_read): Ditto.
 | 
						|
	(fhandler_dev_dsp::_write): Ditto.
 | 
						|
	(fhandler_dev_dsp::_ioctl): Ditto.
 | 
						|
	(fhandler_dev_dsp::_fixup_after_fork): Ditto.
 | 
						|
	(fhandler_dev_dsp::_fixup_after_exec): Ditto.
 | 
						|
	* fhandler_dsp.cc (fhandler_dev_dsp::read): Call real function via
 | 
						|
	base() pointer.
 | 
						|
	(fhandler_dev_dsp::write): Ditto.
 | 
						|
	(fhandler_dev_dsp::ioctl): Ditto.
 | 
						|
	(fhandler_dev_dsp::fixup_after_fork): Ditto.
 | 
						|
	(fhandler_dev_dsp::fixup_after_exec): Ditto.
 | 
						|
	(fhandler_dev_dsp::_read): Rename by adding an leading underscore.
 | 
						|
	(fhandler_dev_dsp::_write): Ditto.
 | 
						|
	(fhandler_dev_dsp::_ioctl): Ditto.
 | 
						|
	(fhandler_dev_dsp::_fixup_after_fork): Ditto.
 | 
						|
	(fhandler_dev_dsp::_fixup_after_exec): Ditto.
 | 
						|
 | 
						|
2014-03-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (enum cygheap_pwdgrp::cache_t): Remove.
 | 
						|
	(cygheap_pwdgrp::caching): Convert to bool.
 | 
						|
	(cygheap_pwdgrp::pwd_cache): Add cygserver member.
 | 
						|
	(cygheap_pwdgrp::grp_cache): Ditto.
 | 
						|
	(cygheap_pwdgrp::nss_db_caching): Drop.
 | 
						|
	(cygheap_pwdgrp::nss_db_full_caching): Drop.
 | 
						|
	(cygheap_pwdgrp::nss_cygserver_caching): New method.
 | 
						|
	(cygheap_pwdgrp::nss_disable_cygserver_caching): New method.
 | 
						|
	* cygserver.h (client_request::request_code_t): Add
 | 
						|
	CYGSERVER_REQUEST_PWDGRP.
 | 
						|
	* cygserver_pwdgrp.h: New file.
 | 
						|
	* cygtls.h (struct _local_storage): Remove pwbuf and grbuf members.
 | 
						|
	* grp.cc (pwdgrp::prep_tls_grbuf): Drop.
 | 
						|
	(internal_getgrsid): Handle cygserver caching and rearrange to check
 | 
						|
	the caches first.
 | 
						|
	(internal_getgrnam): Ditto.
 | 
						|
	(internal_getgrgid): Ditto.
 | 
						|
	(gr_ent::enumerate_caches): Handle cygserver cache.
 | 
						|
	* passwd.cc (pwdgrp::prep_tls_pwbuf): Drop.
 | 
						|
	(internal_getpwsid): Handle cygserver caching and rearrange to check
 | 
						|
	the caches first.
 | 
						|
	(internal_getpwnam): Ditto.
 | 
						|
	(internal_getpwuid): Ditto.
 | 
						|
	(pw_ent::enumerate_caches): Handle cygserver cache.
 | 
						|
	* pwdgrp.h (pwdgrp::add_account_from_cygserver): New method declaration.
 | 
						|
	(pwdgrp::fetch_account_from_cygserver): New method declaration.
 | 
						|
	(pwdgrp::prep_tls_pwbuf): Drop declaration.
 | 
						|
	(pwdgrp::prep_tls_grbuf): Drop declaration.
 | 
						|
	(pwdgrp::add_user_from_cygserver): New inline methods.
 | 
						|
	(pwdgrp::add_group_from_cygserver): New inline methods.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
	* tlsoffsets64.h: Regenerate.
 | 
						|
	* uinfo.cc (internal_getlogin): Call internal_getgroups if cygserver
 | 
						|
	caching is not available.
 | 
						|
	(cygheap_pwdgrp::init): Initialize pwd_cache.cygserver and
 | 
						|
	grp_cache.cygserver.  Set caching to true.
 | 
						|
	(cygheap_pwdgrp::nss_init_line): Drop db_cache handling entirely.
 | 
						|
	(pwdgrp::add_account_from_windows): Drop no caching handling.
 | 
						|
	(client_request_pwdgrp::client_request_pwdgrp): New method.
 | 
						|
	(pwdgrp::fetch_account_from_cygserver): New method.
 | 
						|
	(pwdgrp::add_account_from_cygserver): New method.
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix formatting.
 | 
						|
	* include/sys/cygwin.h: Ditto.
 | 
						|
 | 
						|
2014-03-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Avoid crash on
 | 
						|
	non-domain member machines if an unknown SID comes in.
 | 
						|
 | 
						|
2014-03-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/socket.h (IPV6_JOIN_GROUP): Revert.
 | 
						|
	(IPV6_LEAVE_GROUP): Ditto.
 | 
						|
 | 
						|
2014-03-10  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (dev_console::b): Redefine as CONSOLE_SCREEN_BUFFER_INFO
 | 
						|
	for use with older OS.
 | 
						|
	* fhandler_console.cc (dev_console::fillin): Ditto for
 | 
						|
	GetConsoleScreenBufferInfo.
 | 
						|
 | 
						|
2014-03-10  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_console.cc (dev_console::save_restore): Save entire line of
 | 
						|
	current cursor position.
 | 
						|
 | 
						|
2014-03-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::save_restore): Save only until
 | 
						|
	last written row and, because of this, don't bother trying to restore
 | 
						|
	the screen buffer size.  Set cursor position after refilling buffer.
 | 
						|
	(fhandler_console::write): Use absolute paths when saving/restoring
 | 
						|
	cursor position or suffer odd problems after a saved screen is
 | 
						|
	restored.
 | 
						|
 | 
						|
2014-03-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_console::dwBufferSize): Delete.
 | 
						|
	(fhandler_console::dwCursorPosition): Ditto.
 | 
						|
	(fhandler_console::wAttributes): Ditto.
 | 
						|
	(fhandler_console::b): New field encompassing previously disparate
 | 
						|
	screen buffer info.
 | 
						|
	(fhandler_console::save_bufsize): Rename from savebufsiz
 | 
						|
	(fhandler_console::save_buf): Rename sfrom savebuf.
 | 
						|
	(fhandler_console::save_cursor): New field.
 | 
						|
	(fhandler_console::save_restore): New function.
 | 
						|
	(fhandler_console::con): Rename from dev_state.
 | 
						|
	(fhandler_console::focus_aware): Accommodate name change.
 | 
						|
	* fhandler_console.cc: Use 'b' field of dev_console throughout instead
 | 
						|
	of disparate names.  Accommodate dev_state -> con rename.
 | 
						|
	(dev_state:save_restore): New function.  Attempt to save the entire
 | 
						|
	screen buffer rather than just the visible part.  Clear the buffer when
 | 
						|
	saving, like Linux.
 | 
						|
	(fhandler_console::char_command): Use con.save_restore() for
 | 
						|
	Save/restore screen sequence.
 | 
						|
 | 
						|
2014-03-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (_cygtls::remove_wq): Reset thread_ev inside of lock.  Set
 | 
						|
	to NULL when done.
 | 
						|
 | 
						|
2014-03-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::char_command): Properly use
 | 
						|
	calculated value rather than directly using dev_state.args[0].
 | 
						|
 | 
						|
2014-03-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* dir.cc (opendir): Propagate any errno from build_fh_name.
 | 
						|
 | 
						|
2014-03-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* pwdgrp.h (pwdgrp::is_passwd): New inline method.
 | 
						|
	(pwdgrp::is_group): New inline method.
 | 
						|
	(add_account_from_windows): Drop group argument from declaration.
 | 
						|
	(fetch_account_from_windows): Ditto.
 | 
						|
	(check_file): Ditto.
 | 
						|
	(add_user_from_windows): Call add_account_from_windows accordingly.
 | 
						|
	(add_group_from_windows): Ditto.
 | 
						|
	* uinfo.cc (pwdgrp::add_account_from_windows): Drop group argument.
 | 
						|
	Use is_group method instead.
 | 
						|
	(pwdgrp::check_file): Ditto.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Ditto.
 | 
						|
	* grp.cc: Accommodate aforementioned changes.
 | 
						|
	* passwd.cc: Ditto.
 | 
						|
 | 
						|
2014-03-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (pg_ent::enumerate_builtin): Convert pwd_builtins and
 | 
						|
	grp_builtins to array of cygpsid pointers.  Replace SID strings with
 | 
						|
	pointers to well known SIDs.
 | 
						|
	* sec_helper.cc (well_known_local_service_sid): Define.
 | 
						|
	(well_known_network_service_sid): Define.
 | 
						|
	(trusted_installer_sid): Define.
 | 
						|
	* security.h (well_known_local_service_sid): Declare.
 | 
						|
	(well_known_network_service_sid): Declare.
 | 
						|
	(trusted_installer_sid): Declare.
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Throughout set acc_type
 | 
						|
	to SidTypeUnknown if LookupAccountXXX function failed.  Create
 | 
						|
	simplified passwd entry for non-user accounts, except for LocalSystem.
 | 
						|
	Add comment.
 | 
						|
 | 
						|
2014-03-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* setlsapwd.cc (setlsapwd): Use RtlSecureZeroMemory to delete password
 | 
						|
	from memory.
 | 
						|
 | 
						|
2014-03-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ldap.cc (rediscover_thread): Remove.
 | 
						|
	(cyg_ldap::open): Remove code to rediscover DC.  It just won't do the 
 | 
						|
	right thing.
 | 
						|
	(cyg_ldap::enumerate_ad_accounts): Change to be self-sufficient (no
 | 
						|
	explicit open call required).  Enumerate on a DC of the domain itself
 | 
						|
	instead of relying on delegation.  Remove ill-advised code trying to
 | 
						|
	generate rootdse from domain name.
 | 
						|
	* passwd.cc (pg_ent::enumerate_ad): Drop explicit call to
 | 
						|
	cyg_ldap::open.
 | 
						|
 | 
						|
2014-03-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/config.h (__TM_GMTOFF): Define.
 | 
						|
	(__TM_ZONE): Define.
 | 
						|
 | 
						|
2014-03-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* localtime.cc: Define TM_GMTOFF and TM_ZONE based on __TM_GMTOFF and
 | 
						|
	__TM_ZONE being defined.  Throughout, write to these struct tm members
 | 
						|
	only if CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS is true.
 | 
						|
	* libc/strptime.cc: Ditto.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS):
 | 
						|
	Define.
 | 
						|
	(CYGWIN_VERSION_API_MINOR): Bump to 272.
 | 
						|
 | 
						|
2014-03-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exception.h (exception::handler_installed): Remove.
 | 
						|
	(exception::exception): Remove old code.  Manually install SEH handler
 | 
						|
	instead.
 | 
						|
	(exception::~exception): For x86_64, define frame end label.
 | 
						|
	* exceptions.cc (exception::handler_installed): Remove.
 | 
						|
 | 
						|
2014-03-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exception.h (exception::exception): Install vectored exception
 | 
						|
	handler rather than vectored continue handler.
 | 
						|
 | 
						|
2014-03-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_helper.cc (cygpsid::get_id): Move Samba SID->uid/gid mapping
 | 
						|
	from get_sids_info here.
 | 
						|
	(get_sids_info): Vice versa.
 | 
						|
	* security.cc (convert_samba_sd): New static function to map a Samba
 | 
						|
	security descriptor to a security descriptor with UNIX users and groups
 | 
						|
	converted to Windows SIDs per RFC 2307 mapping.
 | 
						|
	(check_file_access): Call convert_samba_sd on Samba security
 | 
						|
	descriptors.
 | 
						|
 | 
						|
2014-02-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Only fetch extended
 | 
						|
	user info if we're creating a passwd entry.  Add comment.
 | 
						|
 | 
						|
2014-02-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (cygheap_user::sid): Return reference to cygpsid rather
 | 
						|
	than PSID.
 | 
						|
	(cygheap_user::saved_sid): Ditto.
 | 
						|
	(cygheap_pwdgrp::cache_t): New type.
 | 
						|
	(cygheap_pwdgrp::caching): Convert to cache_t.
 | 
						|
	(cygheap_pwdgrp::nss_db_caching): Change accordingly.
 | 
						|
	(cygheap_pwdgrp::nss_db_full_caching): New inline method.
 | 
						|
	* grp.cc (internal_getgroups): Reinvent.  Take cyg_ldap pointer as
 | 
						|
	third parameter and use throughout.
 | 
						|
	(getgroups32): Call internal_getgroups.
 | 
						|
	* pwdgrp.h (internal_getgroups): Declare.
 | 
						|
	* uinfo.cc (internal_getlogin): Partial rewrite to accommodate having
 | 
						|
	no connection to the DC.  Give primary group from user token more
 | 
						|
	weight.  Generate group entries for all groups in the user token if
 | 
						|
	caching is set to NSS_FULL_CACHING.
 | 
						|
	(cygheap_pwdgrp::init): Initialize caching to NSS_FULL_CACHING.
 | 
						|
	(cygheap_pwdgrp::nss_init_line): Handle "db_cache: full".
 | 
						|
	(pwdgrp::add_account_from_windows): Fix group handling in non-caching
 | 
						|
	mode.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Default primary group for the
 | 
						|
	current user to primary group from user token.  Check for primary
 | 
						|
	domain first after LookupAccountSid failed.
 | 
						|
 | 
						|
2014-02-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (CheckTokenMembership): Import.
 | 
						|
	* external.cc (cygwin_internal): Call get_uid/get_gid instead of get_id.
 | 
						|
	* grp.cc (internal_getgrsid): Take additional cyg_ldap pointer.
 | 
						|
	Forward to pwdgrp::add_group_from_windows.
 | 
						|
	(internal_getgrnam): Ditto.
 | 
						|
	(internal_getgrgid): Ditto.
 | 
						|
	(gr_ent::enumerate_local): Drop ugid_caching bool from call to
 | 
						|
	pwdgrp::fetch_account_from_windows.
 | 
						|
	(getgroups32): Rename from internal_getgroups and drop getgroups32 stub.
 | 
						|
	Drop srchsid parameter and code handling it.  Add local cyg_ldap
 | 
						|
	instance and forward to internal_getgrXXX.
 | 
						|
	(getgroups): Call getgroups32.
 | 
						|
	(get_groups): Add local cyg_ldap instance and forward to
 | 
						|
	internal_getgrXXX.
 | 
						|
	(getgrouplist): Ditto.
 | 
						|
	(setgroups32): Ditto.
 | 
						|
	* ldap.cc (cyg_ldap::open): Don't call close.  Return true if connection
 | 
						|
	is already open.
 | 
						|
	(cyg_ldap::remap_uid): Forward this to internal_getpwsid.
 | 
						|
	(cyg_ldap::remap_gid): Forward this to internal_getgrsid.
 | 
						|
	* passwd.cc (internal_getpwsid): Take additional cyg_ldap pointer.
 | 
						|
	Forward to pwdgrp::add_user_from_windows.
 | 
						|
	(internal_getpwnam): Ditto.
 | 
						|
	(internal_getpwuid): Ditto.
 | 
						|
	(pg_ent::enumerate_builtin): Drop ugid_caching bool from call to
 | 
						|
	pwdgrp::fetch_account_from_windows.
 | 
						|
	(pg_ent::enumerate_sam): Ditto.
 | 
						|
	(pg_ent::enumerate_ad): Ditto.  Forward local cldap instead.
 | 
						|
	* pwdgrp.h (internal_getpwsid): Align declaration to above change.
 | 
						|
	(internal_getpwnam): Ditto.
 | 
						|
	(internal_getpwuid): Ditto.
 | 
						|
	(internal_getgrsid): Ditto.
 | 
						|
	(internal_getgrgid): Ditto.
 | 
						|
	(internal_getgrnam): Ditto.
 | 
						|
	(internal_getgroups): Drop declaration.
 | 
						|
	(pwdgrp::add_account_from_windows): Align declaration to below change.
 | 
						|
	(pwdgrp::add_user_from_windows): Ditto.
 | 
						|
	(pwdgrp::add_group_from_windows): Ditto.
 | 
						|
	* sec_acl.cc (setacl): Add local cyg_ldap instance and forward to
 | 
						|
	internal_getpwuid and internal_getgrgid.
 | 
						|
	(getacl): Add local cyg_ldap instance and forward to cygpsid::get_id.
 | 
						|
	(aclfromtext32): Add local cyg_ldap instance and forward to
 | 
						|
	internal_getpwnam and internal_getgrnam.
 | 
						|
	* sec_helper.cc (cygpsid::get_id): Take additional cyg_ldap pointer.
 | 
						|
	Forward to internal_getgrsid and internal_getpwsid.
 | 
						|
	(get_sids_info): Drop ldap_open.  Forward local cldap to
 | 
						|
	internal_getpwsid and internal_getgrXXX.  Call CheckTokenMembership
 | 
						|
	rather than internal_getgroups.
 | 
						|
	* security.h (cygpsid::get_id): Add cyg_ldap pointer, drop default
 | 
						|
	parameter.
 | 
						|
	(cygpsid::get_uid): Add cyg_ldap pointer.  Call get_id accordingly.
 | 
						|
	(cygpsid::get_gid): Ditto.
 | 
						|
	* uinfo.cc (internal_getlogin): Add local cyg_ldap instance and forward
 | 
						|
	to internal_getpwXXX and internal_getgrXXX calls.
 | 
						|
	(pwdgrp::add_account_from_windows): Take additional cyg_ldap pointer.
 | 
						|
	Forward to pwdgrp::fetch_account_from_windows.
 | 
						|
	(fetch_posix_offset): Drop ldap_open argument and handling.  Get
 | 
						|
	cyg_ldap instance as pointer.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Take additional cyg_ldap pointer.
 | 
						|
	Use it if it's not NULL, local instance otherwise.  Drop ldap_open.
 | 
						|
	Drop fetching extended group arguments from AD for speed.
 | 
						|
 | 
						|
2014-02-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (find_fast_cwd_pointer): Fix preceeding comment.
 | 
						|
 | 
						|
2014-02-25  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_console::scroll_buffer_screen): New function.
 | 
						|
	* fhandler_console.cc (fhandler_console::scroll_buffer_screen): New function.
 | 
						|
	(fhandler_console::char_command): Use scroll_buffer_screen as appropriate.
 | 
						|
	(dev_console::scroll_buffer): Remove if 0'ed block.
 | 
						|
 | 
						|
2014-02-22  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* dev_console::scroll_buffer): Reinstate clipping region.
 | 
						|
 | 
						|
2014-02-22  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (dev_console::is_fullscreen): Delete.
 | 
						|
	(dev_console::scroll_window): Return bool indicating success.
 | 
						|
	(dev_console::scroll_screen): New function.
 | 
						|
	(dev_console::clear_screen): New function.
 | 
						|
	(fhandler_console::clear_screen): Make __reg3.
 | 
						|
	(fhandler_console::cursor_set): Ditto.
 | 
						|
	(fhandler_console::cursor_get): Ditto.
 | 
						|
	(fhandler_console::cursor_rel): Ditto.
 | 
						|
	* fhandler_console.cc (dev_console::scroll_buffer): Adapt from
 | 
						|
	fhandler_console.
 | 
						|
	(fhandler_console::scroll_buffer): Use dev_console function.
 | 
						|
	(dev_console::is_fullscreen): Delete.
 | 
						|
	(dev_console::scroll_window): Return true if we cleared the screen.
 | 
						|
	Shrink/grow buffer first before scrolling to ensure that there is
 | 
						|
	sufficient space after scrolling.
 | 
						|
	(fhandler_console::clear_screen): Make reg3, use dev_console function.
 | 
						|
	(dev_console::clear_screen): New function adapted from
 | 
						|
	fhandler_console.
 | 
						|
	(fhandler_console::cursor_set): Make __reg3.
 | 
						|
	(fhandler_console::cursor_rel): Ditto.
 | 
						|
	(fhandler_console::cursor_get): Ditto.
 | 
						|
	(fhandler_console::write): Fix "reverse index".
 | 
						|
 | 
						|
2014-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* external.cc (cygwin_internal): Add cases for CW_GETNSSSEP,
 | 
						|
	CW_GETPWSID and CW_GETGRSID.
 | 
						|
	* grp.cc (internal_getgrsid_from_db): New function.
 | 
						|
	* passwd.cc (internal_getpwsid_from_db): New function.
 | 
						|
	(pg_ent::setent): Add special case for call from mkpasswd/mkgroup.
 | 
						|
	* pwdgrp.h (internal_getpwsid_from_db): Declare.
 | 
						|
	(internal_getgrsid_from_db): Declare.
 | 
						|
	(enum nss_enum_t): Move to include/sys/cygwin.h.
 | 
						|
	(class pg_ent): Add comment.
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Fix typo in comment.
 | 
						|
	Change "UNIX" to "Unix" in domain name.
 | 
						|
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GETNSSSEP,
 | 
						|
	CW_GETPWSID and CW_GETGRSID.
 | 
						|
	(enum nss_enum_t): Define here.
 | 
						|
 | 
						|
2014-02-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* pwdgrp.h (pwdgrp::fetch_account_from_windows): Add bool parameter
 | 
						|
	to declaration, set to true by default.
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Add bool parameter
 | 
						|
	"ugid_caching".  Only add account to ugid_cache if set to true.
 | 
						|
	* grp.cc (gr_ent::enumerate_local): Call fetch_account_from_windows
 | 
						|
	with ugid_caching parameter set to false.
 | 
						|
	* passwd.cc (pg_ent::enumerate_builtin): Ditto.
 | 
						|
	(pg_ent::enumerate_sam): Ditto.
 | 
						|
	(pg_ent::enumerate_ad): Ditto.
 | 
						|
 | 
						|
2014-02-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* grp.cc (getgrouplist): Fix previous fix so ret is only set to ngroups
 | 
						|
	if ngroups isn't too small.
 | 
						|
 | 
						|
2014-02-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* grp.cc (get_groups): Don't add gid to list if it's ILLEGAL_GID.
 | 
						|
	(getgrouplist): Return number of groups, just like glibc.
 | 
						|
 | 
						|
2014-02-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (pg_ent::setent): Initialize cygheap domain info.
 | 
						|
	* sec_auth.cc (get_logon_server): Ditto.
 | 
						|
 | 
						|
2014-02-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* external.cc (cygwin_internal): Handle new CW_SETENT, CW_GETENT and
 | 
						|
	CW_ENDENT info types.
 | 
						|
	* grp.cc (setgrent_filtered): New function, called from cygwin_internal.
 | 
						|
	(getgrent_filtered): Ditto.
 | 
						|
	(endgrent_filtered): Ditto.
 | 
						|
	* passwd.cc (pg_ent::setent): Set state explicitely to from_cache.
 | 
						|
	(pg_ent::getent): Handle the fact that a DC has no SAM and enumerating
 | 
						|
	local accounts is equivalent to enumerating domain accounts.
 | 
						|
	(setpwent_filtered): New function, called from cygwin_internal.
 | 
						|
	(getpwent_filtered): Ditto.
 | 
						|
	(endpwent_filtered): Ditto.
 | 
						|
	* pwdgrp.h (setpwent_filtered): Declare.
 | 
						|
	(getgrent_filtered): Ditto.
 | 
						|
	(endgrent_filtered): Ditto.
 | 
						|
	(setpwent_filtered): Ditto.
 | 
						|
	(getpwent_filtered): Ditto.
 | 
						|
	(endpwent_filtered): Ditto.
 | 
						|
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_SETENT, CW_GETENT,
 | 
						|
	and CW_ENDENT.
 | 
						|
 | 
						|
2014-02-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* setlsapwd.cc (setlsapwd): Fix conditional expression after breaking
 | 
						|
	it on 2014-01-23.
 | 
						|
 | 
						|
2014-02-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (ldap_abandon): Import.
 | 
						|
	(ldap_result): Import.
 | 
						|
	(ldap_searchW): Import.
 | 
						|
	(NetGroupEnum): Import.
 | 
						|
	(NetLocalGroupEnum): Import.
 | 
						|
	(NetUserEnum): Import.
 | 
						|
	* cygheap.h (class cygheap_pwdgrp): Add members enums and enum_tdoms.
 | 
						|
	(cygheap_pwdgrp::nss_db_enums): New inline method.
 | 
						|
	(cygheap_pwdgrp::nss_db_enum_tdoms): Ditto.
 | 
						|
	* cygtls.h (struct _local_storage): Drop unused members pw_pos and
 | 
						|
	grp_pos.
 | 
						|
	* grp.cc (grent): New static variable of class gr_ent.
 | 
						|
	(gr_ent::enumerate_caches): New method.
 | 
						|
	(gr_ent::enumerate_local): New method.
 | 
						|
	(gr_ent::getgrent): New method.
 | 
						|
	(setgrent): Call gr_ent method.
 | 
						|
	(getgrent32): Ditto.
 | 
						|
	(endgrent): Ditto.
 | 
						|
	* ldap.cc (sid_attr): Rename from nfs_attr.
 | 
						|
	(cyg_ldap::close): Abandon still running asynchronous search.
 | 
						|
	(cyg_ldap::fetch_ad_account): Reduce filter buffer size.
 | 
						|
	(cyg_ldap::enumerate_ad_accounts): New method.
 | 
						|
	(cyg_ldap::next_account): New method.
 | 
						|
	(cyg_ldap::fetch_posix_offset_for_domain): Reduce filter buffer size.
 | 
						|
	(cyg_ldap::fetch_unix_sid_from_ad): Ditto.  Fix return value in case
 | 
						|
	no value has been read.
 | 
						|
	(cyg_ldap::fetch_unix_name_from_rfc2307): Reduce filter buffer size.
 | 
						|
	* ldap.h (class cyg_ldap): Add msg_id member.
 | 
						|
	(cyg_ldap::enumerate_ad_accounts): Declare.
 | 
						|
	(cyg_ldap::next_account): Declare:
 | 
						|
	* passwd.cc (pwent): New static variable of class pw_ent.
 | 
						|
	(pg_ent::clear_cache): New method.
 | 
						|
	(pg_ent::setent): New method.
 | 
						|
	(pg_ent::getent): New method.
 | 
						|
	(pg_ent::endent): New method.
 | 
						|
	(pg_ent::enumerate_file): New method.
 | 
						|
	(pg_ent::enumerate_builtin): New method.
 | 
						|
	(pg_ent::enumerate_sam): New method.
 | 
						|
	(pg_ent::enumerate_ad): New method.
 | 
						|
	(pw_ent::enumerate_caches): New method.
 | 
						|
	(pw_ent::enumerate_local): New method.
 | 
						|
	(pw_ent::getpwent): New method.
 | 
						|
	(setpwent): Call pw_ent method.
 | 
						|
	(getpwent): Ditto.
 | 
						|
	(endpwent): Ditto.
 | 
						|
	* pwdgrp.h (class pwdgrp): Define pg_ent, pw_ent and gr_ent as friend
 | 
						|
	classes.
 | 
						|
	(pwdgrp::add_account_post_fetch): Declare with extra bool parameter.
 | 
						|
	(pwdgrp::file_attr): New inline method.
 | 
						|
	(enum nss_enum_t): Define.
 | 
						|
	(class pg_ent): Define.
 | 
						|
	(class pw_ent): Define.
 | 
						|
	(class gr_ent): Define.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
	* tlsoffsets64.h: Ditto.
 | 
						|
	* uinfo.cc (cygheap_pwdgrp::init): Initialize enums and enum_tdoms.
 | 
						|
	(cygheap_pwdgrp::nss_init_line): Fix typo in preceeding comment.
 | 
						|
	Handle new "db_enum" keyword.
 | 
						|
	(pwdgrp::add_account_post_fetch): Take additional `bool lock' parameter
 | 
						|
	and acquire pglock before adding element to array if lock is true.
 | 
						|
	(pwdgrp::add_account_from_file): Call add_account_post_fetch with lock
 | 
						|
	set to true.
 | 
						|
	(pwdgrp::add_account_from_windows): Ditto in case of caching.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Handle builtin aliases only
 | 
						|
	known to the domain controller.  Only call NetLocalGroupGetInfo for
 | 
						|
	aliases.
 | 
						|
 | 
						|
2014-02-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.h (NT_readline::close): New function to close handle.
 | 
						|
	(NT_readline::~NT_readline): Call close.
 | 
						|
	* sec_auth.cc (verify_token): Use constructor to initialize tok_usersid.
 | 
						|
	* security.h (cygsid::cygsid): Add copy constructor taking cygsid as
 | 
						|
	source.
 | 
						|
 | 
						|
2014-02-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (dll_crt0_1): Call initial_setlocale before fetching
 | 
						|
	current user information.
 | 
						|
 | 
						|
2014-02-15  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* DevNotes: Add entry cgf-000024.
 | 
						|
	* fhandler.h (dev_console::state): Remove trailing underscore.
 | 
						|
	(dev_console::args): Ditto.
 | 
						|
	(dev_console::nargs): Ditto.
 | 
						|
	(dev_console::info): Eliminate subclass.
 | 
						|
	(dev_console::dwEnd): New field.
 | 
						|
	(dev_console::scroll_window): New function.
 | 
						|
	(dev_console::is_fullscreen): Ditto.
 | 
						|
	(dev_console::fillin): Rename from fillin_info.
 | 
						|
	(fhandler_console::scroll_buffer): Rename from scroll_screen.
 | 
						|
	* fhandler_console.cc: Throughout s/dev_state\.info/dev_state/g.
 | 
						|
	Accommodate other name changes.
 | 
						|
	(dev_console::fillin): Accommodate rename.  Notice max x/y written to.
 | 
						|
	Forgo memset if GetConsoleScreenBufferInfo fails.
 | 
						|
	(fhandler_console::scroll_buffer): Accommodate rename.  Don't treat y
 | 
						|
	coordinate of zero as top of screen.
 | 
						|
	(dev_console::is_fullscreen): New function.
 | 
						|
	(dev_console::scroll_window): Ditto.
 | 
						|
	(fhandler_console::clear_screen): Just scroll the screen when clearing
 | 
						|
	the screen in a state where the screen buffer is bigger than the
 | 
						|
	screen.
 | 
						|
	(fhandler_console::char_command): Try harder to get 'S' and 'T' working
 | 
						|
	in the presence of a screen buffer.  Use temporary 'n' variable rather
 | 
						|
	than dev_state.args[0].  Use GNU ?: shortcut method.
 | 
						|
 | 
						|
2014-02-14  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* pinfo.cc (winpids::add): Always copy pinfo structure when winpid.
 | 
						|
	Fill out dwProcessId explicitly to handle exec from a windows process.
 | 
						|
	(winpids::enum_processes): Reorganize to iterate over known cygwin pids
 | 
						|
	when !winpid.  Simplify logic.  Don't do duplicate detection for
 | 
						|
	winpid.
 | 
						|
 | 
						|
2014-02-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Default to /bin/bash
 | 
						|
	as login shell.
 | 
						|
 | 
						|
2014-02-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ldap.cc (cyg_ldap::fetch_posix_offset_for_domain): If domain name
 | 
						|
	has no dot, it's a Netbios name.  Change the search filter expression
 | 
						|
	accordingly and filter by flatName.  Add comment.
 | 
						|
	* uinfo.cc (cygheap_domain_info::init):  Gracefully handle NULL
 | 
						|
	DnsDomainName and DomainSid members in DS_DOMAIN_TRUSTSW structure.
 | 
						|
	Add comment.  Fix comment preceeding fetching the mapping server
 | 
						|
	from registry.
 | 
						|
	(pwdgrp::fetch_account_from_file): Convert str to a local array.
 | 
						|
	(fetch_posix_offset): New static function.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Add debug output in case
 | 
						|
	LookupAccountSidW fails.  Simplify code by calling fetch_posix_offset
 | 
						|
	where appropriate.  If LookupAccountSidW fails, check if the SID is
 | 
						|
	one of the known trusted domains.  If so, create a more informative
 | 
						|
	account entry.
 | 
						|
 | 
						|
2014-02-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_pwdgrp::nss_init_line): Explicitely ignore a colon
 | 
						|
	as separator char.
 | 
						|
 | 
						|
2014-02-11  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* winsup.h: Turn off previous workaround but leave a comment.
 | 
						|
 | 
						|
2014-02-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ldap.cc (rediscover_thread): Give argument a useful name.
 | 
						|
	* miscfuncs.cc (NT_readline::init): It's a really bad idea trying to
 | 
						|
	print a pointer to a PUNICODE_STRING as PUNICODE_STRING.  Fix it.
 | 
						|
	* uinfo.cc (cygheap_domain_info::init): Print status codes as hex
 | 
						|
	values in debug output.
 | 
						|
 | 
						|
2014-02-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (NetLocalGroupGetInfo): Replace NetGroupGetInfo.
 | 
						|
	* cygheap.h (class cygheap_ugid_cache): Move ugid_cache_t type here
 | 
						|
	and rename.
 | 
						|
	(struct init_cygheap): Add cygheap_ugid_cache member "ugid_cache".
 | 
						|
	* pwdgrp.h (class ugid_cache_t): Remove here.
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Accommodate
 | 
						|
	move of ugid_cache to cygheap.
 | 
						|
	* sec_helper.cc (get_sids_info): Ditto.
 | 
						|
	* uinfo.cc (ugid_cache): Remove.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Define id_val globally.
 | 
						|
	Move SidTypeAlias handling into SidTypeUser/SidTypeGroup branch since
 | 
						|
	aliases are handled like groups in SAM.  Accommodate move of ugid_cache
 | 
						|
	to cygheap.  Consolidate code reading SAM comments into a single branch
 | 
						|
	for both, SidTypeUser and SidTypeAlias.  For SidTypeAlias, fix thinko
 | 
						|
	and call NetLocalGroupGetInfo rather than NetGroupGetInfo.  Simplify
 | 
						|
	code setting Cygwin primary group for SAM accounts.  Add code to handle
 | 
						|
	UNIX uid/gid from SAM comment.
 | 
						|
 | 
						|
2014-02-11  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* winsup.h (Interlocked*): Use intrinsic versions of Interlocked
 | 
						|
	functions.
 | 
						|
 | 
						|
	* cygwin.sc.in: More closely emulate default pe/i386 linker script.
 | 
						|
 | 
						|
2014-02-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_domain_info::init): Drop accidentally leftover if
 | 
						|
	statement.
 | 
						|
 | 
						|
2014-02-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_domain_info::init): Fix handling of account domain
 | 
						|
	on donmain controllers.  Explain why.
 | 
						|
 | 
						|
2014-02-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (cwcsdup): Change parameter to correct PWCSTR.
 | 
						|
	(cwcsdup1): Ditto.
 | 
						|
	* cygheap_malloc.h: Change declarations accordingly.
 | 
						|
 | 
						|
2014-02-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Add code to allow
 | 
						|
	setting the primary group from the SAM comment field.
 | 
						|
 | 
						|
2014-02-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (child_info_spawn::handle_spawn): Call fixup_lockf_after_exec
 | 
						|
	with additional argument to specify if the process has been execed
 | 
						|
	or spawned.
 | 
						|
	* flock.cc (fixup_lockf_after_exec): Take bool parameter to handle
 | 
						|
	exec and spawn differently.  In case of spawn, just give up POSIX
 | 
						|
	locks in favor of the still running parent.  Add comments to explain.
 | 
						|
 | 
						|
2014-02-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* environ.cc (strbrk): Properly deal with environment variable sans
 | 
						|
	quote.
 | 
						|
 | 
						|
2014-02-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* environ.cc (strbrk): New function.
 | 
						|
	(parse_options): Use strbrk to parse CYGWIN environment variable.
 | 
						|
 | 
						|
2014-02-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	Introduce reading passwd/group entries from SAM/AD.  Introduce
 | 
						|
	/etc/nsswitch.conf file to configure it.
 | 
						|
	* Makefile.in (DLL_OFILES): Add ldap.o.
 | 
						|
	* autoload.cc: Import ldap functions from wldap32.dll.
 | 
						|
	(DsEnumerateDomainTrustsW): Import.
 | 
						|
	(NetGroupGetInfo): Import.
 | 
						|
	* cygheap.h (class cygheap_domain_info): New class to keep global
 | 
						|
	domain info.
 | 
						|
	(class cygheap_pwdgrp): New class to keep passwd/group caches and
 | 
						|
	configuration info from /etc/nssswitch.conf.
 | 
						|
	(struct init_cygheap): Add cygheap_domain_info member "dom" and
 | 
						|
	cygheap_pwdgrp member "pg".
 | 
						|
	* cygtls.h (struct _local_storage): Remove unused member "res".
 | 
						|
	Rearrange slightly, Add members pwbuf and grbuf to implement non-caching
 | 
						|
	passwd/group fetching from SAM/AD.  Make pw_pos and pw_pos unsigned.
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Add RFC 2307
 | 
						|
	uid/gid mapping.
 | 
						|
	* fhandler_process.cc: Drop including pwdgrp.h.
 | 
						|
	* fhandler_procsysvipc.cc: Ditto.
 | 
						|
	* fhandler_registry.cc (fhandler_registry::fstat): Set key uid/gid
 | 
						|
	to ILLEGAL_UID/ILLEGAL_GID rather than UNKNOWN_UID/UNKNOWN_GID.
 | 
						|
	* grp.cc (group_buf): Drop.
 | 
						|
	(gr): Drop.
 | 
						|
	(pwdgrp::parse_group): Fill pg_grp.
 | 
						|
	(pwdgrp::read_group): Remove.
 | 
						|
	(pwdgrp::init_grp): New method.
 | 
						|
	(pwdgrp::prep_tls_grbuf): New method.
 | 
						|
	(pwdgrp::find_group): New methods.
 | 
						|
	(internal_getgrsid): Convert to call new pwdgrp methods.
 | 
						|
	(internal_getgrnam): Ditto.
 | 
						|
	(internal_getgrgid): Ditto.
 | 
						|
	(getgrgid_r): Drop 2nd parameter from internal_getgrgid call.
 | 
						|
	(getgrgid32): Ditto.
 | 
						|
	(getgrnam_r): Ditto for internal_getgrnam.
 | 
						|
	(getgrnam32): Ditto.
 | 
						|
	(getgrent32): Convert to call new pwdgrp methods.
 | 
						|
	(internal_getgrent): Remove.
 | 
						|
	(internal_getgroups): Simplify, especially drop calls to
 | 
						|
	internal_getgrent.
 | 
						|
	* ldap.cc: New file implementing cyg_ldap class for LDAP access to AD
 | 
						|
	and RFC 2307 server.
 | 
						|
	* ldap.h: New header, declaring cyg_ldap class.
 | 
						|
	* passwd.cc (passwd_buf): Drop.
 | 
						|
	(pr): Drop.
 | 
						|
	(pwdgrp::parse_passwd): Fill pg_pwd.
 | 
						|
	(pwdgrp::read_passwd): Remove.
 | 
						|
	(pwdgrp::init_pwd): New method.
 | 
						|
	(pwdgrp::prep_tls_pwbuf): New method.
 | 
						|
	(find_user): New methods.
 | 
						|
	(internal_getpwsid): Convert to call new pwdgrp methods.
 | 
						|
	(internal_getpwnam): Ditto.
 | 
						|
	(internal_getpwuid): Ditto.
 | 
						|
	(getpwuid32): Drop 2nd parameter from internal_getpwuid call.
 | 
						|
	(getpwuid_r): Ditto.
 | 
						|
	(getpwnam): Ditto for internal_getpwnam.
 | 
						|
	(getpwnam_r): Ditto.
 | 
						|
	(getpwent): Convert to call new pwdgrp methods.
 | 
						|
	* path.cc (class etc): Remove all methods.
 | 
						|
	* path.h (class etc): Drop.
 | 
						|
	* pinfo.cc (pinfo_basic::pinfo_basic): Set gid to ILLEGAL_GID rather
 | 
						|
	than UNKNOWN_GID.
 | 
						|
	(pinfo_init): Ditto.
 | 
						|
	* pwdgrp.h (internal_getpwnam): Drop 2nd parameter from declaration.
 | 
						|
	(internal_getpwuid): Ditto.
 | 
						|
	(internal_getgrgid): Ditto.
 | 
						|
	(internal_getgrnam): Ditto.
 | 
						|
	(internal_getgrent): Drop declaration.
 | 
						|
	(enum fetch_user_arg_type_t): New type.
 | 
						|
	(struct fetch_user_arg_t): New type.
 | 
						|
	(struct pg_pwd): New type.
 | 
						|
	(struct pg_grp): New type.
 | 
						|
	(class pwdgrp): Rework to provide functions for file and db requests
 | 
						|
	and caching.
 | 
						|
	(class ugid_cache_t): New class to provide RFC 2307 uid map caching.
 | 
						|
	(ugid_cache): Declare.
 | 
						|
	* sec_acl.cc: Drop including pwdgrp.h.
 | 
						|
	* sec_auth.cc: Drop including dsgetdc.h and pwdgrp.h.
 | 
						|
	(get_logon_server): Convert third parameter to ULONG flags argument
 | 
						|
	to allow arbitrary flags values in DsGetDcNameW call and change calls
 | 
						|
	to this function throughout.  Use cached account domain name rather
 | 
						|
	than calling GetComputerNameW.
 | 
						|
	(get_unix_group_sidlist): Remove.
 | 
						|
	(get_server_groups): Drop call to get_unix_group_sidlist.
 | 
						|
	(verify_token): Rework token group check without calling
 | 
						|
	internal_getgrent.
 | 
						|
	* sec_helper.cc (cygpsid::pstring): New methods, like string() but
 | 
						|
	return pointer to end of string.
 | 
						|
	(cygsid::getfromstr): Add wide character implementation.
 | 
						|
	(get_sids_info): Add RFC 2307 uid/gid mapping for Samba shares.
 | 
						|
	* security.cc: Drop including pwdgrp.h.
 | 
						|
	* security.h (DEFAULT_UID): Remove.
 | 
						|
	(UNKNOWN_UID): Remove.
 | 
						|
	(UNKNOWN_GID): Remove.
 | 
						|
	(uinfo_init): Move here from winsup.h.
 | 
						|
	(ILLEGAL_UID): Ditto.
 | 
						|
	(ILLEGAL_GID): Ditto.
 | 
						|
	(UNIX_POSIX_OFFSET): Define.  Add lengthy comment.
 | 
						|
	(UNIX_POSIX_MASK): Ditto.
 | 
						|
	(MAP_UNIX_TO_CYGWIN_ID): Ditto.
 | 
						|
	(ILLEGAL_UID16): Move here from winsup.h.
 | 
						|
	(ILLEGAL_GID16): Ditto.
 | 
						|
	(uid16touid32): Ditto.
 | 
						|
	(gid16togid32): Ditto.
 | 
						|
	(sid_id_auth): New convenience macro for SID component access.
 | 
						|
	(sid_sub_auth_count): Ditto.
 | 
						|
	(sid_sub_auth): Ditto.
 | 
						|
	(sid_sub_auth_rid): Ditto.
 | 
						|
	(cygpsid::pstring): Declare.
 | 
						|
	(cygsid::getfromstr): Declare wide character variant.
 | 
						|
	(cygsid::operator=): Ditto.
 | 
						|
	(cygsid::operator*=): Ditto.
 | 
						|
	(get_logon_server): Change declaration according to source code.
 | 
						|
	* setlsapwd.cc (setlsapwd): Drop 2nd parameter from internal_getpwnam
 | 
						|
	call.
 | 
						|
	* shared.cc (memory_init): Call cygheap->pg.init in first process.
 | 
						|
	* syscalls.cc: Drop including pwdgrp.h.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
	* tlsoffsets64.h: Ditto.
 | 
						|
	* uinfo.cc (internal_getlogin): Drop gratuitious internal_getpwuid
 | 
						|
	call.  Fix debug output.  Overwrite user gid in border case of a
 | 
						|
	missing passwd file while a group file exists.
 | 
						|
	(pwdgrp::add_line): Allocate memory on cygheap.
 | 
						|
	(pwdgrp::load): Remove.
 | 
						|
	(ugid_cache): Define.
 | 
						|
	(cygheap_pwdgrp::init): New method.
 | 
						|
	(cygheap_pwdgrp::nss_init_line): New method.
 | 
						|
	(cygheap_pwdgrp::_nss_init): New method.
 | 
						|
	(cygheap_domain_info::init): New method.
 | 
						|
	(logon_sid): Define.
 | 
						|
	(get_logon_sid): New function.
 | 
						|
	(pwdgrp::add_account_post_fetch): New method.
 | 
						|
	(pwdgrp::add_account_from_file): New methods.
 | 
						|
	(pwdgrp::add_account_from_windows): New methods.
 | 
						|
	(pwdgrp::check_file): New method.
 | 
						|
	(pwdgrp::fetch_account_from_line): New method.
 | 
						|
	(pwdgrp::fetch_account_from_file): New method.
 | 
						|
	(pwdgrp::fetch_account_from_windows): New method.
 | 
						|
	* winsup.h: Move aforementioned macros and declarations to security.h.
 | 
						|
 | 
						|
2014-02-09  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (sig_send): Don't bother with an error message if we are
 | 
						|
	exiting.
 | 
						|
 | 
						|
2014-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.h (class NT_readline): New class to implement line-wise
 | 
						|
	reading from file using native NT functions.
 | 
						|
	* miscfuncs.cc (NT_readline::init): New method.
 | 
						|
	(NT_readline::fgets): New method.
 | 
						|
	* mount.cc (mount_info::from_fstab): Utilize NT_readline to read
 | 
						|
	fstab files.
 | 
						|
 | 
						|
2014-02-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::fchown): Fix typo in
 | 
						|
	comment.
 | 
						|
	* mount.cc (mount_info::from_fstab): Use tmp_pathbuf rather than
 | 
						|
	stack for big local buffer.
 | 
						|
	* net.cc (cygwin_gethostname): Call GetComputerNameExA rather than
 | 
						|
	GetComputerNameA if gethostname failed.
 | 
						|
	* shared.cc (user_info::initialize): Fix formatting.
 | 
						|
 | 
						|
2014-02-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/sys/file.h: Define flock and accompanying macros if not
 | 
						|
	already defined in sys/_default_fcntl.h.
 | 
						|
 | 
						|
2014-02-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 29.
 | 
						|
 | 
						|
2014-01-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dir.cc (opendir): Call set_unique_id only with valid fh.
 | 
						|
 | 
						|
2014-01-30  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (cltype): Add cl_buf_beg, cl_buf_end.
 | 
						|
	* fhandler_console.cc (dev_console::console_attrs::set_cl_x): Honor
 | 
						|
	buffer locations.
 | 
						|
	(dev_console::console_attrs::set_cl_y): Ditto.
 | 
						|
	(fhandler_console::write): On reset, use absolute positioning to go to
 | 
						|
	beginning of buffer.  Clear entire buffer.
 | 
						|
 | 
						|
2014-01-27  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* gendef (_setjmp (x86)): Save FPU control word location in sequential
 | 
						|
	location.  Adjust sigstack save accordingly.
 | 
						|
	(_longjmp (x86)): Ditto for restore.
 | 
						|
 | 
						|
2014-01-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* gendef (sigdelayed (x86_64)): Save and restore FPU control word.
 | 
						|
	(_sigdelayed (x86)): Ditto.  Save and restore XMM registers.  Add
 | 
						|
	comment.
 | 
						|
	(_setjmp (x86)): Save FPU control word, following FreeBSD here.
 | 
						|
	(_longjmp (x86)): Restore FPU control word.
 | 
						|
 | 
						|
2014-01-24  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* winf.cc (linebuf::fromargv): Treat '=' as a special character.
 | 
						|
 | 
						|
2014-01-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* security.h (open_local_policy): Remove declaration.
 | 
						|
	(lsa_open_policy): Declare.
 | 
						|
	(lsa_close_policy): Declare.
 | 
						|
	* sec_auth.cc (lsa_open_policy): Rename from open_local_policy.  Take
 | 
						|
	server name as parameter.  Return NULL in case of error, rather than
 | 
						|
	INVALID_HANDLE_VALUE.
 | 
						|
	(lsa_close_policy): Rename from close_local_policy.  Make externally
 | 
						|
	available.  Get handle by value.
 | 
						|
	(create_token): Convert call to open_local_policy/close_local_policy
 | 
						|
	according to aforementioned changes.
 | 
						|
	(lsaauth): Ditto.
 | 
						|
	(lsaprivkeyauth): Ditto.
 | 
						|
	* setlsapwd.cc (setlsapwd): Ditto.
 | 
						|
 | 
						|
2014-01-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (etc::test_file_change): In case of NtQueryFullAttributesFile
 | 
						|
	returning an error, only return true if file actually exists.
 | 
						|
 | 
						|
2014-01-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/in6.h (struct ipv6_rt_hdr): Define.
 | 
						|
	* include/cygwin/socket.h: Fix formatting.
 | 
						|
	(IP_UNICAST_IF): Define.
 | 
						|
	(IPV6_JOIN_GROUP): Remove Windowism.
 | 
						|
	(IPV6_LEAVE_GROUP): Ditto.
 | 
						|
	(IPV6_UNICAST_IF): Define.
 | 
						|
	(IPV6_TCLASS): Ditto.
 | 
						|
	(IPV6_RECVTCLASS): Ditto.
 | 
						|
 | 
						|
2014-01-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/netinet/ip6.h: New file, copied from FreeBSD vebatim.
 | 
						|
 | 
						|
2014-01-17  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* dtable.h (dtable::lock): Revert static.
 | 
						|
	(dtable::unlock): Ditto.
 | 
						|
 | 
						|
2014-01-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (setpassent): Align to BSD definition.
 | 
						|
 | 
						|
2014-01-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (popen): Introduce Glibc 'e' flag to allow thread-safe
 | 
						|
	opening of the pipe with O_CLOEXEC flag.  Simplify FD_CLOEXEC handling.
 | 
						|
 | 
						|
2014-01-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/sys/file.h (LOCK_SH): Drop definition in favor of new
 | 
						|
	definitions in newlib.
 | 
						|
	(LOCK_EX): Ditto.
 | 
						|
	(LOCK_NB): Ditto.
 | 
						|
	(LOCK_UN): Ditto.
 | 
						|
	(flock): Ditto.
 | 
						|
	(F_OK): Drop.  Already correctly defined in unistd.h.
 | 
						|
	(X_OK): Ditto.
 | 
						|
	(W_OK): Ditto.
 | 
						|
	(R_OK): Ditto.
 | 
						|
 | 
						|
2014-01-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/config.h (_STDIO_BSD_SEMANTICS): Define as 1.
 | 
						|
 | 
						|
2014-01-16  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* dtable.h (dtable::lock): Make static.
 | 
						|
	(dtable::unlock): Ditto.
 | 
						|
 | 
						|
2014-01-08  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* exception.h (cygwin_exception::open_stackdumpfile): Move old
 | 
						|
	function into class.
 | 
						|
	(cygwin_exception::h): New member.
 | 
						|
	(cygwin_exception::cygwin_exception): Initialize h to NULL.
 | 
						|
	* exceptions.cc (cygwin_exception::open_stackdumpfile): Move into
 | 
						|
	cygwin_exception class.  Use 'h' class member.
 | 
						|
	(cygwin_exception::dumpstack): Close stack dump file handle if opened.
 | 
						|
 | 
						|
2014-01-04  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (cltype): New enum.
 | 
						|
	(dev_console::console_attrs): Define struct name.
 | 
						|
	(dev_console::console_attrs::set_cl_x): New function.
 | 
						|
	(dev_console::console_attrs::set_cl_y): New function.
 | 
						|
	(fhandler_console::clear_screen): Redefine input params.
 | 
						|
	* fhandler_console.cc: Throughout, reflect change in arguments to
 | 
						|
	fhandler_console::clear_screeen.
 | 
						|
	(fhandler_console::mouse_aware): Simplify logic slightly.
 | 
						|
	(fhandler_console::scroll_screen): Remove hopefully obsolete win95
 | 
						|
	code.
 | 
						|
	(dev_console::console_attrs::set_cl_x): New function.
 | 
						|
	(dev_console::console_attrs::set_cl_y): New function.
 | 
						|
	(fhandler_console::clear_screen): Redefine input params.  Calculate
 | 
						|
	position based on enum value.
 | 
						|
	(region_split): Change arguments.  Simplify.
 | 
						|
	(ReadConsoleOutputWrapper): Remove coord argument since we now always
 | 
						|
	use 0, 0.  Send extra arguments to region_split.
 |