summaryrefslogtreecommitdiffstats
path: root/winsup
Commit message (Collapse)AuthorAgeFilesLines
...
* * Makefile.in: Use variables rather than configure constructs whereChristopher Faylor2000-07-0126-223/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | appropriate. (LIBCOS): Find additional stub library stuff in their own subdirectory. * dcrt0.cc: Convert user_data pointer to static __cygwin_user_data area. (do_global_ctors): Check magic_bisquit for initialization. (dll_crt0_1): First group of premain functions prior to fd initialization. Run second group before calling main. (dll_crt0 ()): New function, called from new initialization code. (dll_crt0 (per_process *uptr)): Call new dll_crt0 () function on initialization. * debug.cc (thread_stub): Initialize bottom of stack with per-thread info. * environ.cc (parse_thing): Use binmode global to control CYGWIN=binmode behavior. * fhandler.cc (fhandler_base::open): Allow explicit setting of __fmode to O_BINARY or O_TEXT to override disk mount settings. * libcmain.cc: Move to lib subdirectory. * libccrt0.cc: Ditto. * dll_main.cc: Ditto. * dll_entry.cc: Ditto. * getopt.c: Ditto. * thread.cc (thread_init_wrapper): Call ExitThread explicitly rather than returning, as a preliminary step towards placing per thread info at the bottom of the stack. * winsup.h: Move per_process class to include/sys/cygwin.h. Declare new dll_crt0(). * include/cygwin/version.h: Bump API minor version. * binmode.c: New file. * textmode.c: Ditto. * lib/_cygwin_crt0_common.cc: Ditto. * lib/crt0.h: Ditto. * lib/cygwin_attach_dll.c: Ditto. * lib/cygwin_crt0.c: Ditto. * lib/dll_entry.cc: Ditto. * lib/dll_main.cc: Ditto. * lib/getopt.c: Ditto. * lib/libcmain.c: Ditto. * lib/premain0.c: Ditto. * lib/premain1.c: Ditto. * lib/premain2.c: Ditto. * lib/premain3.c: Ditto.
* * syscalls.cc (seteuid): Initialize pi.token before callingCorinna Vinschen2000-06-283-8/+33
| | | | | | | | internal_getlogin(). * uinfo.cc (internal_getlogin): Use impersonation token instead of process token in case of active impersonation. Add some comments. (uinfo_init): Initializing myself->token and myself->impersonated before calling internal_getlogin(). Add some comments.
* * include/winbase.h: Add stream ids BACKUP_OBJECT_ID,Corinna Vinschen2000-06-275-1/+118
| | | | | | | | | | | | | | | | | | BACKUP_REPARSE_DATA and BACKUP_SPARSE_BLOCK. Add file open flags FILE_FLAG_OPEN_REPARSE_POINT and FILE_FLAG_OPEN_NO_RECALL. * winioctl.h: Add device io control codes FSCTL_GET_REPARSE_POINT, FSCTL_SET_REPARSE_POINT and FSCTL_DELETE_REPARSE_POINT. * winnt.h: Add typedef for GUID. Add file attributes FILE_ATTRIBUTE_ENCRYPTED, FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT and FILE_ATTRIBUTE_NOT_CONTENT_INDEXED. Add volume attributes FILE_VOLUME_QUOTAS, FILE_SUPPORTS_SPARSE_FILES, FILE_SUPPORTS_REPARSE_POINTS, FILE_SUPPORTS_REMOTE_STORAGE, FILE_SUPPORTS_OBJECT_IDS and FILE_SUPPORTS_ENCRYPTION. Add several reparse point defines and typedefs for REPARSE_DATA_BUFFER, REPARSE_GUID_DATA_BUFFER and REPARSE_POINT_INFORMATION. * lib/psapi.def: New file.
* * windows.cc (setitimer): Round up when < 1000 usecs.Christopher Faylor2000-06-262-1/+8
|
* * hinfo.cc (hinfo::dup2): Eliminate compiler warning.Christopher Faylor2000-06-262-1/+5
|
* * hinfo.cc (hinfo::dup2): Guard against out of bounds newfd.Christopher Faylor2000-06-262-1/+11
|
* * grp.cc (read_etc_group): Open file in text mode.Christopher Faylor2000-06-254-3/+9
| | | | | * pwd.cc (read_etc_passwd): Ditto. * shared.h: Bump PROC_MAGIC.
* * cygcheck.cc (cygwin_info): New function. Scans DLL for Cygwin version info.Christopher Faylor2000-06-252-4/+68
| | | | | | | (dll_info): Add path parameter for checking "cygwin1.dll". (track_down): Accomodate additional parameter for dll_info. (ls): Ditto. (dump_sys_info): Always print cygwin1.dll last.
* * fork.cc (fork): Fix error in copying SID pointer.Corinna Vinschen2000-06-245-15/+56
| | | | | | | | | | | * spawn.cc (_spawnve): Ditto. * passwd.cc: Remove static from `passwd_in_memory_p'. (read_etc_passwd): Remove static. * uinfo.cc: Move global declaration of `read_etc_group' and `group_in_memory_p' into `uinfo_init'. (internal_getlogin): Try to get SID from current process first. (uinfo_init): Don't set uid and gid if `myself' has a valid SID. Only load /etc/passwd and /etc/group in that case.
* * shared.cc (shared_info::initialize): Improve error message clarity.Christopher Faylor2000-06-243-2/+9
| | | | * mkvers.sh: Eliminate debugging output.
* * Makefile.in: Add dummy info targets.Christopher Faylor2000-06-222-2/+12
|
* * Makefile.in: Autogenerate cygwin.def when appropriate.Christopher Faylor2000-06-223-3/+11
| | | | * include/sys/cygwin.h: Correct prototype.
* Revise previous include/sys/cygwin.h change.Christopher Faylor2000-06-222-4/+4
|
* * include/sys/cygwin.h: Don't define parts of this file that rely on WindowsChristopher Faylor2000-06-222-2/+7
| | | | headers unless the Windows header was previously included.
* Revert.Christopher Faylor2000-06-221-5/+0
|
* Remove some files that were added prematurely.Christopher Faylor2000-06-221-3/+2
|
* * registry.cc (load_registry_hive): Use HKEY_USERS when checkingCorinna Vinschen2000-06-222-5/+13
| | | | | | for existing user hive. Use MAX_PATH instead of numerical constant for array size. Use return code of RegLoadKeyA instead of GetLastError for error output.
* * rpcdce.h: Protect OPTIONAL definition since it may be (legally) previouslyChristopher Faylor2000-06-223-0/+10
| | | | | defined. * windef.h : Ditto.
* * Makefile.in: Add new-libcygwin.a back to all_host target.Christopher Faylor2000-06-222-1/+5
|
* * Makefile.in: Add *.def to clean operation.Christopher Faylor2000-06-215-7/+20
|
* * Makefile.in: Add *.exe to clean operation.Christopher Faylor2000-06-212-1/+5
|
* Display what's going on.Christopher Faylor2000-06-211-1/+2
|
* * mkvers.sh: Fix sed usage for older seds.Christopher Faylor2000-06-212-2/+7
|
* * Makefile.in: Don't touch winver_stamp if mkvers.sh was unsuccessful.Christopher Faylor2000-06-212-2/+6
|
* * mkvers.sh: Fix problem with handling of CVS tags causing .rc syntax errors.Christopher Faylor2000-06-202-1/+9
|
* * Makefile.in: Change to build the DLL during a cross-compiler build.Christopher Faylor2000-06-202-5/+7
|
* * configure.in: Bow to necessity and build w32api before anything else.Christopher Faylor2000-06-203-2/+7
| | | | * configure: Regenerate.
* * select.cc (socket_cleanup): Shutdown I/O on dummy sockets prior to closingChristopher Faylor2000-06-202-0/+7
| | | | them.
* * dcrt0.cc: Add load statements for `GetSidIdentifierAuthority'Corinna Vinschen2000-06-198-76/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and `RegLoadKeyA'. * registry.cc (get_registry_hive_path): New function. (load_registry_hive): Ditto. * security.cc (convert_sid_to_string_sid): New function. (get_ssid): Renamed to `convert_string_sid_to_sid'. (get_pw_sid): Call `convert_string_sid_to_sid' instead of `get_ssid'. (get_gr_sid): Ditto. (get_admin_sid): Ditto. (get_system_sid): Ditto. (get_creator_owner_sid): Ditto. (get_world_sid): Ditto. * shared.h: New prototypes for `get_registry_hive_path' and `load_registry_hive'. * spawn.cc (spawn_guts): Set child->psid to NULL to force calling `internal_getlogin' from child process in case of changing user context. Call `load_registry_hive' in case of changing user context. (_spawnve): Copy user infos only if user context remains the same. * uinfo.cc: Add load statement for `NetUserGetInfo'. Remove load statement for `NetGetDCName'. (internal_getlogin): Rewrite to speed up process startup and to correct user environment in case user context changes. (uinfo_init): Call internal_getlogin only if myself->psid is NULL, that is user context changes. * winsup.h: Add prototypes for `convert_sid_to_string_sid', `convert_string_sid_to_sid' and `get_pw_sid'.
* * fhandler.h (set_name): Don't use 'unix' as name since this is defined by gccChristopher Faylor2000-06-183-6/+13
| | | | | now. * fhandler.cc (set_name): Ditto.
* Add comment.Christopher Faylor2000-06-181-0/+2
|
* Revert.Christopher Faylor2000-06-181-9/+1
|
* * Makefile.in (subdirs): Eliminate for loop.Christopher Faylor2000-06-183-12/+25
|
* * Makefile.in (subdirs): Previous change did not fix problem in broken shells.Christopher Faylor2000-06-172-3/+7
|
* * winsup.h (isabspath): Don't report `C:foo' as an absolute path.Christopher Faylor2000-06-172-1/+5
|
* * configure.in: Detect "cross-hosting" situation and set appropriate variablesChristopher Faylor2000-06-174-56/+100
| | | | | | in Makefile to avoid building excess stuff. * configure: Regenerate. * Makefile.in: Accomodate above change.
* * pinfo.cc (pinfo_init): Revert previous patch.Corinna Vinschen2000-06-172-2/+4
|
* * configure.in: Detect "cross-hosting" situation and add a subset ofChristopher Faylor2000-06-173-7/+30
| | | | | directories to SUBDIRS. * configure: Regenerate.
* Add additional info.Christopher Faylor2000-06-171-1/+4
|
* * Makefile.in: Avoid installing dll if we're cross building and the cross-hostChristopher Faylor2000-06-174-44/+72
| | | | system isn't a Windows system.
* * pinfo.cc (pinfo_init): Add missing initializers.Corinna Vinschen2000-06-173-29/+32
| | | | | * uinfo.cc (internal_getlogin): Request domain infos only when ntsec is ON.
* * Makefile.in: Just use library files from this tree when building cygrun.exe.Christopher Faylor2000-06-163-11/+13
| | | | | * path.cc (chdir): Don't set cache to offending chdir. Change comment to reflect current reality.
* * cygwin.din: Define symbols for `cygwin_logon_user' andCorinna Vinschen2000-06-1611-36/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `cygwin_set_impersonation_token'. * dcrt0.cc (dll_crt0_1): Eliminate superfluous conditional statements. Add load statements for `ImpersonateLoggedOnUser', `LogonUserA' and `RevertToSelf'. * fork.cc (fork): Care for correct impersonation of parent and child process. * security.cc (cygwin_set_impersonation_token): New function. (cygwin_logon_user): Ditto. shared.h (class pinfo): New members `orig_uid', `orig_gid', `real_uid' nad `real_gid'. spawn.cc (spawn_guts): Care for impersonation when starting child process in a different user context. * syscalls.cc (setgid): Call `setegid' now. Set real_gid. (setuid): Call `seteuid' now. Set real_uid. (seteuid): Functionality moved from setuid to here. Care for correct impersonation. (setegid): Functionality moved from setgid to here. * uinfo.cc (uinfo_init): Initialization of additional pinfo members. (getuid): Return real uid. (getgid): Return real gid. (geteuid): Return effective uid. (getegid): Return effective gid. include/sys/cygwin.h: Add prototypes for `cygwin_logon_user' and `cygwin_set_impersonation_token'. include/cygwin/version.h: Bumb API minor version to 22.
* * path.cc (chdir): Don't set cache to offending chdir. Change comment toChristopher Faylor2000-06-152-8/+15
| | | | reflect current reality.
* Fix typo.Christopher Faylor2000-06-151-1/+1
|
* * path.cc (normalize_posix_path): Convert path to POSIX if it seems to be aChristopher Faylor2000-06-152-19/+46
| | | | Windows path.
* * environ.cc (conv_envvars): Detect and convert all environment variables usedChristopher Faylor2000-06-152-0/+9
| | | | by libiberty's choose-temp.c
* Rewrote "Adding or updating packages",David Starks-Browning2000-06-141-47/+50
| | | | plus a few other minor changes.
* * include/winnt.h: Add some missing defines related to locale identifiers.Christopher Faylor2000-06-142-58/+176
| | | | Translate values of LANG_* and SUBLANG_* into hexadecimal.
* Tidied up formatting a bit.David Starks-Browning2000-06-141-10/+24
| | | | | | New entries: How do I convert between Windows and UNIX paths? Why are compiled executables so huge?!?