Commit Graph

2248 Commits

Author SHA1 Message Date
Christopher Faylor 1050e57c9a * mount.cc (main): Ensure that mount_already_exists() also gets default flag
that is passed to do_mount.
* cygpath.cc (long_options): Add "dos" and "mixed", correct "close", "file" and
"type" to use NULL flag.
(usage): Clean up usage output (more), accomodate new options.
(main): Add --dos and --mixed options; accomodate all output forms in --type.
Make UNIXy output default.
2002-07-01 20:54:35 +00:00
Christopher Faylor 1bc9effd28 * fhandler_clipboard.c (fhandler_dev_clipboard::open): Force text mode.
* fhandler_console.cc (fhandler_console::open): *Really* force binary mode
rather than make it optional.
* fhandler_proc.cc (fhandler_proc::open): Ditto.
* fhandler_process.cc (fhandler_process::open): Ditto.
* fhandler_random.cc (fhandler_dev_random::fhandler_dev_random): Ditto.
* fhandler_raw.cc (fhandler_dev_raw::open): Ditto.
* fhandler_registry.cc (fhandler_registry::open): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
* fhandler_virtual.cc (fhandler_virtual::open): Ditto.
* fhandler_windows.cc (fhandler_windows::open): Ditto.
* fhandler_zero.cc (fhandler_dev_zero::open): Ditto.
* net.cc (fdsock): Ditto.
* path.cc (set_flags): Add more debugging.
2002-07-01 19:03:26 +00:00
Christopher Faylor b5e1ec7632 * debug.cc (threads): Avoid initialization.
* uinfo.cc (cygheap_user::ontherange): (from Corinna Vinschen) Actually make
below changes work.
2002-07-01 16:37:46 +00:00
Christopher Faylor db57a36336 * uinfo.cc (cygheap_user::ontherange): Make cygwin root the last resort for
HOMEPATH/HOMEDRIVE for consistency with HOME.
2002-07-01 15:50:02 +00:00
Corinna Vinschen 73d97618a7 * shared.cc (sec_none): Move to sec_helper.cc.
(sec_none_nih): Ditto.
	(sec_all): Ditto.
	(sec_all_nih): Ditto.
	(get_null_sd): Ditto.
	(sec_acl): Ditto.
	(__sec_user): Ditto.
	* sec_helper.cc (sec_none): Move from shared.cc to here.
	(sec_none_nih): Ditto.
	(sec_all): Ditto.
	(sec_all_nih): Ditto.
	(get_null_sd): Ditto.
	(sec_acl): Ditto.
	(__sec_user): Ditto.
2002-07-01 14:31:28 +00:00
Christopher Faylor 8297bda005 * uinfo.cc (cygheap_user::ontherange): Potentially set HOME from existing
homepath and homedrive cygheap_user fields (not currently used yet).  Set HOME
to / if no other alternative.
(cygheap_user::test_uid): Simplify.
2002-07-01 03:57:17 +00:00
Christopher Faylor fad1c3a8e0 white space 2002-07-01 02:36:04 +00:00
Christopher Faylor 8a2ce995f1 * environ.cc (parse_options): Use setenv to potentially replace CYGWIN value on
export.  Fixes broken behavior since November 2000 changes.
(regopt): Return indication of whether or not something has been parsed from
the registry.
(environ_init): Only attempt to export CYGWIN variable when values were set
from the registry.  It is exported automatically otherwise.
2002-07-01 02:11:30 +00:00
Christopher Faylor fdf0b5de28 * fhandler.h (fhandler_process::pid): New field.
(fhandler_process::fstat): Remove unneeded array.  Set pid element.
(fhandler_process::open): Ditto.
(fhandler_process::fill_filebuf): Handle case where 'p' field is NULL.
2002-06-30 23:02:58 +00:00
Christopher Faylor ccacec81db * fhandler.h (fhandler_process::p): New field.
(fhandler_process:fill_filebuf): Revert to same definition as virtual in parent
class.
(fhandler_process::open): Fill out p field rather than passing as an argument.
(fhandler_process::fill_filebuf): Use p pointer rather than argument.
2002-06-30 17:05:48 +00:00
Corinna Vinschen c6d90e842c * security.cc (extract_nt_dom_user): Check for all buffer overflows.
Call LookupAccountSid after trying to get domain & user from passwd.
	(get_group_sidlist): Obtain the domain and user by calling
	extract_nt_dom_user instead of LookupAccountSid.
2002-06-30 13:08:59 +00:00
Christopher Faylor 839b294201 * uinfo.cc (cygheap_user::test_uid): Use standard issetuid test. 2002-06-29 23:45:07 +00:00
Christopher Faylor efc1575ecd * autoload.cc (NetGetDCName): Change to make this an optional load function.
* cygheap.h (cygheap_user::logsrv): Return NULL when operation fails.
(cygheap_user::winname): Ditto.
(cygheap_user::domain): Ditto.
* uinfo.cc (cygheap_user::env_logsrv): Save results in temp variable.
(cygheap_user::env_userprofile): Ditto.
2002-06-29 22:05:30 +00:00
Christopher Faylor 638180f51f * environ.cc (spenv::retrieve): Detect return of env_dontadd from cygheap_user
methods.
(build_env): Avoid incrementing environment pointer if not actually adding to
the environment.  That could result in garbage in the environment table.  Be
more defensive when reallocing envblock.
2002-06-29 17:26:13 +00:00
Christopher Faylor 38bc119696 * uinfo.cc (cygheap_user::test_uid): Return NULL or further tests are sorta
useless.
(cygheap_user::env_domain): Recalculate if name is missing.
2002-06-29 06:50:17 +00:00
Christopher Faylor 664075a3bb * environ.cc (spenv::from_cygheap): Still need to take setuid into
consideration.
2002-06-29 06:40:19 +00:00
Christopher Faylor e97962b92a * uinfo.cc (cygheap_user::env_logsrv): Return "almost_null" in case where no
domain or username is "SYSTEM".
2002-06-29 03:14:12 +00:00
Christopher Faylor 094d519311 * cygheap.h (cygheap_user): Reorg to accommodate environment caching.
(cygheap_user::logsrv): New method.
(cygheap_user::winname): Ditto.
(cygheap_user::domain): Ditto.
(cygheap_user::test_uid): Ditto.
* cygheap.cc (cygheap_user::set_name): Reflect name "pwinname" name change.
* environ.cc (getwinenveq): New function.
(spenv::from_cygheap): Change arguments.
(spenv::retrieve): Ditto for call.  Use getwinenveq to retrieve info from
environment.  Always return value from cygwin environment, if it exists.
* environ.h (getwinenveq): Declare.
* uinfo.cc (cygheap_user::ontherange): Use logsrv() rather than env_logsrv().
(cygheap_user::test_uid): Define new method.
(cygheap_user::env_logsrv): Accept environment arguments.  Use test_uid to find
info.
(cygheap_user::env_domain): Ditto.
(cygheap_user::env_userprofile): Ditto.
(cygheap_user::env_homepath): Ditto.
(cygheap_user::env_homedrive): Ditto.
(cygheap_user::env_name): Ditto.
2002-06-29 02:36:08 +00:00
Christopher Faylor bf75aae8b3 Add missing entry. 2002-06-27 20:45:54 +00:00
Christopher Faylor 179cae11d7 * cygheap.cc (cfree_and_set): New function.
(cygheap_user::set_name): Use cfree_and_set to reset members.
* cygheap.h (cygheap_user): Delete static members.
(cygheap_user::puserprof): New member.
(cfree_and_set): Declare.
* dcrt0.cc (almost_null): Define.
* winsup.h (almost_null): Declare.
* syscalls.cc (cfree_and_set): Remove unused variable.
* uinfo.cc (cygheap_user::homepath_env_buf): Eliminate.
(cygheap_user::homedrive_env_buf): Ditto.
(cygheap_user::userprofile_env_buf): Ditto.
(cygheap_user::ontherange): YA change to try to preserve existing HOMEPATH and
HOMEDRIVE.  Return almost_null values when variables should not actually exist.
(cygheap_user::env_logsrv): Ditto.
(cygheap_user::env_domain): Ditto.
(cygheap_user::env_userprofile): Ditto.
2002-06-27 20:44:27 +00:00
Conrad Scott d3c260c334 Delete extraneous comment from my previous change. 2002-06-27 20:08:33 +00:00
Corinna Vinschen eba23038af * dcrt0.cc (dll_crt0_1): Let __progname point to the applications
basename.  Move eliminating ".exe" suffix from argv[0] so that it
	always also affects __progname.
2002-06-27 16:01:38 +00:00
Christopher Faylor 196cdd45f6 * thread.cc (pthread::create): Added trace printf to get CreateThread
LastError.
2002-06-27 14:19:30 +00:00
Corinna Vinschen 5b509758a0 * mmap.cc (list::match): Check using pagesize aligned size. 2002-06-27 13:01:35 +00:00
Christopher Faylor 75c6a983c6 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Force
FindFirstFile on first file of directory when asking for x:\ .
2002-06-27 03:06:44 +00:00
Christopher Faylor b3e2d035bb * cygheap.cc (cygheap_user::set_name): Correct thinko in below change. 2002-06-27 02:29:57 +00:00
Christopher Faylor c99902b9b0 * cygheap.cc (cygheap_user::set_name): Avoid clearing things when just setting
name to itself or during first time initialization.
* environ.cc (check_case_init): Make case insensitive.
2002-06-26 19:39:05 +00:00
Corinna Vinschen be5007aa52 * fhandler.h (fhandler_socket::bind): Add method definition.
(fhandler_socket::connect): Ditto.
	(fhandler_socket::listen): Ditto.
	(fhandler_socket::accept): Ditto.
	(fhandler_socket::getsockname): Ditto.
	(fhandler_socket::getpeername): Ditto.
	(fhandler_socket::recvfrom): Ditto.
	(fhandler_socket::recvmsg): Ditto.
	(fhandler_socket::sendto): Ditto.
	(fhandler_socket::sendmsg): Ditto.
	(fhandler_socket::shutdown): Ditto.
	* fhandler_socket.cc (get_inet_addr): Move here from net.cc.
	(fhandler_socket::bind): New method.
	(fhandler_socket::connect): Ditto.
	(fhandler_socket::listen): Ditto.
	(fhandler_socket::accept): Ditto.
	(fhandler_socket::getsockname): Ditto.
	(fhandler_socket::getpeername): Ditto.
	(fhandler_socket::recvfrom): Ditto.
	(fhandler_socket::recvmsg): Ditto.
	(fhandler_socket::sendto): Ditto.
	(fhandler_socket::sendmsg): Ditto.
	(fhandler_socket::shutdown): Ditto.
	* net.cc: Various formatting cleanups throughout.
	(get_inet_addr): Move to fhandler_socket.cc.
	(cygwin_bind): Move base functionality to appropriate fhandler_socket
	method.
	(cygwin_connect): Ditto.
	(cygwin_listen): Ditto.
	(cygwin_accept): Ditto.
	(cygwin_getsockname): Ditto.
	(cygwin_getpeername): Ditto.
	(cygwin_recvfrom): Ditto.
	(cygwin_recvmsg): Ditto.
	(cygwin_sendto): Ditto.
	(cygwin_sendmsg): Ditto.
	(cygwin_shutdown): Ditto.
2002-06-26 19:25:09 +00:00
Corinna Vinschen 303af15742 * pwdgrp.h (pwdgrp_read::~pwdgrp_read): Avoid compiler warning. 2002-06-26 14:59:22 +00:00
Christopher Faylor 8698edb8ae * dcrt0.cc (_dcrt0): Be more defensive when reserved block is used and it's not
cygwin info.
2002-06-26 05:37:29 +00:00
Christopher Faylor f279e522b0 * autoload (noload): Avoid clobbering bx register.
* environ.cc (codepage_init): Use case insensitive match.
* fhandler_console.cc (cp_get_internal): Delete.
(con_to_str): Use get_cp to derive code page.
(str_to_con): Ditto.
* miscfuncs.cc (get_cp): New function.
(sys_wcstombs): New function.  Converted from macro.
(sys_mbstowcs): Ditto.
* winsup.h: Reflect above changes.
2002-06-26 05:29:41 +00:00
Christopher Faylor 109e482278 * winsup.h: Minor cleanup.
* path.h (path_conv::[]): New operator.
* syscalls.cc (_link): Use path_conv operators rather than methods, where
appropriate.  Minor white space cleanup.
* include/cygwin/version.h: Bump DLL minor number.
* dcrt0.cc (sm): Make NO_COPY.
2002-06-26 04:21:01 +00:00
Conrad Scott b4b15309b7 * include/winbase.h (FILE_FLAG_FIRST_PIPE_INSTANCE): Add constant. 2002-06-25 21:16:46 +00:00
Danny Smith 8e8a913ff1 2002-06-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/winbase.h (WINBASEAPI): Don't define if prior
	definition.

	* include/winioctl.h (PARTITION_FAT32, PARTITION_FAT32_XINT13,
	PARTITION_XINT13, PARTITION_XINT13_EXTENDED, PARTITION_LDM,
	PARTITION_UNIX): Add defines.
	(PDRIVE_LAYOUT_INFORMATION): Add typedef.
	(IsRecognizedPartition): Also check for PARTITION_FAT32,
	PARTITION_FAT32_XINT13 and PARTITION_XINT13.
	(IsContainerPartition): Add macro.
2002-06-25 21:05:19 +00:00
Corinna Vinschen 6331b65843 * syscalls.cc (chown): Convert uid to 32 bit.
(lchown): Ditto.
	(fchown): Ditto.
2002-06-25 08:06:29 +00:00
Danny Smith e85e106d88 2002-06-25 Ken Fitlike <kenfitlike@hotmail.com>
* include/commctrl.h: (CBEIF_*): Add defines.
	(CBEN_*): Add defines and UNICODE mappings
	(WC_COMBOBOXEX[AW]): Add defines and UNICODE mappings.
	(CBEMAXSTRLEN): Add define.
	(COMBOBOXEXITEM[AW]): Add structures and typedefs.
	(NMCOMBOBOXEX[AW]): Add structures and typedefs.
	(NMCBEDRAGBEGIN[AW]): Add structure and typedefs.
	(NMCBEENDEDIT[AW]): Add structure and typedefs.
2002-06-25 03:26:21 +00:00
Christopher Faylor 0914e17db5 Update from Joshua Daniel Franklin 2002-06-25 01:16:23 +00:00
Christopher Faylor e773b7cf30 * dtable.cc (dtable::find_unused_handle): Avoid coercion. 2002-06-24 21:14:04 +00:00
Christopher Faylor 4c78be52df * dtable.cc (fhandler_base::dup2): Cleanup. Ensure that lock is turned off in
error condition.
2002-06-24 20:05:52 +00:00
Corinna Vinschen 1fd072b6e4 * uinfo.cc (internal_getlogin): Set myself->uid and myself->gid instead
of user.real_uid and user.real_gid.
	(uinfo_init): Evaluate orig_uid and real_uid from myself->uid.  Ditto
	for gid.
2002-06-24 15:40:57 +00:00
Christopher Faylor de0557f7a3 * security.cc (get_group_sidlist): Add pw argument and use pw->pw_name in call
to get_supplementary_group_sidlist.
(create_token): Add pw argument and use it in call to get_group_sidlist.
* security.h: Add pw argument in declaration of create_token.
* syscalls.cc (seteuid32): Add pw argument in call to create_token.
2002-06-24 13:01:50 +00:00
Corinna Vinschen 76093a9b7e * ntsec.sgml: Clean up text for examples of /etc/passwd and /etc/group.
Add examples with SIDs.  Warn about changing them crudely.
2002-06-24 09:30:02 +00:00
Danny Smith f8f2ad211f * include/objidl.h (struct tagPROPVARIANT): Kill obsolete
union member _VARIANT_BOOL bool.
2002-06-24 04:51:34 +00:00
Danny Smith e106f92bfc * include/winioctl.h (FILE_SPECIAL_ACCESS): Add define. 2002-06-24 02:49:47 +00:00
Danny Smith 7c00c9bd40 2002-06-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
* include/winnt.h (PCCHAR, FCHAR, FSHORT, FLONG,
	PLUID_AND_ATTRIBUTES,PSECURITY_IMPERSONATION_LEVEL,
	PSID_AND_ATTRIBUTES, PTOKEN_TYPE, PTOKEN_STATISTICS):
	Add typedefs.
	(CCHAR): Correct typedef.
	(PROCESS_SET_SESSIONID, SECURITY_*,SECTION_MAP_EXECUTE):
	Add defines.


	* README.w32api: Correct spelling error.
2002-06-24 02:46:38 +00:00
Christopher Faylor 035bfbddf5 * fhandler.cc (fhandler_base::fstat): Set S_IFIFO for pipes.
* fhandler_socket.cc (fhandler_socket.cc::fstat): Set S_IFSOCK.
2002-06-24 02:23:14 +00:00
Christopher Faylor eecef29f50 * lib/_cygwin_S_IEXEC.cc: Remove obsolete file. 2002-06-24 02:08:41 +00:00
Christopher Faylor 85b995d4f1 Use cygwin_{shm,ipc}.h instead of /sys/{shm,ipc}.h throughout.
* sys/ipc.h: Remove.
* sys/shm.h: Remove.
* cygwin_ipc.h: New file.
* cygwin_shm.h: New file.
2002-06-23 22:56:58 +00:00
Christopher Faylor 6bda8defe9 * cygwin.sc: Add recent changes from ld sources.
* winsup.h: Move #ifdef EXPCGF code into "winbase.h".
* winbase.h: #ifdef EXPCGF code moved here from "winsup.h".
2002-06-23 18:55:23 +00:00
Robert Collins f6709c07db 2002-06-12 Thomas Pfaff <tpfaff@gmx.net>
* thread.h (pthread::cleanup_stack): Renamed cleanup_handlers to
	cleanup_stack.
	* thread.cc (pthread::pthread): Ditto.
	(pthread::create): Fixed mutex verification.
	(pthread::push_cleanup_handler): Renamed cleanup_handlers to
	cleanup_stack.
	Mutex calls removed, used InterlockedExchangePointer instead.
	(pthread::pop_cleanup_handler): Renamed cleanup_handlers to
	cleanup_stack.
	(pthread::pop_all_cleanup_handlers): Ditto.
	(__pthread_once): Check state first and return if already done.
	(__pthread_join): DEADLOCK test reverted to __pthread_equal
	call.
	(__pthread_detach): Unlock mutex before deletion.
2002-06-23 07:36:21 +00:00