2746 lines
		
	
	
		
			107 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			2746 lines
		
	
	
		
			107 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
2014-12-18  Yaakov Selkowitz  <yselkowitz@cygwin.com>
 | 
						|
 | 
						|
	* common.din (__fbufsize, __flbf, __fpending, __freadable, __freading,
 | 
						|
	__fsetlocking, __fwritable, __fwriting, clearerr_unlocked,
 | 
						|
	feof_unlocked, ferror_unlocked, fflush_unlocked, fgetc_unlocked,
 | 
						|
	fgets_unlocked, fgetwc_unlocked, fgetws_unlocked, fileno_unlocked,
 | 
						|
	fputc_unlocked, fputs_unlocked, fputwc_unlocked, fputws_unlocked,
 | 
						|
	fread_unlocked, fwrite_unlocked, getwc_unlocked, getwchar_unlocked,
 | 
						|
	putwc_unlocked, putwchar_unlocked): Export.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2014-12-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (find_fast_cwd): Point to problem reporting web site rather
 | 
						|
	than to mailing list.
 | 
						|
 | 
						|
2014-12-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (warn_msdos): Slightly reformat.
 | 
						|
	(find_fast_cwd): Change warning message to urge an update before
 | 
						|
	reporting the problem.
 | 
						|
 | 
						|
2014-12-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winver.rc (LegalCopyright): Fix belatedly (uh-oh).
 | 
						|
 | 
						|
2014-12-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* environ.cc (regopt): Remove function.
 | 
						|
	(environ_init): Drop undocumented feature to read application-specific
 | 
						|
	environment variables from the registry.
 | 
						|
	* include/cygwin/version.h (CYGWIN_INFO_PROGRAM_OPTIONS_NAME): Remove.
 | 
						|
 | 
						|
2014-12-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* environ.cc (build_env): Remove loquacious debug statements.
 | 
						|
 | 
						|
2014-12-05  Yaakov Selkowitz  <yselkowitz@cygwin.com>
 | 
						|
 | 
						|
	* common.din (__bsd_qsort_r): Add.
 | 
						|
	(qsort_r): Add.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* flock.cc (create_lock_in_parent): Make lf_obj handle inheritable.
 | 
						|
	Explain why.
 | 
						|
	(lockf_t::create_lock_obj): Use FALSE, rather than 0 for BOOL argument.
 | 
						|
	(lockf_t::del_lock_obj): Check if NtSetEvent succeeded and print system
 | 
						|
	message if not.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (fetch_windows_home): New function fetching Windows-compliant
 | 
						|
	home directory.  Include longish comment to explain what we're doing.
 | 
						|
	(cygheap_pwdgrp::get_home): Take additional sid parameter.  In
 | 
						|
	NSS_SCHEME_WINDOWS case, call fetch_windows_home to create home
 | 
						|
	directory.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Call cygheap_pwdgrp::get_home
 | 
						|
	with additional sid argument.
 | 
						|
	* cygheap.h (cygheap_pwdgrp::get_home): Align declaration to above
 | 
						|
	change.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_user::ontherange): Fix order of fallbacks creating
 | 
						|
	HOMEDRIVE/HOMEPATH values to be Windows-compliant.  Add comments.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (CreateProfile): Import.
 | 
						|
	(LoadUserProfileW): Import.
 | 
						|
	* registry.cc (get_registry_hive_path): Move to sec_auth.cc.
 | 
						|
	(load_registry_hive): Remove.
 | 
						|
	* registry.h (get_registry_hive_path): Drop declaration.
 | 
						|
	(load_registry_hive): Ditto.
 | 
						|
	* sec_auth.cc (get_user_profile_directory): Moved from registry.cc and
 | 
						|
	renamed.  Take third parameter with buffer length.
 | 
						|
	(load_user_profile): New function taking over for load_registry_hive.
 | 
						|
	Use official functions to load profile.  If profile is missing, create
 | 
						|
	it on Vista and later.
 | 
						|
	* security.h (get_user_profile_directory): Declare.
 | 
						|
	(load_user_profile): Declare.
 | 
						|
	* syscalls.cc (seteuid32): Replace call to load_registry_hive with call
 | 
						|
	to load_user_profile.
 | 
						|
	* uinfo.cc (cygheap_user::env_userprofile): Replace call to
 | 
						|
	get_registry_hive_path with call to get_user_profile_directory.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (fetch_from_description): Make static.
 | 
						|
	(fetch_from_path): Ditto.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (CreateEnvironmentBlock): Import.
 | 
						|
	(DestroyEnvironmentBlock): Import.
 | 
						|
	* environ.cc (env_compare): New static bsearch comparison function.
 | 
						|
	(build_env): Add parameter taking a user token.  If token is non-NULL,
 | 
						|
	fetch user's default Windows environment and merge it into the resulting
 | 
						|
	environment.  Explain what we do in preceeding comment.
 | 
						|
	* environ,h (build_env): Align prototype to above change.
 | 
						|
	* external.cc (create_winenv): Call build_env with NULL token.
 | 
						|
	* spawn.cc (child_info_spawn::worker): When spawning new process under
 | 
						|
	another user account, call build_env with new token to allow merging
 | 
						|
	user's default Windows environment.
 | 
						|
	* winlean.h (_USERENV_): Define to override dllimport.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* spawn.cc (child_info_spawn::worker): Fix formatting.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_auth.cc (str2lsa): Remove.
 | 
						|
	(str2buf2lsa): Remove.
 | 
						|
	(lsaauth): Call RtlInitAnsiString instead of str2lsa and str2buf2lsa.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::init_installation_root): Fix typo in
 | 
						|
	comment.
 | 
						|
 | 
						|
2014-12-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (IdnToAscii): Use simpler, equivalent LoadDLLfuncEx.
 | 
						|
	(IdnToUnicode): Ditto.
 | 
						|
 | 
						|
2014-12-01  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* wincap.cc (wincap_minimal): Remove.
 | 
						|
	(wincaps): Drop has_physical_mem_access.
 | 
						|
	(wincap_10): New global wincaps to support Windows 10.
 | 
						|
	(wincapc::init): Use wincap_10 for version >= 6.4 and as default.
 | 
						|
	* wincap.h (wincaps::has_physical_mem_access): remove.
 | 
						|
 | 
						|
2014-11-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::init_tls_list): Accommodate threadlist
 | 
						|
	having a new type threadlist_t *.  Convert commented out code into an
 | 
						|
	#if 0.  Create thread mutex.  Explain why.
 | 
						|
	(init_cygheap::remove_tls): Drop timeout value.  Always wait infinitely
 | 
						|
	for tls_sentry.  Return mutex HANDLE of just deleted threadlist entry.
 | 
						|
	(init_cygheap::find_tls): New implementation taking tls pointer as
 | 
						|
	search parameter.  Return threadlist_t *.
 | 
						|
	(init_cygheap::find_tls): Return threadlist_t *.  Define ix as auto
 | 
						|
	variable.  Drop exception handling since crash must be made impossible
 | 
						|
	due to correct synchronization.  Return with locked mutex.
 | 
						|
	* cygheap.h (struct threadlist_t): Define.
 | 
						|
	(struct init_cygheap): Convert threadlist to threadlist_t type.
 | 
						|
	(init_cygheap::remove_tls): Align declaration to above change.
 | 
						|
	(init_cygheap::find_tls): Ditto.
 | 
						|
	(init_cygheap::unlock_tls): Define.
 | 
						|
	* cygtls.cc (_cygtls::remove): Unlock and close mutex when finishing.
 | 
						|
	* exceptions.cc (sigpacket::process): Lock _cygtls area of thread before
 | 
						|
	accessing it.
 | 
						|
	* fhandler_termios.cc (fhandler_termios::bg_check): Ditto.
 | 
						|
	* sigproc.cc (sig_send): Ditto.
 | 
						|
	* thread.cc (pthread::exit): Ditto.  Add comment.
 | 
						|
	(pthread::cancel): Ditto.
 | 
						|
 | 
						|
2014-11-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::find_tls): Add comment.
 | 
						|
	* cygtls.cc (well_known_dlls): Rephrase comment.
 | 
						|
	(bloda_detect): New function.
 | 
						|
	(_cygtls::call2): Call init_thread and bloda_detect for non-pthread
 | 
						|
	threads only.
 | 
						|
	(_cygtls::remove): Move remove_tls and remove_wq calls up to run first.
 | 
						|
	* miscfuncs.cc (struct pthread_wrapper_arg): Rename from struct
 | 
						|
	thread_wrapper_arg.
 | 
						|
	(pthread_wrapper): Rename from thread_wrapper and drop "static".  Fix
 | 
						|
	comment.  Drop call to _cygtls::remove.  Call api_fatal rather than
 | 
						|
	ExitThread.  Explain why.
 | 
						|
	* miscfuncs.h (pthread_wrapper): Declare pthread_wrapper.
 | 
						|
	* thread.cc (pthread::exit): Add a FIXME comment.  Call _cygtls::remove
 | 
						|
	before calling ExitThread.
 | 
						|
 | 
						|
2014-11-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mount.cc (mount_info::init): Take bool argument and allow to
 | 
						|
	initialize mount table in two steps, system and user, depending on
 | 
						|
	bool value.
 | 
						|
	* mount.h (class mount_info): Align declaration of init function to
 | 
						|
	above change.
 | 
						|
	* shared.cc (user_info::initialize): Initialize mount table in two
 | 
						|
	steps to allow internal_getpwsid to create valid POSIX paths from
 | 
						|
	DOS paths given in AD.  Add comments.
 | 
						|
	* uinfo.cc (cygheap_pwdgrp::get_home): Allow DOS paths in
 | 
						|
	NSS_SCHEME_FREEATTR attributes.
 | 
						|
	(cygheap_pwdgrp::get_shell): Ditto.
 | 
						|
 | 
						|
2014-11-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::find_tls): Allow to keep loop going after
 | 
						|
	access to threadlist[ix] faulted.  In case of an exception, remove
 | 
						|
	threadlist[ix] from threadlist only.  Add comment.
 | 
						|
 | 
						|
2014-11-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (install): Add install-ldif target.
 | 
						|
	(install-ldif): New target to install cygwin.ldif.
 | 
						|
	* cygheap.h (class cygheap_pwdgrp): Rename pfx_t to nss_pfx_t.  Add
 | 
						|
	PFX to enum value.  Add nss_scheme_method enum and nss_scheme_t
 | 
						|
	structure.  Add home_scheme, shell_scheme and gecos_scheme members.
 | 
						|
	(NSS_SCHEME_MAX): Define.
 | 
						|
	(cygheap_pwdgrp::get_home): Declare.
 | 
						|
	(cygheap_pwdgrp::get_shell): Declare.
 | 
						|
	(cygheap_pwdgrp::get_gecos): Declare.
 | 
						|
	* cygwin.ldif: New file.
 | 
						|
	* ldap.cc (std_user_attr): New array, just defining the standard
 | 
						|
	attributes.
 | 
						|
	(group_attr): Add cygwinUnixGid.
 | 
						|
	(user_attr): Convert to macro pointing to cygheap->pg.ldap_user_attr.
 | 
						|
	(cygheap_pwdgrp::init_ldap_user_attr): New method.
 | 
						|
	(cyg_ldap::fetch_ad_account): Call cygheap_pwdgrp::init_ldap_user_attr
 | 
						|
	if user_attr initialization is required.  Fix comment.
 | 
						|
	(cyg_ldap::get_string_attribute): Implement taking attribute name
 | 
						|
	as argument.
 | 
						|
	* ldap.h: Drop unused macros.
 | 
						|
	(cyg_ldap::get_gecos): Remove.
 | 
						|
	(cyg_ldap::get_home): Remove.
 | 
						|
	(cyg_ldap::get_shell): Remove.
 | 
						|
	(cyg_ldap::get_string_attribute): Declare name argument variant public.
 | 
						|
	* uinfo.cc (cygheap_user::ontherange): Fix indentation.
 | 
						|
	(cygheap_pwdgrp::init): Initialize new home_scheme, shell_scheme and
 | 
						|
	gecos_scheme members.  Align comment.
 | 
						|
	(NSS_NCMP): Define comparison macro.
 | 
						|
	(NSS_CMP): Ditto.
 | 
						|
	(cygheap_pwdgrp::nss_init_line): Use aforementioned macros throughout.
 | 
						|
	Fix comment handling.  Add db_home, db_shell and db_gecos handling.
 | 
						|
	(fetch_from_description): New function to fetch XML-style attributes
 | 
						|
	from (description) string.
 | 
						|
	(fetch_from_path): New function to evaluate path string with wildcards.
 | 
						|
	(cygheap_pwdgrp::get_home): New methods to fetch pw_dir value.
 | 
						|
	(cygheap_pwdgrp::get_shell): Ditto for pw_shell.
 | 
						|
	(cygheap_pwdgrp::get_gecos): Ditto for pw_gecos.
 | 
						|
	(colon_to_semicolon): Move up.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Convert home, shell, gecos
 | 
						|
	variables to char*.  Drop statement breaking extended group info.
 | 
						|
	Fetch home, shell and gecos values using new methods.  Use
 | 
						|
	fetch_from_description calls to fetch UNIX id and primary groups from
 | 
						|
	SAM comment field.  Accommodate uxid being a char* now.  Accommodate
 | 
						|
	the fact that extended info is malloc'ed, rather then alloca'ed.
 | 
						|
	Create linebuf content as multibyte string.  Create line buffer by
 | 
						|
	just calling cstrdup.
 | 
						|
 | 
						|
2014-11-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/fcntl.h: Move all open flags (except O_NDELAY) to newlib's
 | 
						|
	sys/_default_fcntl.h.
 | 
						|
 | 
						|
2014-11-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* binmode.c (cygwin_premain0): Don't use underscore'd variants of the
 | 
						|
	open flags.
 | 
						|
	* textmode.c (cygwin_premain0): Ditto.
 | 
						|
 | 
						|
2014-11-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* init.cc (dll_entry): Revert previous patch.  This requires another
 | 
						|
	solution.
 | 
						|
	* miscfuncs.cc (thread_wrapper): Ditto.
 | 
						|
	* sigproc.cc (exit_thread): Disable sending a signal for synchronization
 | 
						|
	with process exit.  Explain why.  Keep code in for later inspection,
 | 
						|
	should the problem show up again.
 | 
						|
	(sig_send): Use "tls", rather than "tid" as name for _cygtls arg.
 | 
						|
 | 
						|
2014-11-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* init.cc (dll_entry): Call _my_tls.remove with INFINITE wait period
 | 
						|
	to avoid SEGVs and subsequent hangs in _cygtls::find_tls.
 | 
						|
	* miscfuncs.cc (thread_wrapper): Ditto.
 | 
						|
 | 
						|
2014-11-20  Iuliu Rus  <rus.iuliu@gmail.com>
 | 
						|
 | 
						|
	* net.cc (fdsock): Change default values for socket buffers on 32 bit
 | 
						|
	to fix performance on 10Gb networks.
 | 
						|
 | 
						|
2014-11-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Allow fetching of
 | 
						|
	NT SERVICE accounts by name.  Always prepend domain to NT SERVICE
 | 
						|
	accounts.  Add U-domain\username string to pw_gecos for predefined
 | 
						|
	builtin accounts as well.
 | 
						|
 | 
						|
2014-11-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_termios.cc (fhandler_termios::line_edit): Fix fatal typo in
 | 
						|
	bytes_read pointer checks.
 | 
						|
 | 
						|
2014-11-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_termios::line_edit): Add parameter to return
 | 
						|
	written bytes.
 | 
						|
	* fhandler_termios.cc (fhandler_termios::tcinit): Fix formatting.
 | 
						|
	(fhandler_termios::line_edit): Return bytes actually written.  Write
 | 
						|
	in 32 byte chunks in non-canonical mode to reduce number of WriteFile
 | 
						|
	calls.  Don't just eat unwritten bytes in case of an error condition.
 | 
						|
	Especially, don't report them back to the caller as written.
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::read): Disable code reducing
 | 
						|
	the number of bytes read from the pipe to vmin.  Add comment.
 | 
						|
	(fhandler_pty_master::write): Convert ret to ssize_t type.  Just call
 | 
						|
	line_edit once, not in a loop once for each byte.  Return bytes written
 | 
						|
	as returned by line_edit.
 | 
						|
 | 
						|
2014-11-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 34.
 | 
						|
 | 
						|
2014-11-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (cygheap_pwdgrp): Remove constants NSS_FILES and NSS_DB.
 | 
						|
	Use NSS_SRC_FILES and NSS_SRC_DB throughout instead.
 | 
						|
	(cygheap_pwdgrp::nss_pwd_src): New inline method.
 | 
						|
	(cygheap_pwdgrp::nss_grp_src): Ditto.
 | 
						|
	* external.cc (cygwin_internal): Add CW_GETNSS_PWD_SRC and
 | 
						|
	CW_GETNSS_GRP_SRC cases.
 | 
						|
	* uinfo.cc: Use NSS_SRC_FILES and NSS_SRC_DB throughout.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GETNSS_PWD_SRC
 | 
						|
	and CW_GETNSS_GRP_SRC.
 | 
						|
	(NSS_SRC_FILES): Define.
 | 
						|
	(NSS_SRC_DB): Define.
 | 
						|
 | 
						|
2014-11-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (cygwin__cxa_atexit): Fetch correct DSO handle value
 | 
						|
	by searching dll list.  Explain why.
 | 
						|
 | 
						|
2014-11-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (cygwin_atexit): Change preceeding comment to reflect
 | 
						|
	API version numbers.
 | 
						|
	* external.cc (cygwin_internal): disable setting cxx_malloc on 64 bit.
 | 
						|
	Add CW_FIXED_ATEXIT case.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_FIXED_ATEXIT.
 | 
						|
	* lib/atexit.c (atexit): Test running Cygwin version by checking
 | 
						|
	return value of cygwin_internal (CW_FIXED_ATEXIT).
 | 
						|
 | 
						|
2014-11-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* lib/atexit.c (atexit): Check for being linked into the executable.
 | 
						|
	If so, call __cxa_atexit with NULL DSO handle.  Explain why.
 | 
						|
	* lib/dso_handle.c: New file providing fallback __dso_handle.
 | 
						|
 | 
						|
2014-11-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (NEW_FUNCTIONS): Add atexit to be not exported.
 | 
						|
	* lib/atexit.c (atexit): New, statically linkable version of atexit.
 | 
						|
	* dcrt0.cc (cygwin_atexit): Add comment to mark this function as old
 | 
						|
	entry point.  Indiscriminately check for DSO of function pointer for
 | 
						|
	all functions, if checking for DSO of return address fails on x86_64.
 | 
						|
	Change comment accordingly.
 | 
						|
 | 
						|
2014-11-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (NEW_FUNCTIONS): Define target-independent.  Add target
 | 
						|
	dependent stuff afterwards.  Globally define timezone and all xdr
 | 
						|
	symbols as non-exported from libcygwin.a.
 | 
						|
 | 
						|
2014-11-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc: Fix formatting.
 | 
						|
 | 
						|
2014-10-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_user::ontherange): Don't mention /etc/passwd.
 | 
						|
 | 
						|
2014-10-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::init_installation_root): Create content of
 | 
						|
	installation_dir as non-prefixed path, if possible.
 | 
						|
 | 
						|
2014-10-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* common.din (__cxa_atexit): Define as cygwin__cxa_atexit.
 | 
						|
	* dcrt0.cc (cygwin__cxa_atexit): New function.  Explain what we do.
 | 
						|
 | 
						|
2014-10-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* globals.cc (dos_file_warning): Set to false by default.
 | 
						|
	* path.cc (warn_msdos): Make static.  Drop test for dos_file_warning.
 | 
						|
	(path_conv::check): Check for dos_file_warning here to avoid a function
 | 
						|
	call in the default case.
 | 
						|
 | 
						|
2014-10-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (cygwin_atexit): Add workaround for broken atexit calls
 | 
						|
	in __gcc_register_frame of DLLs built with gcc-4.8.3-3.
 | 
						|
 | 
						|
2014-10-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dlfcn.cc (dlopen): Drop patch accommodating SetDllDiretory from
 | 
						|
	2014-10-14.
 | 
						|
 | 
						|
2014-10-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (cygheap_fixup_in_child): Drop call to set_dll_dir.
 | 
						|
	(init_cygheap::init_installation_root): Set installation_dir_len.
 | 
						|
	(setup_cygheap): Drop call to set_dll_dir.
 | 
						|
	* cygheap.h (struct init_cygheap): Add installation_dir_len member.
 | 
						|
	(init_cygheap::set_dll_dir): Remove.
 | 
						|
	* environ.cc (win_env::add_cache): Use stpcpy for speed.
 | 
						|
	(posify_maybe): Use tmp_pathbuf buffer instead of stack.
 | 
						|
	(raise_envblock): New function to resize Windows environment block.
 | 
						|
	(build_env): Fix indentation.  Call raise_envblock function.  Check if
 | 
						|
	$PATH exists and is non-empty.  If not, add PATH variable with Cygwin
 | 
						|
	installation directory as content to Windows environment.  Explain why.
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_pwdgrp::_nss_init): Fill UNICODE_STRING members
 | 
						|
	on the fly.  Drop call to RtlInitUnicodeString.
 | 
						|
	(pwdgrp::check_file): Ditto.
 | 
						|
 | 
						|
2014-10-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::af_local_connect): Drop
 | 
						|
	setting connect_state to connect_credxchg.
 | 
						|
	(fhandler_socket::af_local_accept): Ditto.
 | 
						|
	(fhandler_socket::recv_internal): Drop ill-advised connect_state check.
 | 
						|
	Add comment so as not to repeat the exercise.
 | 
						|
	* fhandler.h (enum conn_state): Drop now unneeded connect_credxchg
 | 
						|
	state.
 | 
						|
 | 
						|
2014-10-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_proc.cc (format_proc_cygdrive): Fix symlink path if cygdrive
 | 
						|
	is "/".
 | 
						|
 | 
						|
2014-10-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* gendef (sigdelayed): 64 bit only: Fix seh_pushreg statements in
 | 
						|
	prologue.
 | 
						|
 | 
						|
2014-10-24  Kai Tietz  <corinna@vinschen.de>
 | 
						|
	    Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* gendef (sigdelayed): 64 bit only: Push CPU flags before aligning
 | 
						|
	stack to avoid changing flag values.
 | 
						|
 | 
						|
2014-10-22  Yaakov Selkowitz  <yselkowi@redhat.com>
 | 
						|
 | 
						|
	* common.din (stime): Export.
 | 
						|
	* times.cc (stime): New function.
 | 
						|
	* include/cygwin/time.h (stime): Declare.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2014-10-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_auth.cc (get_user_groups): Remove experimental exception handler
 | 
						|
	added 2014-09-05.
 | 
						|
	(get_user_local_groups): Ditto.
 | 
						|
 | 
						|
2014-10-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_serial.cc: Revert debug code accidentally checked in on
 | 
						|
	2014-08-18.
 | 
						|
 | 
						|
2014-10-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (symlink_info::check): Set error from status code if opening
 | 
						|
	the parent directory failed, but keep special case for root dirs.
 | 
						|
 | 
						|
2014-10-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (cygheap_fixup_in_child): Call set_dll_dir.
 | 
						|
	(init_cygheap::init_installation_root): Just memmove contents of
 | 
						|
	installation_root instead of calling GetModuleFileNameW again.
 | 
						|
	Copy installation_root to installation_dir before stripping of
 | 
						|
	"bin" dir.  Don't call SetDllDirectory here.  Explain what we do.
 | 
						|
	(setup_cygheap): New function taking over initial cygheap setup
 | 
						|
	from memory_init.  Additionally call set_dll_dir.
 | 
						|
	* cygheap.h (struct init_cygheap): Add installation_dir member.
 | 
						|
	(init_cygheap::set_dll_dir): Define.
 | 
						|
	(setup_cygheap): Declare.
 | 
						|
	* dcrt0.cc: Throughout drop parameter from memory_init call.
 | 
						|
	(dll_crt0_0): Call setup_cygheap prior to memory_init.
 | 
						|
	* dlfcn.cc (dlopen): Change comment to point to the right function.
 | 
						|
	* shared.cc (memory_init): Drop parameter.  Drop cygheap setup.
 | 
						|
	* shared_info.h (memory_init): Change declaration accordingly.
 | 
						|
 | 
						|
2014-10-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygtls.h (__try): Define __l_endtry as block-local label in 32 bit
 | 
						|
	case as well.
 | 
						|
 | 
						|
2014-10-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (DLL_OFILES): Add quotactl.o.
 | 
						|
	* common.din (quotactl): Export.
 | 
						|
	* ntdll.h: Define FILE_FS_CONTROL_INFORMATION::FileSystemControlFlags
 | 
						|
	flag values.
 | 
						|
	(struct _FILE_FS_CONTROL_INFORMATION): Define.
 | 
						|
	(struct _FILE_GET_QUOTA_INFORMATION): Define.
 | 
						|
	(typedef struct _FILE_QUOTA_INFORMATION): Define.
 | 
						|
	(NtQueryObject): Use PVOID rather than VOID*.
 | 
						|
	(NtQueryVolumeInformationFile): Ditto.
 | 
						|
	(NtQueryQuotaInformationFile): Declare.
 | 
						|
	(NtSetQuotaInformationFile): Declare.
 | 
						|
	(NtSetVolumeInformationFile): Declare.
 | 
						|
	* quotactl.cc: New file implementing quotactl().
 | 
						|
	* include/sys/mount.h (BLOCK_SIZE): Define.
 | 
						|
	(BLOCK_SIZE_BITS): Define.
 | 
						|
	* include/sys/quota.h: New header.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2014-10-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (DLL_OFILES): Rearrange with one file per line.
 | 
						|
 | 
						|
2014-10-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_proc.cc (format_proc_partitions): Extend output to print
 | 
						|
	the windows mount points the device is mounted on.
 | 
						|
 | 
						|
2014-10-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::connect): Don't change state
 | 
						|
	on WSAEALREADY error.  Change comment accordingly.
 | 
						|
 | 
						|
2014-10-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (init_cygheap::init_installation_root): Install Cygwin's
 | 
						|
	installation dir as DLL search path, instead of ".".
 | 
						|
	* cygheap.h (class cwdstuff): Add parameter names in function
 | 
						|
	declarations for readability.
 | 
						|
	(cwdstuff::get): Add inline implementation fetching the CWD as wide char
 | 
						|
	string.
 | 
						|
	* dlfcn.cc (dlopen): Add searching for dependent DLLs in DLL
 | 
						|
	installation dir or CWD, if all else failed.
 | 
						|
	Add comment to explain scenarios this is accommodating.
 | 
						|
 | 
						|
2014-10-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::connect): Init connect_state to
 | 
						|
	connect_pending only on unconnected socket.  Set connect_state to
 | 
						|
	connected on WSAEISCONN error.  Set connect_state to connect_failed
 | 
						|
	on any other error except WSAEWOULDBLOCK if connect is still pending.
 | 
						|
	Add lots of comment to explain why all of the above.
 | 
						|
 | 
						|
2014-10-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (cygwin_setsockopt): Drop redundant test for AF_LOCAL and
 | 
						|
	SOCK_STREAM in SO_PEERCRED case, as in the original patch.
 | 
						|
 | 
						|
2014-10-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dlfcn.cc (gfpod_helper): Only check for POSIX dir separator, same as
 | 
						|
	in get_full_path_of_dll.
 | 
						|
 | 
						|
2014-10-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dlfcn.cc (set_dl_error): Drop useless __stdcall.
 | 
						|
	(check_path_access): Ditto.  Drop FE_CWD from call to find_exec.
 | 
						|
	(gfpod_helper): Call path_conv::check for all paths containing a dir
 | 
						|
	separator to more closely follow the Linux search algorithm.
 | 
						|
	(get_full_path_of_dll): Drop useless __stdcall.
 | 
						|
	(dlopen): Simplify RTLD_NOLOAD case by calling GetModuleHandleEx
 | 
						|
	instead of GetModuleHandle/LoadLibrary.
 | 
						|
 | 
						|
2014-10-11  Christian Franke  <franke@computer.org>
 | 
						|
 | 
						|
	Add setsockopt(sd, SOL_SOCKET, SO_PEERCRED, NULL, 0) to disable
 | 
						|
	initial handshake on AF_LOCAL sockets.
 | 
						|
	* fhandler.h (class fhandler_socket): Add no_getpeereid status flag.
 | 
						|
	(fhandler_socket::af_local_set_no_getpeereid): New prototype.
 | 
						|
	* fhandler_socket.cc (fhandler_socket::af_local_connect): Skip handshake
 | 
						|
	if no_getpeereid is set.  Add debug output.
 | 
						|
	(fhandler_socket::af_local_accept): Likewise.
 | 
						|
	(fhandler_socket::af_local_set_no_getpeereid): New function.
 | 
						|
	(fhandler_socket::af_local_copy): Copy no_getpeereid.
 | 
						|
	(fhandler_socket::getpeereid): Fail if no_getpeereid is set.
 | 
						|
	* net.cc (cygwin_setsockopt): Add SO_PEERCRED for AF_LOCAL/SOCK_STREAM
 | 
						|
	sockets.  Add comment to explain why we need it.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2014-10-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::af_local_connect): Drop outdated
 | 
						|
	comment.
 | 
						|
	(fhandler_socket::evaluate_events): Only set connect_state and call
 | 
						|
	af_local_connect if connect_state is connect_pending.  Explain why.
 | 
						|
	Drop redundant test for socket family and type.
 | 
						|
	(fhandler_socket::connect): Extend comment.
 | 
						|
 | 
						|
2014-10-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::evaluate_events): Handle
 | 
						|
	connect_state and af_local_connect connect call here, once, independent
 | 
						|
	of FD_CONNECT being requested.  Add comment to explain why.
 | 
						|
	(fhandler_socket::connect): Drop connect_state handling and calling
 | 
						|
	af_local_connect.  Move remaining AF_LOCAL stuff prior  to calling
 | 
						|
	::connect and explain why.  Simplify error case.
 | 
						|
	* poll.cc (poll): Handle connect state independently of POLLOUT being
 | 
						|
	requested for the descriptor to allow setting POLLIN if connect failed.
 | 
						|
	Add comment.
 | 
						|
	* select.cc (set_bits): Drop connect_state and AF_LOCAL handling here.
 | 
						|
 | 
						|
2014-10-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::evaluate_events): Slightly
 | 
						|
	rearrange code.  Rephrase a comment.
 | 
						|
 | 
						|
2014-10-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dlfcn.cc (dlopen): Disable old 32 bit code on 64 bit.
 | 
						|
	* dcrt0.cc (check_sanity_and_sync): Ditto.
 | 
						|
	* dll_init.cc (dll_dllcrt0_1): Fix typo in comment.
 | 
						|
 | 
						|
2014-10-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_procsys.cc (fhandler_procsys::readdir): Just test
 | 
						|
	ObjectTypeName for object types rather than calling lstat to avoid
 | 
						|
	performance hit.
 | 
						|
	* globals.cc (ro_u_natdir): Define.
 | 
						|
	(ro_u_natsyml): Define.
 | 
						|
	(ro_u_natdev): Define.
 | 
						|
 | 
						|
2014-10-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Set d_type
 | 
						|
	for virtual directories.
 | 
						|
 | 
						|
2014-10-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_proc.cc (fhandler_proc::readdir): Set dirent d_type.
 | 
						|
	* fhandler_process.cc (fhandler_process::readdir): Ditto.
 | 
						|
	* fhandler_procnet.cc (fhandler_procnet::readdir): Ditto.
 | 
						|
	* fhandler_procsys.cc (fhandler_procsys::readdir): Ditto.
 | 
						|
	* fhandler_procsysvipc.cc (fhandler_procsysvipc::readdir): Ditto.
 | 
						|
	*  fhandler_virtual.h (virt_ftype_to_dtype): Define new inline function
 | 
						|
	to generate dirent d_type from virtual_ftype_t.
 | 
						|
 | 
						|
2014-10-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* common.din (ffsl): Export.
 | 
						|
	(ffsll): Export.
 | 
						|
	* syscalls.cc (ffs): Implement using GCC intrinsic.
 | 
						|
	(ffsl): Ditto.
 | 
						|
	(ffsll): Ditto.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
 | 
						|
 | 
						|
2014-10-08  Christian Franke  <franke@computer.org>
 | 
						|
 | 
						|
	* syscalls.cc (ffs): Fix crash of ffs (0x80000000) on 64 bit.
 | 
						|
 | 
						|
2014-10-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_process.cc (format_process_statm): Fix output of dirty
 | 
						|
	pages.  Add linefeed.
 | 
						|
 | 
						|
2014-09-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_proc.cc (proc_tab): Add entry for cygdrive symlink.
 | 
						|
	(format_proc_cygdrive): New function to implement /proc/cygdrive.
 | 
						|
 | 
						|
2014-09-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exception.h (class exception): Remove unnecessary #ifdef.
 | 
						|
	* uinfo.cc (client_request_pwdgrp::client_request_pwdgrp): Fix length
 | 
						|
	counter to include trailing NUL.
 | 
						|
 | 
						|
	* sec_auth.cc (get_user_groups): Add experimental exception handler.
 | 
						|
	(get_user_local_groups): Ditto.
 | 
						|
 | 
						|
2014-09-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Handle APPLICATION
 | 
						|
	PACKAGE AUTHORITY SIDs.
 | 
						|
	* winlean.h (DNLEN): Raise to 31.  Explain why.
 | 
						|
 | 
						|
2014-09-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_acl.cc (aclcheck32): Check for required default entries as well.
 | 
						|
	Enable check for missing CLASS_OBJ entries, now that setfacl creates
 | 
						|
	them.
 | 
						|
 | 
						|
2014-09-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_acl.cc (aclsort32): Set errno to EINVAL if aclcheck32 failed.
 | 
						|
 | 
						|
2014-08-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Disallow user accounts
 | 
						|
	as groups.  Add comment.
 | 
						|
 | 
						|
2014-08-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_pwdgrp::init): Fix comment.  Rearrange code for
 | 
						|
	style.
 | 
						|
	(cygheap_pwdgrp::nss_init_line): Disable db_prefix and db_separator
 | 
						|
	settings.  Add comment.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Drop outdated comment.  Fix code
 | 
						|
	fetching primary group gid of group setting in SAM description field.
 | 
						|
	Change comment accordingly.
 | 
						|
 | 
						|
2014-08-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Disallow creating an
 | 
						|
	entry for "NULL SID".
 | 
						|
 | 
						|
2014-08-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_acl.cc (setacl): Add comment.  Handle NULL ACE for SUID, SGID,
 | 
						|
	and VTX bits.  Create owner, group, other and NULL entries in the same
 | 
						|
	way and in the same order as alloc_sd.
 | 
						|
	(getacl): Skip NULL ACE.
 | 
						|
 | 
						|
2014-08-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::facl): Drop CLASS_OBJ entry.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::facl): Ditto in noacl case.
 | 
						|
	* sec_acl.cc (getacl): Compute useful fake CLASS_OBJ and DEF_CLASS_OBJ
 | 
						|
	permission bits based on how these values are generated on Linux.
 | 
						|
	Add comments to explain what the code is doing.
 | 
						|
	* security.cc (get_attribute_from_acl): Compute group permission based
 | 
						|
	on the actual primary group permissions and all secondary user and group
 | 
						|
	ACCESS_ALLOWED_ACEs to emulate Linux' behaviour more closely.
 | 
						|
	(check_access): Fix typos im comment.
 | 
						|
	* include/cygwin/acl.h (MIN_ACL_ENTRIES): Redefine as 3.
 | 
						|
 | 
						|
2014-08-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Try the
 | 
						|
	FileFsSizeInformation information class on filesystems choking on
 | 
						|
	FileFsFullSizeInformation (I see you Netapp!)
 | 
						|
 | 
						|
2014-08-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_pty_slave::fch_open_handles): Add bool parameter
 | 
						|
	to declaration.
 | 
						|
	* fhandler_tty.cc (fhandler_pty_slave::fch_open_handles): Add bool
 | 
						|
	parameter "chown".  Only request WRITE_OWNER access when opening pty
 | 
						|
	synchronization objects if "chown" is set.
 | 
						|
	(fhandler_pty_slave::fchmod): Call fch_open_handles with new bool
 | 
						|
	parameter set to false.
 | 
						|
	(fhandler_pty_slave::fchown): Call fch_open_handles with new bool
 | 
						|
	parameter set to true.
 | 
						|
	* kernel32.cc (CreateFileMappingW): Fix default standard rights for
 | 
						|
	file mappings from READ_CONTROL to STANDARD_RIGHTS_REQUIRED to allow
 | 
						|
	changing the DACL (fixes "access denied" error in pinfo::set_acl).
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Change debug
 | 
						|
	output to print mode bits in octal.
 | 
						|
	* security.cc (alloc_sd): Ditto.
 | 
						|
	(set_file_attribute): Ditto.
 | 
						|
 | 
						|
2014-08-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ntea.cc (read_ea): Change left-over return to __leave.  Fix
 | 
						|
	condition to close handle.  Call NtClose rather than CloseHandle.
 | 
						|
	(write_ea): Fix condition to close handle.  Call NtClose rather than
 | 
						|
	CloseHandle.
 | 
						|
	* security.cc (get_file_sd): Call pc.init_reopen_attr if a valid
 | 
						|
	incoming handle was given, pc.get_object_attr otherwise.
 | 
						|
	(set_file_sd): Ditto.
 | 
						|
 | 
						|
2014-08-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.h (path_conv::init_reopen_attr): Change from void to returning
 | 
						|
	POBJECT_ATTRIBUTES.  Take OBJECT_ATTRIBUTES reference as argument, not
 | 
						|
	pointer.
 | 
						|
	* fhandler_disk_file.cc: Throughout accommodate above change.
 | 
						|
	* syscalls.cc: Ditto.
 | 
						|
	* ntea.cc (read_ea): Don't set hdl to NULL if it's already NULL.  Set
 | 
						|
	attr with pc.init_reopen_attr before trying to reopen file.
 | 
						|
	(write_ea): Ditto.
 | 
						|
	* security.cc (get_file_sd): Use pc.init_reopen_attr rather than
 | 
						|
	pc.get_object_attr when trying to reopen file.
 | 
						|
	(set_file_sd): Ditto.
 | 
						|
 | 
						|
2014-08-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygtls.cc (san::leave/x86_64): Implement.
 | 
						|
	* cygtls.h (class tls_pathbuf): Move counter variables into a union.
 | 
						|
	Add 64 bit element _counters covering both counter variables to
 | 
						|
	optimize save and restore operations.
 | 
						|
	(class san/x86_64): Only store single 64 bit value.
 | 
						|
	(san::san/x86_64): Implement.
 | 
						|
	(san::leave/x86_64): Only declare here, as returns_twice function.
 | 
						|
	Explain why.
 | 
						|
	(class san/i686): Change type of _c_cnt and _w_cnt to uint32_t.
 | 
						|
	(__try/x86_64): Move definition of __sebastian after the first memory
 | 
						|
	barrier.  Drop __sebastian.setup call.
 | 
						|
 | 
						|
2014-08-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygtls.cc (_cygtls::remove): Revert previous patch.
 | 
						|
	*  cygtls.h (struct _local_storage): Move pathbufs back here.
 | 
						|
	(class san/x86_64): Revert class.  Save and restore pathbufs counters
 | 
						|
	only.
 | 
						|
	(class san/i686): Revert saving and restoring pathbufs counters.
 | 
						|
	(__try/x86_64): Add a san variable and call it's setup method.
 | 
						|
	(__except/x86_64): Call san::leave to restore pathbufs counters.
 | 
						|
	* gendef (_sigbe): Revert previous change.
 | 
						|
	* thread.cc (verifyable_object_state): Remove gcc 4.7 workaround in
 | 
						|
	forward declaration as well.
 | 
						|
	* tls_pbuf.cc (tls_pbuf): Revert previous change.
 | 
						|
	* tls_pbuf.h (class tmp_pathbuf): Accommodate reverting pathbufs to
 | 
						|
	locals structure.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
	* tlsoffsets64.h: Regenerate.
 | 
						|
 | 
						|
2014-08-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Throughout, use __try/__except/__endtry blocks, rather than myfault
 | 
						|
	handler.
 | 
						|
	* cygtls.cc (_cygtls::remove): Accommodate the fact that pathbufs
 | 
						|
	has been moved from _local_storage to _cygtls.
 | 
						|
	* cygtls.h (class tls_pathbuf): Add comment to hint to gendef usage
 | 
						|
	of counters.  Change type of counters to uint32_t for clarity.
 | 
						|
	Remove _cygtls as friend class.
 | 
						|
	(struct _local_storage): Move pathbufs from here...
 | 
						|
	(struct _cygtls): ...to here, allowing to access it from _sigbe.
 | 
						|
	(class san): Only define on 32 bit.  Remove errno, _c_cnt and _w_cnt
 | 
						|
	members.
 | 
						|
	(san::setup): Drop parameter.  Don't initialize removed members.
 | 
						|
	(san::leave): Don't set removed members.
 | 
						|
	(class myfault): Only define on 32 bit.
 | 
						|
	(myfault::faulted): Only keep implementation not taking any parameter.
 | 
						|
	Drop argument in call to sebastian.setup.
 | 
						|
	(__try/__leave/__except/__endtry): Implement to support real SEH.  For
 | 
						|
	now stick to SJLJ on 32 bit.
 | 
						|
	* dcrt0.cc (dll_crt0_0): Drop 64 bit call to
 | 
						|
	exception::install_myfault_handler.
 | 
						|
	* exception.h (exception_handler): Define with EXCEPTION_DISPOSITION
 | 
						|
	as return type.
 | 
						|
	(PDISPATCHER_CONTEXT): Define as void * on 32 bit.  Define as pointer
 | 
						|
	to _DISPATCHER_CONTEXT on 64 bit.
 | 
						|
	(class exception): Define separately for 32 and 64 bit.
 | 
						|
	(exception::myfault): Add handler for myfault SEH handling on 64 bit.
 | 
						|
	(exception::exception): Fix mangled method name to account for change
 | 
						|
	in type of last parameter.
 | 
						|
	(exception::install_myfault_handler): Remove.
 | 
						|
	* exceptions.cc (exception::myfault_handle): Remove.
 | 
						|
	(exception::myfault): New SEH handler for 64 bit.
 | 
						|
	* gendef (_sigbe): Set tls_pathbuf counters to 0 explicitely when
 | 
						|
	returning to the caller.
 | 
						|
	* ntdll.h: Move a comment to a better place.
 | 
						|
	(struct _SCOPE_TABLE): Define on 64 bit.
 | 
						|
	* thread.cc (verifyable_object_isvalid): Remove gcc 4.7 workaround.
 | 
						|
	* tls_pbuf.cc (tls_pbuf): Fix to accommodate new place of pathbufs.
 | 
						|
	(tls_pathbuf::destroy): Change type of loop variables to uint32_t.
 | 
						|
	* tls_pbuf.h (class tmp_pathbuf): Change type of buffer counters to
 | 
						|
	uint32_t.  Accommodate new place of pathbufs.
 | 
						|
	* tlsoffsets.h: Regenerate.
 | 
						|
	* tlsoffsets64.h: Regenerate.
 | 
						|
 | 
						|
2014-08-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc (__import_address): Cover the first dereference to imp
 | 
						|
	under the fault handler.
 | 
						|
 | 
						|
2014-08-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (if_freenameindex): Don't catch a SEGV from free to fail
 | 
						|
	loudly on double free.
 | 
						|
 | 
						|
2014-08-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dir.cc (rmdir): Don't skip deleting fh in the ENOTEMPTY case.
 | 
						|
 | 
						|
2014-08-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* tls_pbuf.h (tmp_pathbuf::tmp_pathbuf): Convert to inline method.
 | 
						|
	(tmp_pathbuf::~tmp_pathbuf): Ditto.
 | 
						|
	* tls_pbuf.cc (tmp_pathbuf::tmp_pathbuf): Remove here.
 | 
						|
	(tmp_pathbuf::~tmp_pathbuf): Ditto.
 | 
						|
 | 
						|
2014-08-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dir.cc (dirfd): Per POSIX, return EINVAL on invalid directory stream.
 | 
						|
	(telldir): Per POSIX, return -1 and set errno to EBADF, rather than
 | 
						|
	just returning 0, on invalid directory stream.
 | 
						|
	* signal.cc (sigwaitinfo): Return -1, not EFAULT, when SEGV was catched.
 | 
						|
 | 
						|
2014-08-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (enum conn_state): Add "connect_credxchg" state.
 | 
						|
	(class fhandler_socket): Grant another bit to connect_state flag.
 | 
						|
	* fhandler_socket.cc (fhandler_socket::af_local_connect): Rearrange
 | 
						|
	variable definition.  Set connect_state to connect_credxchg.
 | 
						|
	(fhandler_socket::af_local_accept): Ditto.
 | 
						|
	(fhandler_socket::recv_internal): Accept connect_credxchg on connection
 | 
						|
	oriented AF_LOCAL sockets as well to allow the credential exchange.
 | 
						|
	Extend comment to explain.
 | 
						|
 | 
						|
2014-08-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc: Replace WNet[...]A with WNet[...]W imports.
 | 
						|
	* dcrt0.cc (initial_env): Drop strlwr calls.  Call strcasestr instead.
 | 
						|
	* fhandler_netdrive.cc: Throughout, convert to calling WNet UNICODE
 | 
						|
	functions.  Use tmp_pathbuf rather than alloca.  Replace call to
 | 
						|
	strlwr with call to RtlDowncaseUnicodeString.
 | 
						|
 | 
						|
2014-08-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_serial::is_tty): Reinstantiate.
 | 
						|
 | 
						|
2014-08-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* miscfuncs.cc (strlwr): Rename from cygwin_strlwr.  Drop __stdcall
 | 
						|
	decoration.
 | 
						|
	(strupr): Rename from cygwin_strupr.  Drop __stdcall decoration.
 | 
						|
	* string.h (strlwr): Remove override macro.  Simply declare.
 | 
						|
	(strupr): Ditto.
 | 
						|
 | 
						|
2014-08-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dtable.cc (dtable::init_std_file_from_handle): Mention that console
 | 
						|
	handles are kernel objects since Windows 8.
 | 
						|
	* fhandler.h (enum conn_state): Add "listener" state.
 | 
						|
	(class fhandler_socket): Drop listener status flag.
 | 
						|
	(fhandler_socket::lseek): Return -1 and errno ESPIPE.
 | 
						|
	(fhandler_serial::lseek): Ditto.
 | 
						|
	(fhandler_serial::is_tty): Remove.
 | 
						|
	* fhandler_socket.cc (fhandler_socket::listen): Set connect_state to
 | 
						|
	listener.  Add comment.
 | 
						|
	(fhandler_socket::accept4): Explicitely check if the socket is listening
 | 
						|
	and fail with EINVAL, if not.  Explain why we have to do that.
 | 
						|
	(fhandler_socket::recv_internal): Explicitely check if the socket is
 | 
						|
	connected if it's a stream socket.  Explain why we have to do that.
 | 
						|
	(fhandler_socket::getpeereid): Drop now redundant test.
 | 
						|
 | 
						|
2014-08-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* winsup.h (_GNU_SOURCE): Define.  Explain why.
 | 
						|
	* configure.ac: Convert to new AC_INIT style.
 | 
						|
	* configure: Regenerate.
 | 
						|
 | 
						|
2014-08-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygerrno.h (seterrno): Define as (always) inline function.
 | 
						|
	* errno.cc (seterrno): Remove.
 | 
						|
 | 
						|
2014-08-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.sgml: Remove.
 | 
						|
	* dtable.sgml: Move into ../doc/misc-funcs.xml.
 | 
						|
	* external.sgml: Ditto.
 | 
						|
	* stackdump.sgml: Ditto.
 | 
						|
 | 
						|
2014-08-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* security.sgml: Move to ../doc dir and rename to logon-funcs.xml.
 | 
						|
 | 
						|
2014-08-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.sgml: Move to ../doc dir and rename to path.xml.
 | 
						|
	* posix.sgml: Move to ../doc dir and rename to posix.xml.
 | 
						|
 | 
						|
2014-08-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dlmalloc.c: Remove unused file.
 | 
						|
	* dlmalloc.h: Ditto.
 | 
						|
	* malloc.cc: Update to Doug Lea's malloc version 2.8.6.
 | 
						|
 | 
						|
2014-08-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 33.
 | 
						|
	(CYGWIN_VERSION_API_MINOR): Bump to reflect intermediate 1.7.32 release.
 | 
						|
 | 
						|
2014-08-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cpuid.h: Add missing copyright header.  Fix formatting.  Use uint32_t
 | 
						|
	instead of unsigned throughout.  Change functions to static inline and
 | 
						|
	always inline.
 | 
						|
	(cpuid): Add parameter to set ecx, allowing to request extended CPUID
 | 
						|
	info.
 | 
						|
	* fhandler_proc.cc (format_proc_cpuinfo): Use uint32_t instead of
 | 
						|
	unsigned throughout.  Add fake decimal places to MHz info.  Handle more
 | 
						|
	feature flags.
 | 
						|
	* fhandler_random.cc (fhandler_dev_random::write): Allow up to 4K
 | 
						|
	input to add entropy.
 | 
						|
	* syscalls.cc: Drop including cpuid.h.
 | 
						|
 | 
						|
2014-08-07  Yaakov Selkowitz  <yselkowi@redhat.com>
 | 
						|
 | 
						|
	* common.din (__cxa_finalize): Export.
 | 
						|
	* dcrt0.cc (cygwin_atexit): Use d->handle with __cxa_atexit.
 | 
						|
	* dll_init.cc (dll_list::detach): Use d->handle with __cxa_finalize.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Use 274 for
 | 
						|
	__cxa_finalize as well.
 | 
						|
 | 
						|
2014-08-04  Anthony Heading  <anthony@ajrh.net>
 | 
						|
 | 
						|
	* include/sys/file.h: Add extern "C".
 | 
						|
 | 
						|
2014-08-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* common.din (__cxa_atexit): Export.
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump to 274.
 | 
						|
 | 
						|
2014-08-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Drop "plus_prepended"
 | 
						|
	as naming style.  Drop enum name_style_t, use a boolean
 | 
						|
	"fully_qualified_name" value instead.  Rework function to drop
 | 
						|
	"plus_prepended" handling througout and default to "name only" style
 | 
						|
	as replacement.
 | 
						|
 | 
						|
2014-07-31  Eric Blake  <eblake@redhat.com>
 | 
						|
 | 
						|
	* include/pthread.h: Decorate attribute names with __, for
 | 
						|
	namespace safety.
 | 
						|
	* include/cygwin/core_dump.h: Likewise.
 | 
						|
	* include/cygwin/cygwin_dll.h: Likewise.
 | 
						|
	* include/sys/cygwin.h: Likewise.
 | 
						|
	* include/sys/strace.h: Likewise.
 | 
						|
 | 
						|
2014-07-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Fix comment.
 | 
						|
 | 
						|
2014-07-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (class cygheap_domain_info): Remove lowest_tdo_posix_offset.
 | 
						|
	* ldap.cc (cyg_ldap::fetch_posix_offset_for_domain): Return UINT32_MAX
 | 
						|
	in case of error.
 | 
						|
	* security.h (PRIMARY_POSIX_OFFSET): Define.
 | 
						|
	(NOACCESS_POSIX_OFFSET): Define.
 | 
						|
	(UNUSABLE_POSIX_OFFSET): Define.
 | 
						|
	* uinfo.cc (cygheap_domain_info::init): Drop initializing
 | 
						|
	lowest_tdo_posix_offset.
 | 
						|
	(pwdgrp::fetch_account_from_file): Set PosixOffset to either
 | 
						|
	UNUSABLE_POSIX_OFFSET or NOACCESS_POSIX_OFFSET in case we don't get a
 | 
						|
	sensible offset from AD.  Explain why.  Drop setting ch
 | 
						|
	lowest_tdo_posix_offset.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Replace constant 0x100000 with
 | 
						|
	PRIMARY_POSIX_OFFSET throughout.
 | 
						|
 | 
						|
2014-07-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::send_internal): Fix value of
 | 
						|
	out_len when tweaking the last buffer so out_len is correct in a
 | 
						|
	subsequent if expression.
 | 
						|
 | 
						|
2014-07-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (pthread::init_mainthread): Initialize thread mutex to
 | 
						|
	type PTHREAD_MUTEX_RECURSIVE, just as for any other thread.
 | 
						|
 | 
						|
2014-07-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 32.
 | 
						|
 | 
						|
2014-07-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc: Fix typo in comment.
 | 
						|
 | 
						|
2014-07-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (pthread::create): Handle stackaddr as upper bound address.
 | 
						|
	Add comment.
 | 
						|
	(pthread_attr_setstack): Store upper bound address in stackaddr.
 | 
						|
	Explain why.
 | 
						|
	(pthread_attr_getstack): Handle stackaddr as upper bound address.
 | 
						|
	Add comment.
 | 
						|
	(pthread_attr_setstackaddr): Add comment.
 | 
						|
	(pthread_attr_getstackaddr): Add comment.
 | 
						|
	(pthread_attr_getstacksize): Return default stacksize if stacksize has
 | 
						|
	not been set by the application, just as on Linux.  Add comment.
 | 
						|
	(pthread_getattr_np): Store upper bound address in stackaddr.  Explain
 | 
						|
	why.
 | 
						|
	* include/pthread.h: Remove outdated comment.
 | 
						|
	(pthread_attr_getstackaddr): Mark as deprecated, as on Linux.
 | 
						|
	(pthread_attr_setstackaddr): Ditto.
 | 
						|
 | 
						|
2014-07-15  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (sigproc_init): Set aside more buffer space for signal
 | 
						|
	pipes.
 | 
						|
	(sig_send): Retry WriteFiles which fail when there is no error but
 | 
						|
	packbytes have not been sent.
 | 
						|
 | 
						|
2014-07-15  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (send_sig): Don't report an error if WriteFile succeeds.
 | 
						|
 | 
						|
2014-07-14  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* sigproc.cc (send_sig): Fix bad format in diagnostic output.
 | 
						|
 | 
						|
2014-07-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* uinfo.cc (cygheap_domain_info::init): Correctly set
 | 
						|
	lowest_tdo_posix_offset to UNIX_POSIX_OFFSET.
 | 
						|
	(fetch_posix_offset): Redesign to fake a POSIX offset in all cases
 | 
						|
	where we can't fetch a non-0 POSIX offset from our primary domain.
 | 
						|
 | 
						|
2014-07-14  Yaakov Selkowitz  <yselkowitz@cygwin.com>
 | 
						|
 | 
						|
	* thread.cc (pthread_mutex::pthread_mutex): Change default type
 | 
						|
	to PTHREAD_MUTEX_NORMAL.
 | 
						|
	(pthread_mutex::unlock): Return EPERM if the mutex has no owner and
 | 
						|
	the mutex type is PTHREAD_MUTEX_ERRORCHECK, as on Linux.
 | 
						|
	(pthread_mutexattr::pthread_mutexattr): Ditto.
 | 
						|
	(pthread_mutex_unlock): Do not fail if mutex is a normal mutex
 | 
						|
	initializer.
 | 
						|
	* include/pthread.h (PTHREAD_MUTEX_INITIALIZER): Redefine as
 | 
						|
	PTHREAD_NORMAL_MUTEX_INITIALIZER_NP.
 | 
						|
 | 
						|
2014-07-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* thread.cc (pthread::create): Use PTHREAD_DEFAULT_STACKSIZE stacksize
 | 
						|
	if attr.stacksize is 0.
 | 
						|
	(pthread_attr::pthread_attr): Initialize stacksize to 0 to align more
 | 
						|
	closely to Linux.
 | 
						|
	(pthread_attr_getstack): Fix incorrect stackaddr computation.  Return
 | 
						|
	stackaddr just like pthread_attr_getstackaddr.  Remove slightly off
 | 
						|
	comment.
 | 
						|
	(pthread_attr_getstackaddr): Remove slightly off comment.
 | 
						|
	(pthread_getattr_np): Return stackaddr and stacksize based on the full
 | 
						|
	allocated stackarea.
 | 
						|
 | 
						|
2014-07-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (exception::myfault_handle): Rephrase comment.
 | 
						|
 | 
						|
2014-07-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (exception::myfault_handle): Fix typo in comment.
 | 
						|
 | 
						|
2014-07-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (exception::myfault_handle): Disable handling
 | 
						|
	STATUS_STACK_OVERFLOW.  Explain why.
 | 
						|
 | 
						|
2014-07-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::send_internal): Improve loop to
 | 
						|
	write streams in chunks of wmem() bytes to raise performance when
 | 
						|
	writing small buffers.  Rename variables and add comments to help
 | 
						|
	understanding the code in years to come.
 | 
						|
 | 
						|
2014-07-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* passwd.cc (pg_ent::enumerate_ad): Revert to simply skipping a domain
 | 
						|
	if opening the connection to the domain fails.
 | 
						|
 | 
						|
2014-07-07  Pierre Humblet  <Pierre.Humblet@ieee.org>
 | 
						|
	    Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* libc/minires.c (minires_dprintf): Change "Minires" to "Resolv" to
 | 
						|
	differ from external minres lib.
 | 
						|
	(res_nquerydomain): Fix off-by-one in domain concatenation.  Add debug
 | 
						|
	output.
 | 
						|
 | 
						|
2014-07-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Add debug
 | 
						|
	output.
 | 
						|
 | 
						|
2014-06-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* errno.cc (errmap): Fix order of SERVICE_REQUEST_TIMEOUT.
 | 
						|
 | 
						|
2014-06-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* errno.cc (errmap): Handle Windows error codes ERROR_CANCELLED,
 | 
						|
	ERROR_CONNECTION_REFUSED, ERROR_DEV_NOT_EXIST, ERROR_DS_GENERIC_ERROR,
 | 
						|
	ERROR_NOT_ENOUGH_QUOTA, ERROR_SERVICE_REQUEST_TIMEOUT, ERROR_TIMEOUT,
 | 
						|
	ERROR_UNEXP_NET_ERR.
 | 
						|
	* ldap.cc (cyg_ldap::map_ldaperr_to_errno): Drop explicit LDAP_TIMEOUT
 | 
						|
	handling.
 | 
						|
 | 
						|
2014-06-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ldap.cc (cyg_ldap::map_ldaperr_to_errno): Explicitely map LDAP_TIMEOUT
 | 
						|
	to EIO.
 | 
						|
 | 
						|
2014-06-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (ldap_search_sW): Replace ldap_search_stW.
 | 
						|
	(LdapMapErrorToWin32): Import.
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Accommodate
 | 
						|
	change to cyg_ldap::open.
 | 
						|
	* ldap.cc (CYG_LDAP_TIMEOUT): Remove.
 | 
						|
	(CYG_LDAP_ENUM_TIMEOUT): Remove.
 | 
						|
	(def_tv): Remove.
 | 
						|
	(enum_tv): Remove.
 | 
						|
	(cyg_ldap::map_ldaperr_to_errno): New method to map LDAP error codes to
 | 
						|
	POSIX errno codes.  Explicitly map LDAP_NO_RESULTS_RETURNED to ENMFILE.
 | 
						|
	(cyg_ldap::wait): Ditto.
 | 
						|
	(struct cyg_ldap_init): New struct.
 | 
						|
	(cyg_ldap::connect_ssl): Return ULONG.  Drop setting LDAP_OPT_TIMELIMIT.
 | 
						|
	Add call to ldap_search_sW to fetch root DSE.
 | 
						|
	(cyg_ldap::connect_non_ssl): Ditto.
 | 
						|
	(ldap_init_thr): New static thread function.
 | 
						|
	(cyg_ldap::connect): New method to call connect_ssl/connect_non_ssl in
 | 
						|
	an interruptible cygthread.
 | 
						|
	(struct cyg_ldap_search): New struct.
 | 
						|
	(cyg_ldap::search_s): New method to perform generic synchronous search.
 | 
						|
	(ldap_search_thr): New static thread function.
 | 
						|
	(cyg_ldap::search): New method to call search_s in an interruptible
 | 
						|
	cygthread.
 | 
						|
	(struct cyg_ldap_next_page): New struct.
 | 
						|
	(cyg_ldap::next_page_s): New method to perform generic synchronous
 | 
						|
	paged search.
 | 
						|
	(ldap_next_page_thr): New static thread function.
 | 
						|
	(cyg_ldap::next_page): New method to call next_page_s in an
 | 
						|
	interruptible cygthread.
 | 
						|
	(cyg_ldap::open): Return POSIX errno.  Call connect method.
 | 
						|
	(cyg_ldap::fetch_ad_account): Call search method rather than
 | 
						|
	ldap_search_stW.
 | 
						|
	(cyg_ldap::enumerate_ad_accounts): Return POSIX errno.  Use infinite
 | 
						|
	timeout in call to ldap_search_init_pageW.
 | 
						|
	(cyg_ldap::next_account): Return POSIX errno.  Call next_page method
 | 
						|
	rather than ldap_get_next_page_s.
 | 
						|
	(cyg_ldap::fetch_posix_offset_for_domain): Call search method rather
 | 
						|
	than ldap_search_stW.
 | 
						|
	(cyg_ldap::fetch_unix_sid_from_ad): Ditto.
 | 
						|
	(cyg_ldap::fetch_unix_name_from_rfc2307): Ditto.
 | 
						|
	* ldap.h (class cyg_ldap): Accommodate aforementioned changes.
 | 
						|
	* passwd.cc (pg_ent::enumerate_ad): Ditto.  Break search if one of
 | 
						|
	cyg_ldap::enumerate_ad_accounts or cldap.next_account returns with
 | 
						|
	an error code other than ENMFILE.
 | 
						|
	* sec_helper.cc (cygpsid::get_id): Accommodate change to cyg_ldap::open.
 | 
						|
	* uinfo.cc (fetch_posix_offset): Ditto.
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* spawn.cc (find_exec): Initialize err (CID 60111).
 | 
						|
	* strace.cc (strace::activate): Fix potential buffer overrun (CID 59938)
 | 
						|
	* syscalls.cc (popen): Close parent pipe descriptor via fclosing fp on
 | 
						|
	error to avoid resource leak (CID 59981).
 | 
						|
	* thread.cc (pthread::exit): Avoid accessing cygtls member after
 | 
						|
	deleting "this" (CID 60217).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* select.cc (start_thread_socket): Delete si on early return in case of
 | 
						|
	an error (CID 59967).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* regex/regcomp.c (computematchjumps): Free local memory in case of
 | 
						|
	error (CID 59975).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mount.cc (fs_info::update): Define dir in the outermost scope to avoid
 | 
						|
	accessing out-of-scope value (CID 60027).  Always initialize attr to
 | 
						|
	upath (CID 60113).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* malloc_wrapper.cc (mallinfo): Initialize m if external malloc is used,
 | 
						|
	too (CID 60120).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* localtime.cc (tzload): Fix leaking memory (CID 60001).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (try_to_debug): Free environment pointer when not used
 | 
						|
	anymore (CID 59968).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (cygwin_getaddrinfo): Fix value of hint->ai_addrlen on 64 bit.
 | 
						|
	Explain why.
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* environ.cc (regopt): Allocate small local buffer to avoid copying
 | 
						|
	twice.  Fixes resource leak (CID 60012).  Add comment.
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dll_init.cc (dll_list::alloc): Fix buffer overrun (CID 59940).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (insert_file): Fix resource leaks (CIDs 59987, 59988).
 | 
						|
 | 
						|
2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ldap.cc (CYG_LDAP_TIMEOUT): Set to 5 secs.
 | 
						|
	(CYG_LDAP_ENUM_TIMEOUT): New timeout value for enumeration only.  Set
 | 
						|
	to 60 secs.
 | 
						|
	(CYG_LDAP_ENUM_PAGESIZE): Define as number of entries per single
 | 
						|
	search page.  Set to 100.  Use throughout.
 | 
						|
	(def_tv): Rename from tv.  Use throughout.
 | 
						|
	(enum_tv): New variable.  Use in call to ldap_get_next_page_s.
 | 
						|
 | 
						|
2014-06-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ldap.cc (CYG_LDAP_TIMEOUT): Define as timeout value.  Set to 30 secs
 | 
						|
	for now.  Use throughout.
 | 
						|
	* uinfo.cc (colon_to_semicolon): New local function.
 | 
						|
	(pwdgrp::fetch_account_from_windows): Convert all colons in AD gecos 
 | 
						|
	entry to semicolons.
 | 
						|
 | 
						|
2014-06-17  David Stacey  <drstacey@tiscali.co.uk>
 | 
						|
 | 
						|
	* libc/rexec.cc (cygwin_rexec): Make ahostbuf static to avoid returning
 | 
						|
	an out-of-scope address.
 | 
						|
 | 
						|
2014-06-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::evaluate_events): Call
 | 
						|
	WSASetLastError after setsockopt.  Explain why.
 | 
						|
 | 
						|
2014-06-16  Denis Excoffier  <cygwin@Denis-Excoffier.org>
 | 
						|
 | 
						|
	* grp.cc (getgrouplist): Fix setting ngroups to make sure to return
 | 
						|
	the right value.
 | 
						|
 | 
						|
2014-06-05  Christopher Faylor  <me.cygwin2014@cgf.cx>
 | 
						|
 | 
						|
	* timer.cc (timer_tracker::cancel): Demote api_fatal to system_printf,
 | 
						|
	printing more details about odd failure condition.
 | 
						|
 | 
						|
2014-05-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (ldap_memfreeW): Remove.
 | 
						|
	(ldap_msgfree): Import.
 | 
						|
	* ldap.cc: Throughout, use ldap_msgfree to free LDAPMessage memory,
 | 
						|
	rather than ldap_memfreeW.
 | 
						|
	(cyg_ldap::next_account): Immediately abandon search when quiting from
 | 
						|
	search.
 | 
						|
 | 
						|
2014-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (ldap_abandon): Remove.
 | 
						|
	(ldap_count_entries): Import.
 | 
						|
	(ldap_get_next_page_s): Import.
 | 
						|
	(ldap_result): Remove.
 | 
						|
	(ldap_searchW): Remove.
 | 
						|
	(ldap_search_abandon_page): Import.
 | 
						|
	(ldap_search_init_pageW): Import.
 | 
						|
	* ldap.cc (cyg_ldap::close): Use ldap_search_abandon_page to abandon
 | 
						|
	search.  Reset srch_id, srch_msg and srch_entry.
 | 
						|
	(cyg_ldap::enumerate_ad_accounts): Use paged search to overcome server
 | 
						|
	side search result set restriction.
 | 
						|
	(cyg_ldap::next_account): Ditto.
 | 
						|
	* ldap.h (class cyg_ldap): Add members srch_id, srch_msg and srch_entry.
 | 
						|
	Remove member msg_id.
 | 
						|
	(cyg_ldap::cyg_ldap): Change initialization accordingly.
 | 
						|
 | 
						|
2014-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_auth.cc (get_server_groups): Call get_user_local_groups only if
 | 
						|
	get_logon_server succeeded.
 | 
						|
 | 
						|
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.
 |