summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
...
* * uinfo.cc (cygheap_user::ontherange): Make cygwin root the last resort forChristopher Faylor2002-07-012-4/+7
| | | | HOMEPATH/HOMEDRIVE for consistency with HOME.
* * shared.cc (sec_none): Move to sec_helper.cc.Corinna Vinschen2002-07-013-96/+113
| | | | | | | | | | | | | | | | (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.
* * uinfo.cc (cygheap_user::ontherange): Potentially set HOME from existingChristopher Faylor2002-07-012-10/+21
| | | | | | homepath and homedrive cygheap_user fields (not currently used yet). Set HOME to / if no other alternative. (cygheap_user::test_uid): Simplify.
* white spaceChristopher Faylor2002-07-012-2/+2
|
* * environ.cc (parse_options): Use setenv to potentially replace CYGWIN value onChristopher Faylor2002-07-012-14/+40
| | | | | | | | 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.
* * fhandler.h (fhandler_process::pid): New field.Christopher Faylor2002-06-303-7/+26
| | | | | | (fhandler_process::fstat): Remove unneeded array. Set pid element. (fhandler_process::open): Ditto. (fhandler_process::fill_filebuf): Handle case where 'p' field is NULL.
* * fhandler.h (fhandler_process::p): New field.Christopher Faylor2002-06-303-17/+29
| | | | | | | (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.
* * security.cc (extract_nt_dom_user): Check for all buffer overflows.Corinna Vinschen2002-06-302-41/+31
| | | | | | 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.
* * uinfo.cc (cygheap_user::test_uid): Use standard issetuid test.Christopher Faylor2002-06-292-1/+5
|
* * autoload.cc (NetGetDCName): Change to make this an optional load function.Christopher Faylor2002-06-294-7/+23
| | | | | | | | * 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.
* * environ.cc (spenv::retrieve): Detect return of env_dontadd from cygheap_userChristopher Faylor2002-06-292-5/+13
| | | | | | | 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.
* * uinfo.cc (cygheap_user::test_uid): Return NULL or further tests are sortaChristopher Faylor2002-06-292-2/+8
| | | | | useless. (cygheap_user::env_domain): Recalculate if name is missing.
* * environ.cc (spenv::from_cygheap): Still need to take setuid intoChristopher Faylor2002-06-292-2/+7
| | | | consideration.
* * uinfo.cc (cygheap_user::env_logsrv): Return "almost_null" in case where noChristopher Faylor2002-06-292-1/+6
| | | | domain or username is "SYSTEM".
* * cygheap.h (cygheap_user): Reorg to accommodate environment caching.Christopher Faylor2002-06-296-63/+124
| | | | | | | | | | | | | | | | | | | | | | (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.
* Add missing entry.Christopher Faylor2002-06-271-0/+1
|
* * cygheap.cc (cfree_and_set): New function.Christopher Faylor2002-06-278-52/+89
| | | | | | | | | | | | | | | | | | (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.
* * dcrt0.cc (dll_crt0_1): Let __progname point to the applicationsCorinna Vinschen2002-06-272-4/+16
| | | | | basename. Move eliminating ".exe" suffix from argv[0] so that it always also affects __progname.
* * thread.cc (pthread::create): Added trace printf to get CreateThreadChristopher Faylor2002-06-272-1/+9
| | | | LastError.
* * mmap.cc (list::match): Check using pagesize aligned size.Corinna Vinschen2002-06-272-4/+10
|
* * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): ForceChristopher Faylor2002-06-272-13/+37
| | | | FindFirstFile on first file of directory when asking for x:\ .
* * cygheap.cc (cygheap_user::set_name): Correct thinko in below change.Christopher Faylor2002-06-273-5/+13
|
* * cygheap.cc (cygheap_user::set_name): Avoid clearing things when just settingChristopher Faylor2002-06-263-3/+18
| | | | | name to itself or during first time initialization. * environ.cc (check_case_init): Make case insensitive.
* * fhandler.h (fhandler_socket::bind): Add method definition.Corinna Vinschen2002-06-264-488/+653
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* * pwdgrp.h (pwdgrp_read::~pwdgrp_read): Avoid compiler warning.Corinna Vinschen2002-06-262-1/+6
|
* * dcrt0.cc (_dcrt0): Be more defensive when reserved block is used and it's notChristopher Faylor2002-06-262-2/+9
| | | | cygwin info.
* * autoload (noload): Avoid clobbering bx register.Christopher Faylor2002-06-266-25/+52
| | | | | | | | | | | * 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.
* * winsup.h: Minor cleanup.Christopher Faylor2002-06-265-12/+30
| | | | | | | | * 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.
* * syscalls.cc (chown): Convert uid to 32 bit.Corinna Vinschen2002-06-252-3/+11
| | | | | (lchown): Ditto. (fchown): Ditto.
* * dtable.cc (dtable::find_unused_handle): Avoid coercion.Christopher Faylor2002-06-242-2/+5
|
* * dtable.cc (fhandler_base::dup2): Cleanup. Ensure that lock is turned off inChristopher Faylor2002-06-242-18/+24
| | | | error condition.
* * uinfo.cc (internal_getlogin): Set myself->uid and myself->gid insteadCorinna Vinschen2002-06-242-6/+13
| | | | | | of user.real_uid and user.real_gid. (uinfo_init): Evaluate orig_uid and real_uid from myself->uid. Ditto for gid.
* * security.cc (get_group_sidlist): Add pw argument and use pw->pw_name in callChristopher Faylor2002-06-244-9/+18
| | | | | | | 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.
* * fhandler.cc (fhandler_base::fstat): Set S_IFIFO for pipes.Christopher Faylor2002-06-243-5/+19
| | | | * fhandler_socket.cc (fhandler_socket.cc::fstat): Set S_IFSOCK.
* * lib/_cygwin_S_IEXEC.cc: Remove obsolete file.Christopher Faylor2002-06-242-21/+4
|
* Use cygwin_{shm,ipc}.h instead of /sys/{shm,ipc}.h throughout.Christopher Faylor2002-06-236-5/+13
| | | | | | | * sys/ipc.h: Remove. * sys/shm.h: Remove. * cygwin_ipc.h: New file. * cygwin_shm.h: New file.
* * cygwin.sc: Add recent changes from ld sources.Christopher Faylor2002-06-234-9/+18
| | | | | * winsup.h: Move #ifdef EXPCGF code into "winbase.h". * winbase.h: #ifdef EXPCGF code moved here from "winsup.h".
* 2002-06-12 Thomas Pfaff <tpfaff@gmx.net>Robert Collins2002-06-233-24/+45
| | | | | | | | | | | | | | | | | * 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.
* * Makefile.in (cygrun.exe): Move -lgcc where it will do some good.Christopher Faylor2002-06-222-1/+5
|
* * Makefile.in (cygrun.exe): Use -lgcc when linking.Christopher Faylor2002-06-221-1/+1
|
* * syscalls.cc (stat64_to_stat32): Correctly evaluate st_rdev.Corinna Vinschen2002-06-212-1/+11
| | | | | (fstat64): Set st_rdev to same value as st_dev. (stat_worker): Ditto.
* * security.cc (alloc_sd): Carefully check owner_sid again after tryingCorinna Vinschen2002-06-212-2/+7
| | | | SIDs from cygheap.
* * security.cc (alloc_sd): Remove unnecessary retrieval of owner name.Corinna Vinschen2002-06-212-17/+38
| | | | | | | | Check uid for current user first and use SIDs from cygheap if so. Set errno to EINVAL if user SID isn't retrievable. Just print user SID as debug output. Don't bail out if group SID isn't retrievable. Change debug output appropriately.
* * errno.cc: Change text description for EBADF throughout.Christopher Faylor2002-06-212-2/+6
|
* remove unneeded white spaceChristopher Faylor2002-06-211-2/+2
|
* * uinfo.cc (cygheap_user::ontherange): Use env_name for NetUserGetInfo.Christopher Faylor2002-06-217-15/+23
| | | | | | (cygheap_user::env_logsrv): Verify env_domain is valid. * environ.cc: Include child_info.h and keep spenvs[] sorted. (environ_init): Check child_proc_info instead of myself->ppid_handle.
* * fhandler.cc (fhandler_base::set_flags): Change priority of "linked in"Christopher Faylor2002-06-202-27/+34
| | | | default binmode setting so that it has priority over optional setting.
* Use hMainProc where appropriate, throughout.Christopher Faylor2002-06-199-86/+112
| | | | | | | * environ.cc (spenv::retrieve): Add debugging statements. * pinfo.cc (set_myself): Don't call strace.hello if already stracing. * strace.cc (strace): Move NO_COPY keyword so that it will actually take effect.
* * uinfo.cc (cygheap_user::ontherange): Call NetUserGetInfo() only withCorinna Vinschen2002-06-192-23/+24
| | | | non-NULL logserver parameter.
* rewordChristopher Faylor2002-06-161-2/+2
|