Commit Graph

2102 Commits

Author SHA1 Message Date
Rob Shearman e7d91129d9 ntdll: When using HEAP_ZERO_MEMORY in heap allocation functions, don't clear the whole block.
Instead only clear the number of bytes requested and mark the remainder 
as uninitialised.
2008-02-21 13:00:05 +01:00
Rob Shearman 10b38faf3a ntdll: Fix the use of oldSize in RtlReAllocateHeap as both the size of the old block and the number of bytes used in the old block. 2008-02-21 12:55:49 +01:00
Rob Shearman 8608e895eb Add a new convenience macro for an exception handler that handles all exceptions.
When using native compiler exceptions, the previous method of doing 
this, __EXCEPT(NULL), would expand to __except( 
(NULL)(GetExceptionInformation())) which doesn't compile as NULL isn't a 
function.

So add a new macro, __EXCEPT_ALL, which works correctly both when using 
native compiler exceptions and without and which makes the meaning of 
code in which it is used clearer.
2008-02-16 14:58:24 +01:00
Alexandre Julliard 58913b439b kernel32: On Mac OS, recompose the Unicode strings we get from the OS. 2008-02-15 12:07:56 +01:00
Rob Shearman 0d9e09d8bf ntdll: Add an exception handler around calls to module entry points.
Change the return value from BOOL to NTSTATUS so that we can return the 
exception code to the caller.
2008-02-15 09:59:55 +01:00
Alexandre Julliard 78fba54ab7 ntdll: Store the unhandled exception filter at startup to avoid race conditions. 2008-02-12 22:39:19 +01:00
Alexandre Julliard 05c7174909 tests: Add a helper routine to wait for a child process and propagate its result correctly. 2008-02-07 12:56:00 +01:00
Rob Shearman e70848ed01 ntdll: The FileMailslotSetInformation and FileCompletionInformation cases of NtSetInformationFile don't need the fd.
So don't do an extra server call to get the fd to avoid a performance
penalty and to make these cases work when an fd isn't available.
2008-02-05 12:19:37 +01:00
Rob Shearman 21e2caa484 ntdll: Fix the index check in RtlGetAce.
The index is zero based so we should obviously be returning
STATUS_INVALID_PARAMETER if the index is equal to the ACE count.
2008-01-23 11:31:42 +01:00
Eric Pouech 2ea3dd12b1 ntdll: Fixed getting the RTS status from line, and now using sane default values for all (compilation/system) cases. 2008-01-22 12:58:14 +01:00
Alexandre Julliard 0375b7a1f3 ntdll: Don't fetch extended FPU context if there's no FPU context at all. 2008-01-22 10:20:12 +01:00
Alexandre Julliard 2cba11aa6f ntdll: Don't try to restore extended fpu context if not supported.
Remove an extra fpu context save left over from testing.
2008-01-18 12:02:31 +01:00
Dmitry Timoshkov bf89330fb6 ntdll: Do not perform base relocation if an image is not a DLL. 2008-01-17 14:25:15 +01:00
Alexandre Julliard 3bf12b9aca server: Don't force the process affinity to 1, leave it up to the client. 2008-01-17 13:40:03 +01:00
Alexandre Julliard 5b71d645f0 ntdll: Fall back to a server device ioctl for files with no associated fd. 2008-01-16 14:57:20 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Francois Gouget f6fab295f3 Fix spelling error in the generated conformance test files. 2008-01-16 12:46:18 +01:00
Alexandre Julliard 0a2fda7020 ntdll: Restore typecast that is really needed. 2008-01-15 20:36:48 +01:00
Alexandre Julliard 992de9f487 ntdll: Mac OS support for saving and restoring the extended FPU context on exceptions. 2008-01-15 20:36:40 +01:00
Alexandre Julliard bd352bcd1c ntdll: Linux support for saving and restoring the extended FPU context on exceptions. 2008-01-15 20:36:40 +01:00
Alexandre Julliard f45b7078bf ntdll: Copy extended registers too in copy_context(). 2008-01-15 20:36:40 +01:00
Andrew Talbot 00981b580a ntdll: Remove unneeded casts. 2008-01-14 13:10:00 +01:00
Rob Shearman 526cb8c375 ntdll: Fix NtQueryValueKey for KeyValueBasicInformation.
Add some tests for this.
2008-01-07 21:17:10 +01:00
Rob Shearman e958a570e5 ntdll: Fix the Data and Name returned by NtQueryValueKey for KeyValueFullInformation. 2008-01-07 21:17:10 +01:00
Rob Shearman edab3a6ff1 ntdll: Add tests for the data and name returned by NtQueryValueKey. 2008-01-07 21:17:10 +01:00
Alexandre Julliard 44dbb07441 ntdll: Return a proper Information field also when opening a server file object. 2008-01-07 12:17:42 +01:00
Alexandre Julliard a39ac0a701 ntdll: Print an error for unsupported shared writable mappings. 2008-01-03 13:20:03 +01:00
Rob Shearman 25bc7023ba ntdll: Implement RtlRegisterWait, RtlDeregisterWait and RtlDeregisterWaitEx. 2008-01-02 14:30:08 +01:00
Rob Shearman ec3448ff8c ntdll: Set the DataLength field of the information field in NtQueryValueKey to how much data should be returned, not what was actually returned. 2007-12-31 17:29:47 +01:00
Rob Shearman 05fbee5e2d ntdll: Add some tests for NtQueryValueKey. 2007-12-31 17:29:44 +01:00
Andrew Talbot 1ebe82af65 ntdll: Remove unneeded casts. 2007-12-31 16:45:22 +01:00
Eric Pouech aff968fb47 valgrind: Made Wine compliant will latest Valgrind macros (the one removed from 3.3.0 and deprecated since 3.2.0). 2007-12-24 13:30:39 +01:00
Andrey Turkin 343f2c1b30 ntdll: Implement BindIoCompletionCallback. 2007-12-21 13:52:34 +01:00
Alexandre Julliard 2835dc9fc9 ntdll: Increase the buffer size dynamically for relay debug lists. 2007-12-20 16:59:07 +01:00
Alexandre Julliard 3b244b95b2 server: Use SIGQUIT instead of SIGTERM to terminate a thread.
This allows keeping the default SIGTERM behavior of killing the whole
process.
2007-12-20 12:19:35 +01:00
Andrey Turkin 3afbee5218 server: Store I/O completion information in async structure.
This is to allow completions to be sent on handle close. Also this can
be helpful for AcceptEx/TransmitFile implementation.
2007-12-18 14:25:43 +01:00
Andrey Turkin f1dcf4bf3a server: I/O completion ports can only be used with overlapped I/O. 2007-12-17 11:49:32 +01:00
Dmitry Timoshkov f2f3de20ac ntdll: Initialize the APC call union to suppress valgrind warnings. Take 2. 2007-12-11 17:49:57 +01:00
Alexandre Julliard a5fb981ace Makedll.rules: Add a generic EXTRADLLFLAGS variable instead of defining a specific variable for every possible parameter. 2007-12-11 14:59:54 +01:00
Alexandre Julliard 0861141725 ntdll: Support delayed loading of modules referenced by forwarded entry points. 2007-12-06 21:43:54 +01:00
Alexandre Julliard a5e38b332d server: Partial implementation of NtQueryDirectoryObject. 2007-12-05 16:57:41 +01:00
Alexandre Julliard 3ae370dc71 ntdll: Added a sleep in NtGet/SetContextThread, a yield is not enough on some kernels. 2007-12-03 13:55:25 +01:00
Lionel Debroux ec80b544e1 ntdll: Trace arena magics (may help debugging some heap corruptions). 2007-11-28 11:17:56 +01:00
Gerald Pfeifer 15f8b80ba7 ntdll: Fix computation in enumerate_key(). 2007-11-26 14:01:50 +01:00
Gerald Pfeifer 3cf116d4e9 ntdll: Simplify condition in RtlGetAce() based on variable (un)signedness. 2007-11-26 13:56:05 +01:00
Rob Shearman 542e10e44e ntdll: Shared manifests should have a less-strict version check performed when loading them as dependencies. 2007-11-26 12:27:01 +01:00
Francois Gouget 10e738f236 ntdll/tests: Fix compilation on systems that don't support nameless unions. 2007-11-20 16:44:58 +01:00
Rob Shearman bf2a35b78d server: Change the get_dll_info server request to allow retrieving the image file name of a process.
Implement NtQueryInformationProcess(ProcessImageFileName).
2007-11-20 14:29:09 +01:00
Alexandre Julliard 0f5fc117a2 ntdll: Unblock signals in process init only after the dlls have been imported. 2007-11-19 14:27:07 +01:00
Alexandre Julliard c70a17dbd9 ntdll: Send the exit code to the server on failed initialization. 2007-11-19 14:26:05 +01:00
Alexandre Julliard 35c91324ea ntdll: Initialize the PEB LoaderLock pointer. 2007-11-19 13:56:26 +01:00
Michael Stefaniuc 0ecf2edca0 ntdll: Remove duplicate includes. 2007-11-19 13:54:09 +01:00
Andrey Turkin 7a9210fa85 server: Pass Information field from async I/O APCs. 2007-11-15 14:24:50 +01:00
Andrey Turkin 793453f768 ntdll: Make async i/o functions generate completion messages. 2007-11-15 14:23:37 +01:00
Andrey Turkin c702a91a3c server: Allow async i/o operations to send completion messages. 2007-11-15 14:20:29 +01:00
Andrey Turkin 074281ff6c ntdll: Add some I/O completion tests. 2007-11-15 14:18:41 +01:00
Peter Beutner db28edc790 ntdll: Better trap exception handling. 2007-11-12 14:14:28 +01:00
Peter Beutner fc5316760b ntdll: Don't try to handle kill(SIGTRAP). 2007-11-12 14:14:23 +01:00
Rob Shearman 6c8ed9efbe ntdll: Initialise the part of the buffer to be written to a file in the file test. 2007-11-12 12:55:13 +01:00
Alexandre Julliard 0156dbba4f ntdll: Increase the signal stack size to avoid crashes on nested signals. 2007-11-08 13:53:47 +01:00
Hans Leidekker 9bc08be37b ntdll: Fix calculation of tape position offsets.
Reported by Gerald Pfeifer.
2007-11-02 12:49:48 +01:00
Dan Kegel ab07d61b91 ntdll: NtAccessCheck: Only send used bytes to server. 2007-10-31 14:15:40 +01:00
Rob Shearman 5f5df83281 server: Pass the security descriptor into create_file, if one is specified, and set the initial mode for the file appropriately. 2007-10-30 14:18:27 +01:00
Rob Shearman f98556c119 server: Add the name length to the object_attributes structure so that other variable length data can be present after object_attributes. 2007-10-30 14:18:05 +01:00
Paul Vriens 2f09f50641 ntdll: Report FIXME only once. 2007-10-30 11:29:54 +01:00
Klaus Layer 9f8d9e3e05 ntdll: Add missing FIXMEs for incomplete info classes in NtQuerySystemInformation. 2007-10-30 11:29:40 +01:00
Tom Brus fa4304f06e ntdll: Serial/COM code misinterpreted XON/XOFF direction. 2007-10-29 13:58:51 +01:00
Detlef Riekenberg 2be2c1acc5 ntdll: Dump the base address when a module is loaded. 2007-10-26 15:14:21 +02:00
Rob Shearman 23df453d38 server: Make create_mapping use struct object_attributes and set the security descriptor of file mapping objects. 2007-10-26 12:45:29 +02:00
Rob Shearman 1f86321964 server: Make create_mutex use struct object_attributes and set the security descriptor of mutex objects. 2007-10-26 12:44:51 +02:00
Rob Shearman b0e5fb4384 server: Make create_semaphore use struct object_attributes and set the security descriptor of semaphore objects. 2007-10-26 12:44:26 +02:00
Rob Shearman dd9e392796 server: Use the security descriptor passed in when creating events. 2007-10-25 12:47:22 +02:00
Dmitry Timoshkov 4009de3662 ntdll: Use symbolic names when possible. 2007-10-24 14:12:04 +02:00
Rob Shearman 6b081232b9 ntdll: Add a stub for RtlSetControlSecurityDescriptor.
Implement SetSecurityDescriptorControl on top of RtlSetControlSecurityDescriptor.
2007-10-23 18:20:45 +02:00
Rob Shearman 06b2da9560 ntdll: Fix RtlValidAcl to accept newer ACL revisions. 2007-10-23 18:18:29 +02:00
Rob Shearman 6bc11536bd ntdll: Allow the newer ACL revisions in RtlCreateAce. 2007-10-23 18:18:29 +02:00
Lionel Debroux 8f49ea21d4 ntdll/tests: Fix memory leaks (found by Smatch) and fix a message. 2007-10-22 15:58:41 +02:00
Gerald Pfeifer 68ddc722ee ntdll: #include <sys/types.h> to get dev_t. 2007-10-22 12:37:25 +02:00
Alexandre Julliard 7475ecac53 ntdll: Fixed off-by-one error in RtlGetFullPathName_U (spotted by Michael Builov). 2007-10-19 14:40:23 +02:00
Alexandre Julliard 7fd1ad5ffa ntdll: Cache the DOS drives stat info for up to one second. 2007-10-18 15:16:07 +02:00
Mikolaj Zalewski 5bfd7044ea ntdll: Support for UTF-16 manifests with reverse endianness. 2007-10-18 12:20:52 +02:00
Mikolaj Zalewski 9f4001f7e0 ntdll: Manifests should be parsed as UTF-16 only if there is a BOM (with testcase). 2007-10-18 12:11:06 +02:00
Mikolaj Zalewski 370b881fcd ntdll: Avoid setting IS_TEXT_UNICODE_NUL_BYTES for the last byte of an ANSI string. 2007-10-17 13:42:14 +02:00
Mikolaj Zalewski 323f09b022 ntdll: Add some tests for RtlIsTextUnicode. 2007-10-17 13:42:07 +02:00
Alexandre Julliard 89b4872805 ntdll: Fixed typo in RTL_GetKeyHandle (spotted by Sean Chu). 2007-10-17 12:37:44 +02:00
Rob Shearman a006b06080 ntdll: Fix the return code from RtlSetDaclSecurityDescriptor when daclpresent is FALSE. 2007-10-16 13:17:14 +02:00
Rob Shearman a9ffa82c6d ntdll: Fix NtAccessCheck for NULL, but present SACLs and DACLs. 2007-10-16 13:17:06 +02:00
Alexandre Julliard 235532ce28 server: Use the file_pos_t type for file sizes and offsets in the protocol structures. 2007-10-10 14:06:25 +02:00
Ken Thomases 54a471732f ntdll: Work around a bug in Mac OS X's getdirentries(). 2007-10-10 13:42:44 +02:00
Jacek Caban 791be37a46 actctx: Rename version to assembly_version. 2007-10-09 12:34:35 +02:00
Rob Shearman 5356bfde2c server: Add a new get_security_object call for getting the security descriptor of an object.
Use it to implement NtQuerySecurityObject.
2007-10-03 11:16:45 +02:00
Juan Lang dc7ee864b5 ntdll: Fix a typo. 2007-10-03 10:08:41 +02:00
Alexandre Julliard cbf8838dfb ntdll: Fix the HEAP_CreateSubHeap return value (spotted by Allan Tong). 2007-10-03 10:08:34 +02:00
Alexandre Julliard e599584a68 ntdll: Make the heap structure more compatible with the NT layout. 2007-10-02 11:23:40 +02:00
Alexandre Julliard 80a6bb1d8b ntdll: Convert the subheap list to a standard list. 2007-10-02 11:23:38 +02:00
Alexandre Julliard 1d063ae18d ntdll: Remove assumptions that the subheap is at the beginning of the memory block. 2007-10-02 11:23:36 +02:00
Alexandre Julliard d73dbecf68 ntdll: Clear heap blocks also for WARN_ON(heap). 2007-10-01 19:55:20 +02:00
Andrey Turkin d1a8155882 server: Allow completion object to be attached to an fd object. 2007-09-28 13:17:18 +02:00
Mikolaj Zalewski 611f57bc20 advapi32/ntdll: GetSecurityDescriptorOwner/Group should fill isDefaulted also for NULL sids. 2007-09-28 11:26:10 +02:00
Mikolaj Zalewski 3c51b2c645 advapi32/ntdll: MakeRelativeSD should preserve NULL pointers (with testcase). 2007-09-28 11:26:00 +02:00
Francois Gouget b2bc712323 Assorted spelling fixes. 2007-09-27 20:12:53 +02:00
Peter Oberndorfer 073dd7dde2 ntdll: NtAreMappedFilesTheSame semi stub. 2007-09-27 12:47:15 +02:00
Andrey Turkin 477582401b server: Implement server-side completion queues and operations on them. 2007-09-26 13:56:43 +02:00
Detlef Riekenberg 3e83b75038 ntdll: Avoid segfault with snoop for exefiles with a broken export table. 2007-09-26 12:15:14 +02:00
Mikolaj Zalewski 04e688a26d ntdll: Add RtlAddAuditAccessAceEx. 2007-09-25 11:18:40 +02:00
Alexandre Julliard 088e27c849 ntdll/tests: Skip the debugger test if the child process is not loaded at the right address. 2007-09-20 17:01:31 +02:00
Francois Gouget bde9601ee1 ntdll: Fix compilation on systems that don't support nameless unions. 2007-09-18 11:20:13 +02:00
Alexandre Julliard eb22539efa ntdll: Fix an error message. 2007-09-17 13:42:01 +02:00
Rob Shearman 3f431a0646 server: Add get_token_statistics server call and use it to implement the TokenStatistics and TokenType levels for NtQueryInformationToken. 2007-09-14 14:43:46 +02:00
Rob Shearman 247b0c9b8e ntdll: Add a stub implementation of FSCTL_PIPE_IMPERSONATE that just impersonates the token of the current process. 2007-09-14 14:23:38 +02:00
Rob Shearman 67cc0302f4 ntdll: Remove the overly-cautious check which prevented NtSetSystemTime from changing the time by more than two minutes.
Simplify the returning of different status codes by not playing around 
with the return value from settimeofday.
2007-09-10 16:13:53 +02:00
Alexandre Julliard e22ce46278 ntdll: Pin down all dlls imported by the main exe. 2007-08-30 16:34:27 +02:00
Alexandre Julliard 572771ebfa ntdll: On Mac OS, close the CDROM device before opening the parent.
This is needed to allow ejecting DVD disks.
2007-08-29 16:44:16 +02:00
Dmitry Timoshkov a76ef05c90 ntdll: Do not leave not initialized cached timezone information if a timezone doesn't have daylight saving rules. 2007-08-29 14:08:20 +02:00
Alexandre Julliard 8765a0da83 ntdll: Fixed file system name comparison on *BSD. 2007-08-29 12:02:13 +02:00
Detlef Riekenberg a45badf5c0 ntdll: Make RtlCompactHeap more silent. 2007-08-28 11:55:22 +02:00
Alexandre Julliard ac1d912fb0 ntdll: Flesh out the stub for IOCTL_STORAGE_GET_DEVICE_NUMBER. 2007-08-22 12:19:00 +02:00
Dmitry Timoshkov d2d5bbe5d0 ntdll: Reimplement TIME_GetBias using new time zone code. 2007-08-22 12:18:59 +02:00
Paul Vriens efc001a21f ntdll/tests: Fix typos. 2007-08-22 12:18:59 +02:00
Paul Vriens d1b5f309f5 ntdll/tests: Use skip instead of trace. 2007-08-21 13:00:53 +02:00
Paul Vriens 9783ce360e ntdll/tests: Do GetModuleHandle only once and add a few skip's. 2007-08-21 13:00:50 +02:00
Dmitry Timoshkov d666143f88 ntdll: Detect current time zone settings. 2007-08-21 12:40:37 +02:00
Alexandre Julliard 7378fac505 ntdll: Return an error instead of dying in wine_server_call if the input buffer is invalid. 2007-08-20 14:40:18 +02:00
Francois Gouget cd1c07b4d8 ntdll: Better match the PSDK types and fix the winapi_check warnings. 2007-08-16 11:09:38 +02:00
Paul Vriens 8d80b1323a ntdll/tests: Make tests run again on win95. 2007-08-14 12:46:43 +02:00
Alexandre Julliard f42b1e9b9c ntdll: Fixed the prototype of the open_nt_file wrapper. 2007-08-14 12:31:04 +02:00
Francois Gouget ebadbd4bd5 Assorted spelling fixes. 2007-08-09 14:13:07 +02:00
Francois Gouget c605afa31e ntdll: Fix the RtlQueryInformationActivationContext() .spec prototype to match its implementation. 2007-08-08 15:32:03 +02:00
Tijl Coosemans 5fb1c16276 ntdll: Implement CDROM_Verify for FreeBSD. 2007-08-08 15:32:01 +02:00
Luis C. Busquets Pérez 09a1227f08 ntdll: Update Nt stdcalls for stubs of Zw. 2007-08-06 12:12:22 +02:00
Alexandre Julliard ed3b5322f6 ntdll: Relax the activation context size check. 2007-08-02 13:07:23 +02:00
Alexandre Julliard 5b6bb63adb ntdll: Load dll from the directory containing the manifest for local assemblies. 2007-07-31 20:31:42 +02:00
Alexandre Julliard 4e4c150bed ntdll: Avoid activation context leak for dlls with no imports. 2007-07-30 23:37:39 +02:00
Alexandre Julliard f9c9f23763 ntdll: Allow optional elements in the comClass element. 2007-07-30 20:25:33 +02:00
Alexandre Julliard 53285e2462 ntdll: Use the exact size of the manifest file. 2007-07-30 20:25:12 +02:00
Alexandre Julliard 43519e415d ntdll: Fixed the null bytes check in RtlIsTextUnicode. 2007-07-30 20:17:24 +02:00
Alexandre Julliard db72af98b5 ntdll: Convert the XML parser to Unicode to support UCS-16 manifests. 2007-07-30 18:20:24 +02:00
Lei Zhang 9ee4d8509b ntdll: Add Bolivian time zone info. 2007-07-30 15:27:09 +02:00
Alexandre Julliard b67b66d7b3 ntdll: Fix a compiler warning. 2007-07-30 14:46:09 +02:00
Michael Stefaniuc 3fd2f084db ntdll: Match the definition of NtQueryEvent() with its declaration. 2007-07-30 14:12:45 +02:00
Dmitry Timoshkov 6119f4990d ntdll: Simplify TIME_GetBias. 2007-07-30 14:12:45 +02:00
Dmitry Timoshkov a188662ea8 ntdll: Add some traces to make debugging time zone related problems easier. 2007-07-30 14:12:12 +02:00
Alexandre Julliard 8f0fb1e3e9 ntdll: Simply store the assembly type without interpreting it. 2007-07-27 12:17:07 +02:00
Jacek Caban 43adec3e81 kernel32: Added a number of activation context tests. 2007-07-26 19:42:06 +02:00
Michael Stefaniuc b8880e1640 ntdll: Remove a break after a break. Found by Smatch. 2007-07-26 11:51:05 +02:00
Alexandre Julliard 6f457ac63b ntdll: Support single quotes around XML attribute values. 2007-07-26 11:07:01 +02:00
Alexandre Julliard e06eaa49ae ntdll: Activate the module's activation context while resolving imports and attaching. 2007-07-26 11:06:17 +02:00
Alexandre Julliard 76bd190a72 ntdll: Use activation contexts information to load dlls (based on a patch by Jacek Caban). 2007-07-26 11:05:32 +02:00
Eric Pouech 6792a9a92e ntdll: Implemented RtlFindActivationContextSectionString. 2007-07-26 11:05:32 +02:00
Eric Pouech e590499c7a ntdll: Implemented FileInformationInAssemblyOfAssemblyInActivationContext option in RtlQueryInformationActivationContext. 2007-07-26 11:05:32 +02:00