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