Commit Graph

10657 Commits

Author SHA1 Message Date
Corinna Vinschen a34ebbad28
Fix more typos in ntsec.xml
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-12 11:14:57 +01:00
Corinna Vinschen 1aa532fec2
Fix typos in ntsec.xml
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-12 10:53:33 +01:00
Corinna Vinschen 6e90585ad8
Include sys/_timespec.h in cygwin/types.h to adjust to newlib
* include/cygwin/types.h: Include <sys/_timespec.h>

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-11 15:47:19 +01:00
Corinna Vinschen 6bd719beeb
* autoload.cc (CreateEnvironmentBlock): Make loading non-fatal.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-11 12:56:53 +01:00
Corinna Vinschen f085e9d321 Fix condition in DLL loading loop 2015-03-11 12:22:45 +01:00
Yaakov Selkowitz 2a6db5083c cygwin: fix __x86_64__ conditional in stdint.h
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2015-03-10 16:32:52 -05:00
Corinna Vinschen 84195ba6c5 whitespace fix 2015-03-10 16:07:07 +01:00
Corinna Vinschen 9272d8f942 Change CVS->GIT in docs
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-10 14:19:42 +01:00
Corinna Vinschen e479f4ffb7 mv .cvsignore to .gitignore
Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
2015-03-09 21:40:26 +01:00
Corinna Vinschen 5e99eb1104 * tty.h (tty::set_master_ctl_closed): Rename from set_master_closed.
(tty::is_master_closed): Drop method.
	* fhandler_tty.cc (fhandler_pty_slave::open): Remove code prematurely
	bailing out if master control thread is not running.
	(fhandler_pty_slave::read): Don't generate SIGHUP if master control
	thread is not running.
	(fhandler_pty_master::close): Rearrange code to avoid stopping master
	control thread twice in multi-threaded scenarios.
2015-03-05 13:58:03 +00:00
Corinna Vinschen 3bf693dde1 * fhandler.h (fhandler_base::get_echo_handle): New virtual method.
(class fhandler_pty_master): Add echo_r and echo_w handles constituting
	read and write side of new echo pipe.
	* select.cc (peek_pipe): On pty masters, check additionally if input
	from the echo pipe is available.
	* fhandler_tty.cc (fhandler_pty_master::doecho): Drop output_mutex
	locking.  Write output to echo pipe.
	(fhandler_pty_master::process_slave_output): Check if input is available
	in echo pipe and prefer to read from it, if so.
	(fhandler_pty_slave::write): Drop output_mutex locking.
	(fhandler_pty_master::fhandler_pty_master): Initialize echo pipe
	handles to NULL.
	(fhandler_pty_master::close): Close and NULL echo pipe handles.
	(fhandler_pty_master::setup): Create echo pipe, close in case of error.
2015-03-05 12:57:34 +00:00
Corinna Vinschen e8ef9994cf * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 36. 2015-03-04 11:46:02 +00:00
Corinna Vinschen 1d7a60f56c * posix.xml (std-bsd): Add issetugid. 2015-03-04 11:44:07 +00:00
Corinna Vinschen 694626a5f5 * new-features.xml (ov-new1.7.35): Add SIGSYS change. 2015-03-03 17:10:54 +00:00
Corinna Vinschen 8ac0306085 * msg.cc: Throughout, drop raising SIGSYS if cygserver is not running.
* sem.cc: Ditto.
	* shm.cc: Ditto.
2015-03-03 17:09:30 +00:00
Corinna Vinschen 73c0c53cf4 * new-features.xml (ov-new1.7.35): Add new section. 2015-03-03 13:02:21 +00:00
Corinna Vinschen 37e87b843f * common.din (issetugid): Export.
* glob.cc (issetugid): Drop macro.
	* sec_auth.cc (issetugid): New exported function.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2015-03-03 12:58:34 +00:00
Corinna Vinschen f9f1fbe47e * security.cc (get_attribute_from_acl): Don't spill Everyone permissions
into group permissions if owner SID == group SID.
	(alloc_sd): Add parenthesis for clarity.
2015-03-02 10:52:07 +00:00
Corinna Vinschen 583d56ee20 * utils.xml (getfacl): Adjust options to option nmame change. 2015-02-28 13:15:53 +00:00
Corinna Vinschen f33558a084 *** empty log message *** 2015-02-28 13:14:30 +00:00
Corinna Vinschen 3da543e5bd * getfacl.c (usage): Change --all to --access, --dir to --default.
Align text to output of Linux tool.
	(longopts): Add --access and --default options.
2015-02-28 13:13:19 +00:00
Corinna Vinschen 146200310f * uinfo.cc (pwdgrp::add_line): Return NULL if parsing a line failed.
(pwdgrp::add_account_post_fetch): Check return value from add_line and
	return NULL if add_line returns NULL.
2015-02-28 12:12:34 +00:00
Corinna Vinschen fab17cf934 *** empty log message *** 2015-02-27 16:08:26 +00:00
Corinna Vinschen 9f6688dfc5 * security.cc (alloc_sd): For directories, mark inherited ACEs
inheritable to better follow POSIX 1003.1e rules.
2015-02-27 15:54:15 +00:00
Corinna Vinschen 83b0e8cffe * sec_acl.cc (getacl): Add mask even if all group and secondary account
permissions are 0.
2015-02-27 14:51:00 +00:00
Corinna Vinschen 211cb4df18 * uinfo.cc (pwdgrp::fetch_account_from_windows): Drop redundant test
for SidTypeUser.
2015-02-27 14:03:29 +00:00
Corinna Vinschen 06371539bd * sec_acl.cc (setacl): Fix bug which leads to ACE duplication in
case owner SID == group SID.
	(getacl): Reverse order of SID test against group or owner sid to
	prefer owner attributes over group attributes.  Disable setting group
	permissions equivalent to owner permissions if owner == group.  Add
	comment to explain why.  Fix indentation.
	* security.cc (get_attribute_from_acl): Change type of local variables
	containing permission to mode_t.  Apply deny mask to group if group SID
	== owner SID to avoid Everyone permissions to spill over into group
	permissions.  Disable setting group permissions equivalent to owner
	permissions if owner == group.  Add comment to explain why.
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Allow user SID as
	group account if user is a "Microsoft Account".  Explain why.  Drop
	workaround enforcing primary group "Users" for "Microsoft Accounts".
2015-02-27 12:59:09 +00:00
Corinna Vinschen 0fb41ffa65 * ldap.cc (cyg_ldap::wait): Call cygwait with cw_infinite timeout value
and with cw_sig_restart instead of cw_sig_eintr.  Drop useless
	_my_tls.call_signal_handler call.  Return EIO if cygwait failed.
2015-02-26 17:27:59 +00:00
Corinna Vinschen 51a60543f0 * posix_ipc.cc (ipc_mutex_lock): Revert unneeded call to signal handler. 2015-02-26 17:19:27 +00:00
Corinna Vinschen c6d1382a1a * posix_ipc.cc (ipc_mutex_lock): Add bool parameter to influence if
cygwait should be in EINTR or in restart mode.  Call signal handler
	if in EINTR mode.
	(mq_getattr): Call ipc_mutex_lock in restart mode.
	(mq_setattr): Ditto.
	(mq_notify): Ditto.
	(_mq_send): Call ipc_mutex_lock in EINTR mode.
	(_mq_receive): Ditto.
2015-02-26 17:00:11 +00:00
Corinna Vinschen 31c123f982 * fhandler_termios.cc (fhandler_termios::line_edit): Fix condition
for writing remaining bytes in readahead buffer in non-canonical mode.
2015-02-26 15:58:04 +00:00
Corinna Vinschen 3667a9f444 * sec_acl.cc (setacl): Always grant default owner entry
STANDARD_RIGHTS_ALL and FILE_WRITE_ATTRIBUTES access, too.
2015-02-25 21:30:45 +00:00
Corinna Vinschen 55368b6d42 *** empty log message *** 2015-02-25 20:19:19 +00:00
Corinna Vinschen 773f4fa586 * mkgroup.c (MAX_SID_LEN): Remove. Instead, use SECURITY_MAX_SID_SIZE
throughout.
	(enum_unix_groups): Introduce numeric_psid and rearrange code to avoid
	potential heap corruption.
	* mkpasswd.c: Ditto.
2015-02-25 20:18:29 +00:00
Corinna Vinschen 0066e440c1 * fhandler_tape.cc (fhandler_dev_tape::_lock): Add cw_sig_restart to
cygwait call.
	* thread.cc (pthread_mutex::lock): Ditto.
	(semaphore::_timedwait): Fix formatting.
	(semaphore::_wait): Ditto.
	* thread.h (fast_mutex::lock): Ditto.

	...and fix ChangeLog accordingly.
2015-02-25 17:50:13 +00:00
Warren Young e93954138f Applied the "chgrp `id -g`" improvements suggested by Corinna for the FAQ
item about SSH keys not working in 1.7.34+.
2015-02-25 17:41:23 +00:00
Corinna Vinschen cc70635c0d * security.cc (alloc_sd): Don't apply temporary workaround for chmod
to DEF_USER_OBJ, DEF_GROUP_OBJ, and DEF_OTHER_OBJ ACEs.
2015-02-25 17:18:13 +00:00
Corinna Vinschen 9d5309bf89 * fhandler_tty.cc (fhandler_pty_slave::read): Having no input is not an
error condition for tcflush.
2015-02-25 16:46:57 +00:00
Corinna Vinschen 28edc819f2 * ntsec.xml (ntsec-mapping): Match the description of the default
values for db_home, db_shell, and db_gecos to the latest changes.
2015-02-25 12:48:34 +00:00
Corinna Vinschen c1d739567b *** empty log message *** 2015-02-25 12:08:38 +00:00
Corinna Vinschen a1cb13411d * security.cc (alloc_sd): Fix comment style. Remove code unused for
years.
2015-02-25 11:40:34 +00:00
Corinna Vinschen 6db8557026 * security.cc (alloc_sd): Add temporary workaround which disallows
any secondary user to have more permissions than the primary group
	in calls to chmod.  Add comment to explain why.
2015-02-25 11:38:48 +00:00
Corinna Vinschen bc3116147b * uinfo.cc (client_request_pwdgrp::client_request_pwdgrp): Add missing
break in switch statement.
2015-02-25 08:44:54 +00:00
Warren Young 2fdce9d618 Added chgrp None ~/.ssh/* hack to FAQ item 4.40 2015-02-25 01:09:38 +00:00
Corinna Vinschen ad8d295e7c * ldap.h: Remove index macros.
(class cyg_ldap): Remove members srch_msg and srch_entry.
	(cyg_ldap::get_string_attribute): Remove private method taking index
	argument.
	(cyg_ldap::get_num_attribute): Ditto.  Add method taking attribute name.
	(cyg_ldap::get_primary_gid): Adjust to aforementioned change.
	(cyg_ldap::get_unix_uid): Ditto.
	(cyg_ldap::get_unix_gid): Ditto.
	* ldap.cc: Throughout, use msg and entry in place of srch_msg and
	srch_entry.
	(std_user_attr): Add sAMAccountName and objectSid.
	(group_attr): Ditto.
	(cyg_ldap::close): Drop handling of srch_msg and srch_entry.
	(cyg_ldap::get_string_attribute): Move earlier in file.
	(cyg_ldap::get_num_attribute): Ditto.
	(cyg_ldap::enumerate_ad_accounts): Add comments for clarity.
	Use group_attr or user_attr rather than sid_attr to fetch all desired
	attributes for an account right away.
	(cyg_ldap::next_account): Store found SID in last_fetched_sid to
	skip calls to fetch_ad_account from fetch_account_from_windows.
	(cyg_ldap::get_string_attribute): Remove method taking index argument.
	(cyg_ldap::get_num_attribute): Ditto.
	* pwdgrp.h (class pg_ent): Fix formatting.  Add member dom.
	* passwd.cc (pg_ent::enumerate_ad): Store current flat domain name
	in dom.  Construct fetch_acc_t argument from LDAP attributes and
	call fetch_account_from_windows with that.
	* userinfo.h (enum fetch_user_arg_type_t): Rename FULL_grp_arg to
	FULL_acc_arg.  Change throughout.
	(struct fetch_acc_t): Rename from fetch_full_grp_t.  Change throughout.
	(struct fetch_user_arg_t): Rename full_grp to full_acc.  Change
	throughout.
2015-02-24 20:52:57 +00:00
Corinna Vinschen 59076540bc * fhandler.h (class fhandler_base): Add was_nonblocking status flag.
* fhandler.cc (fhandler_base::set_flags): Set was_nonblocking if the
	O_NONBLOCK flag has been specified.
	(fhandler_base_overlapped::close): Check for was_nonblocking instead
	of for is_nonblocking.  Explain why.
	(fhandler_base::set_nonblocking): Set was_nonblocking if noblocking
	mode gets enabled.
2015-02-24 11:05:02 +00:00
Corinna Vinschen f8a6c96306 * include/sys/socket.h (sockatmark): Add prototype. 2015-02-24 09:00:37 +00:00
Corinna Vinschen d9792ab0bf * userinfo.h (struct fetch_full_grp_t): Define only when building
Cygwin itself.
	(struct fetch_user_arg_t): Ditto.
2015-02-23 21:01:55 +00:00
Corinna Vinschen c9baa8a65b * pwdgrp.cc: Handle default fetch_user_arg_type_t in switches
throughout to silence compiler.
2015-02-23 21:00:31 +00:00
Corinna Vinschen bef55bb5c3 * autoload.cc (LsaLookupSids): Import.
* cygserver_pwdgrp.h: Include userinfo.h.  Drop workaround defining
	fetch_user_arg_type_t locally.
	* grp.cc (internal_getgrsid_cachedonly): New function.
	(internal_getgrfull): Ditto.
	(internal_getgroups): Rearrange function.  Center around fetching all
	cached group info first, calling LsaLookupSids on all so far non-cached
	groups second.  Pass all available info to new internal_getgrfull call.
	* pwdgrp.h: Include userinfo.h.  Move definitions of
	fetch_user_arg_type_t and fetch_user_arg_t there.
	(pwdgrp::add_group_from_windows): Declare with getting full group info.
	Called from internal_getgrfull.
	* uinfo.cc (pwdgrp::add_group_from_windows): Define.
	(pwdgrp::fetch_account_from_line): Add default case.
	(pwdgrp::fetch_account_from_file): Ditto.
	(pwdgrp::fetch_account_from_windows): Handle FULL_grp_arg.
	(client_request_pwdgrp::client_request_pwdgrp): Add default case.
	* userinfo.h: New header.
	(enum fetch_user_arg_type_t): Add FULL_grp_arg.
	(struct fetch_full_grp_t): New datatype.
2015-02-23 20:51:12 +00:00