Christopher Faylor
a4e3764e51
* include/stdint.h: Use int rather than long for {u,}int32_t.
2008-05-17 21:34:05 +00:00
Corinna Vinschen
3ba70bba2f
* CYGWIN_LICENSE: Remove duplicate file here.
2008-05-16 08:40:07 +00:00
Corinna Vinschen
b61251603a
* syscalls.cc (rename): ONly start transaction if FS supports them.
2008-05-15 17:23:29 +00:00
Corinna Vinschen
4c153b24d9
* autoload.cc (LoadDLLfuncNt): Re-invent.
...
(NtCreateTransaction): Define.
(NtCommitTransaction): Define.
(NtRollbackTransaction): Define.
(RtlGetCurrentTransaction): Define.
(RtlSetCurrentTransaction): Define.
* ntdll.h (TRANSACTION_ALL_ACCESS): Define.
(NtCreateTransaction): Declare.
(NtCommitTransaction): Declare.
(NtRollbackTransaction): Declare.
(RtlGetCurrentTransaction): Declare.
(RtlSetCurrentTransaction): Declare.
* syscalls.cc (start_transaction): New static function to start TxF
transaction.
(stop_transaction): New static function to end TxF transaction.
(rename): Call start_transaction and stop_transaction where appropriate
on systems supporting transactions.
* wincap.h (wincaps::has_transactions): New element.
* wincap.cc: Implement above element throughout.
2008-05-15 16:34:01 +00:00
Corinna Vinschen
455acb11a4
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Drop
...
explicit transformation of special DOS chars.
* strfuncs.cc (sys_wcstombs): Always transform UNICODE private use area
back to ASCII.
2008-05-14 10:21:22 +00:00
Corinna Vinschen
39ce0b45e9
* include/cygwin/stdlib.h (initstate): Declare.
...
(setstate): Declare.
2008-05-13 13:56:06 +00:00
Corinna Vinschen
a9e9da89fa
* path.cc (path_conv::set_normalized_path): Drop strip_tail argument.
...
Never strip trailing dots and spaces.
* (path_conv::check): Accomodate above change.
* path.h (path_conv::operator=): Ditto
* dtable.cc (build_fh_dev): Ditto.
* fhandler.h (fhandler_base::set_name): Ditto.
* path.cc (transform_chars): Disable converting trailing dots and
spaces.
* path.cc (path_conv::check): Remove two disabled code snippets.
2008-05-13 13:44:04 +00:00
Corinna Vinschen
a065930a3a
* random.cc (initstate): Align to POSIX definition.
...
(setstate): Ditto.
2008-05-13 11:40:45 +00:00
Corinna Vinschen
1563f79fa8
* Makefile.in (DLL_OFILES): Remove _def_time.o.
...
* libc/_def_time.c: Remove. Move definitions of _DefaultTimeLocale
and _CurrentTimeLocale ...
* libc/strptime.cc: ... here.
2008-05-10 18:57:10 +00:00
Corinna Vinschen
12b830981e
* include/sys/localedef.h: Remove.
...
* libc/strptime.cc: Define _TimeLocale and declare _CurrentTimeLocale
as well as _DefaultTimeLocale locally for Cygwin.
2008-05-08 14:58:11 +00:00
Corinna Vinschen
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
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