| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
(putw): Ditto.
(wcscmp): Ditto.
(wcslen): Ditto.
(memccpy): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(STATUS_OBJECT_PATH_NOT_FOUND): Define.
(STATUS_BUFFER_OVERFLOW): Define.
(FILE_SUPERSEDED): Define.
(FILE_OPENED): Define.
(FILE_CREATED): Define.
(FILE_OVERWRITTEN): Define.
(FILE_EXISTS): Define.
(FILE_DOES_NOT_EXIST): Define.
(PIO_APC_ROUTINE): Typedef.
(NtFsControlFile): Fix parameter types to use PIO_APC_ROUTINE.
(NtWriteFile): Declare.
(RtlInt64ToHexUnicodeString): Declare.
* strfuncs.cc: Include ntdll.h.
(RtlInt64ToHexUnicodeString): New function.
* syscalls.cc (try_to_bin): Rewrite using native NT functions.
Only try to create recycle bin after unsuccessfully trying to move
file. Also try to create special files in recycle bin so that Windows
Explorer isn't unnecessarily stampeded.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-07-12 Daniel Jacobowitz <dan@codesourcery.com>
* arm/syscalls.c (_stat): Use _close
* arm/syscalls.c (struct poslog): Rename to...
(struct fdent): ... this.
(FILE_HANDLE_OFFSET): Remove.
(findslot): Return a struct fdent* if fd is valid, otherwise return NULL.
(newslot): New function.
(remap_handle): Remove.
(initialise_monitor_handles): Use stdout as fallback for stderr.
(wrap): Rename to...
(checkerror): ... this.
(_swiread): Use checkerror() for the return of SWI calls. Correct the use of r0.
(_read): Use findslot(). Return EBADF on bad handle.
(_swilseek): Call findslot(). Check for valid whence. Check for negative offset when using
SEEK_CUR, and check for overflow. Use checkerror(). Check *_Flen calls for errors.
(_swiwrite): Correct the use of r0.
(_write): Call findslot().
(_swiopen): Call findslot(). Check for valid flags. Use checkerror(). Call newslot().
Handle O_TRUNC, and O_WRONLY. Return index into openfiles[] for fd.
(_swiclose): Correct the use of r0.
(_close): Handle stderr == stdout case. Only reclaim handle if _swiclose succeeded.
(_getpid): Use __attribute__((unused)).
(_sbrk): Fix formatting.
(_swistat): New function.
(_stat): Call _swistat().
(_fstat): Call _swistat().
(_unlink): Correct the use of r0.
(isatty): Call finslot(). Correct the use of r0.
(_system): Call checkerror(). Correct the use of r0.
(_rename): Correct the use of r0.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
separators, require them to be existing directories if so. Check
for a request to change only the case of the filename. Check paths
for case insensitve equality only once. Handle renaming a directory
to another, existing directory by unlinking the destination directory
first. If newpath points to an existing file with R/O attribute set,
try to unset R/O attribute first. Augment hardlink test by not
checking directories. If renaming fails with STATUS_ACCESS_DENIED,
try to unlink existing destination filename and try renaming again.
Drop useless test for non-empty directory. Always close fh at the
end of the function.
|
|
|
|
| |
potential race.
|
|
|
|
|
|
| |
trying to rename it. Use nfh handle when checking for non-empty
newpath directory. Only change status if check_dir_not_empty really
returns STATUS_DIRECTORY_NOT_EMPTY.
|
|
|
|
|
| |
* include/_mingw.h: Increment version to 3.13.
* Makefile.in: Reset CYGRELEASE to 1
|
|
|
|
| |
* include/_mingw.h: Increment version to 3.13.
|
|
|
|
|
| |
* include/w32api.h: Increment version to 3.10.
* Makefile.in: Ditto.
|
|
|
|
| |
* libc/include/tar.h: New.
|
|
|
|
|
|
|
|
| |
* libc/sys/linux/intl/Makefile.am: Change stpcpy reference to
lcl_stpcpy to avoid conflict with new stpcpy.c in libc/string.
* libc/sys/linux/intl/Makefile.in: Regenerated.
* libc/sys/linux/intl/stpcpy.c: Renamed to...
* libc/sys/linux/intl/lcl_stpcpy.c: ..this.
|
|
|
|
|
|
|
|
| |
dependency-filtering $(wordlist ...) call appropriately. Link ntdll.
(bloda.o): New rule to build bloda.o
* cygcheck.cc (dump_sysinfo): Call bloda function dump_dodgy_apps().
* bloda.cc: New file implements detection of applications from the
Big List Of Dodgy Apps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/stdio/fmemopen.c (_fmemopen_r, fmemopen): New file.
* libc/stdio/open_memstream.c (_open_memstream_r, open_memstream):
New file.
* libc/stdio/fopencookie.c (fcwriter): Minor optimization.
* libc/include/stdio.h (dprintf, vdprintf): Group all POSIX 200x
functions together.
(fmemopen, open_memstream): Declare new functions.
* libc/stdio/stdio.tex: Document them.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES): Add
fmemopen and open_memstream.
* libc/stdio/Makefile.in: Regenerate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
* coffcode.h (ALIGN_SET): Removed.
(ELIFALIGN_SET): Likewise.
(coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
include/coff/
2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
* pe.h (IMAGE_SCN_ALIGN_POWER_BIT_POS): New.
(IMAGE_SCN_ALIGN_POWER_BIT_MASK): Likewise.
(IMAGE_SCN_ALIGN_POWER_NUM): Likewise.
(IMAGE_SCN_ALIGN_POWER_CONST): Likewise.
(IMAGE_SCN_ALIGN_128BYTES): Likewise.
(IMAGE_SCN_ALIGN_256BYTES): Likewise.
(IMAGE_SCN_ALIGN_512BYTES): Likewise.
(IMAGE_SCN_ALIGN_1024BYTES): Likewise.
(IMAGE_SCN_ALIGN_2048BYTES): Likewise.
(IMAGE_SCN_ALIGN_4096BYTES): Likewise.
(IMAGE_SCN_ALIGN_8192BYTES): Likewise.
(IMAGE_SCN_ALIGN_1BYTES): Redefined with
IMAGE_SCN_ALIGN_POWER_CONST.
(IMAGE_SCN_ALIGN_2BYTES): Likewise.
(IMAGE_SCN_ALIGN_4BYTES): Likewise.
(IMAGE_SCN_ALIGN_8BYTES): Likewise.
(IMAGE_SCN_ALIGN_16BYTES): Likewise.
(IMAGE_SCN_ALIGN_32BYTES): Likewise.
(IMAGE_SCN_ALIGN_64BYTES): Likewise.
|
|
|
|
| |
* syscalls.cc (rename): Ditto.
|
| |
|
| |
|
| |
|
|
|
|
| |
* lib/cygwin_crt0.c: Ditto.
|
|
|
|
| |
(CYGWIN_OBJS): Include strfuncs.o.
|
|
|
|
|
| |
* strfuncs.cc: Move it here. New file with bits of miscfuncs.cc.
* miscfuncs.cc: Remove wide character stuff.
|
|
|
|
|
| |
* Makefile.in (OBJS): Add smallprint.o.
(CYGWIN_OBJS): Remove smallprint.o from Cygwin dir.
|
|
|
|
|
|
| |
oldpath and newpath referring to the same file. Test if oldpath
has more than one hardlink before opening oldpath (idea by Eric Blake).
Reorder test so that file id is tested before volume serial number.
|
|
|
|
|
|
|
| |
(fsinfo::length): Remove.
(path_conv::rootdir): Remove.
* syscalls.cc (try_to_bin): Use rootdir function instead of
path_conv::rootdir method.
|
|
|
|
| |
NtClose.
|
|
|
|
| |
* lib/kernel32.def (ReOpenFile@16): Add export.
|
|
|
|
|
| |
same file. If so, return successfully and perform no other action,
as per SUSv3.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* syscalls.cc (check_dir_not_empty): New static function.
(unlink_nt): Move code checking for non-empty dir to check_dir_not_empty
and call check_dir_not_empty instead.
(rename): Add fault handler. Check oldpath and newpath for trailing
. and .. path components and return EINVAL if so. Check oldpath
for being on a vrtual file system. If renaming a dir fails with
STATUS_ACCESS_DENIED, check if the target dir is non-empty and return
ENOTEMPTY if so.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
usage of path_conv::volser().
(fhandler_base::fstat_by_name): Ditto.
* ntdll.h (STATUS_NO_MEDIA_IN_DEVICE): Define.
(STATUS_OBJECT_NAME_NOT_FOUND): Define.
(FILE_REMOVABLE_MEDIA, FILE_READ_ONLY_DEVICE, FILE_FLOPPY_DISKETTE)
(FILE_WRITE_ONCE_MEDIA, FILE_REMOTE_DEVICE, FILE_DEVICE_IS_MOUNTED)
(FILE_VIRTUAL_VOLUME, FILE_AUTOGENERATED_DEVICE_NAME)
FILE_DEVICE_SECURE_OPEN): Define Device Characteristics.
(struct _FILE_FS_DEVICE_INFORMATION): Define.
* path.cc (MAX_FS_INFO_CNT): Remove.
(fsinfo): Remove.
(fsinfo_cnt): Remove.
(fs_info::update): Rewrite using native NT functions. Drop fs_info
cashing since it's incorrect.
(path_conv::fillin): Use NtQueryInformationFile. Drop setting serial
number.
(path_conv::check): Accommodate new fs_info::update parameters.
(fillout_mntent): Ditto.
* path.h (fs_info): Drop serial, has_ea and drive_type status
flags.
(fs_info::update): Declare with new parameters.
(path_conf::drive_type): Remove.
(path_conf::fs_has_ea): Remove.
(path_conf::volser): Remove.
|
|
|
|
|
| |
(fhandler_base::fpathconf): Return value of pc.has_acls () instead
of calling check_posix_perms.
|
| |
|
|
|
|
| |
PWCHAR arguments. Move wide char handling after char handling.
|
|
|
|
|
|
|
| |
* libc/stdio/findfp.c (__sinit): Open stderr read/write.
* libc/stdio/fdopen.c (_fdopen_r): Set O_APPEND on fd when
requested.
* libc/stdio64/fdopen64.c (_fdopen64_r): Likewise.
|
|
|
|
|
|
|
|
|
|
| |
* ntdll.h (RtlFreeOemString): Declare.
* ntdll.h (RtlUnicodeStringToAnsiString): Declare.
* ntdll.h (RtlUnicodeStringToOemString): Declare.
* smallprint.cc: Renamed from smallprint.c. Drop unnecessary
forward declarations.
(__small_vsprintf): Add format specifiers 'C' for WCHAR arguments
and 'S' for PUNICODE_STRING arguments.
|
|
|
|
| |
* include/wtsapi32.h (WTS_CURRENT_SESSION, WTSDisconnectSession): Define.
|
|
|
|
|
|
|
|
|
|
| |
for binary in case of .exe files.
* ntdll.h (RtlPrefixUnicodeString): Declare.
* path.cc (path_conv::is_binary): New method.
* path.h (path_conv::is_binary): Declare.
* syscalls.cc (rename_append_suffix): New static helper function for
rename.
(rename): Rewrite. New suffix tests. Use native NT functions.
|
|
|
|
|
|
|
| |
opened for reading the ACLs, fall back to faking them.
* sec_acl.cc (acl_worker): Handle non-existing files.
* security.cc (get_file_attribute): Return ILLEGAL_UID/ILLEGAL_GID
as owner/group for non-readable ACLs on file systems supporting them.
|
| |
|
|
|
|
|
| |
* include/wingdi.h (GetTextExtentExPointI): Add prototype.
* lib/gdi32.def (GetTextExtentExPointI@28): Add export.
|
|
|
|
| |
issue a SIGPIPE when we get ERROR_NO_DATA.
|
|
|
|
|
|
|
|
|
|
|
|
| |
FileAttributes set to 0 when calling NtSetInformationFile since it has
a special meaning.
(fhandler_disk_file::facl): Ditto.
(fhandler_disk_file::link): Only set attributes after copying files.
Use SetFileAttributesW.
* syscalls.cc (unlink_nt): Only care for actual FILE_ATTRIBUTE_READONLY.
Don't allow FileAttributes set to 0 when calling NtSetInformationFile.
After marking for deletion, restore R/O attribute on files to
accommodate hardlinks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(fhandler_base::utimes_fs): Fix white space.
(fhandler_disk_file::lock): Remove 9x blurb from comment.
(fhandler_disk_file::mkdir): Use NtCreateFile/NtClose instead of
CreateDirectoryA.
(fhandler_disk_file::rmdir): Accommodate changes to unlink_nt.
Simplify post-delete SMB-related tests. Use NtQueryAttributesFile
instead of GetFileAttributes.
* ntdll.h (STATUS_DIRECTORY_NOT_EMPTY): Define.
(NtQueryAttributesFile): Declare.
* syscalls.cc (unlink_nt): Return NTSTATUS. Drop setattrs parameter.
Never use FILE_DELETE_ON_CLOSE, always use
NtSetInformationFile(FileDispositionInformation) instead.
Check for R/O attributes and open file with FILE_WRITE_ATTRIBUTES
access if any of them are set. Remove R/O attributes before
marking for delete if necessary. Revert them afterwards if necessary.
(unlink): Accommodate changes to unlink_nt.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(fhandler_disk_file::fchmod): Always try to open file with required
access rights. Use NtSetInformationFile instead of SetFileAttributes.
(fhandler_disk_file::facl): Use NtSetInformationFile instead of
SetFileAttributes.
(fhandler_base::utimes_fs): Change lastaccess and lastwrite to
LARGE_INTEGER. Drop 9x directory case. Use NtSetInformationFile
instead of SetFileAttributes. Drop temporarily changing R/O attribute
since NtSetInformationFile(FileBasicInformation) also works on R/O
files.
* ntdll.h (STATUS_NOT_SUPPORTED): Define.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
class.
* exceptions.cc (_cygtls::inside_kernel): Move function definition into _cygtls
class.
* fhandler.cc (fhandler_base::wait_overlapped): Make return tri-state to detect
when there is a EINTR situation. Add a pointer to a length parameter. Move
GetOverlappedResult into this function.
(fhandler_base::read_overlapped): Accommodate above changes and loop if we
receive a restartable signal.
(fhandler_base::write_overlapped): Ditto.
* fhandler.h (fhandler_base::wait_overlapped): Reflect above changes.
* fhandler_fifo.cc (fhandler_fifo::wait): Ditto.
|
|
|
|
|
|
| |
(RtlEqualUnicodePathSuffix): Rename from RtlEqualPathSuffix.
* fhandler_disk_file.cc (fhandler_disk_file::link): Accommodate above
change.
|
|
|
|
|
|
|
|
|
|
| |
parameters to be the same as for RtlInitEmptyUnicodeString.
(RtlEqualPathPrefix): New inline function.
(RtlEqualPathSuffix): New inline function.
* fhandler_disk_file.cc: Accommodate parameter order change of
RtlInitEmptyUnicodeString throughout.
(fhandler_disk_file::link): Do path checking in unicode. Call
CopyFileW instead of CopyFileA.
|
|
|
|
|
|
|
|
|
| |
* fhandler_disk_file.cc (fhandler_disk_file::link): Drop GetBinaryType
test. Just check exe suffix instead. Tune creating new file name.
Implement creating hard link using native NT functions which works
on all platforms.
* ntdll.h (STATUS_INVALID_DEVICE_REQUEST): Define.
(struct _FILE_LINK_INFORMATION): Define.
|