Commit Graph

3435 Commits

Author SHA1 Message Date
Sebastian Lackner aab0d25a49 ntdll: Add support for ATL thunk 'MOV this,ecx; JMP func'. 2014-10-21 18:50:59 +09:00
Akihiro Sagawa e94d2e0459 server: KeyNameInformation returns the full name of the key. 2014-10-15 22:01:59 +09:00
Sebastian Lackner 34b2d920b4 ntdll: Improve check_atl_thunk to prevent passing exceptions to the usermode application. 2014-10-15 11:52:06 +09:00
Sebastian Lackner 1c957ceb96 ntdll: Only check for ATL thunk if allowed by execute option flags.
Checking for ATL thunks can be disabled by setting MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION.
2014-10-13 18:31:26 +09:00
Sebastian Lackner e16996bb3d ntdll: reset_write_watches shouldn't remove enforced exec permissions. 2014-10-13 18:31:19 +09:00
Sebastian Lackner aa3c6111d9 ntdll: Ensure force_exec_prot is also used for views with write watch permissions. 2014-10-13 18:31:14 +09:00
Sebastian Lackner 0cf3d78167 ntdll: Avoid recursive exception handler calls when handling guard pages.
The ATL check leads to problems when a page is protected with guard page protection.
raise_segv_exception is called with EXCEPTION_EXECUTE_FAULT. The ATL check tries to
read the memory, and triggers another exception handler. This time the virtual_handle_fault
check is executed, and removes the guard page protection. Afterwards, when the ATL
check returns, the exception is _not_ catched by virtual_handle_fault, but instead
passed to the application.
2014-10-13 18:31:06 +09:00
André Hentschel 778c2ab6f9 ntdll: Add support for Win 8.1. 2014-10-08 17:45:51 +02:00
Michael Müller 15d013067d ntdll: Wait until builtin dlls are unloaded before releasing the virtual view. 2014-10-07 20:22:15 +02:00
Sebastian Lackner 5272ca241b ntdll: Set ldr.EntryPoint for main executable. 2014-10-07 20:22:13 +02:00
Michael Müller 9e69715900 ntdll: Fix handling of page fault if a guard page and write watch is triggered at the same time. 2014-10-07 20:21:56 +02:00
Akihiro Sagawa e47ff90659 ntdll/tests: Add KeyNameInformation tests. 2014-09-29 17:48:30 +02:00
Akihiro Sagawa 2be3df3c32 ntdll/tests: Remove duplicated entry. 2014-09-29 17:48:25 +02:00
André Hentschel 6d50cfcac2 ntdll: Use a dynamic buffer for change notification data. 2014-09-23 17:17:11 +02:00
Daniel Lehman 27b3a5cce4 ntdll: Use the configured CriticalSection timeout in RtlpWaitForCriticalSection. 2014-09-11 19:30:42 +02:00
Sebastian Lackner 636dc013cd ntdll: Use call_dll_entry_point to execute TLS callbacks. 2014-09-08 16:03:38 +02:00
Sebastian Lackner b7f77bb1fd ntdll: Save more registers in call_dll_entry_point on i386. 2014-09-08 16:02:17 +02:00
Felix Janda 3ae113a957 ntdll: getdents64 might have been defined previously. 2014-09-05 15:26:55 +02:00
Nikolay Sivov 7b7d8374a4 ntdll: NtWaitForMultipleObjects()'s third arguments means 'wait_any', not 'wait_all'. 2014-09-01 13:03:07 +02:00
Sebastian Lackner b765561b49 ntdll/tests: Add tests for FILE_PIPE_INFORMATION.
Based on a patch by Adam Martinson.
2014-08-21 18:02:27 +02:00
Sebastian Lackner 82ce3fdcfd server: Implement set_named_pipe_info wineserver call for NtSetInformationFile/FilePipeInformation.
Based on a patch by Adam Martinson.
2014-08-20 19:40:07 +02:00
Adam Martinson 55e10e4ae2 ntdll: Implement FILE_PIPE_INFORMATION for NtQueryInformationFile. 2014-08-20 19:35:44 +02:00
Ken Thomases a14ed527d8 ntdll: In find_file_in_dir(), don't test directory entries' short names if the target name isn't a short name.
hash_short_file_name() will always create a short name of at least 8 characters
with the 5th being a tilde (~).  If the target name isn't of that form, then it
can never match any short name constructed from the directory entries.
2014-07-30 11:31:55 -05:00
Alexandre Julliard d7f6f8ee6c ntdll: Define arch_prctl since it is missing on Android. 2014-07-24 20:44:50 +02:00
Francois Gouget 09ffb97fdd ntdll: Fix the compilation by using the right mcontext_t field names for the signal context on FreeBSD. 2014-07-24 19:24:41 +02:00
Thomas Faber b4c96633ea include: Correctly spell STATUS_SMI_PRIMITIVE_INSTALLER_FAILED. 2014-07-23 21:24:24 +02:00
Alexandre Julliard 69d198a9eb ntdll: Use the standard mcontext_t type for the signal context on Android. 2014-07-23 21:24:18 +02:00
Alexandre Julliard 775263aa5c ntdll: Directly use ucontext_t instead of SIGCONTEXT on all platforms. 2014-07-23 19:07:00 +02:00
Alexandre Julliard 8d817997ce configure: Add a check for sys/ucontext.h and include it where appropriate. 2014-07-23 19:06:58 +02:00
Alexandre Julliard 1b1ea639cd ntdll: Use a custom signal restorer for Android.
Bionic doesn't provide one, even when vdso has been unmapped by the
preloader.
2014-07-17 14:51:12 +02:00
Frédéric Delanoy ec3a9a54f5 ntdll: Avoid potential integer overflow when computing median position in bsearch. 2014-07-03 18:17:30 +02:00
Sebastian Lackner 9d82ee5cac ntdll/tests: Add tests for DBG_RIPEXCEPTION debugger events. 2014-06-23 11:06:00 +02:00
Sebastian Lackner 2fcecdb72e ntdll: Avoid leaking activation context in RtlCreateUserThread. (Valgrind). 2014-06-23 10:18:23 +02:00
Sebastian Lackner cfd09b0967 ntdll: Fix leaking activation context when terminating via exit_thread(). (Valgrind). 2014-06-23 10:17:26 +02:00
Sebastian Lackner 99ac786c69 ntdll/tests: Add more tests for debug string events.
This patch adds additional tests, to check how debuggers handle
OUTPUT_DEBUG_STRING_EVENT events.
2014-06-20 16:30:57 +02:00
Sebastian Lackner 457f6af057 ntdll/tests: Run crashing i386 exception tests as the last step. 2014-06-20 12:20:25 +02:00
Sebastian Lackner 3aa62498da ntdll/tests: Use an EXCEPTION_REGISTRATION_RECORD array to prevent compiler from reordering variables. 2014-06-20 12:19:53 +02:00
Sebastian Lackner 0828715179 ntdll/tests: Add exception tests for RtlUnwind on i386. 2014-06-19 19:44:34 +02:00
Sebastian Lackner 1b3d67aace kernel32: Raise DBG_PRINTEXCEPTION_C exception in OutputDebugStringA. 2014-06-17 10:58:28 +02:00
Michael Müller 97c3bb040e ntdll: Stub TokenAppContainerSid in NtQueryInformationToken. 2014-06-12 18:13:19 +02:00
Sebastian Lackner dd0e9fe91e ntdll/tests: Fix exception test failures on x86_64. 2014-06-11 19:15:01 +02:00
Jacek Caban 1d6bf952d3 ntdll: Removed no longer used defines. 2014-06-11 16:16:08 +02:00
Nikolay Sivov 5a8d73283c ntdll: Fix LdrLockLoaderLock()/LdrUnlockLoaderLock() on 64bit. 2014-06-11 13:05:39 +02:00
Nikolay Sivov 97e2af1f73 ntdll: Implement non-blocking mode for LdrLockLoaderLock(). 2014-05-16 10:52:52 +02:00
Martin Storsjo 8cb42d4135 ntdll: Align FILE_*_DIRECTORY_INFORMATION structs to 8 bytes. 2014-05-15 19:04:56 +02:00
Martin Storsjo 114444ca9c ntdll: Don't write uninitialized bytes at the end of filenames. 2014-05-15 19:04:55 +02:00
Alexandre Julliard 2cef8dbcc2 ntdll: Determine the mapping type automatically from the WRITECOPY flag. 2014-05-13 12:28:58 +02:00
Jacek Caban 5ceb22714e ntdll: Use MAP_PRIVATE for copy on write mappings. 2014-05-13 12:27:32 +02:00
Jacek Caban 4792cf31c5 ntdll: Always use MAP_SHARED in NtMapViewOfSection. 2014-05-08 18:27:38 +02:00
Nikolay Sivov 0563c78cb6 ntdll/tests: Fix some string leaks (Valgrind). 2014-05-06 13:47:01 +02:00
Nikolay Sivov 4a28464484 ntdll: Fix a 'tlbid' string value leak (Valgrind). 2014-05-05 12:17:51 +02:00
Alexandre Julliard 693d6e48d7 ntdll: Don't wait for writes to complete in NtFlushVirtualMemory. 2014-04-24 14:39:48 +02:00
Austin English 1a988fa465 ntdll: Make sure flags are preserved in raise_trap_exception(). 2014-04-15 21:03:55 +02:00
Akihiro Sagawa e67f84122d ntdll: Add %gs support for NetBSD. 2014-04-14 20:19:01 +02:00
Thomas Faber 2d80ef28d0 ntdll/tests: Add tests for RtlUTF8ToUnicodeN. 2014-04-09 17:31:03 +02:00
Thomas Faber 9694360a27 ntdll/tests: Add tests for RtlUnicodeToUTF8N. 2014-04-09 17:28:37 +02:00
Sebastian Lackner 7821be356d ntdll/tests: Add tests for dynamic unwind table. 2014-04-08 19:23:19 +02:00
Sebastian Lackner 4d8edf7612 ntdll: Implement RtlInstallFunctionTableCallback on x86_64. 2014-04-08 19:23:14 +02:00
Sebastian Lackner 98307b22fb ntdll: Implement RtlAddFunctionTable / RtlDeleteFunctionTable for x86_64. 2014-04-08 18:28:31 +02:00
Sebastian Lackner a71d1e389f ntdll: Unify exception function lookup on x86_64. 2014-04-08 18:28:30 +02:00
Huw Davies ac79e160e7 ntdll: For Android look in /proc/mounts for mounted file systems. 2014-04-07 15:34:44 +02:00
Huw Davies 2139df003f ntdll: Add a replacement getmntent for Android.
Bionic has a stub function named getmntent which outputs an unimplemented message.
2014-04-07 15:34:43 +02:00
Nikolay Sivov b82b1306a4 kernel32: Added QueryUnbiasedInterruptTime(). 2014-04-02 15:50:09 +02:00
Alexandre Julliard 598c5816d9 kernel32: Don't allocate FLS index 0. 2014-03-28 17:46:03 +01:00
Jacek Caban 93920c3893 ntdll: Reserve TLS slot 0 for broken apps that compare index to 0 instead of TLS_OUT_OF_INDEXES. 2014-03-28 16:19:55 +01:00
Alexandre Julliard 395df1aa2d ntdll: Heap handles should be 64K-aligned. 2014-03-26 11:24:30 +01:00
Dmitry Timoshkov d5fd04f2f0 ntdll/tests: Always wait until the operation completes if returned status is STATUS_PENDING. 2014-03-21 14:14:42 +01:00
Sebastian Lackner 7ba4d119c1 ntdll: Use condition variable for RtlQueueWorkItem implementation. 2014-03-12 10:41:26 +01:00
Sebastian Lackner 9277fcfdb4 ntdll: Fix possible race-condition in iocp poller code. 2014-03-11 19:39:29 +01:00
Alexandre Julliard 0e42fd97c0 ntdll: Detect 16-bit modules and resolve imports for them. 2014-02-25 16:08:24 -06:00
Nikolay Sivov 88fc916442 ntdll: Use case-insensitive matching for typelib flags.
Spotted by Austin English.
2014-02-24 09:12:03 -06:00
Alexandre Julliard ff08cd597d ntdll: Only allocate TLS data when resolving imports. 2014-02-17 20:16:08 +01:00
Alexandre Julliard f5fc925f0e ntdll: Move fixup_imports to avoid forward declarations. 2014-02-17 20:15:45 +01:00
Alexandre Julliard 0f0bf58663 ntdll: Don't fixup imports for executables. 2014-02-17 20:15:44 +01:00
Alexandre Julliard 7307298ac3 ntdll: Don't fixup imports when a dll is already loaded. 2014-02-17 20:15:43 +01:00
Alexandre Julliard 183c184565 ntdll: Trace missing exception info on ARM. 2014-02-14 13:51:19 +01:00
Alexandre Julliard 241dd9ff23 ntdll: Fix printing formats for ARM registers. 2014-02-12 19:15:04 +01:00
Frédéric Delanoy 0f2bed51bd Assorted spelling fixes. 2014-02-10 15:47:29 +01:00
Alexandre Julliard cf0e96c6d0 configure: Rename substituted variables to a standard _CFLAGS and _LIBS format. 2014-01-30 14:51:33 +01:00
Sebastian Lackner 23adc9aaed ntdll: Fix incorrect value passed to RtlDeleteTimerQueueEx. 2014-01-30 10:35:53 +01:00
André Hentschel d7fb376db4 ntdll: Use boolean return values in boolean functions. 2014-01-29 17:30:46 +01:00
Sebastian Lackner fad29fc5d9 ntdll: Implement RtlSleepConditionVariableSRW. 2014-01-27 14:13:48 +01:00
Sebastian Lackner 899fc8d4ee ntdll: Implement RtlTryAcquireSRWLockShared/Exclusive commands. 2014-01-27 14:13:45 +01:00
Sebastian Lackner 8ca96a9de0 ntdll: Throw STATUS_RESOURCE_NOT_OWNED when it's impossible to acquire/release the SRWLock. 2014-01-27 14:13:44 +01:00
Sebastian Lackner 31a283d4da ntdll: Implement SRWLock functions using keyed events. 2014-01-17 11:26:38 +01:00
Frédéric Delanoy 841aabfd82 ntdll: Fix a typo in comment. 2014-01-17 11:01:44 +01:00
Frédéric Delanoy acf22e83f6 ntdll: Avoid TRUE:FALSE conditional expressions. 2014-01-13 17:37:04 +01:00
Alexandre Julliard 406587898f ntdll/tests: Fix a test that fails on Win2k. 2014-01-09 17:39:51 +01:00
Dmitry Timoshkov c7332fa1dc ntdll: Remove shadow local variables. 2014-01-09 12:10:42 +01:00
Sebastian Lackner 5472b9f9ca ntdll: Implement condition variable functions using keyed events. 2014-01-08 14:34:14 +01:00
André Hentschel 87c7c961f2 Assorted spelling fixes. 2014-01-06 17:33:24 +01:00
André Hentschel 5865fe78de ntdll: Add signal definitions for GNU/Hurd.
Partially based on a patch by Andrew Nguyen.
2014-01-06 17:10:05 +01:00
Martin Storsjo 48ae8f3070 ntdll: Improve handling of THUMB_MOV32 relocations. 2014-01-03 11:27:29 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Nikolay Sivov 1e1084232d ntdll: Fix manifest attribute parsing. 2014-01-01 19:32:56 +01:00
Nikolay Sivov aa4ebeb57c ntdll: Fix return value when failed to locate resource. 2013-12-30 19:01:45 +01:00
Nikolay Sivov 031c027262 ntdll: Open source file only when needed during context creation. 2013-12-30 19:01:44 +01:00
Frédéric Delanoy 1181c850dd ntdll/tests: Constify a character string. 2013-12-27 14:31:53 +01:00
Dmitry Timoshkov bfb4f28dc5 ntdll: Implement NtQuerySemaphore/SemaphoreBasicInformation. 2013-12-26 16:51:07 +01:00
Alexandre Julliard e54503f708 ntdll: Allocate TLS data in all running threads on module load. 2013-12-23 18:39:58 +01:00
Alexandre Julliard 1a4eca6f16 ntdll: Allocate TLS slots dynamically on module load. 2013-12-23 18:39:58 +01:00
Alexandre Julliard 384d698a9e ntdll: Allocate a separate pointer for each TLS slot. 2013-12-23 18:39:58 +01:00
Sebastian Lackner 09bb38d12b ntdll/tests: Add test for _snprintf. 2013-12-23 18:39:55 +01:00
Sebastian Lackner 3c2dc4a7b3 ntdll: Allow passing NULL buffer to printf functions. 2013-12-23 12:05:07 +01:00
Sebastian Lackner 805311f798 ntdll: Don't do further calls to pf_output_stringA if previous call failed. 2013-12-20 17:09:09 +01:00
Sebastian Lackner 29de7dd60b ntdll: Handle error if RtlAllocateHeap fails in printf functions. 2013-12-20 11:13:11 +01:00
Sebastian Lackner 661212b5f5 ntdll: Fix incorrect value added to out->used in pf_output_stringA. 2013-12-20 11:13:11 +01:00
Austin English 2a3932a0a2 ntdll: Export a few more functions. 2013-12-20 10:54:16 +01:00
Austin English 0dac887f48 ntdll: Return success for FSCTL_IS_VOLUME_MOUNTED ioctl. 2013-12-20 10:51:52 +01:00
André Hentschel 2692b9d2ca ntdll: Trace NtFlushInstructionCache on x86_64. 2013-12-17 16:36:28 +01:00
Alexandre Bique 5af5179313 ntdll: Fixme once for NtFlushInstructionCache(). 2013-12-16 16:11:36 +01:00
Hans Leidekker 0463d01f15 ntdll: Report the latest service pack for 64-bit Windows XP. 2013-12-11 12:57:18 +01:00
André Hentschel 51ec8af230 ntdll/tests: Add ARM support for map protection tests. 2013-12-10 12:20:36 +01:00
Frédéric Delanoy 502fc1aef9 ntdll: Use boolean type where appropriate. 2013-12-09 11:45:50 +01:00
Ken Thomases 22cf68e1bc ntdll: On Mac, store the dyld image info address in the PEB. 2013-12-05 12:40:56 +01:00
Frédéric Delanoy 5ba7f79bad Assorted spelling fixes. 2013-12-03 19:41:53 +01:00
Huw Davies fed9f67bc4 ntdll: Don't reduce the size of the local buffer when we come to read another batch of entries.
In the wildcard case, we can't know how much to reduce it by anyway.
2013-12-03 19:40:22 +01:00
Nikolay Sivov fd65b0a1c3 ntdll: Allow NULL return length argument in NtAdjustPrivilegesToken(). 2013-12-02 10:52:41 +01:00
Alexandre Julliard 1e78c99388 kernel32: Validate the architecture of newly created processes on the server side. 2013-11-22 12:32:48 +01:00
Frédéric Delanoy 57d7f74d34 Assorted spelling fixes. 2013-11-21 19:44:46 +01:00
Alexandre Julliard e8eb781327 server: Check PE file architecture at mapping creation time. 2013-11-21 19:39:02 +01:00
André Hentschel 6c140786e7 ntdll/tests: Mark win8 behaviour as failing. 2013-11-14 10:35:16 +01:00
André Hentschel 4ecc9788bd ntdll: Adjust NtAreMappedFilesTheSame to win8 behaviour. 2013-11-13 11:21:50 +01:00
Dmitry Timoshkov a890d0f030 server: Make it possible for WaitCommEvent to detect recursive requests. 2013-11-13 11:21:28 +01:00
André Hentschel b6b9050d58 ntdll: Implement LdrResolveDelayLoadedAPI. 2013-11-12 12:58:03 +01:00
André Hentschel eef5e45ee6 ntdll: Improved reporting of CPU Level and Revision on ARM. 2013-11-11 17:06:46 +01:00
André Hentschel a160a65317 ntdll: Enable compilation with -D__WINESRC__. 2013-11-06 12:01:53 +01:00
André Hentschel 94d8e3ab68 tools/winapi: Remove PCTSTR, PTSTR and TCHAR from the list of tested types. 2013-11-06 12:01:52 +01:00
Frédéric Delanoy 416930d498 ntdll: Use BOOL type where appropriate. 2013-11-04 11:03:43 +01:00
Frédéric Delanoy 7e63200672 ntdll: Use BOOL type where appropriate. 2013-11-01 10:52:42 +01:00
Dmitry Timoshkov 60ef62c8c2 ntdll: NtReadFile should update io status block on EOF for a synchronous read. 2013-10-31 16:52:48 +01:00
Dmitry Timoshkov a5e80b2d60 ntdll: NtReadFile should not fail for 0-length reads at EOF. 2013-10-31 16:18:33 +01:00
Frédéric Delanoy 86fdca6750 ntdll: Use BOOL type where appropriate. 2013-10-30 09:45:20 +01:00
Nikolay Sivov cb0ef08839 ntdll: Suppress a warning on 'description' attribute of 'comClass'. 2013-10-29 20:07:07 +01:00
Alexandre Julliard 61770be5f1 ntdll: Add an futimens syscall wrapper for Android. 2013-10-29 10:24:34 +01:00
Frédéric Delanoy 81b181fe72 ntdll/tests: Use BOOL type where appropriate. 2013-10-29 10:22:15 +01:00
Dmitry Timoshkov 3a41ebfbf2 ntdll/tests: Add tests for reading 0 bytes at end of file. 2013-10-29 10:21:41 +01:00
Dmitry Timoshkov 3b429e88ff server: Add support for pending write flag to the serial device. 2013-10-25 13:36:01 +02:00
Daniel Lehman 0669a8aca2 kernel32: Don't use depth in RtlInterlockedFlushSList.
Depth wraps around at 65536 but list supports more elements.
2013-10-24 10:56:13 +02:00
André Hentschel e0e7a0770b ntdll: vm86 is not available on PowerPC. 2013-10-23 11:20:51 +02:00
Alexandre Julliard 63092712c9 ntdll/tests: Skip test if LdrAddRefDll is missing. 2013-10-15 18:37:05 +02:00
Francois Gouget 4db9cd5f21 ntdll/tests: Fix compilation on systems that don't support nameless unions. 2013-10-15 14:28:20 +02:00
Nikolay Sivov 146ff49161 ntdll: Support pinning module refcount with LdrAddRefDll(). 2013-10-14 10:49:44 +02:00
Dmitry Timoshkov 49d0e64f88 kernel32: The return and last error values set by ReadFile on EOF depend on whether overlapped pointer was passed in. 2013-10-11 12:45:06 +02:00
Dmitry Timoshkov fa2ca8f6b4 ntdll/tests: Add more tests for reading beyond EOF. 2013-10-11 12:45:06 +02:00
Alexandre Julliard ac519d0eea ntdll: Add defines for the file position magic constants. 2013-10-09 16:13:41 +02:00
Dmitry Timoshkov 3cae528eef ntdll: Offset -1 (FILE_WRITE_TO_END_OF_FILE) is supposed to work in NtWriteFile for disk files in overlapped mode. 2013-10-09 16:11:33 +02:00
Dmitry Timoshkov 1670c7f9a6 ntdll/tests: Accept previously declared behaviour of overlapped IO as broken.
It highly depends on Windows version and updates/SP installed.
2013-10-07 14:44:35 +02:00
Dmitry Timoshkov aa8546ecc2 ntdll: Add support for FILE_APPEND_DATA to NtWriteFile. 2013-10-07 14:44:35 +02:00