Corinna Vinschen
7aefc1596d
* dtable.cc (dtable::release): Drop fixup_before handling.
...
(dtable::fixup_before_fork): Remove.
(dtable::fixup_before_exec): Remove.
* dtable.h (class dtable): Remove cnt_need_fixup_before member.
(dtable::dtable): Accommodate above change.
(dtable::dec_need_fixup_before): Remove.
(dtable::inc_need_fixup_before): Remove.
(dtable::need_fixup_before): Remove.
(dtable::fixup_before_exec): Remove declaration.
(dtable::fixup_before_fork): Ditto.
* fhandler.h (fhandler_base::fixup_before_fork_exec): Remove.
(fhandler_base::need_fixup_before): Remove.
* fork.cc (frok::parent): Drop fixup_before handling.
* spawn.cc (spawn_guts): Ditto.
2008-04-30 09:51:38 +00:00
Corinna Vinschen
7e2b8e7d2a
* mount.cc (is_unc_share): Allow \\?\ prefix as well. Enhance comment.
...
(mount_info::from_fstab): Remove patch from 2008-04-29.
* mount.cc (mount_info::conv_to_posix_path): Simplify test for native
UNC path.
* path.cc (normalize_win32_path): Ditto.
(symlink_worker): Ditto.
(symlink_info::posixify): Ditto.
(cygwin_conv_path): Ditto.
2008-04-30 08:49:23 +00:00
Corinna Vinschen
661efd2dea
* mount.cc (mount_info::from_fstab): Skip native path prefix in
...
module path.
2008-04-29 20:48:09 +00:00
Corinna Vinschen
59c7f5bcdf
* syscalls.cc (rename): Use volume serial numbers stored in path_conv
...
rather than fetching them here for the "same file" test. Change
comment to reflect this.
2008-04-29 09:24:54 +00:00
Corinna Vinschen
43657e6bd3
* path.cc (symlink_info::check): Avoid special handling for
...
STATUS_BUFFER_OVERFLOW when calling NtQueryDirectoryFile.
* strace.cc (strace::vprntf): Use bigger buffer.
2008-04-28 16:01:54 +00:00
Corinna Vinschen
08c76b4b9c
* kernel32.cc (CreateFileMappingW): Remove stray small_printf.
2008-04-28 11:13:03 +00:00
Corinna Vinschen
aacf1864d8
* autoload.cc (IsWow64Process): Remove.
...
(Wow64DisableWow64FsRedirection): Remove.
(Wow64RevertWow64FsRedirection): Remove.
* ntdll.h (enum _PROCESSINFOCLASS): Define ProcessWow64Information.
* init.cc (respawn_wow64_process): Use NtQueryInformationProcess to
get WOW64 state.
* wincap.cc (wincapc::init): Ditto.
* wincap.h (wincapc::wow64): Change type to ULONG.
2008-04-28 08:47:06 +00:00
Corinna Vinschen
533ce3fb55
* wincap.h (wincapc::wow64): Change type to BOOL.
...
* wincap.cc: Remove explicit use of this pointer in wincapc methods.
(wincapc::init): Fix bug in IsWow64Process handling.
2008-04-27 16:12:00 +00:00
Corinna Vinschen
346cdb434e
* dcrt0.cc (dll_crt0_0): Set SEM_NOGPFAULTERRORBOX error mode, too,
...
to accommodate Vista/Longhorn.
* spawn.cc (spawn_guts): Move check for CREATE_SUSPENDED condition
after the call to ch.set() since it depends on it.
2008-04-26 18:01:42 +00:00
Corinna Vinschen
2be644f280
* Makefile.in (install): Drop install rules for postinstall script.
2008-04-25 17:22:31 +00:00
Corinna Vinschen
2c84756d5d
* postinstall: Remove (Moved to base-cygwin package).
2008-04-25 17:13:27 +00:00
Corinna Vinschen
fccdf679f4
* fhandler.cc (fhandler_base::open): Move handling FILE_ATTRIBUTE_NORMAL
...
back to its old place. Or it to file_attributes instead of setting it.
2008-04-25 16:59:41 +00:00
Corinna Vinschen
703a42b96a
* fhandler.cc (fhandler_base::open): *Only* handle SYSTEM and HIDDEN
...
attributes in FILE_OVERWRITE case.
2008-04-25 16:50:29 +00:00
Corinna Vinschen
0dcfc3346a
* fhandler.cc (fhandler_base::open): Handle SYSTEM and HIDDEN attributes
...
in FILE_OVERWRITE case as well.
2008-04-25 16:33:01 +00:00
Corinna Vinschen
4214d0c04c
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Disable calling
...
pc.ndisk_links. Just use nNumberOfLinks instead.
2008-04-24 17:15:17 +00:00
Corinna Vinschen
4e4eba83f8
* fhandler_disk_file.cc (fhandler_base::utimens_fs): Fix typo in
...
input range check.
2008-04-24 12:37:05 +00:00
Corinna Vinschen
eba32ec829
* cygwin.din (futimens): Export.
...
(utimensat): Export.
* fhandler.cc (fhandler_base::utimens): Replace fhandler_base::utimes.
Call utimens_fs.
* fhandler.h (class fhandler_base): Declare utimens_fs instead of
utimes_fs, utimens instead of utimes.
(class fhandler_disk_file): Declare utimens instead of utimes.
* fhandler_disk_file.cc (fhandler_disk_file::utimens): Replace
fhandler_disk_file::utimes.
(fhandler_base::utimens_fs): Replace fhandler_base::utimes_fs.
Implement tv_nsec handling according to SUSv4.
* syscalls.cc (utimensat): New function.
* times.cc (timespec_to_filetime): New function.
(timeval_to_timespec): New function.
(utimens_worker): Replace utimes_worker.
(utimes): Convert timeval to timespec and call utimens_worker.
(lutimes): Ditto.
(futimens): Take over implementation from futimes.
(futimes): Convert timeval to timespec and call futimens.
* winsup.h (timespec_to_filetime): Declare.
* include/cygwin/version.h: Bump API minor number.
* posix.sgml: Add SUSv4 section. Add futimens and utimensat to it.
2008-04-24 09:59:54 +00:00
Corinna Vinschen
a220e94953
* include/wait.h: New file.
2008-04-24 08:46:41 +00:00
Corinna Vinschen
4056e97a45
* posix.sgml: Add openat, faccessat, fchmodat, fchownat, fstatat,
...
futimesat, linkat, mkdirat, mkfifoat, mknodat, readlinkat, renameat,
symlinkat, unlinkat to list of implemented Solaris functions.
2008-04-23 11:19:57 +00:00
Corinna Vinschen
c57b57e5c4
* cygwin.din: Sort.
...
(faccessat): Export.
(fchmodat): Export.
(fchownat): Export.
(fstatat): Export.
(futimesat): Export.
(linkat): Export.
(mkdirat): Export.
(mkfifoat): Export.
(mknodat): Export.
(openat): Export.
(readlinkat): Export.
(renameat): Export.
(symlinkat): Export.
(unlinkat): Export.
* path.cc (readlink): Align definition to POSIX.
* syscalls.cc (gen_full_path_at): New static function.
(faccessat): Implement.
(fchmodat): Implement.
(fchownat): Implement.
(fstatat): Implement.
(futimesat): Implement.
(linkat): Implement.
(mkdirat): Implement.
(mkfifoat): Implement.
(mknodat): Implement.
(openat): Implement.
(readlinkat): Implement.
(renameat): Implement.
(symlinkat): Implement.
(unlinkat): Implement.
* include/cygwin/version.h: Bump API minor number.
2008-04-23 11:13:52 +00:00
Corinna Vinschen
9749fd082f
* dcrt0.cc (dll_crt0_0): Move CWD initialization from here...
...
(dll_crt0_1): ...to here.
2008-04-22 20:56:26 +00:00
Corinna Vinschen
949b58f6a0
* cygwin.din (fmemopen): Export.
...
(open_memstream): Export.
* include/cygwin/version.h: Bump API minor number.
2008-04-22 16:55:23 +00:00
Corinna Vinschen
b1138f3d4b
* sec_auth.cc (create_token): Add integrity level SID to token on
...
systems supporting that. Remove useless check for dynamically loading
NtCreateToken function.
* sec_helper.cc (mandatory_medium_integrity_sid): Define.
(mandatory_high_integrity_sid): Define.
(mandatory_system_integrity_sid): Define.
* sec_helper.h (mandatory_medium_integrity_sid): Declare.
(mandatory_high_integrity_sid): Declare.
(mandatory_system_integrity_sid): Declare.
2008-04-22 10:45:34 +00:00
Corinna Vinschen
c7364f1496
* mount.cc (mount_info::init): Remove call to from_registry. Print
...
message that fstab is missing.
(mount_info::from_fstab): Use CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX
instead of constant string.
(mount_info::read_mounts): Remove.
(mount_info::from_registry): Remove.
(mount_info::read_cygdrive_info_from_registry): Remove.
* postinstall: Enable code to create fstab entries from old registry
entries.
* registry.cc (reg_key::reg_key): Drop CYGWIN_INFO_CYGNUS_REGISTRY_NAME
from registry key.
* shared_info.h (mount_info::read_mounts): Remove declaration.
(mount_info::from_registry): Ditto.
(mount_info::to_registry): Ditto.
(mount_info::read_cygdrive_info_from_registry): Ditto.
* winver.rc (CYGWIN_REGISTRY_KEY): Remove.
(LegalCopyright): Fix to include 2008.
(RegistryKey): Set to CYGWIN_INFO_CYGWIN_REGISTRY_NAME.
* include/cygwin/version.h (CYGWIN_INFO_CYGNUS_REGISTRY_NAME): Remove.
2008-04-21 14:00:24 +00:00
Corinna Vinschen
2bc35e6299
* kernel32.cc (CreateFileMappingW): Fix bug in reserve/commit handling.
2008-04-21 13:17:36 +00:00
Corinna Vinschen
abbde48704
* Makefile.in (DLL_OFILES): Add kernel32.o.
...
* autoload.cc (WSACloseEvent): Remove.
(WSACreateEvent): Remove.
* cygheap.cc (cygheap_init): Drop initializing shared_prefix.
* cygheap.h (struct init_cygheap): Drop shared_prefix and
shared_prefix_buf members.
* fhandler_socket.cc (sock_shared_name): New static function.
(search_wsa_event_slot): Convert name buffers to WCHAR. Call
NtCreateMutant/NtOpenMutant to create mutexes in session local
namespace.
(fhandler_socket::init_events): Ditto. Fix debug output.
(fhandler_socket::release_events): Close mutexes using NtClose.
(fhandler_socket::dup): Ditto.
* kernel32.cc: New file, implementing Win32 calls in a Cygwin-specific
way.
* mmap.cc (MapView): Make static.
* ntdll.h: Fix status code sorting.
(STATUS_OBJECT_NAME_EXISTS): Define.
(SEMAPHORE_QUERY_STATE): Define.
(CYG_SHARED_DIR_ACCESS): Define.
(CYG_MUTANT_ACCESS): Define.
(CYG_EVENT_ACCESS): Define.
(CYG_SEMAPHORE_ACCESS): Define.
(enum _PROCESSINFOCLASS): Define ProcessSessionInformation.
(struct _PROCESS_SESSION_INFORMATION): Define.
(NtCreateSemaphore): Declare.
(NtOpenSemaphore): Declare.
* flock.cc: Use CYG_xxx_ACCESS access masks where appropriate.
* posix_ipc.cc (ipc_mutex_init): Use native functions to create mutex.
Create in cygwin-shared subdir.
(ipc_cond_init): Ditto for event.
(ipc_mutex_close): Use NtClose.
(ipc_cond_close): Ditto.
(mq_open): Drop "cyg" prefix from mqh_uname.
* shared.cc (CYG_SHARED_DIR_ACCESS): Drop definition here.
(_cygwin_testing): Declare extern on file level.
(get_shared_parent_dir): Change name of shared directory. Add name
to api_fatal output.
(get_session_parent_dir): New function.
(shared_name): Simplify.
(shared_info::initialize): Call get_session_parent_dir.
* shared_info.h (get_session_parent_dir): Declare.
* smallprint.cc (__small_vswprintf): Fix bug in multibyte string
conversion.
* thread.cc (semaphore::semaphore): Align semaphore name to object
names in posix IPC functions.
* include/cygwin/version.h (CYGWIN_VERSION_SHARED_DATA): Bump.
2008-04-21 12:46:58 +00:00
Corinna Vinschen
70fab4ec71
Revert thinko in previous patch.
...
* fhandler.h (struct wsa_event): Move back from wsa_event.h to here.
* fhandler_socket.cc (NUM_SOCKS): Ditto.
(wsa_events): Move back from cygwin_shared to here. Accommodate
throughout.
(socket_serial_number): Ditto.
* shared_info.h: Accommodate above changes.
* wsa_event.h: Remove.
2008-04-18 20:30:04 +00:00
Corinna Vinschen
db5ae61884
* fhandler.h (-struct wsa_event): Move to wsa_event.h. Include
...
wsa_event.h instead.
* fhandler_socket.cc (NUM_SOCKS): Move to wsa_event.h.
(wsa_events): Move from DLL shared area to cygwin_shared shared
memory. Accommodate throughout.
(socket_serial_number): Ditto.
* fhandler_tape.cc (mt): Ditto.
(mtinfo_init): Remove.
(mt): Define as cygwin_shared->mt.
* flock.cc (FLOCK_PARENT_DIR_ACCESS): Remove.
(FLOCK_INODE_DIR_ACCESS): Move up in file.
(FLOCK_MUTANT_ACCESS): Ditto.
(FLOCK_EVENT_ACCESS): Ditto.
(get_lock_parent_dir): Remove.
(inode_t::inode_t): Call get_shared_parent_dir to get parent dir handle.
Add a "flock-" prefix to file's lock directory name for clarity.
* mtinfo.h (mtinfo_init): Drop declaration.
* net.cc (last_used_bindresvport): Move from DLL shared area to
cygwin_shared shared memory.
(cygwin_bindresvport_sa): Accommodate above change.
* sec_helper.cc (_everyone_sd): Move here from flock.cc.
* security.h (SD_MIN_SIZE): Ditto.
(everyone_sd): Ditto.
* shared.cc (cygwin_shared_area): Remove.
(cygwin_shared_h): New handle.
(get_shared_parent_dir): New static function.
(shared_name): Drop session_local argument. Call get_shared_parent_dir
here. Add cygwin-shared subdir to object name.
(offsets): Reinstantiate SH_CYGWIN_SHARED member.
(open_shared): Revert change from 2007-03-29 for systems supporting
SeCreateGlobalPrivilege.
(shared_info::initialize): Call mtinfo's initialize here.
(memory_init): Drop call to mtinfo_init.
* shared_info.h (SHARED_INFO_CB): Accommodate change to shared_info.
(CURR_SHARED_MAGIC): Ditto.
(class shared_info): Add members for global socket and tape info
sharing.
(enum shared_locations): Reinstantiate SH_CYGWIN_SHARED.
(get_shared_parent_dir): Declare.
(shared_name): Drop session_local argument from declaration.
* wsa_event.h: New file. Move definitions of NUM_SOCKS and
struct wsa_event here.
2008-04-18 20:13:37 +00:00
Christopher Faylor
1d8db11e8e
* autoload.cc (noload): Make sure this and succeeding functions are located in
...
the text segment.
2008-04-18 18:20:30 +00:00
Corinna Vinschen
ff5007dfdd
* fhandler_socket.cc (fhandler_socket::close): Disable enforced
...
lingering since the original problem can no longer be reproduced.
2008-04-16 17:22:14 +00:00
Corinna Vinschen
ab6cadb0c3
* grp.cc (internal_getgroups): Drop local buf. Allocate groups
...
directly using alloca.
2008-04-16 10:02:05 +00:00
Corinna Vinschen
a7b6c156de
* postinstall: Fix copy/paste bug.
2008-04-14 14:09:00 +00:00
Corinna Vinschen
949caed8f7
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Fix
...
thinko in UNC path handling.
* path.cc (symlink_worker): Fix typo in comment. Fix UNC path handling.
2008-04-14 09:15:35 +00:00
Corinna Vinschen
9bf7c7e96c
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Simplify
...
code which checks for symlinks. Fix problem with UNC paths.
* environ.cc (struct parse_thing): Remove transparent_exe option.
* syscalls.cc (transparent_exe): Remove.
(unlink): Always add stat_suffixes, drop transparent_exe check.
(open): Ditto.
(link): Ditto.
(pathconf): Ditto.
* fhandler_disk_file.cc (fhandler_disk_file::link): Ditto.
* fhandler_process.cc (fhandler_process::fill_filebuf): Always remove
.exe suffix.
* path.cc (realpath): Never attach known_suffix.
2008-04-13 16:47:21 +00:00
Corinna Vinschen
acbc84739f
* cygwin.din (wprintf): Remove.
...
(_wprintf): Ditto.
* syscalls.cc (wprintf): Ditto.
* include/cygwin/version.h: Add FIXME comment.
2008-04-10 09:27:58 +00:00
Corinna Vinschen
9794095354
* mount.cc (mount_info::from_fstab): Read user fstab files from
...
/etc/fstab.d/$USER to avoid user write access to /etc.
* postinstall: Use variables for filenames. Create /etc/fstab.d dir
with 01777 permissions.
2008-04-08 16:12:24 +00:00
Corinna Vinschen
bffffaf652
* postinstall: Disable adding registry mounts to /etc/fstab for now.
2008-04-08 07:58:12 +00:00
Christopher Faylor
b13e6864f5
Remove unneeded header files from source files throughout.
2008-04-07 18:45:59 +00:00
Corinna Vinschen
f471ca85e1
* postinstall: Add function print_flags and call where appropriate.
...
Omit system and cygdrive flag when testing cygdrive flags.
2008-04-07 16:37:20 +00:00
Christopher Faylor
f7852548bb
add missing file
2008-04-07 16:33:44 +00:00
Christopher Faylor
ade47a3430
Add miscfuncs.h to files as needed throughout.
...
* mount.cc: New file.
* path.cc: Move mount-specific stuff into mount.cc. Move common stuff into
miscfuncs.cc. Remove unneeded includes.
* miscfuncs.cc: Move some common path functions here.
* miscfuncs.h: New file.
* winsup.h: Move miscelleneous functions to miscfuncs.h.
* dcrt0.cc: Remove unneeded includes.
* Makefile.in (DLL_OFILES): Add mount.o.
* include/cygwin/config.h: Fix a minor typo.
2008-04-07 16:15:45 +00:00
Corinna Vinschen
6c74e7d7fc
* postinstall: Set IFS to LF only. Change while loop in subshell to
...
for loop in parent shell. Add code to read system mount points and
system cygdrive prefix from registry and append them to /etc/fstab.
2008-04-07 14:09:22 +00:00
Corinna Vinschen
93c5415116
* path.cc (struct opt): Rename "system" to "nouser".
...
* postinsatll: Ditto.
2008-04-06 09:56:42 +00:00
Corinna Vinschen
ac6f159cd7
* postinstall: New script.
...
* Makefile.in (sysconfdir): Define.
(install): Create $(sysconfdir)/postinstall dir. Install postinstall
script into it.
* path.cc: Add temorary comments to note later function removal.
(conv_fstab_spaces): New inline function to handle \040 to space
conversion.
(struct opt): Add "system" and "user" mount options.
(mount_info::from_fstab_line): Only allow # to start a comment at
the beginning of the line. Call conv_fstab_spaces on native_path and
posix_path fields. Don't enforce system mounts in /etc/fstab.
Drop last argument in call to add_item.
(mount_info::from_fstab): Create a default cygdrive entry. Load
user mount points from fstab.<username> instead of fstab.<sid>.
(mount_info::read_mounts): Drop last argument in call to add_item.
(mount_info::add_reg_mount): Remove.
(mount_info::del_reg_mount): Remove.
(mount_info::write_cygdrive_info): Rename from
mount_info::write_cygdrive_info_to_registry. Don't write to registry.
Disallow to overwrite a system cygdrive prefix.
(mount_info::remove_cygdrive_info_from_registry): Remove.
(mount_info::get_cygdrive_info): Just fetch current cygdrive prefix and
flags.
(mount_info::add_item): Drop last argument. Don't write to registry.
Disallow to overwrite a system mount point.
(mount_info::del_item): Drop last argument. Don't write to registry.
Disallow to remove a system mount point.
(mount): Enforce user mount.
(cygwin_umount): Ditto.
* shared_info.h (mount_info::add_item): Drop last argument.
(mount_info::del_item): Ditto.
(mount_info::add_reg_mount): Remove.
(mount_info::del_reg_mount): Remove.
(mount_info::write_cygdrive_info): Rename from
mount_info::write_cygdrive_info_to_registry.
(mount_info::remove_cygdrive_info_from_registry): Remove.
2008-04-05 09:30:06 +00:00
Corinna Vinschen
d94be84665
Fix ChangeLog entry.
2008-04-03 18:23:59 +00:00
Corinna Vinschen
b7ca762d3f
* path.cc (mount_info::from_fstab_line): Simplify.
...
(mount_info::from_fstab): Create a default root dir.
2008-04-03 18:20:54 +00:00
Corinna Vinschen
023266aac8
* dcrt0.cc (insert_file): Fix potential buffer overflow.
2008-04-03 16:00:14 +00:00
Corinna Vinschen
0c273f5ac3
* path.cc (mount_info::from_fstab): Get module path name of the Cygwin
...
DLL, not the path of the application.
2008-04-03 15:44:18 +00:00
Corinna Vinschen
ba047ace14
Cleanup.
...
* exceptions.cc (windows_system_directory): Make static. Convert to
WCHAR.
(_cygtls::inside_kernel): Accommodate above change. Check module
path name for leading \\?\ and skip, if so.
(try_to_debug): Call GetEnvironmentStringsW and convert evaluation to
WCHAR to avoid truncated environment problem.
(has_visible_window_station): Call GetUserObjectInformationW.
(events_init): Accommodate above conversion of windows_system_directory.
* init.cc (respawn_wow64_process): Use WCHAR functions to start new
process.
* net.cc (__dup_ent): Drop Windows 9x consideration.
(load_ipv6_funcs): Use WCHAR functions to load IPv6 libs.
* syscalls.cc (syscalls.cc): Remove call to GetDiskFreeSpace.
2008-04-03 15:28:03 +00:00
Corinna Vinschen
85340bc03d
* path.cc (mount_info::init): First try to fetch mount points from
...
fstab files. Fallback to registry if none exists.
(skip_ws): New inline function.
(find_ws): Ditto.
(struct opt): New structure for mount options.
(read_flags): New static function to convert a mount flags string into
a flag value.
(mount_info::from_fstab_line): New method to create a mount table
entry from a fstab line.
(mount_info::from_fstab): New method to read fstab file.
* shared_info.h (mount_info::from_fstab_line): Declare.
(mount_info::from_fstab): Declare.
2008-04-02 17:45:32 +00:00