Christopher Faylor
a7e0bc7bbe
remove obsolete comment
2008-06-12 14:55:08 +00:00
Corinna Vinschen
24790b9cdb
* path.cc (get_nt_native_path): Drop considerations for DOS devices.
...
Keep relative paths relative.
(cygwin_conv_path): Don't try to skip native NT prefixes on relative
paths.
2008-06-11 14:06:05 +00:00
Corinna Vinschen
abe2834a49
* include/cygwin/version.h (CYGWIN_VERSION_MOUNT_REGISTRY): Bump.
...
(CYGWIN_INFO_CYGWIN_MOUNT_REGISTRY_NAME): Remove.
(CYGWIN_INFO_CYGDRIVE_FLAGS): Remove.
(CYGWIN_INFO_CYGDRIVE_PREFIX): Remove.
(CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX): Add comment to differ from the
registry related defines.
2008-06-11 09:43:59 +00:00
Corinna Vinschen
373a7e22e2
* fhandler_procnet.cc (dad_to_flags): Fix comment.
2008-06-11 08:38:39 +00:00
Corinna Vinschen
c9227bf8a7
* fhandler_procnet.cc (get_scope): New static function to evaluate
...
scope.
(dad_to_flags): New static array to convert Windows DAD state to
Linux values.
(format_procnet_ifinet6): Drop asking for IfIndex, just use Ipv6IfIndex.
Use get_scope and dad_to_flags to generate more accurate linux-like
output.
2008-06-10 19:58:58 +00:00
Corinna Vinschen
bbfcc68ad2
* net.cc (if_nametoindex): Fix typo in call to get_adapters_addresses.
...
(if_indextoname): Prefer IPv6 loopback device name over IPv4 loopback
device name on pre-Vista systems.
(if_nameindex): Ditto.
2008-06-10 18:15:57 +00:00
Corinna Vinschen
7a2c0a0d6b
* fhandler_procnet.cc (format_procnet_ifinet6): Use sprintf rather than
...
__small_sprintf.
* net.cc (if_nametoindex): Prefer IPv6IfIndex over IfIndex for
consistency with /proc/net/if_inet6.
(if_indextoname): Ditto.
(if_nameindex): Ditto.
2008-06-10 17:24:00 +00:00
Corinna Vinschen
58014a9b46
* mount.cc (mount_info::from_fstab): Read sizeof (buf) - 2 bytes.
...
Add code to handle overly long lines.
2008-06-10 17:17:44 +00:00
Corinna Vinschen
93e9098f7c
* sec_auth.cc (lsaauth): Make returned token inheritable.
2008-06-10 15:16:01 +00:00
Corinna Vinschen
be5937cd97
* devices.cc: Regenerate.
2008-06-10 14:48:24 +00:00
Christopher Faylor
0498e171a5
* devices.in: Remove "Global" from tty device.
2008-06-09 14:01:40 +00:00
Christopher Faylor
c230ba2a1c
* signal.cc (abort): Only flush streams after signal handler.
2008-06-09 13:45:59 +00:00
Christopher Faylor
585cd03044
* cygwin.sc: Remove unrequired and erroneous definition.
2008-06-03 02:22:36 +00:00
Christopher Faylor
11a36faaa6
* select.cc (peek_pipe): Semi-reinstate pipe NT-special write detection.
2008-05-30 17:56:37 +00:00
Christopher Faylor
4f3af63913
add missing entry
2008-05-29 17:09:10 +00:00
Christopher Faylor
2bae7a19e4
* devices.in: Change mapping for /dev/ttyS* and /dev/com*.
2008-05-29 17:08:45 +00:00
Christopher Faylor
12cf19762d
* mount.cc (mount_info::from_fstab): Use proper buffer size.
2008-05-25 23:51:32 +00:00
Christopher Faylor
f524521aab
* mount.cc (mount_info::init): Revert previous change.
...
(mount_info::from_fstab): Change system_printf to debug_printf. Just use a
local NT_MAX_PATH sized temporary buffer.
2008-05-24 15:59:01 +00:00
Corinna Vinschen
0fd62c686d
* mount.cc (mount_info::init): Recreate path when trying to read the
...
user fstab file.
2008-05-24 10:07:49 +00:00
Corinna Vinschen
362ce9fa99
* path.cc (symlink_info::check): Reorder test for nfs symlinks.
2008-05-24 09:54:32 +00:00
Corinna Vinschen
6afd630106
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Don't try to
...
use FileIdBothDirectoryInformation on NFS shares. Fix comment to
explain why.
* path.cc (symlink_info::check): Reinstantiate no_ea. Use in
erroneously changed condition.
2008-05-23 17:22:18 +00:00
Christopher Faylor
e765b3c0ad
* mount.cc (find_root_from_cygwin_dll): New function factored from from_fstab.
...
Avoid use of tls since it isn't necessarily initialized when cygwin1.dll is
dynamically loaded.
(mount_info::create_root_entry): Ditto.
(mount_info::init): Calculate cygwin root once. Use create_root_entry to
record it. Pass fstab location to from_fstab.
(mount_info::from_fstab): Move root calculation stuff elsewhere, as per above.
* shared_info.h (mount_info::from_fstab_line): Make private.
(mount_info::fstab): Ditto. Accommodate new arguments.
2008-05-23 16:38:51 +00:00
Christopher Faylor
7cd4542873
* mount.cc (mount_info::from_fstab): Use cygwin_hmodule rather than trying to
...
find handle based on cygwin1.dll.
* path.cc (symlink_info::check): Remove unused variable.
2008-05-23 15:33:03 +00:00
Corinna Vinschen
7075440208
* shared.cc (open_shared): Fix comments. Fix a condition which has
...
been overlooked to revert to its old state in change from 2008-04-18.
2008-05-23 11:59:37 +00:00
Corinna Vinschen
1870c68806
* path.cc (symlink_info::check): Define eabuf and easize outside of
...
loop. Set to NULL on first STATUS_EAS_NOT_SUPPORTED. Align comments.
Fix formatting.
2008-05-23 11:00:35 +00:00
Corinna Vinschen
b4ea313a85
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Eliminate
...
compiler warning.
2008-05-23 10:01:34 +00:00
Christopher Faylor
81adfe2862
* path.cc (symlink_info::check): Don't pass EaBuffer to NtCreateFile if it has
...
indicated that it isn't appropriate.
* ntdll.h (STATUS_EAS_NOT_SUPPORTED): Define.
* winsup.h: Remove __builtin* defines.
2008-05-23 07:13:47 +00:00
Corinna Vinschen
8a179967e6
* grp.cc (internal_getgroups): Fix thinko. Only add enabled groups to
...
the group list.
2008-05-22 21:14:30 +00:00
Corinna Vinschen
2122048bd6
* grp.cc (internal_getgroups): Don't add deny-only groups to the group
...
list.
2008-05-22 21:03:54 +00:00
Corinna Vinschen
c15121a287
* cygtls.h (struct san): Add two int values to store the current
...
tls_pathbuf counters.
(return_from_fault): Restore tls_pathbuf counters.
(setup_fault): Save tls_pathbuf counters.
* tlsoffset.h: Regenerate.
2008-05-22 20:32:15 +00:00
Corinna Vinschen
c1410a8d1e
* sec_acl.cc (setacl): Set errno to EINVAL if user or group don't exist.
2008-05-22 12:43:18 +00:00
Corinna Vinschen
b72918135c
* path.cc (cygwin_conv_path): Define tp before setting up faul handler.
...
* syscalls.cc: Ditto, throughout.
(gen_full_path_at): Add bool parameter to allow NULL pathname.
(futimesat): Allow NULL pathname as GLIBC.
2008-05-22 11:18:46 +00:00
Christopher Faylor
9ea50a60e1
* string.h (strchr): Eliminate.
...
* syscalls.cc (rename): Work around inexplicable C++ warning.
2008-05-22 01:25:37 +00:00
Corinna Vinschen
380b8bac12
* fhandler_disk_file.cc (get_ino_by_handle): Rename pfai to fai.
...
(fhandler_base::fstat_by_handle): Drop fai_size and pfai in favor of
static struct fai_buf. Restructure.
(fhandler_base::fstat_by_name): Drop fvi_size and pfvi. Drop fdi_size
and pfdi in favor of static struct fdi_buf. Drop redundant test for
existance. Use FileDirectoryInformation class instead of
FileBothDirectoryInformation. Drop call to NtQueryVolumeInformationFile
in favor of using pc.fs_serial_number (). Fix FileId information given
to fstat_helper.
(fhandler_disk_file::fstatvfs): Drop fvi_size, pfvi, fai_size and pfai.
Drop getting FileFsVolumeInformation and FileFsAttributeInformation in
favor of using the related path_conv info.
(fhandler_disk_file::opendir): Fix comment.
(fhandler_disk_file::readdir): Ditto. Use FileDirectoryInformation
class instead of FileBothDirectoryInformation.
* path.cc (fs_info::update): Store MaximumComponentNameLength in new
member name_len.
* path.h (struct fs_info): Use ULONG rather than DWORD. Add member
name_len to store MaximumComponentNameLength. Add accessor methods.
(path_conv::fs_name_len): New method.
2008-05-21 10:23:19 +00:00
Corinna Vinschen
0d3f365881
* fhandler.h (dirent_states): Add dirent_nfs_d_ino state and add it to
...
dirent_info_mask.
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Set
dirent_nfs_d_ino flag for NFS shares. Explain why.
(fhandler_disk_file::readdir): Use FileNamesInformation instead of
FileBothDirectoryInformation info class on NFS clients not supporting
the FileIdBothDirectoryInformation info class. Use local pointers to
accommodate different offsets.
* path.cc (symlink_info::check): Don't test directories for symlinks
on NFS shares. Enhance comment.
2008-05-21 09:02:42 +00:00
Corinna Vinschen
2762ac6c19
* syscalls.cc (FILTERED_MODE): Define valid chmod mode mask.
...
(chmod): Call fh->fchmod with filtered mode.
(fchmod): Ditto.
2008-05-21 08:05:53 +00:00
Corinna Vinschen
6e961ccc7e
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Fix test for
...
S_IFSOCK in mode bits.
2008-05-20 21:08:39 +00:00
Corinna Vinschen
28259ba2dd
* path.cc (symlink_worker): Fix EA buffer size info given to
...
NtCreateFile.
(symlink_info::check_nfs_symlink): Get 64K buffer for EA buffer.
Change EA buffer size info given to NtQueryEaFile accordingly.
2008-05-20 18:26:45 +00:00
Corinna Vinschen
c44e0ba1f5
* path.cc (symlink_info::check_shortcut): Minimize requested file
...
access flags.
(symlink_info::check_sysfile): Ditto. Add missing `else'.
(symlink_info::check): Only retry to open file if first try failed
with access denied.
2008-05-20 18:19:32 +00:00
Corinna Vinschen
4c5627e7e2
* path.cc (fs_info::update): Re-add opening the unsplitted path
...
for fillout_mntent's sake.
2008-05-20 17:18:08 +00:00
Corinna Vinschen
ec0165f29c
* fhandler_disk_file.cc (fhandler_disk_file::mkdir): Create directories
...
on NFS shares with correct mode bits.
2008-05-20 16:24:06 +00:00
Corinna Vinschen
316d9cabfe
* winsup.h (cygwin_inet_addr): Fix type of declaration.
2008-05-20 15:39:26 +00:00
Corinna Vinschen
fe6934da14
* Makefile.in (DLL_OFILES): Add nfs.o.
...
* fhandler.cc (fhandler_base::open): Open files on NFS shares with
correct access flags and EAs.
* fhandler.h (fhandler_base::fstat_by_nfs_ea): Declare.
* fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): New method.
(fhandler_base::fstat_by_handle): Call fstat_by_nfs_ea for files on
NFS shares.
(fhandler_disk_file::fchmod): Use NFS specific method to set mode for
files on NFS shares. Don't overrule errno from call to
set_file_attribute with errno from NtSetInformationFile call.
(fhandler_disk_file::fchown): Add comment.
* mount.cc (fillout_mntent): Accommodate change in second parameter
to fs_info::update.
* nfs.cc: New file.
* nfs.h: New file.
* path.cc (fs_info::update): Take handle instead of bool as second
parameter. Use that handle if it's not NULL. Only close handle if
it has been opened here. Use static defined buffers instead of
alloca'd buffers.
(path_conv::check): Call symlink_info::check with reference to fs.
Don't call fs.update here if file exists.
(conv_path_list): Prefer tmp_pathbuf buffer over using alloca.
(symlink_worker): Use NFS specific method to create symlinks on NFS
shares. Prefer tmp_pathbuf buffer over using alloca.
(symlink_info::check_shortcut): Reopen file from incoming handle
with necessary FILE_GENERIC_READ flag. Prefer tmp_pathbuf buffer over
using alloca.
(symlink_info::check_sysfile): Ditto.
(symlink_info::check_reparse_point): Use tmp_pathbuf buffer to
allocate REPARSE_DATA_BUFFER.
(symlink_info::check_nfs_symlink): New method.
(enum symlink_t): Remove.
(symlink_info::check): Don't use NtQueryAttributesFile. Rather, open
file with necessary access flags and call NtQueryInformationFile. Fix
error handling in case file can't be opened. For existing files, call
fs_info::update here. Restructure symlink checking to accommodate the
fact that the file is already open. Add case for NFS symlinks.
* path.h (fs_info::update): Take handle instead of bool as second
parameter.
2008-05-20 15:11:23 +00:00
Corinna Vinschen
2f33b79950
* syscalls.cc (rename): Fix condition when to start a transaction.
2008-05-20 10:24:25 +00:00
Corinna Vinschen
c211f8eb24
* path.cc (path_conv::check): Free wide_path and normalized_path if
...
necessary.
* path.h (path_conv::path_conv): Set wide_path, normalized_path and
normalized_path_size to 0 in all constructors.
2008-05-20 10:18:12 +00:00
Corinna Vinschen
78ee2ae11f
* syscalls.cc (rename): Allocate temporary path buffers using
...
tmp_pathbuf. Don't try to unset R/O attribute on dstpc if a
removepc exists. dstpc is a non-existant file in that case.
2008-05-19 20:22:29 +00:00
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
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