72d1a8a04a
* Makefile.in (DLL_OFILES): Add _def_time.o. Remove timelocal.o.
...
* include/sys/localedef.h: New file from NetBSD.
* libc/_def_time.c: Ditto.
* libc/getopt.c: Update to latest OpenBSD version 1.23.
* libc/strptime.cc: Replace FreeBSD version 1.35 with latest NetBSD
version 1.28.
* libc/timelocal.cc: Remove.
* libc/timelocal.h: Remove.
2008-05-08 14:41:47 +00:00
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
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
661efd2dea
* mount.cc (mount_info::from_fstab): Skip native path prefix in
...
module path.
2008-04-29 20:48:09 +00:00
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
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
08c76b4b9c
* kernel32.cc (CreateFileMappingW): Remove stray small_printf.
2008-04-28 11:13:03 +00:00
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
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
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
2be644f280
* Makefile.in (install): Drop install rules for postinstall script.
2008-04-25 17:22:31 +00:00
2c84756d5d
* postinstall: Remove (Moved to base-cygwin package).
2008-04-25 17:13:27 +00:00
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
703a42b96a
* fhandler.cc (fhandler_base::open): *Only* handle SYSTEM and HIDDEN
...
attributes in FILE_OVERWRITE case.
2008-04-25 16:50:29 +00:00
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
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
4e4eba83f8
* fhandler_disk_file.cc (fhandler_base::utimens_fs): Fix typo in
...
input range check.
2008-04-24 12:37:05 +00:00
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
a220e94953
* include/wait.h: New file.
2008-04-24 08:46:41 +00:00
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
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
9749fd082f
* dcrt0.cc (dll_crt0_0): Move CWD initialization from here...
...
(dll_crt0_1): ...to here.
2008-04-22 20:56:26 +00:00
949b58f6a0
* cygwin.din (fmemopen): Export.
...
(open_memstream): Export.
* include/cygwin/version.h: Bump API minor number.
2008-04-22 16:55:23 +00:00
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
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
2bc35e6299
* kernel32.cc (CreateFileMappingW): Fix bug in reserve/commit handling.
2008-04-21 13:17:36 +00:00
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
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
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
1d8db11e8e
* autoload.cc (noload): Make sure this and succeeding functions are located in
...
the text segment.
2008-04-18 18:20:30 +00:00
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
ab6cadb0c3
* grp.cc (internal_getgroups): Drop local buf. Allocate groups
...
directly using alloca.
2008-04-16 10:02:05 +00:00
a7b6c156de
* postinstall: Fix copy/paste bug.
2008-04-14 14:09:00 +00:00
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
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
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
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
bffffaf652
* postinstall: Disable adding registry mounts to /etc/fstab for now.
2008-04-08 07:58:12 +00:00
b13e6864f5
Remove unneeded header files from source files throughout.
2008-04-07 18:45:59 +00:00
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
f7852548bb
add missing file
2008-04-07 16:33:44 +00:00
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
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
93c5415116
* path.cc (struct opt): Rename "system" to "nouser".
...
* postinsatll: Ditto.
2008-04-06 09:56:42 +00:00
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
d94be84665
Fix ChangeLog entry.
2008-04-03 18:23:59 +00:00
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
023266aac8
* dcrt0.cc (insert_file): Fix potential buffer overflow.
2008-04-03 16:00:14 +00:00
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
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