ChangeLog-0.3.14

From ReactOS Wiki
Revision as of 18:34, 4 January 2012 by Z98 (talk | contribs)
Jump to: navigation, search

This is the changelog for ReactOS™ version 0.3.14 (to be released soon), an open-source operating system designed to be binary executable - and device driver-compatible with Microsoft™ Windows NT™ and subsequent Microsoft operating systems such as Windows 2000™ and Windows XP™. ReactOS is written by the ReactOS development team, and the last previous version of ReactOS was version 0.3.13.

General

Contributors

Core Developers

  • Giannis Adamopoulos
  • Johannes Anderwald
  • Aleksey Bragin
  • Dmitry Chapyshev
  • Thomas Faber
  • Benedikt Freisen
  • Jérôme Gardou
  • Cameron Gutman
  • Rafał Harabień
  • Kamil Hornicek
  • Gabriel Ilardi
  • Alex Ionescu
  • Amine Khaldi
  • Eric Kohl
  • Timo Kreuzer
  • Matthias Kupfer
  • Michael Martin
  • Ged Murphy
  • Sylvain Petreolle
  • ReactOS Portable Systems Group
  • Daniel Reimer
  • Gregor Schneider
  • Pierre Schweitzer
  • James Tabor
  • Christoph von Wittich
  • Art Yerkes

Patch Submitters

  • Carlo Bramini
  • Elton Chung
  • Vincenzo Cotugno
  • HansH (hans at atbas dot org)
  • Adam Kachwalla
  • Mario Kacmar
  • Edijs Kolesnikovics
  • Nathan Lineback
  • Nikolay Myltsev
  • David Quintana
  • Lee Schroeder
  • Anton Yarotsky

Third Party Attribution

  • Alexandre Julliard
  • Alexander Law
  • Owen Rudge
  • Michael Stefaniuc
  • Dmitry Timoshkov
  • Wine Project

Localization

  • Jan Blomqvist-Kinander
  • Stefan Fule
  • Radek Liska
  • Igor Paliychuk
  • Olaf Siejka
  • Jeisson Toscano
  • Yurij Vodkin
  • Michael Wu

Support Staff

  • Daniel Reimer
  • Colin Finck
  • Ziliang Guo

Generic 0.3.14 Changes

  • CMake and MSVC efforts continue.

Applications

  • 3DText: Rotation is now independent of computer speed.
  • Calc: Buttons have been realigned to better match calculator in Windows XP.
  • CharMap: Skeleton for advanced view implemented. Font zoom when scrolling and changing fonts has been fixed.
  • Cmd: File IO functions have been replaced with memory IO functions for batch files.
  • Device Manager: New device manager using ATL has been begun. Main window focus defaults to treeview to allow easier navigation by keyboard.
  • MSPaint: Cut function implemented.
  • Notepad: Notepad is now marked as unicode.
  • Ping: Option parsing has been made stricter and more robust.
  • Rapps: Links have been converted from FTP to HTTP until underlying Wine library starts supporting FTP.
  • Regedit: Ability to parse and display REG_RESOURCE_LIST values added. User is now prompted when importing from commandline. Fixes to handling of REG_MULTI_SZ values.
  • SndVol32: Application to control setting the volume in ReactOS.
  • Spider: Yes/No dialog is now used for exiting the game instead of Okay/Cancel.
  • Taskmgr: Terminating an application now uses 1 as the exit code.

Control Panel Applets

  • A variety of translation and memory usage fixes.
  • Appwiz: Directories can now be passed to the create shortcut wizard.
  • Desktop: The wallpaper and desktop background is only applied when they have been changed. Color scheme selection has bee fixed.
  • Sysdm: All hardware profiles are now displayed. Homepage link control now correctly shows the focus window. GPL license is now properly displayed.

Installer

  • FAT32 boot sector pointer arithmetic fixed, resolving error when installing FAT32 boot sector.
  • Floppy disk is now correctly formatted to FAT12 before the bootloader is installed and booting from floppy works again.
  • OemName in boot sector is no longer overwritten.
  • Volume Boot Record only is now an install option so that the MBR will not be overwritten.

Core Functionality

Audio/Video Stack

Kernel Streaming

  • Input/output parameters are now probed when a request comes in from user mode.

PORTCLS

  • Status codes of unhandled IRPs are no longer modified.

Filesystems

CDFS

  • Reading along non-aligned blocks has been fixed.

FASTFAT

  • A leading period in front of a file name no longer causes asserts as it is valid for long filenames.
  • Verification code moved so that they are in the codepath for more functions.

FSRTL

  • FsRtlIs*InExpression functions are now working after backtracking was implemented.

NPFS

  • Interruption of waits have been reworked to avoid potential deadlocks and corruption.
  • CCB access is now managed using reference counting, elimination a race condition and corruption during 2nd stage.

Hardware Management

  • IRP_MN_QUERY_POWER and IRP_MN_SET_POWER are now sent to all enumerated devices when a power state change occurs.
  • A volatile device tree is created during 1st stage booting so that the HAL loaded during 2nd stage will not have to deal with phantom devices.
  • ACPI is now automatically enabled when the ACPI HAL is loaded, and disabled when the standard HAL is loaded.

ACPI

  • ACPIA updated to 20110922.
  • Special devices are now identified with unique IDs.
  • Physical address retrieval has been implemented.
  • Reading and writing PCI configuration mistakenly interpreted a value representing bits as representing bytes, causing memory corruption and overreads. This issue is now resolved.

HAL

  • Support for Scatter/Gather DMA operations has been added.

Plug n Play

  • IRPs sent to PnP devices during enumeration are now compatible with XP/2003/Vista.
  • Duplicate loading of drivers is now properly resolved.
  • Device removal has been reworked so that the remove command will propagate down to the children of devices. When any device in the top level fails to honor the remove request, the remove command is canceled for all devices that received the original remove command.

Kernel

  • Time setting functions are now implemented.
  • Trap handling code continues to be separated into architecture specific blocks as needed.
  • Processor number count is now defined in one place instead of having a different version for each architecture.
  • Debug trace code has been cleaned up to avoid crashes in certain situations.
  • More Interlocked functions have been converted into C from assembly, improving portability.
  • Trap handling for user-mode traps has been fixed.
  • Text display using bootvid is now disabled after phase 1 initialization, eliminating graphical glitches when debug to screen is enabled.
  • A variety of internal data structures have been fixed thanks to the new kernel mode unit tests.
  • Resource acquisition now returns the correct boolean value depending on whether the caller wishes to wait for the resource to be available.
  • Assembly trap handlers have been moved so that a 32bit relative jump is always to ensure consistency now that a wider range of interrupt values may be used.
  • Execution yielding has been modified to match behavior on Windows, including attempting to locklessly check the processor control block.
  • The kernel now correctly reports whether there are pending APCs during a KiSwapContextExit call.

I/O

  • Names for internal IO functions have been renamed to match those on Windows.
  • IopDecrementDeviceObjectHandleCount, IopInterlockedIncrementUlong, IopInterlockedDecrementUlong, IopNotifyAlreadyRegisteredFileSystems, and IoEnumerateRegisteredFiltersList functions implemented.
  • Additional I/O device registration and removal functions relating to storage devices have been implemented.
  • The kernel now handles unexpected device removals.
  • Removal of locks when debug information is associated is now fixed.
  • The correct number of serial ports is now registered in the global configuration table.

KDBG

  • Output after doublefaults improved.
  • The mouse is now disabled when reading from keyboard.
  • Output counting fixed so that new commands will show even after previous command created large amounts of output.

Memory Management

  • Kernel debug pool implemented. The debug pool is designed to help driver developers find memory usages errors in their code.
  • Session space address layout initialization has now been separated on a per-architecture basis.
  • Continued work on memory management on AMD64 platform.
  • SEH usage has been streamlined to avoid an infinite loop when locking an address space.
  • Working set balancer code has been reworked to trim pages during low memory situations.
  • Alignment of memory blocks fixed up to make sure operations are done on page-sized blocks.
  • Traversal of virtual address tree has been fixed and optimized.
  • Mapping of memory sections has seen fixes to support the new loader.
  • A variety of locking related fixes.

Common Cache

  • CC now will flush dirty pages if it cannot satisfy a memory request from available free pages.

Network Stack

MSAFD

  • Inflight disconnect IRPs are now canceled during socket closure.
  • Cancellation of operations and shutdown of connections has been reworked considerably. This included waiting for all pending requests to be fulfilled, issuing correct signals to initiate shutdown, and cleaning up lingering operations to make sure all data is delivered.
  • Data is no longer corrupted when the receive buffer is smaller than the incoming data.
  • Events whose conditions have already been fulfilled before a wait operation was called are immediately notified now.
  • AFD now immediately listens for new connections instead of waiting for the current connection to be accepted, helping increase throughput.
  • Arbitrarily large socked addresses are now correctly handled.
  • SO_LINGER and SO_DONTLINGER support is now implemented.

Network Driver Interface Specification

  • NDIS now reports itself as 5.1 conformant.
  • Memory allocations are now done at correct interrupt levels or have been made safe to do at lower interrupt levels.
  • A variety of DMA functions have been implemented, granting drivers access to Scatter/Gather functionality.
  • Addressing of slave DMA devices that do not support 32bit addresses has been fixed.
  • PnP issued IRP handling has seen fixes.

TCP/IP

  • The default packet and buffer pools have been increased to help deal with high network traffic situations.

Shell

Explorer

  • Thread handles for startup processes in Run and RunOnce keys are now properly closed, fixing ghost command prompts on first startup of Explorer.
  • Network connections start menu item now opens the network connections folder.
  • Hotkeys that require the Windows key are now supported.
  • Explorer returns 1 when it exited without error.
  • Custom positioning is now possible, making positioning of icons look more like that of Windows.

Explorer-New

  • Start menu initialization has been improved to better show what fails.
  • A ReactOS registry key is used for ReactOS specific features.

Startup/Shutdown

FreeLoader

  • FreeLoader now splits the memory it needs into two different heaps, one that is preserved and passed onto the kernel and one that is discarded once booting is complete. This helps reduce the memory footprint of the OS when it first starts up.
  • FreeLoader no longer allocates entire pages for every small memory allocations, reducing fragmentation and overall memory usage during booting.
  • A variety of fixes for dealing with bios memory maps. These maps could have a range of problems including invalid entries, overlapping regions, and not aligning entries along page boundaries. FreeLoader also no longer overwrites itself when loading the HAL due to invalid memory maps.
  • Wine-like debug macros ERR, FIXME, WARN, and TRACE have been introduced.
  • Boot drive and partition is now stored in shared memory instead of a register due to register value being erased during switch to long mode for 64bit booting.
  • FreeLoader is now able to switch back and forth between realmode and long mode on 64bit platforms.
  • FreeLoader no longer attempts to load referenced DLLs from directories other than system32.
  • Interrupt Descriptor Table setup is now in C instead of assembly.
  • Page entries are offset on ARM platforms to eliminate wasted entries that represented unusable addresses.
  • A variety of changes were made to where data was placed in low address memory to conform with Windows 2003 expectations.
  • A hack was added to support booting with "exotic" languages.
  • The VESA bios signature is now checked before VESA extensions are reported as being present.
  • Support for booting from ramdisks further improved.

Storage Stack

  • The disk geometry has been changed to be 63 sectors per track and 255 tracks per cylinder to match modern conventions.

UniATA

  • Synced to 0.41b2.
  • Timing values and sending of ATAPI commands has been modified to better deal with VirtualBox.

Drivers

Floppy

  • Initialization and resetting of the floppy controller have been reworked to prevent deadlocks in certain situations.
  • The count of floppy driver has been increased, fixing an issue where the drive would not show in Explorer.

I8042PRT

  • Hotplugging of PS/2 mice now supported if one was present at boot time.
  • Extended mice keys are no longer always treated as power keys.
  • All interrupts are enabled at the same time to avoid the controller going unresponsive.

KDCOM

  • Timing changes for better performance when transmitting output.

Keyboard/Mouse

  • A hack was added to bind all keyboard devices to the same keyboard class device when no default setting is present.

PCI

  • False interrupt resources are no longer reported.
  • Additional IRPs relating to device removal have been implemented, including ones that inform the PnP manager a device cannot be disabled or removed.

PCNET

  • Backoff mechanism has been added to the buffer allocation operation.
  • Resource cleanup has been fixed to not attempt to free resources that were never allocated.

SACDRV

  • Initial implementation of Special Administration Console driver begun.

USB

EHCI

  • Initial transfer of data transfer and related DMA operations, very preliminary.
  • Linking of queueheads and cleanup of used resources has been fixed. Queueheads identify a list of queued transfer descriptors.

USBDRV

  • usbdriver has been renamed to usbdrv.
  • The status is now correctly set to not be STATUS_PENDING, which caused the keyboard driver to wait indefinitely. Keyboard input using usbdrv should now work.

Video

VIDEOPORT

  • Legacy resources are correctly reported to the PnP manager.
  • All PCI buses are now checked instead of just the first eight.
  • Minor code cleanup to avoid usage of magic numbers.
  • A hack that resulted in the device object's name differing from what was stored in the registry has been removed, fixing mouse integration in VirtualBox.
  • Various AMD64 related fixes.

VGAMP

  • Mode index 12 and video mode 12h are no longer confused, permitting ReactOS to boot once more when VGA mode is selected.

Libraries

ADVAPI32

  • RtlGenRandom has been hacked to be less dependent on the current time, producing better random values. This fixes non-unique RPC IDs that were causing problems for services.
  • Start arguments are also passed to ANSI services now.
  • Querying of service statuses has been fixed.
  • Registry query values have been fixed to avoid memory leaks and corruption.

CFGMGR32

  • Forwarders have been added for functions implemented in setupapi.dll.

COMCTL32

  • Subclassing is currently disabled when themes are disabled. This is a hack due to bugs in subclassing and requires the user to reboot if they wish to turn themes on.

GDI32

  • Object attribute support completed.

IPHLPAPI

  • The entire TDI entity database and interface table are no longer leaked after calls to query interfaces.

KERNEL32

  • Path related functions have been rewritten, taking into account a variety of encoding conversions and buffer usage.
  • Beep has been refactored to follow the same chain of operation as on Windows.
  • Manual INF selection has been fixed by fixing retrieving of an environment variable and properly null terminating the string returned by GetDllLoadPath.
  • Functions handling environment variables have been reworked to perform better.
  • Pending I/O is now supported.
  • Pointer probing functions have been fixed.
  • Stack creation has been fixed to behave more like in NT 5.2 and later.
  • Heap allocation functions have been cleaned up with additional parameter checks, error checks, and failure cases.
  • System information functions have been reworked, removing unsupported architectures and some preparation work for WoW64 support in the future.
  • The time API now does its own conversions instead of relying on an external API.
  • A fake copy of the BASE_STATIC_SERVER_DATA is currently used to allow kernel32 to cache some data. A correct implementation is still in the works.
  • Setting and retrieving handle contexts has been implemented.
  • Setting of the last error code has been fixed.
  • Fiber support has been greatly expanded, along with underlying thread support.
  • Several synchronization and event related bugs have been fixed, along with a new set of macros.
  • A major winesync took place in kernel32 of all code imported from Wine. Most of the major changes occurred in locale/language functions.
  • Loader related functions in kernel32 have been rewritten as part of the overall loader rewrite.
  • Conversion between ANSI and Unicode API objects has been fixed, resolving many longstanding bugs.

LSASRV

  • The LSA object database has been implemented.
  • Required policy attributes are now initialized during database creation.

MSPORTS

  • Work has been done to create a database of serial ports on a computer and name them appropriately.

NTDLL

A new loader has been implemented, which respects more complex loader options and is better able to resolve dependency issues between various DLLs.

  • Security cookie initialization now correctly creates a 16bit cookie when asked, instead of always creating a 32bit cookie.
  • Thread Local Storage initialization has been fixed.
  • SEH has been applied to more parts of the new loader to protect against errors.
  • DLL loading has been improved, including optimizing checks for known DLLs.

RICHED20

  • ME_CharFromPoint has been fixed to not rely on Wine's incorrect implementation of GetTextExtentExPointW and a patch has been sent upstream.

RPCRT4

  • Difference between Wine's implementation has been greatly reduced.
  • The network address is now taken into account when trying to create a named pipe and correctly fails if the address is invalid.

SETUPAPI

  • Device installation no longer fails if an INF file already exists, which fixes VirtualBox additions installation.
  • Property sheet handling has been improved, eliminating memory leaks.
  • When creating device driver keys, ReactOS now checks to see if the device already has a key and uses that one instead of creating a new key.

SHELL32

  • A new C++ implementation of shell32 has been merged in. The C++ implementation was done to make implementing the COM aspects of shell32 easier and cleaner.
  • Shell extension registration still uses the implementation from the old shell32 due to as yet unresolved issues in the new shell32's implementation.
  • A variety of path parsing related fixes to help correctly display paths and volumes.

SYSSETUP

  • The install date is now correctly set in the registry.
  • A random computer name is now generated in setup. Computer name is also now limited to 15 characters instead of 63.
  • System installation no longer relies on functions from setupapi that should not be exported.

USER32

  • A variety of string encoding conversion updates and fixes.
  • Class window procedure checks have been fixed, which prevents misbehaving applications from calling wrong class procedures.
  • Bitmap leaks when dealing with icons have been fixed.
  • A variety of drawing bugs in menus, buttons, and other regions have been fixed.
  • Usage of arrow keys in menus has been fixed.
  • Work continued on right to left language support.

Client/Server Runtime

CSRSS

  • A reference leak when GuiConsoleOpenUserRegistryPathPerProcessId failed to open registry keys has been fixed, resolving ghost console processes in the LiveCD.
  • The keyboard and mouse input threads have been merged into a single CSRSS thread.
  • Desktop class rewrite completed, fixing several window drawing issues.
  • CSRSS is currently hacked to allow connecting back to itself.
  • Hard error messages are now formatted as ANSI strings.
  • Initial implementation of Sound Sentry CSRSS API, nonfunctional right now due to missing winsrv.dll.

Kernel-mode subsystem server (Win32K)

  • Theme support has been merged in.
  • Path drawing has been fixed and now passes all related winetests.
  • Keyboard layout loading has been fixed.
  • All top level windows are now forced to update the size and position of their non-client areas.
  • Mode enumeration when a second video adapter is present has been fixed.
  • Timer resolutions now match those in Windows.
  • A variety of additional timer fixes to resolve input message handling.
  • Retrieving the current process' window station has been simplified and fixed.
  • A variety of hotkey registration fixes have been made, including corrected error codes and not permitting the overriding of special combinations.
  • Significant reworking of TrackMouseEvent API, due to added requirements imposed by themes.
  • Debug channels are now supported, permitting the activation from user mode extended debug output.
  • The GDI handle manager has been rewritten, fixing major memory leakage with a new GDI pool. Synchronization is now handled using a lock-free reference counter.
  • GetKeyState has been rewritten based on Wine's implementation. State is now dependent on whether a keyboard message has been processed or not instead of the current state of the keyboard.
  • Message callbacks have been fixed.

Bootloader (FreeLoader)

  • [ISOBTRT] call it 13h with es set to 0, instead of the transfer buffer segment, that we loaded it with. Fixes KVM boot. (Timo Kreuzer)
  • [EXT2] Fix remaining issues, bootsector compiles with GAS and ML. Sadly GAs sucks a bit and does neither allow to specify byte offsets, nor does it chose this itself to save space. As a result the code gets several bytes larger and I had to trim the messages even more. (Timo Kreuzer)
  • [EXT2] Use HEX() macro remove BYTE modifiers [es:di] -> es:[di] equ -> = (Timo Kreuzer)
  • [EXT2] Convert labels and strings to portable format (Timo Kreuzer)
  • [EXT2] Convert comments to preprocessor format (Timo Kreuzer)
  • [EXT2] Duplicate ext2.asm to ext2.S, no changes yet (Timo Kreuzer)
  • [ISOBOOT] Use a high segment and 0 offset when loading setupldr. This fixes problems with an award bios. Thanks to Igor Paliychuk (igorko) for his help and patience burning / testing dozens of isos Fixes boot regression of cmake builds on real hw. (Timo Kreuzer)
  • [FAT32] Really fix loading the MSVC built kernel, by moving the FAT sector buffer beyond the area for freeldr.sys Load segment only in one place (Timo Kreuzer)
  • [FAT32] Add some code that does ... nothing, but fixes 2nd stage boot with msvc. To figure out why this is needed, is left as an excercise to the reader :) (Timo Kreuzer)
  • [FREELDR] Allocate enough memory for unicode strings (Rafał Harabień)
  • [ASM] Use CR, LF and NUL in .ascii macro. (Sylvain Petreolle)
  • [SETUPLDR] Display a message box and bail out if loading imported dlls failed (Timo Kreuzer)
  • [BOOTSECTOR] Fix a typo in a comment (Timo Kreuzer)
  • [ISOBOOT] Fix portable bootsector and make it gas compatible (its opcode identical to the nasm compiled one and works correctly) (Timo Kreuzer)
  • [ISOBOOT] Add portable asm version of iso boot sector (Timo Kreuzer)
  • [FAT32] Fix the "portable" version of the fat32 bootsector Its now mostly identical to the one we currently use, only a few encoding differences (Timo Kreuzer)

uncategorized

  • [Usp10] Sync up to wine head. This will be needed for edit controls. Waiting for Pierres patched to be added! (James Tabor)
  • [TCPIP] Make interface octets in/out stats more accurate (Cameron Gutman)
  • [TCPIP] Fix the overflow fix (Cameron Gutman)
  • [TCPIP] Massive IPPacket usage overhaul (fix missing frees, initializations, and double frees) Make IP receive completely agnostic of the buffers and data location (part 2 of 2) Use paged pool for the majority of allocations during receive and assembly Implement ProtocolReceivePacket for faster performance with 3rd party NIC drivers Fix a buffer overflow if an IPv4 packet is received with a header larger than 20 bytes Many more improvements and bug fixes (Cameron Gutman)
  • [Win32k] Fix more set active window API tests. The window postion change message with fixed lparam is erroneous. How can the address be the same since it originates from kernel space? (James Tabor)
  • [TCPIP] Avoid an extra copy operation when receiving packets Optimize loopback code a bit Make IP receive independent of the location of the data and continuity of buffers in the NDIS packet for ProtocolReceivePacket support (part 1 of x) (Cameron Gutman)
  • [RTL]: Clarify a comment. (Alex Ionescu)
  • [RTL]: Fix a bug in RtlGetCurrentDirectory_U. (Alex Ionescu)
  • [NDK]: Add missing define. (Alex Ionescu)
  • [TRANSLATION] Romanian translation update (bug no. 6704) by Stefan Fulea; Lithuanian UTF-8 translation fixes (bug no. 6716) by Edijs Kolesnikovics; sysdm translation update by myself; (Olaf Siejka)
  • [BOOTDATA] Log service control manager events in the system log. (Eric Kohl)
  • [EVENTLOG] Open the application log if the desired log does not exist. Log eventlog service stop and shutdown. (Eric Kohl)
  • [BOOTDATA] Remove class2 and scsiport service keys from the registry because these drivers are loaded automatically when they are needed. (Eric Kohl)
  • debug code for bug 6663 (Johannes Anderwald)
  • [libwine] add wine dll registration functions to libwine (taken from winecrt0) TODO: support for linking multiple res files rbuild/cmake: generating .rgs files from typelibs (Christoph von Wittich)
  • Fix typo. (Sylvain Petreolle)
  • [CRT] Normalize all crt dll entry points to be identical. Implement a single per thread data structure, instead of ancient and incomplete "wine port" hack and use it everywhere. Remove completely unused HeapCreate calls that just wasted memory. Update cpp.c and cppexcept.c to wine 1.3.33 Fix up strtok, wcstok, rand, and _beginthread_trampoline according to wine. Add place holders for future locale stuff. Patch by Samuel Serapion. (Sylvain Petreolle)
  • add debug code for handling bug 6663 (Johannes Anderwald)
  • [LWIP] Save a bit of memory by changing the way pbufs are allocated for transmission (Cameron Gutman)
  • [Win32k|User32] Fix regressions, running RegEdit. Adding more support for scroll bar controls. Pass all but 7 tests including the two wine todos. (James Tabor)
  • [Win32k|User32] Fix scrollbar class support. Sync ports from wine. Added the window scroll structure to the class. Pass all but 15 tests, two are wine todos lines 304 and 343. (James Tabor)
  • [CRT] Fix error handling for j0, j1, y0, y1 Bessel functions. Remove useless defines (Pierre Schweitzer)
  • [KERNEL32]: Write out the 3 internal APIs which will do path resolution, and define the structures that determine the search path order which each one will use. No functional change. (Alex Ionescu)
  • [SOLITAIRE] Change "Ok/Cancel" to "Yes/No". Lee Schroeder (=spaceseel=AT=gmail=DOT=com=), bug #6606. [CPL][WIN32K] Fix indentation, comments, debug messages. Lioncash (=mathew1800=AT=gmail=DOT=com=), bug #6562, bug #6621. (Dmitry Gorbachev)
  • [RBUILD] - Create livecd shortcuts on rbuild too (Rafał Harabień)
  • [DiskPart] Remove unused file. Lee Schroeder, bug #6699. (Dmitry Gorbachev)
  • Add padded boarder width to NONCLIENTMETRICS. (James Tabor)
  • [MKSHELLLINK] - Don't use stricmp. It's not a standard function. (Rafał Harabień)
  • [MKSHELLLINK] - Don't use windows.h in host tool (Rafał Harabień)
  • [MKSHELLLINK] Add host tool for creating .lnk files (Rafał Harabień)
  • Add window placement flag for async message mode. Yes we support this too now. (James Tabor)
  • [TCPVCS] Report service status upon an interrogate request. Set the wait hint to a non-zero value. (Eric Kohl)
  • [TRANSLATION] Romanian translation update (bug no. 6677) by Stefan Fulea; (Olaf Siejka)
  • [LIBXML2][LIBXSLT] Suppress unhelpful warnings (Thomas Faber)
  • [CRT] Remove some differences to Wine. Fixes comparing a char against EOF in fgetwc. (Thomas Faber)
  • [IP] Remove unused value. CID 11342. (Amine Khaldi)
  • [HAL] Timo Kreuzer: Fix a NULL pointer dereference. CID 13453. (Amine Khaldi)
  • [SERVICES] Do not use an unsigned type for a value that can become negative in ScmAssignNewTag (CID 14665) (Thomas Faber)
  • [SERVICES] Fix dwServiceType and dwServiceState checks in REnumServicesStatusW (see r54373) Fix a memory leak in RQueryServiceConfig2A (Thomas Faber)
  • Partially revert r54475 to check if it fixes KVM (Rafał Harabień)
  • [NTOSKRNL|KDCOM] Allow to specify the serial port address, as requested by people on the forum. (Dmitry Gorbachev)
  • [HALx86] Fix the fix (do not truncate ULONGLONG value) (Jérôme Gardou)
  • [HALx86] Hey Arch, it's an USHORT! (Jérôme Gardou)
  • [HALx86] fix various compiler warnings (msvc) fix a bug, where only the last IO map entry would be saved (Jérôme Gardou)
  • [Translation] Changes in a registry file by Stefan Fulea (Romanian). Bug #6677. (Dmitry Gorbachev)
  • [NTOSKRNL] Do not repeat messages into serial port even when using other debug methods. Allow to specify debug log file name. When using the "Screen" method, show blue screen when entering KDB. Disable the repetition of previous KDB command with long many-page output. [USETUP] Add "ReactOS (Screen)" entry to boot menu. (Dmitry Gorbachev)
  • [ADVAPI32_APITEST] Add missing test to CD (Pierre Schweitzer)
  • [RTL] explicitly truncate some values, so it doesn't count as an error for compiler/MSVC runtime checker (Jérôme Gardou)
  • [HAL] truncate PCI vendor id instead of casting it. MSVC chokes on it with /RTCc (Jérôme Gardou)
  • [RBUILD] Convert SPACEs to TABs in .rbuild. (Aleksey Bragin)
  • [KERNEL32/WIN32CSR] - Use ShowCmd from STARTUPINFO when creating console window (Rafał Harabień)
  • [CRT] implement _chkesp (Jérôme Gardou)
  • [CRT] Break ReactOS CRT: Add back crash on NULL pointer arg. This is the behaviour on w2k3. Don't skip \\?\ prefix any longer. This is the behaviour on w2k3. (Pierre Schweitzer)
  • [CRT] Fix MSVC build. (Pierre Schweitzer)
  • [CRT] Check for NaN and set error accordingly (Pierre Schweitzer)
  • [INF] - Don't place Polish translation in German section (Rafał Harabień)
  • [WINDEF.H] you never use enough brackets (Jérôme Gardou)
  • [CRT] Reimplemented _scalb properly. This fixes 19 tests. (Pierre Schweitzer)
  • [CRT] Reimplemented _fpclass properly. This fixes all failing _fpclass tests. See: http://babbage.cs.qc.cuny.edu/IEEE-754/References.xhtml Based on OpenAD implementation (Pierre Schweitzer)
  • [RTL/HEAP] Bring more awesomeness to the heap manager by zefklop's request: Add support for settable user values and flags in RtlAllocateHeap and RtlReAllocateHeap. Return error if RtlSetUserValueHeap was unable to set the value. Fixes remaining 2 failures of the kernel32_winetest alloc test. (Aleksey Bragin)
  • [CRT] _fpclass never returns SNaN class, but only QNaN class. This fixes 4 more tests (Pierre Schweitzer)
  • [CRT] Fix _fpclass prototype Fix headers included Remove internal defines that were useless and even not matching real defines. This fixes 4 tests (Pierre Schweitzer)
  • [CRT] Windows has no _isnanl, _isinfl functions (Pierre Schweitzer)
  • [CRT] Reimplemented _finite properly. Removed unused _isinf function. (Pierre Schweitzer)
  • [HALX86] Do not allow software interrupts to preempt code running with interrupts disabled during KfLowerIrql (Cameron Gutman)
  • [MSVCRT_APITEST] Add msvcrt_apitest to CDs (Pierre Schweitzer)
  • [CRT] Fix _fpclass. Spotted by: Vincenzo Cotugno Reviewed by: Timo Kreuzer (Pierre Schweitzer)
  • [SMSS] Limit the size of swapfile (to 2GiB). Bug #4760. (Dmitry Gorbachev)
  • [INF] Fix ServiceType value for the ne2000 driver Should fix ne2000 installation (Cameron Gutman)
  • [ATL] - Fix buffer overflow in CComDynamicUnkArray::Add. Found by Coverity (CID 2474) [NDK] - Remove meaningless const attribute from pointer rvalues to make Coverity's life easier (Thomas Faber)
  • [TRANSLATION] Romanian translation update (bug no. 6654) by Stefan Fulea; Simplified Chineese translation of base/shell and system (bug no. 6655) by Song Fuchang; Slovak translation fixes (bug no. 6658) by Mario Kacmar; (Olaf Siejka)
  • [Win32k|User32] Correct more types. (James Tabor)
  • [Win32k|User32] Patch by Shinobu Maehara: fix for kernel-mode/user-mode marshalling of WM_DDE_ACK. (James Tabor)
  • [HAL] Remove broken map register "prefetcher" code Check that we have enough space to grow our map registers Fix a bad hint to RtlFindClearBitsAndSet Queuing the grow work item is non-vital; treat it as such Fixes BSOD with CM3738 and VIA1723 sound cards [bug 6657] (Cameron Gutman)
  • [SERVICES] Always return ERROR_SUCCESS when ScmWaitForServiceConnect completes successfully instead of sometimes returning ERROR_PIPE_CONNECTED because the callers of this helper just look for ERROR_SUCCESS to indicate a successful call (Cameron Gutman)
  • [Win32k|User32] Fix broadcast message, pass all wine tests. Code consolidation next round. (James Tabor)
  • [NDK] Fix definition of RtlExtendedLargeIntegerDivide. (Sylvain Petreolle)
  • [TRANSLATION] Fix Czech resources that got broken by the UTF8 conversion. (Kamil Hornicek)
  • [SERVICES] REnumServicesStatusExW: Fix dwServiceType and dwServiceState checks. (Eric Kohl)
  • [HAL] Fix DMA on the EISA bus Fix a critical calculation error in map register size resulting in the map register allocation worker not allocating enough map registers for a dynamic resize (Cameron Gutman)
  • [SERVICES] RControlService: Initialize the callers service status information. (Eric Kohl)
  • [SERVICES] RControlService returns ERROR_SERVICE_NOT_ACTIVE if the service has not been started. (Eric Kohl)
  • [KERNEL32]: Fix mailslot code to use the static unicode string in the TEB for conversion, and correctly handle failure cases to bound names to MAX_PATH as Win32 demands. Also fix timeout conversions to use the correct timeout value for infinite timeout. [KERNEL32]: Reformat since 3-space identation is just murder. (Alex Ionescu)
  • [TRANSLATION] base/setup,shell and system conversion patch, by UTF-8 conversion patch by Elton Chung, see bug 6333; Romanian translation fixes and UTF-8 conversion by Stefan Fulea, see bug 6603; (Olaf Siejka)
  • [MESA32] Include headers in the proper order. Fixes mesa32 build. (Pierre Schweitzer)
  • [PSDK] Revert r54359. (Pierre Schweitzer)
  • [BLUE] "Remove" dependencies with user-mode without breaking CSRSS. (Pierre Schweitzer)
  • [PSDK]: I forgot this was the OS where drivers (blue.sys) import from SDK headers. Fix header. (Alex Ionescu)
  • [PSDK]: Add missing Console APIs. [CSRSS]: Add definition for the Sound Sentry CSRSS API. (Alex Ionescu)
  • [PNP] Kill some debug spam (Cameron Gutman)
  • [RTL] A bit more of the DPH code cleanup, no bugs found so far. (Aleksey Bragin)
  • [SERVICES] Allow changing the image path with ChangeServiceConfig. Fixes timeout that shouldn't actually be a timeout in advapi32:service test. See issue #6646 for more details. (Thomas Faber)
  • [BOOTDATA] Disable usbdrv I've heard too many reports of it breaking boot and too few reports of it actually working on real hardware (although it does work perfectly in QEMU) (Cameron Gutman)
  • [SERVICES] Move utility functions to the top (Thomas Faber)
  • [SERVICES] Do not use local memory functions (and possibly free the result using HeapFree!) Do not use double percent signs with _wcsnicmp DPRINT and style fixes (Thomas Faber)
  • [RTL] DPH: Improve RtlpPageHeapAllocate() code, make variable names consistent with the generic available/busy terms. Logic is absolutely unchanged. (Aleksey Bragin)
  • [SERVICES] Improve the parameter checks in RCreateServiceW. (Eric Kohl)
  • Hurray for misisng includes. (Alex Ionescu)
  • [TRANSLATION] Add some Romanian strings to the registry. Fulea Stefan, bug #6603. Add a few Russian strings, too. (Dmitry Gorbachev)
  • Forgotten file. (Alex Ionescu)
  • [KERNEL32]: Implement Wow64Enable/Disable/RevertWow64Direction, document the Rtl equivalents in NDK, export and implement them in NTDLL. [KERNEL32]: Cleanup files a bit. Bintype.c is gone and moved into VDM (these are functions for VDM support). Npipe.c and pipe.c are merged. Dosdev is moved into client, these are not quite File APIs. Base(8Bit/Unicode) APIs are moved into utils.c Wow64 APIs are moved into utils.c The mess that was file.c has the Replace* file APIs going into move.c (similar behaviors), the Open* APIs into create.c (similar) and the Read/Write Scatter/Gather APIs into rw.c (where they belong). What remained in file.c were mostly Set/Query functions, so it becomes fileinfo.c The remaining APIs in file.c were all about paths -- at the file level, specifically filenames, so they go into filename.c Move some File API functions from certain files into other files where they belong more. (Alex Ionescu)
  • [SERVICES] Use FIELD_OFFSET for variable-length structure sizes Handle an invalid parameter condition in RCreateServiceW. Fixes an advapi32:service test Do not dereference a NULL-pointer on out-of-memory (Thomas Faber)
  • [ADVAPI32][SERVICES] Remove unnecessary casts, fix some const-ness, fix a DPRINT, some spacing (Thomas Faber)
  • [MSVCRTEX] Fix some warnings Remove a ros-diff in favor of mingw-w64's solution (Thomas Faber)
  • [CRT] Export _resetstkoflw from msvcrt. Implementation from Wine 1.3.32 (Thomas Faber)
  • [NTDLL]: Export RtlImageNtHeaderEx and LodrLoadAlternateResourceModule. [NDK]: Add LdrLoadAlternateResourceModule. Fix RtlDosApplyFileIsolationRedirection_UStr and add flags. [NTDLL]: Halfplement LdrLoad/UnloadAlternateResourceModule. (Alex Ionescu)
  • Add missing struct to winnt.h. (Sylvain Petreolle)
  • [LWIP] Properly sync to lwIP 1.4.0 No code changes (except unit tests) (Cameron Gutman)
  • [CRT] Gracefully fail on NULL for gmtime functions. Fixes msvcrt:time crash (Thomas Faber)
  • [CRT] Sync heap.c and undname.c with Wine 1.3.32 Remove incorrect casts. Undo an incorrect warning fix. Fixes hang in msvcrt:cpp test (Thomas Faber)
  • [PSDK][KERNEL32] Fix some DWORD vs SIZE_T confusion for memory functions (Thomas Faber)
  • [Win32k|User32] Move control color support to Win32k. (James Tabor)
  • [KERNEL32] Small performance improvement : Directly reference dll when getting its handle instead of just checking it's there and then load it (Jérôme Gardou)
  • [UMPNPMGR] Implement PNP_GetHwProfInfo. Fix PNP_GetClassRegProp: Set the transfer length only in case of success. (Eric Kohl)
  • [FSLIB] Don't call the callback if the caller didn't give one (Cameron Gutman)
  • Fix crash in cursoricon test. (James Tabor)
  • [ROSAPPS] Add rosapps to build. (Sylvain Petreolle)
  • [DISKPART] Add a simple usage function (/? option). Simplify the interpreter loop a little bit. (Eric Kohl)
  • [DISKPART] Implement argument processing. Patch by Lee Schroeder. The original patch was modified to fix the following issues: Indentation and coding style. Remove obsolete code: 1. The if-statement around the for-loop is not needed. 2. The call to wcsicmp() is already case insensitive (it is the 'i' in wcsicmp). Check the existence of a script file name and a timeout value before trying to process them. Call run_script() after the argument list has been processed. This fixes the argument order issue. See issue #6552 for more details. (Eric Kohl)
  • [WINLOGON] Move playing log on sound to HandleLogon Don't use HKEY_CURRENT_USER for accessing user registry key. This key points to settings of user which started Winlogon process (SYSTEM) instead of logged user. Instead use HKU\SID. See issue #5436 for more details. (Rafał Harabień)
  • Update Liberation fonts to 1.07.1 (Rafał Harabień)
  • [WIN32K] Mouse code cleanup Support MOUSEEVENTF_VIRTUALDESK flag in MOUSEINPUT properly Support MOUSE_VIRTUAL_DESKTOP flag in MOUSE_INPUT_DATA properly Do not ignore MK_SHIFT and MK_CONTROL flags in some mouse messages (Rafał Harabień)
  • [TXTSETUP] - Add Polish (214) layout. It's now visible in usetup. (Rafał Harabień)
  • [REGISTRY] Mark the VGA driver as VgaCompatible too so it doesn't take precedence over the VBE driver in case both are installed. See issue #6578 for more details. (Kamil Hornicek)
  • [TRANSLATION] SysSetup: add a very tiny enhancement to Spanish translation (Elhoir, bug #6596). USetup: change encoding of Brazilian Portuguese file to CP 850. USetup: fix a few bugs in German and Italian translations. (Dmitry Gorbachev)
  • [LIVECD] Fix profiles path. FIXES ICONS IN LIVECD! Add few interfaces to livecd registry so it doesn't spam the log so much (Rafał Harabień)
  • [WINLOGON] If no keyboard layout can be loaded, load US layout Try to load all layouts from Preloaded key even if some of them fail (Rafał Harabień)
  • Add Polish keyboard layout (there was only "Polish programmer" layout). It should fix installing ROS in Polish. (Rafał Harabień)
  • [WIN32K|USER32] Make keyboard layouts code more compatible Layouts and kbd files are user objects Preloaded layouts are added by Winlogon, not win32k Support Keyboard Layout substitutes in registry (Rafał Harabień)
  • [TRANSLATION] Change time zone information for Russia. Add Russian translation of country list. Recode Swedish translation of USetup from CP 1252 to 850. Bug #6574. Fix Dutch tr. of USetup. Bug #6510, patch by <congruwer.AT.yahoo.DOT.co.DOT.uk>. (Dmitry Gorbachev)
  • [WINE] Undefine HAVE_GETADDRINFO Even though this is fully implemented (and used other parts of ROS), it seems to enable broken code paths in some WINE code Fixes the rapps regression (Cameron Gutman)
  • [WINE] Fix a couple of incorrect definitions Rapps is still regressed since r54146 (Cameron Gutman)
  • [TCPIP] Differentiate between incomplete and complete NCEs with regard to the timeout Change the IP timer to fire only once each second Remove unneeded completion functions (Cameron Gutman)
  • [TCPIP] Do not transmit fragments recursively since it can cause a kernel stack overflow with large packets Big thanks to hto for his work on this bug which has eluded me since last year See issue #5796 for more details. (Cameron Gutman)
  • [TRANSLATION] Romanian translation of userenv, winmm, ntvdm, and win32csr (bug no. 6580) and inf (bug no. 6577) by Stefan Fulea (minor corrections by me); Polish translation update/cleanup of inf by me; Spanish inetcpl translation (bug no. 6472) and French subst translation (bug no. 6166) by Jason Genie; (Olaf Siejka)
  • [WIN32K] Remove ReadRegistryValue in kbdlayout.c as we already implement RegQueryValue for reading from registry in W32k. This function additionally checks value type. Rename KBL to KL based on Techwiki HKCU\Keyboard Layout\Preload value is REG_SZ (not REG_EXPAND_SZ) NtUserLoadKeyboardLayoutEx should set last error if flags are invalid Minor keyboard layout code cleanup (Rafał Harabień)
  • [TRANSLATION] Fix some German formal addressing (Thomas Faber)
  • [registry] Mark the VBE driver as VgaCompatible. This is an outrageous lie, but it lets us use 3rd party drivers, like VBoxVideo, while VBE is installed. Consider this a hack, which is to be fixed bei either making vbemp really vga compatible or by fixing whatever keeps the VBoxVideo from replacing vbemp. (Timo Kreuzer)
  • [PSDK] don't define _cdecl and __cdecl to nothing on MSVC builds. define cdecl and CDECL to nothing add #pragma once this file is full of hacks (Timo Kreuzer)
  • [WINE/WS2_32] Sync config.h with recent Wine and remove some now unneeded defines. By Samuel Serapion. See issue #6174 for more details. (Amine Khaldi)
  • [KERNEL32/LIBWINE/USP10] Move the wctype table from kernel32 to libwine in preparations for implementing crt locale support. By Samuel Serapion. See issue #6538 for more details. (Amine Khaldi)
  • [UNICODE] Update unicode tool to wine 1.3.29. By Samuel Serapion. See issue #6537 for more details. (Amine Khaldi)
  • [CRT] Fix rbuild... (Timo Kreuzer)
  • [CRT] Remove _fltused from alldiv_asm.s / mscmain.c and use fltused.c instead. Remove amd64/alldiv.S Implement amd64 ceil, ceilf with sse [NTOSKNRL] Fix amd64 exports [ASM] Fix amd64 asm files to conform to the new syntax (Timo Kreuzer)
  • [BOOTDATA] Enable usbdrv.sys in 1st stage setup and the system hive USB keyboards and mice work now (file bugs if you have problems) (Cameron Gutman)
  • [RTL] Fix unix build. (Amine Khaldi)
  • [WINED3D] Finally recognize Mesa's GDI driver as HW_VENDOR_SOFTWARE. This commit was blessed by the Wine team. (Kamil Hornicek)
  • [RTL] Fix two bugs revealed by the newly added test in r54114. Original length of the passed string should be used when checking for out-of-buffer access in the loop PathChars should be updated if a DOS device name was found in the given string. See issue #6390 for more details. (Aleksey Bragin)
  • [ASM] Improve .proc / .endproc syntax, so that the full symbolic name is passed, which allows to create fastcall symbols. Remove the need to pass the function name to .endp (Timo Kreuzer)
  • [USER32|WIN32K] Convert wParam in WM_*CHAR messages to ANSI in GetMessageA instead of win32k. Fixes wrong characters used in cmake notepad which is ANSI. (Rafał Harabień)
  • [SYSSETUP] Allow creating of shortcuts with icon indexes != 0. [EXPLORER] Shuffle the resources a bit so icons with indexes 0 and 1 match those in windows explorer. See issue #6544 for more details. (Kamil Hornicek)
  • [Win32k] Restore global class operations. [ComCtl32] Use local class since this has higher priority over all global classes. [Themes] Tested with XP Luna and two others. Rune and another Luna. (James Tabor)
  • [Rtl] Replace RtlQueryInformationActiveActivationContext and set it based on wine. (James Tabor)
  • [Win32k] Support Active SxS for the window structures. (James Tabor)
  • [RTL] On x86 builds use the asm versions of the byte swap functions. This is neccessary for RtlUlonglongByteswap, because the function breaks the calling convention on Windows, not cleaning up the stack. Make the asm compatible to ML and improve it a bit. Investigated by Thomas Faber. (Timo Kreuzer)
  • [SERVICES] Do not keep the process handle of a started process open when sending a STOP command to a process failed, then succeed and mark the process as stopped. Fixes ghost processes, when terminating a service with taskmgr and allows to restart services that got terminated or possibly crashed. (Timo Kreuzer)
  • Improve some includes. (Amine Khaldi)
  • [RTL] Handle a NULL buffer in RtlIpv4AddressToStringA as Windows does. Fixes crash in ntdll:rtl test [CRT] Fail on qsort with 0 size. Fixes hang in ntdll:string test (Thomas Faber)
  • [STLPORT] Revert r54088 [GLU32] Do not use stlport headers with MSVC, as they are broken. Should really fix MSVC build (Thomas Faber)
  • [RTL] Rewrite RtlFindCharInUnicodeString. Fixes timeout in ntdll:rtlstr test. (Thomas Faber)
  • [STLPORT] Do not define min() or max() when standard headers are included. Should fix MSVC build (Thomas Faber)
  • [CMAKE] Use the gcc toolchain-provided STL. Use STLport only on MSVC builds. [KSPROXY] Set imagebase, properly set its entry point, use set_cpp() instead of hardcoded definition/includes and add no exceptions/rtti gcc flags. [GLU32] Use set_cpp() instead of the hardcoded target_link_libraries(). [PORTCLS] Use set_module_type() with proper entry point, instead of expanded macro calls, and get rid of hardcoded target_link_libraries(). Commit Dedicated to Olaf Siejka (Caemyr). (Amine Khaldi)
  • [NDIS] Fix NdisMWanIndicateReceiveComplete params. (Amine Khaldi)
  • [RTL] - Make sure RtlInitUnicodeString(Ex) don't set odd length. Fixes ntdll:rtlstr winetest. (Rafał Harabień)
  • [RTL] Fix possible integer overflow in RtlpInitializeHeapSegment Simplify loop in RtlIsDosDeviceName_Ustr Make MonthLengths an array of UCHARs instead of ints Remove pointless loops in RtlTimeToTimeFields Fix MSVC warnings (Timo Kreuzer)
  • Add register class name proc. (James Tabor)
  • [SMSS] Remove a hack for MSVC. (Timo Kreuzer)
  • [NTOSKRNL] Rename KTHREAD.DispatchHeader to Header Remove KeInitializeDispatcherHeader and initialize dispatcher headers depending on object type. Fixes all ntos:KeEvent and KeTimer kmtests. (Rafał Harabień)
  • [RTL] Silence a debugprint (Timo Kreuzer)
  • [Win32k] Implement get atom name for user32. (James Tabor)
  • Add new CreateWindowEx flags. (James Tabor)
  • [HALACPI] Work around a race condition related to devices reported before the I/O subsystem is fully up Fixes bug #6271 (Cameron Gutman)
  • [HAL] Do not write past the end of buffer. (Dmitry Gorbachev)
  • [SPEC2DEF] Support thiscall and float specifiers. By Samuel Serapion. See issue #6539 for more details. (Amine Khaldi)
  • [RTL] Post-r52687 implementation of RtlIsDosDeviceName_U is more advanced than pre-r52687 one and covers more corner cases which may not be tested by existing winetests. Thus bring back the post-r52687 and also introduce fixes for the following bugs in it: Incorrect extension/space-at-the-end truncation Incorrect encoding of returned offset/length pair Incorrect condition for for-loop exit Incorrect calculation of the return length in case of COMx/AUX devices (it should not include the terminating 0 character) After those trivial fixes (mostly oneliners and typos), the function works as expected and passes all ntdll_winetest path tests. Sorry for any inconviniences! (Aleksey Bragin)
  • [HAL] Implement support for scatter/gather DMA Tested with Intel's NDIS 5.1 PRO/1000 driver (but more testing would be helpful to weed out bugs) [NDIS] Report NDIS 5.1 now since S/G DMA is supported Stop warning when S/G DMA is used (Cameron Gutman)
  • [WIN32K] Rewrite keyboard input processing to match windows behavior Deduplicate code, add comments, mark functions static Support keyboard LEDs in SendInput API Set last error in more places Make keyboard layouts compatible with Windows Add some defines from keyboard layouts to kbd.h and use names from MS file Move kbd.h from ntoskrnl to NDK as it has nothing to do with kernel More fixes which I don't remember Please test CAPSLOCK key with AltGr characters (RALT+X) for layouts which support it. If something fails, report it to me on IRC (Rafał Harabień)
  • [NLS] Remove unused: icu4ros and all its dependencies (normalize, idna) (Pierre Schweitzer)
  • [TRANSLATION] netid, vmwinst romanian translation, see bug number:6531; resource updates and corrections in multiple romanian translations, see bug number: 6532; Patches by Stefan Fulea; [ACLUI] convert module to ReactOS resource style (separate lang directory); (Olaf Siejka)
  • Make some eol-styles consistent for .sln and .vcproj and .cmd (Timo Kreuzer)
  • Add a .hgeol file in the hope that it allows to get native line endings with hg (Timo Kreuzer)
  • [INFLIB] Fix memory leak (Pierre Schweitzer)
  • [WINLOGON] Do not call HandleShutdown() with NULL Session. (Dmitry Gorbachev)
  • [INTRIN] Use "unsigned int" for x86 __writecr*(), as it is (reportedly) used in VS10 headers. (Dmitry Gorbachev)
  • [PSDK] Missed this one. (Amine Khaldi)
  • [PSDK] Add some missing definitions. (Amine Khaldi)
  • Add Kazakh language to the registry. Patch by <seven_s*AT*mail*DOT*ru>. Bug #6277. (Dmitry Gorbachev)
  • [PSDK] Add some missing defines. (Amine Khaldi)
  • [XDK/DDK/PSDK] Fix a compiler (clang) warning. (Amine Khaldi)
  • [HEADERS/CRT] Work around an issue with clang and __debugbreak(). They mark __debugbreak as built-in (so we can't use ours) but it's not supported yet (so if we use nothing we get an error). (Amine Khaldi)
  • [UMPNPMGR] Implement PNP_GetCustomDevProp(). (Eric Kohl)
  • [PSDK] Add missing LAYOUT_LTR define. (Amine Khaldi)
  • [RBUILD] Plug a leak. (Amine Khaldi)
  • [ASM] Add data32 prefix for MSVC (Timo Kreuzer)
  • [NTOSKRNL] - Fix MSVC build [INCLUDE/C++] - Fix some typos in (obviously never used) typeinfo header [MSVCRTEX] - Use _DLL instead of _M_CEE_PURE (Thomas Faber)
  • [LIBPNG] - Update libpng to 1.55. Patch by Elton Chung <elton328 [at] gmail [dot] com>. See issue #6524 for more details. (Rafał Harabień)
  • [HEADERS/CRT] We don't need this guard anymore. (Amine Khaldi)
  • [HEADERS/CRT] Properly check for clang. (Amine Khaldi)
  • [FREELDR] use a dll instead of an exe for the freeldr_pe and setupldr_pe targets and add a spec file to export scsiport stuff. This is the first step in cleaning up the scsiport import hack in freeldr (Timo Kreuzer)
  • [NDK] Fix 64 bit issues of SYSTEM_VERIFIER_INFORMATION and SYSTEM_POOLTAG. Reported by dmex. (Timo Kreuzer)
  • fix some relocations (Giannis Adamopoulos)
  • [CRT] implement floor and floorf for amd64 with sse2 instructions (Timo Kreuzer)
  • [SERVICES] Minor fixes to ScmAssignNewTag Correctly handle an invalid parameter case in RCreateServiceW. Fixes second stage boot under certain circumstances. (Thomas Faber)
  • [SERVICES] Assign a new Tag to new or changed services. Patch by Thomas Faber! See issue #6147 for more details. (Eric Kohl)
  • [HAL] Fix a typo in HalpAllocPhysicalMemory, that caused the function to remove MADs that still had pages rather than removing those who are empty. Fixes an assertion on VMWare. Kudos go to Kamil for tracking it down. Fix another bug in HalpAllocPhysicalMemory, where the size of the newly allocated MAD was set to the alignment value instead of the original MAD, this lead to conflicting MADs and possible reuse of hal memory by the kernel. This seems to fix a bugcheck 0x19 with halacpi. (Timo Kreuzer)
  • [DISKPART] Install diskpart. (Eric Kohl)
  • [PSDK] Remove duplicate lines, noticed by sharpsighted forum people. (Dmitry Gorbachev)
  • [SERVICES] Silence debug messages. Fix typos. Add missing database locks. RControlService: Return ERROR_INVALID_PARAMETER on illegal control code. (Eric Kohl)
  • Commit forgotten file... (Rafał Harabień)
  • [MKHIVE] - Get all INF files from command line instead of using hardcoded names [CMAKE] - Use new mkhive syntax and fix livecd hives dependences [RBUILD] - Use new mkhive syntax (Rafał Harabień)
  • [BUGCODES] Bug check code 0x5d is UNSUPPORTED_PROCESSOR. [NTOSKRNL] Use it. (Dmitry Gorbachev)
  • [BUGCODES] Add SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION definition. (Aleksey Bragin)
  • [SMSS] Fix wrong behavior of the "native applications startup at boot time" feature in SMSS. Modifications: Added missing buffer allocation checks. Check for presence of default path. Minor clean-ups. Fix bad indentation/coding style. Original patch by Hermès BÉLUSCA. See issue #6180 for more details. (Eric Kohl)
  • [HAL] Report table lookup failures Report supported ACPI version (Cameron Gutman)
  • [undocuser.h] Add a definition for TrackMouseEvent timer (Giannis Adamopoulos)
  • Add the Diskpart utility by Lee Schroeder (milawynsrealm). The following modifications were made: Removed the help texts because they were copied from Windows Diskpart. Used a single string resource per help text. Used only Unicode strings and Unicode string functions. Replaced the giant if-statement in the command dispatcher in interpreter.c by a command-table and a little loop. Improved the command-line parser. Argument count and argument vector are passed to the command and help functions for easy evaluation. Moved the help function for commands into the command specific file. TODO: Implement all commands as the utility is only an empty frame. Add help texts. Translate help texts. See issue #6402 for more details. (Eric Kohl)
  • [WPP] Sync to Wine 1.3.29 to fix a warning (Rafał Harabień)
  • [PSDK] Bring-in some idl changes from Wine. These changes (and the related changes below) are to allow us to sync shell32 tests to Wine 1.3.29. [UUID] CLSID_TaskbarList is no longer needed in here. [ACTXPRXY] Sync with Wine 1.3.29. (Amine Khaldi)
  • [DDK/PSDK] Fix several typos. Patch by Elton Chung (elton328 at gmail dot com). Slight compatibility fix by me Add missing NTSYSAPI to some externs remove Se*DefaultDacl externs from ntifs, as they don't belong there, and are already correctly found in ndk/setypes.h (Thomas Faber)
  • [HAL] Revert part of r53788 (MAXIMUM_IDTVECTOR is a valid vector number) The buffer overrun in the IDT code was already fixed by r53420 (Cameron Gutman)
  • [TRANSLATION] Multimodule translation and UTF-8 conversion to Portugese Brazilian. Patch by mkbu95. Minor fixes by me; See issue #6467 for more details. (Olaf Siejka)
  • Czech localization (base/applications): UTF-8 conversion cleanup, fixed typos, translated some more English strings. (Kamil Hornicek)
  • [Desk|User32|UXTheme] Silence GCC 4.6 "variable 'foo' set but not used [-Werror=unused-but-set-variable]" warnings/errors. (Dmitry Gorbachev)
  • [EVENTLOG] Fix broken if condition (Pierre Schweitzer)
  • [HAL/x86] Completely fix one of the overruns (Pierre Schweitzer)
  • [HAL/x86] Fix buffer overruns (Pierre Schweitzer)
  • [CRT] Rewritten _tfullpath(). This: Fixes memory leak Fixes null pointer use Adds missing features Sets errno (Pierre Schweitzer)
  • [TRANSLATION] Massive Romanian translation patch by Stefan Fulea. See bugs 6468 and 6478; (Olaf Siejka)
  • [win32k] move function definitions from c files to headers (Giannis Adamopoulos)
  • [RTL] Remove qsort, its already in crt. Fix a number of MSVC/64 bit issues (Timo Kreuzer)
  • [OBJ2BIN] Fix memory leaks Fix resources leaks Fix wrong if statement (Pierre Schweitzer)
  • [MKHIVE] Fix memory leak (Pierre Schweitzer)
  • [LOG2LINES] Fix memory leak (Pierre Schweitzer)
  • [GENINC] Fix resources leak (Pierre Schweitzer)
  • [PEFIXUP] Fix resources leak (Pierre Schweitzer)
  • [RTL] Fix a number of MSVC/64 bit warnings/problems Fix return type of RtlpInitializeHeapSegment (by Roel) (Timo Kreuzer)
  • [RGENSTAT] Fix memory leaks (Pierre Schweitzer)
  • [REGTESTS2XML] Fix memory leaks (Pierre Schweitzer)
  • [NTOSKRNL] Keep APC delivery disabled while holding a Heap Lock, not just while acquiring/releasing it (Dedicated to Timo and Ged). Store the Heap Lock in non-paged pool, the only place where executive resources belong (Dedicated to patient people). [RTL] Restructure/simplify/correct Heap and Heap Segment initialization (partially to cope with the changed Heap Lock interface). Restrict the location of Heap Segment headers to the base address of the Heap Segment (which frees up a whopping 60 bytes per Heap!). Cater for acquiring the Heap Lock exclusively or shared (the latter is only available in kernel-mode); only exclusive locking is used for now. Use a plain critical section to guard the Process Heap list, no reason to disguise it as a Heap Lock (saves us a handful more bytes). (Roel Messiant)
  • Fix more unused-but-set warnings. (Dmitry Gorbachev)
  • add the themes service to boot cd (Giannis Adamopoulos)
  • [thmsvc] Add the themes service from the themes branch (Giannis Adamopoulos)
  • [uxundoc.h] Add a couple of definitions that I forgot to add (Giannis Adamopoulos)
  • [RTL] Fix a number of MSVC/amd64 warnings/problems Remove code duplication in RtlCharToInteger and RtlUnicodeStringToInteger Fixup too large string length in RtlInitAnsiString, RtlInitUnicodeString Use symbolic constants instead of hardcoded values Fix overflow check in RtlInitUnicodeStringEx (Timo Kreuzer)
  • [HPP] Fix memory leak (Pierre Schweitzer)
  • [SPEC2DEF] Fix resources leak (Pierre Schweitzer)
  • [STUBGEN] Fix resources leak (Pierre Schweitzer)
  • [NDK] Add the missing RtlpNt-Registry functions and move RtlpNtOpenKey into the NTOS_MODE_USER section. (Eric Kohl)
  • [RTL] Improve formatting, no code change (Timo Kreuzer)
  • [wingdi.h] merge one last header change from the themes branch (Giannis Adamopoulos)
  • [RTL] Improve formatting, no code change (Timo Kreuzer)
  • [headers] Begin merging from themes branch (Giannis Adamopoulos)
  • [HAL/NDK] Make Vector parameter in HalEnableSystemInterrupt, HalDisableSystemInterrupt and HalBeginSystemInterrupt an ULONG, not an UCHAR [NDK] 64bit fixes for HANDLE_TABLE, KPROCESS, SECTION_IMAGE_INFORMATION, MMADDRESS_LIST, MMVAD_FLAGS, MMVAD, MMVAD_LONG, MMVAD_SHORT, MEMORY_DESCRIPTOR, MEMORY_ALLOCATION_DESCRIPTOR, LdrVerifyMappedImageMatchesChecksum KDPC_DATA::DpcQueueDepth is signed on amd64, unsigned on x86 [NTOSKRNL] Fix hundreds of MSVC and amd64 warnings add a pragma message to FstubFixupEfiPartition, since it looks broken Move portable Ke constants from <arch>/cpu.c to krnlinit.c Fixed a bug in amd64 KiGeneralProtectionFaultHandler (Timo Kreuzer)
  • [CABMAN] Leak less resources (Pierre Schweitzer)
  • [RTL] Fix the overly complicated and buggy implementation of RtlIsDosDeviceName_Ustr based on the simple pre-r52687 implementation of RtlIsDosDeviceName_U. This fixes 14(!) wine tests. (Eric Kohl)
  • [RTL] RtlGenerate8dot3Name: Ignore spaces in long file names instead of converting them to underscores. See issue #6385 for more details. (Eric Kohl)
  • [WIN32K] syscalls are stdcall (Jérôme Gardou)
  • [HAL/APIC/AMD64] add common amd64 asm trap macros fix amd64 version of HackEoi send EOI in amd64 trap exit code, so we avoid using HackEoi modify HalpClockInterruptHandler for better portability fix amd64 TscCalibrationISR (Timo Kreuzer)
  • [REACTOS] wait patiently for rbuild going to Valhalla (Jérôme Gardou)
  • [REACTOS] get version.h and buildno.h out of precompiled headers, to avoid rebuilding the whole module each time we reconfigure the build (Jérôme Gardou)
  • [CRT] Implement MSVC versions of call_copy_ctor, call_dtor, continue_after_catch, __CxxFrameHandler Fix amd64 versions of _control87 and _statusfp Fix MSVC and amd64 warnings (Timo Kreuzer)
  • [HAL/APIC] Fix some stuff that gcc complains about. It doesn't like to use static data in non-static inline functions for some unknown reason. Implement support for level triggered interrupts, when using lazy irql (Timo Kreuzer)
  • [FREELDR/HAL/NDK] Move some shared constants (HYPERSPACE_BASE, MM_HAL_VA_START, APIC_BASE) to NDK to avoid duplicating them, also fix wrong values for amd64 Map the hal address space in amd64 freeldr Fix use of uninitialized variable (HighPart of PHYSICAL_ADDRESS) in HalpAcpiCopyBiosTable Fix some MSVC and amd64 warnings (Timo Kreuzer)
  • [PSDK] Use CHAR instead of char in STRRET structure (as documented in MSDN). Fixes compilation of shell32 with MSVC. (Timo Kreuzer)
  • [HAL] Fix amd64 build (Timo Kreuzer)
  • [HAL] Implement lazy irql for APIC. This is useful for VMs, since APIC usually has high overhead due to the need of invoking the hypervisor on every irql raise and lower. With lazy irql we avoid that until absolutely neccessary. Note that we misuse the PCR's IRR field to save the current hardware irql. Its a huge performance boost (some parts take half the time), making APIC performance close to PIC performance on VBox. This is something that Windows doesn't have :) (Timo Kreuzer)
  • Comment out some unused but set variables, remove some others. Allow warnings for some 3rd party code. (Amine Khaldi)
  • Comment out some unused but set variables, remove some others. Allow warnings for some 3rd party code. (Amine Khaldi)
  • [WS2_32_NEW] Fix an error found by PVS Studio [RAMDISK] Fix an error found by PVS Studio (Cameron Gutman)
  • [NTOSKRNL][RTL][DOC] Fix incorrect loop boundaries in the ARM version of MmCreateProcessAddressSpace. Spotted by Vincenzo Cotugno and cppcheck Correct outdated wineimport.cmd URL in README.WINE Assorted spelling and readability fixes (Thomas Faber)
  • [SERVICES] Add optional asynchronous io code for service control pipes. This is disabled by default due to bugs in NPFS. Read service pipe timeout value from the registry. (Eric Kohl)
  • [HAL] End the interrupt in HalpApcInterruptHandler and HalpDispatchInterruptHandler before calling the kernel, otherwise we would be stuck at high processor irql Improve HalEnableSystemInterrupt disable interrupts in HalpInitializeClock => APIC hal boots to desktop! (Timo Kreuzer)
  • Missed some assignments in debug.c. Add a dummy allow_warnings() for msvc build. (Amine Khaldi)
  • Comment out some unused but set variables, remove some others. (Amine Khaldi)
  • Fix some more unused but set variables. Allow warnings for some 3rd party code. (Amine Khaldi)
  • Fix some unused but set variables. Brought to you by gcc 4.6.1. Allow warnings for some 3rd party code. (Amine Khaldi)
  • [HAL] Use a global variable HalpBuildType instead of a define when checking the BUILD (we don't recompile this code for SMP hal) Move registering IRQ2 out of the generic init code into HalInitializePICs Modify legacy HalpGetRootInterruptVector to use HalpIrqToVector and HalpVectorToIrql so it works with APIC, too (Timo Kreuzer)
  • [RBUILD] Add kmtests to the CD (Thomas Faber)
  • [HAL/APIC] Implement HalpApcInterruptHandler, fix HalpDispatchInterruptHandler Insert a read to the APIC version register in ApicGetCurrentIrql(). This fixes inconsistencies between the internal APIC state and register reads/writes. Remove old hacks in ApicGetCurrentIrql() and ApicSetCurrentIrql Fix HalpVectorToIrql() read/write cr8 for the value of the TPR on amd64 builds Fix amd64 build (Timo Kreuzer)
  • [HAL] Add a hack to work around a bug in VBox: The APIC emulation requires an iret instruction following closely after writing the EOI register. Since we return from kernel mode traps with a jmp (yes you can return from an interrupt with a jmp!) the EOI is never triggered, making VBox believe we are still serving the interrupt and keeping the PPR on high level, preventing following interrupts. A small asm stub now does the work of both writing the EOI and doing an iret. (Timo Kreuzer)
  • [HAL] Add a hack to ApicGetCurrentIrql and ApicSetCurrentIrql to work around a VBox bug call KeSetTimeIncrement after initializing the rtc clock calculate TSC frequency from the samples Fix a bug in KeStallExecutionProcessor (Timo Kreuzer)
  • [undocuser.h] Move definition of UpdatePerUserSystemParameters to undocuser.h (Giannis Adamopoulos)
  • [WIN32K] Rewrite clipboard to match Windows implementation Clipboard uses window stations instead of global variables Data is saved in clipboard data user objects Memory is no longer leaked when winsta is destroyed Data is synthesized on demand Make internal functions static Fix possible memory corruption in IntGetAtomName More winetests are passed (Rafał Harabień)
  • Downgrade some DPRINT1s to DPRINTs. (Aleksey Bragin)
  • [HAL] Fix I/O APIC register access set APIC logical id based on Cpu (currently flat model with up to 8 cpus supported) In HalpInitializeTsc, setup the RTC clock, since the timer is initialized later in the TSC calibration ISR, send EOI and read RTC register C to get the next interrupt (Timo Kreuzer)
  • [HAL] Don't use debug prints before the debugger is even initialized acquire cmos spinlock when accessing the cmos registers Fix amd64 build (Timo Kreuzer)
  • [HAL] give apic hal its own halinit_apic give minihal an own halinit_mini.c containing function stubs move HalInitializeProcessor to halinit.c and add hal specific function HalpInitProcessor get rid of all the #ifndef _MINIHAL_ in halinit.c and move the file to lib_hal_generic improve the hal version/build check Update spec file for amd64 (Timo Kreuzer)
  • [HAL] move v86 code out of trap.S into v86.S (APIC uses a different trap entry file), compile it directly in the dll instead of a lib to be able to silence linker warnings Group files in HAL_PIC_SOURCE and HAL_APIC_SOURCE, you just need to replace PIC with APIC to build the hal with APIC support (we can later use it to build the other hals: halapic, halaacpi, halmacpi, halmps) use apic on amd64 builds give halacpi its own resource file silence MSVC linker warnings (Timo Kreuzer)
  • [HAL] Rename HalpAcquireSystemHardwareSpinLock to HalpAcquireCmosSpinLock (Timo Kreuzer)
  • [MKHIVE] Fix max key name length, max value name length, max value data length properties of registry key not being set correctly Fixes #6042 - regedit on LiveCD shows keys and values now (Rafał Harabień)
  • [HAL] Start implementing APIC support, which is needed for both SMP and x64. It will use the local APIC + I/O APIC for interrupt control, the RTC instead of the PIT for the timer interrupt (PIT doesn't always work with I/O APIC), the APIC timer for profiling and finally the TSC for the performance counter and KeStallExecutionProcessor. The code is incomplete and doesn't work yet (Timo Kreuzer)
  • [MUP] Any attempt to open or create a file on a remote machine will return STATUS_BAD_NETWORK_PATH. This means the server is not available. Trying to create \\testserver\testshare\testdir\test.txt fails just like on Windows XP. Add service key and values for the MUP driver. Add the driver to the File System group because adding it to the Network group, like on Windows XP, does not load the driver. (Eric Kohl)
  • [RTL] Add FPO information to some asm functions (Timo Kreuzer)
  • [RSYM] .stab/.stabstr sections have no IMAGE_SCN_LNK_REMOVE flag now. (Dmitry Gorbachev)
  • [HAL] Use functions instead of macros for irq<->vector<->irql translation, this will be neccessary, once apic support is there Disable mp hal in rbuild for now, its broken anyway (Timo Kreuzer)
  • [SERVICES] RStartServiceA: Convert the ANSI start arguments vector to a UNICODE vector and pass it to ScmStartService. Calls to StartServiceA can now be used to pass arguments to a starting service. (Eric Kohl)
  • [PSDK] put NOGDI guard at the right place... (Jérôme Gardou)
  • [PSDK] fix compilation for any fool wanting to use our headers outside of NT 5.2 scope (Jérôme Gardou)
  • [LWIP] fix warning in ros glue code (Jérôme Gardou)
  • [ROSSYM_NEW] fix some warnings fix function prototype. This might fix usermode stack logs (Jérôme Gardou)
  • [SERVICES/ADVAPI32] Pass the service start argument vector to the started service main function. ANSI services are not supported yet. (Eric Kohl)
  • [TRANSLATION] Romanian syssetup and usetup translation by Stefan Fulea <fulea.stefan> at <gmail.com>; Fix ipconfig build under MSVC, use "" instead of \" as escape character; (Olaf Siejka)
  • [HAL] Fix a dependency issue (Timo Kreuzer)
  • [HAL] Flatten the directory structure use static libraries in cmake builds as well to save build time (Timo Kreuzer)
  • [HAL] Don't use enums as bitfields. MSVC doesn't handle it the way gcc does. Fixes clock initialization on MSVC builds. You would wonder how the MSVC build even worked without a clock interrupt :D (Timo Kreuzer)
  • [USER32] Attempt to fix the relocation issue in the rbuild build. (Amine Khaldi)
  • [RTL][NETSHELL] Fix the remaining issues from preceding commits (Thomas Faber)
  • Fix multiple typos and bugs, found by PVS-Studio (Dmitry Chapyshev)
  • Fix typos, found by PVS-Studio (Dmitry Chapyshev)
  • Fix wrong macros usage, found by PVS-Studio (Dmitry Chapyshev)
  • Fix wrong macros usage, found by PVS-Studio (Dmitry Chapyshev)
  • Fix a bug, found by PVS-Studio (Dmitry Chapyshev)
  • [TRANSLATION] Fulea Stefan <fulea.stefan> at <gmail.com> : Mega Romanian translation commit. Bugs 6422, 6424, 6425, 6426, 6427, 6428, 6429, 6430, 6432, 6438, 6442, 6446, 6450 and 6451. (Amine Khaldi)
  • [FREELDR] Massively refactor the winldr code move common parts of LoadReactOSSetup and LoadAndBootWindows into LoadAndBootWindowsCommon Combine architecture specific code into 2 functions: WinLdrSetupMachineDependent prepares the main stuff and WinLdrSetProcessorContext is the last thing done before transferring control to the kernel. rename WinLdrTunOnPaging to WinLdrSetupMemoryLayout Stop wasting stack space by decreasing the number of huge text buffers used Don't handle x86 specific data like Tss in portable code Add the progressbar for reactos setup as well Add missing DPRINT_PELOADER to DEBUG_ALL (Timo Kreuzer)
  • [CMAKE] try to fix gcc build without breaking msvc (Jérôme Gardou)
  • Add msvcrt to KnownDLLs. This will enforce use of reactos msvcrt when apps provide one. Its required because cmake dlls currently depend on msvcrt for their startup code. (Sylvain Petreolle)
  • [NTOSKRNL] Update amd64 kd64 from ros-amd64-bringup (Timo Kreuzer)
  • [HAL] Small cleanup and fix amd64 build (don't use the PIT) (Timo Kreuzer)
  • [HAL] We cannot make any assumptions about the latency whith which the timer interrupt fires after a rollover, since VBox (other VMs probably as well) doesn't always meet this. Add another check to KeQueryPerformanceCounter that gracefully handles missing interrupts. Also raise to DISPATCH_LEVEL, since the function is not reentrant. (Timo Kreuzer)
  • [HAL] Rewrite KeQueryPerformanceCounter in C Implement support for changing the clock rate (Timo Kreuzer)
  • [INTRIN] add __nop() (Timo Kreuzer)
  • [KDBG] Don't enable int3 first chance handling by default. Should fix ntdll exception winetest. Found by Arty. (Timo Kreuzer)
  • [WIDL] reenable -Oif flag, it's too good to be disabled With this commit, advapi32:service winetest suffers only 2 failures. (Jérôme Gardou)
  • [WIDL] duplicate type entry for parameters with the range attribute. This fixes the problem that Eric Kohl detected. This has already been sent to wine. (Jérôme Gardou)
  • [INTRIN] Add missing memory barriers to _enable, _disable and __halt (Timo Kreuzer)
  • [IDL] fix definition of PPCONTEXT_HANDLE (Jérôme Gardou)
  • [SHELL32] Fix Shell_MergeMenus return type. (Amine Khaldi)
  • [WIDL] Revert parts of r53171: Remove the -Oif flag for WIDL because the NT4 stub code generated by the current WIDL is heavily broken with respect to the range attribute and others. Please enable the -Oif feature only after these bugs are fixed in WIDL! (Eric Kohl)
  • [NTDLL/LDR] Improve DPRINTs Fix some MSVC warnings [NTOSKRNL] Fix missing exports (Thomas Faber)
  • [CRT] Do not skip calling DllMain on non-GCC builds (Thomas Faber)
  • [HAL] Fix amd64 build (Timo Kreuzer)
  • [CRT] Add frame pointer omission info to strcpy and wcscpy (Timo Kreuzer)
  • [INF] Add Polish translation of device names (Rafał Harabień)
  • [user32/win32k] cleanup internal headers remove unused functions and definitions move shared definitions to ntuser.h (Giannis Adamopoulos)
  • [KSPROXY/KS/SCSIPORT] Use sizeof(PVOID) instead of sizeof(PFOO) just for clarity that we really want a pointer size [SCSIPORT] Don't initialize a pointer with RtlZeromemory (Timo Kreuzer)
  • [INTRIN] Fix _bittest64 prototype [STLPORT] Fix amd64 build of modules using these headers (Timo Kreuzer)
  • Slightly rearrange base addresses to get rid of DLL relocations during bootup. (Aleksey Bragin)
  • [HAL] Add PCI_HAL device for non-ACPI machines. Code taken from the ACPI-HAL. This is just a quick hack and needs some more improvements. (Eric Kohl)
  • [HAL] Handle IRP_MN_QUERY_CAPABILITIES for the ACPI_HAL device object [PNPMGR] Don't bring up a device if a required IRP has failed Don't perform operations on a child if it is not ready yet (Cameron Gutman)
  • [HAL/NTOSKRNL] Fix an off-by-one bug in the IDT table size (Cameron Gutman)
  • [DDK/XDK] Add function types, not only function pointers types for EXPAND_STACK_CALLOUT and KSYNCHRONIZE_ROUTINE (Thomas Faber)
  • [NTOSKRNL] Do not return an NTSTATUS from KeSynchronizeExecution, which returns BOOLEAN [KERNEL32] Do not return an NTSTATUS from BasepGetModuleHandleExW Found by MSVC. (Thomas Faber)
  • [EVENTLOG] Don't use sizeof for a variable-length structure Fix string buffer building (Thomas Faber)
  • [HAL/VIDEOPRT/EVENTLOG] Really fix some of the sizeof issues (Timo Kreuzer)
  • [EVENTLOG] Fix a bad sizeof(). (Amine Khaldi)
  • [HAL] Fix a couple bad sizeof(). (Amine Khaldi)
  • [XDK/DDK] Add KeSaveFloatingPointState as well (Timo Kreuzer)
  • [DDK(XDK] Add inline functionss Ke*FloatingPointState for amd64 and arm, doing nothing. Noticed by Thomas Faber. (Timo Kreuzer)
  • [VMWINST] Fix amd64 build [NTDLL] add missing amd64 specific exports [MSVCRT*] Fix mangled c++ exports for amd64 [OLEAUT32] Add amd64 adm stub for call_method, fix MSVC/amd64 build [RICHED20] Fix MSVC thiscall wrapper [RPCRT4] add amd64 specific asm [KSFILTER] Add c++ aliases, use dummy KeSaveFloatingPointState and KeRestoreFloatingPointState on non-x86 builds [KMIXER] Fix a broken DPRINT [PSEH] Priorize native SEH over dummy SEH (Timo Kreuzer)
  • [RTL] Remove duplicate function [CRT] add _local_unwind stub and fix c++ symbols (Timo Kreuzer)
  • [INTRIN] Deconstify most parameters in the intrinsics. add __movsq, _bittest64, __umulh (Timo Kreuzer)
  • [HAL] Fix device reporting to work with the IoReportDetectedDevice patch [HAL/ACPI] Turn debugging off (Cameron Gutman)
  • [INF] Install the processors class Add missing INFs to syssetup.inf (Cameron Gutman)
  • [LIBSAMPLERATE] Fix amd64 build (Timo Kreuzer)
  • [CRT] Fix definition of __m128d and __m128. (Timo Kreuzer)
  • Update list with the latest changes by jgardou. Remove an obviously wrong citation. (Eric Kohl)
  • [CRT] add minimal versions of emmintrin.h, mmintrin.h, xmmintrin.h just enough for libsamplerate (Timo Kreuzer)
  • [LIBSAMPLERATE] Update to version 0.1.8 Supports amd64 now (Timo Kreuzer)
  • [STLPORT] Fix Interlocked* declarations Fix amd64 build (Timo Kreuzer)
  • [SERVICES/ADVAPI32] Rewrite the command packet transfer code between the service control manager (services.exe) and the service control dispatcher (advapi32.dll). The service name is no longer stored in an array of WCHARs at the end of the command packet. The service name is now stored behind the fixed size command packet header using an offset value in the header to determine the start of the string. The same method will be used to store start arguments to the service dispatcher, but it is not fully implemented yet. (Eric Kohl)
  • [PCI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT [PNPROOT] Fix registry query and returning of device description [ACPI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT (Cameron Gutman)
  • [VFATLIB] Fix completely non-standard, broken and retarded definition of GET_UNALIGNED_W for 64 bit architectures The function is supposed to read an unaligned little endian USHORT value. The old version copied the 2 bytes with memcpy to an aligned stack variable and then (bug bug) read the unaligned value directly (discarding the result of the previous operation) and passed it to bswap if neccessary. The new function simply reads the 2 bytes and combines them using << and |. (Timo Kreuzer)
  • [CRT] Make .CRT sections always read only. (Timo Kreuzer)
  • [RTL] Fix a typo (Timo Kreuzer)
  • [NTDLL] Add exports for RtlInstallFunctionTableCallback and RtlRestoreContext (amd64 only) [KERNEL32] Forward RtlCompareMemory, RtlCopyMemory, RtlDeleteFunctionTable and RtlInstallFunctionTableCallback to ntdll Fix build with MSVC amd64 (Timo Kreuzer)
  • [CRT] Add __C_specific_handler stub Add aliases for C++ code on amd64 builds Fix fmod symbol Merge .CRT section into .data on amd64 remove an old hack (Timo Kreuzer)
  • [PSDK] Simplify definition for YieldProcessor and add DbgRaiseAssertion for amd64 in winnt.h [ASM] Fix some stuff for amd64 (Timo Kreuzer)
  • [CRT] guard some inline functions from being used in certain cases (Timo Kreuzer)
  • [ASM] prefix labels only on x86 improve syscall stub code (Timo Kreuzer)
  • [HAL] Debugging changes (Cameron Gutman)
  • [HAL] Hey Arch, don't combine code for 2 different length calculation algorithms into 1 broken mess (Cameron Gutman)
  • [HAL] Add (and fix) more validation and debugging (Cameron Gutman)
  • [HAL] Fix the length calculation for the resource requirements list (Cameron Gutman)
  • [RTL] Hack around lds inability to detect used functions, when they are exported. (Timo Kreuzer)
  • [HAL] Simplify device extension setup Allocate memory for existing PDOs in the device relations struct (Cameron Gutman)
  • [RTL] Fix this rbuild thingie (Timo Kreuzer)
  • Enable debug prints temporarily in an attempt to help diagnose the ACPI issues (Cameron Gutman)
  • [RTL] Rename memgen.c to byteswap.c and merge with the implementations from largeint.c, that were using intrinsics Fix amd64 build (Timo Kreuzer)
  • [INTRIN] Use fixed inlined version of __invlpg only on x86 (Timo Kreuzer)
  • [HAL] Don't use a hard-coded constant instead of PAGE_SHIFT (Cameron Gutman)
  • Free memory using a valid tag Don't use a hardcoded constant for pointer size Don't access invalid memory when an SCI is absent (fixes ASSERT(Descriptor->u.Interrupt.MinimumVector == Descriptor->u.Interrupt.MaximumVector) failure) Remove unreachable code (Cameron Gutman)
  • [LWIP] Add missing dependency on bugcodes. (Amine Khaldi)
  • [EVENTLOG] Stop listening to RPC messages when receiving SERVICE_CONTROL_STOP (Jérôme Gardou)
  • Include NDK headers on-demand. (Amine Khaldi)
  • [HALACPI] Add to build. Dedicated to Cameron. [SPEC2DEF] Add an option to set the name of the output def file. (Amine Khaldi)
  • [USETUP] Autodetect ACPI like we autodetect a multiprocessor configuration This will make the ACPI HAL the default on ACPI-compliant machines while the standard HAL will continue to be the default on older machines Please file bugs for any issues encountered when running in ACPI mode and assign them to me (I think it's very important to have working ACPI for 0.4.0 so I'd really like to get everything fixed now) [TXTSETUP.SIF] Add a MP configuration for ACPI HAL Slightly modify the names of each HAL configuration (Cameron Gutman)
  • [TXTSETUP.SIF] Add an option to install the ACPI HAL Feel free to try it out (you might be surprised) (Cameron Gutman)
  • [INF] Add hal.inf (Cameron Gutman)
  • [HAL] Also report the *PNP style IDs Don't hang when a power IRP is received (Cameron Gutman)
  • [HAL] Invalidate device relations so the child devices get enumerated (Cameron Gutman)
  • [HAL] Fix string length calculation (Cameron Gutman)
  • [HAL] Fix a bug writing the DisableFirmwareMapper entry (Cameron Gutman)
  • [HALACPI] Fix several bugs involving garbage data in a PHYSICAL_ADDRESS struct (Cameron Gutman)
  • [HAL] Fix incorrect modification of device object flags (Cameron Gutman)
  • [ROSSYM_NEW] add missing debug.h include (Jérôme Gardou)
  • [ROSSYM_NEW] including debug.h once is enough This time for real, sorry. (Jérôme Gardou)
  • [ROSSYM_NEW] including debug.h once is enough (Jérôme Gardou)
  • [ROSSYM_NEW] please, do not include debug.h from precompiled header :-/ (Jérôme Gardou)
  • [AUTOCHK][CMD][TASKMGR] Exclude some indirectly included headers. (Amine Khaldi)
  • [SERVICES] Fix the GENERIC_ALL access rights mapping for service handles. (Eric Kohl)
  • [AUTOCHK][CMD][TASKMGR] Include NDK headers on-demand. (Amine Khaldi)
  • [UMPNPMGR] Store the correct buffer size for requests that aren't satisfied via the registry Fixes displaying the enumerator on the device manager property page (Cameron Gutman)
  • [NTOSKRNL/WIN32K/NDK] OkToClose procedure (OB_OKAYTOCLOSE_METHOD) returns BOOLEAN, not NTSTATUS Check ppi for NULL before dereferencing it in IntWinstaOkToClose (it is NULL, if we do our job of cleaning up the win32 process properly) Set the win32 process info to NULL on process cleanup Free THREADINFO and PROCESSINFO instead of leaking them Set NULL cursor, when the last thread is cleaned up in win32k, so we don't call UserSetCursor() in the process cleanup, when we don't have a THREADINFO anymore. This should hopefully fix a crash of MSVC builds. Remove unused UserGetNextHandle function Fix some warnings (Timo Kreuzer)
  • [ADVAPI32] Fix QueryServiceConfigEx[A/W]: If lpServiceConfig is NULL or cbBufSize is less than sizeof(QUERY_SERVICE_CONFIGA/W) pass a pointer to an internal status buffer to RQueryServiceConfigA/W. Revert r53153 and r53154. Adding 'in' and 'unique' attributes is NOT an option because this is not compatible with Windows. (Eric Kohl)
  • [IP] Zero the sin_zero member in the TDI_ADDRESS_IP struct (Cameron Gutman)
  • [CRT] Add assembly stubs and aliases for c++ symbols for MSVC (Timo Kreuzer)
  • [SPEC2DEF] Ignore redirections for c++ symbols, since this doesn't work with link (Timo Kreuzer)
  • [LWIP] Rewrite receive code to make it much simpler, handle some corner cases that weren't treated correctly, and fix the data corruption bug Downloaded successfully (no data corruption): OpenOffice 2.4, OpenOffice 3.3, BitTorrent 7.2.1, Firefox 5, Firefox 3.6, Firefox 3, Firefox 2, Abyss Web Server, Opera 9.64, and Opera 11.01 (Cameron Gutman)
  • [LWIP] Fix a buffer overflow when the packet queue has more packets than the receive request can take Remove an extra variable (Cameron Gutman)
  • [WIDL] Reapply the switchtype patch from widl-ros.diff. This patch should be sent upstream to wine. See issue #6406 for more details. (Eric Kohl)
  • [LWIP] Fix user-initiated hard connection closures (Cameron Gutman)
  • [WIDL] use -Oif flag to produce modern (!) NT4 stubs, with Microsoft extensions to IDL language. [ADVAPI32] Initialize *pcbBytesNeeded, as it's marked as [in], it needs to be in the 0-8k range before being passed to RPC. Now 2nd stage got his mouse and keyboard again. (Jérôme Gardou)
  • [LWIP] Remove 2 custom definitions to use the default values (Cameron Gutman)
  • [ROSSYM_NEW] Add RosSymAggregate and RosSymFreeAggregate stubs for MSVC (Timo Kreuzer)
  • [RTL] Fix MSVC warning about signed/unsigned mismatch. In this case it was not a bug, because the compiler implicitly casts to unsigned, when signed and unsigned are compared, so (-1 < 0x23U) is false. (Timo Kreuzer)
  • [WIDL] Don't include non host headers for host executables I'm sure my dog told me that once. (Jérôme Gardou)
  • [TOOLS] sync wpp, widl and wrc with wine 1.3.26 (Jérôme Gardou)
  • [LWIP] Tune several TCP attributes to behave similarly to Windows XP (Cameron Gutman)
  • [SERVICES] addendum to r53153 : [unique] and [ptr] can't be applied to [out] only parameters, so mark them as [in] too. Now MSVC build gets as far as 3rd stage. (Jérôme Gardou)
  • [SERVICES] mark pointers argument of RQueryServiceConfigA/W as [unique], since they can be NULL. See http://msdn.microsoft.com/en-us/library/aa367153%28v=VS.85%29.aspx for details. (Jérôme Gardou)
  • [INTRIN] memory barriers implement a fixed version of __invlpg for MSVC, since the intrinsic is broken and can generate wrong instructions, when optimization is enabled add MSVC versions of _mm_mfence, _mm_lfence, _mm_sfence and __faststorefence add _mm_mfence() for gcc give _mm_lfence, _mm_sfence, __invlpg and __wbinvd proper (Timo Kreuzer)
  • [RTL] Fix MSVC warnings (Timo Kreuzer)
  • [IP] Merge r53134 and r53135 from the GSoC TCP/IP branch (Cameron Gutman)
  • [LWIP] Fix msvc build (Timo Kreuzer)
  • [INTRIN] _mm_pause has an implicit full memory barrier, emulate this on gcc as well (Timo Kreuzer)
  • [IDL] set end points of interfaces (Jérôme Gardou)
  • [TRANSLATION] Resize controls to allow wider strings of polish translation to fit in; Assorted translation fixes, added missing strings; Patch by Adam Stachowicz (Saibamen) and wojo664, minor corrections by me; (Olaf Siejka)
  • [IP] Remove an obsolete comment (Cameron Gutman)
  • [WIN32K] - Fix uninitialized variable usage [ADVAPI32] - Fix a TRACE [PCIX] - Fix statements without effect Spotted by MSVC. (Thomas Faber)
  • [SERVICES] Fix coding style. No code changes. (Eric Kohl)
  • [PSDK] do not redefine UNICODE_STRING and NTSTATUS if wintrnl.h has already been included define PNTSTATUS in wintrnl.h add RPC_PROTSEC_VECTOR and RPC_MGMT_AUTHORIZATION_FN definitions (Jérôme Gardou)
  • [NDK] Add RtlCompareMemoryUlong and RtlCopyBytes/RtlFillBytes/RtlZeroBytes (Thomas Faber)
  • [DHCPCSVC] - Fix another funny GetLastError DPRINT.
  • [NETID] - It's unicode! Surprising it even worked. Fixes warnings [SACDRV] - Fix entry point warning [CRT] - Fix MSVC warning (Thomas Faber)
  • [DDK/XDK] Add function types, not only function pointer types, for splay/avl tree functions RTL_SPLAY_LINKS needs to be defined regardless of RTL_USE_AVL_TABLES [NDK] Add missing splay/avl tree function declarations Add the function types as well. These are also not in ntifs anymore (Thomas Faber)
  • [CSRSRV] Define NDEBUG only once Don't define helper macro in the source DPRINT fixes [NTDLL/LDR] More verbose DPRINT for initialization failure (Thomas Faber)
  • [KERNEL32] - Fix DuplicateHandle return value [WIN32CSR] - Fix DPRINT (Thomas Faber)
  • [PSDK] mark operators == et != of REFPROPERTYKEY as C++ externs (Jérôme Gardou)
  • [CSRSS]: Fix broken logic. (Alex Ionescu)
  • [CSRSRV/KERNEL32]: Have CSRSS create a proper shared section (Based on code taken from the CSRSS rewrite in trunk) and attach it to every client. [CSRSRV/KERNEL32]: Have CSRSS fill out the base server static data. Still a bit of a hack since we should have a basesrv to do this, but it'll fix the "can't install any drivers" bug as well as increase performance since we now cache a bunch of data system-wide. [KERNEL32]: Remove all related hacks in kernel32. [CSRSRV]: Only accept the incoming connection if we found CSR process data about it. (Alex Ionescu)
  • [SERVICES] If a service will be started and another service is already running in the same image, send a start command instead of starting the process again. This enables us to run multiple services within a single process, like svchost.exe. (Eric Kohl)
  • [PSDK/WINNT.H] add DEFINE_ENUM_FLAG_OPERATORS macro (Jérôme Gardou)
  • [TCPIP] Remove the extra debug prints since the bug has been fixed (Cameron Gutman)
  • [RTL] Implemenet SwapSplayLinks, return 'NewElement' correctly when inserting. Thanks to Alex Ionescu for helping out with this patch. (Art Yerkes)
  • [OSKITTCP] Force the connection to be closed immediately Hopefully will fix the random bind issues caused by oskit becoming out of sync with the rest of the IP library (Cameron Gutman)
  • [IP] Add some temporary debug prints to troubleshoot some seemingly random bind failures (Cameron Gutman)
  • [SERVICES] ScmCreateOrReferenceServiceImage: Link the SERVICE_IMAGE struct to the SERVICE struct in the create and the reference case. Otherwise only the first service started from an image gets a valid pImage pointer. Add some debug code. (Eric Kohl)
  • [FULLFAT] Add missing bugcodes dependency, spotted by elhoir. (Sylvain Petreolle)
  • Add "-fno-omit-frame-pointer" compiler option. GCC 4.6 omits on -O2 and -O3 level. (Dmitry Gorbachev)
  • [NDK/DDK] Fix definitions of ZwPowerInformation and ZwInitiatePowerAction (Jérôme Gardou)
  • [MINGW-W64] Reduce differences with upstream. Fixes crash if ReactOS is compiled with GCC 4.6. (Dmitry Gorbachev)
  • [AUDIOSRV] Designate audiosrv.h as a precompiled header and use it as one. (Amine Khaldi)
  • [CSRSRV|NTOSKRNL|KERNEL32|NTDLL] Fix multiple definition of variables. (Dmitry Gorbachev)
  • [NDK] Remove Resource functions, as they are in wdm.h add KeTryToAcquireQueuedSpinLockRaiseToSynch, ExRaiseHardError & enum members Patch by Thomas Faber (Olaf Siejka)
  • [NDK]: ntpoapi.h only includes Nt functions, not Zw, so leave the Zw's in the NDK. (Alex Ionescu)
  • [NDK]: Fix Po function prototypes. Also guard against _PO_DDK_ which means caller already has ntpoapi.h. (Alex Ionescu)
  • [NDK]: Add missing native power functions. [KERNEL32]: Cleanup the power APIs. Fix calculation of battery percentage in GetSystemPowerStatus. (Alex Ionescu)
  • [CRT] get back atexit handling as it was before. (reverts 52838, 52829, 52828) Thanks to Kai and Timo for the explanation (Jérôme Gardou)
  • Save the project from possession by evil spirits. (Dmitry Gorbachev)
  • [MSVCRTEX] I say let msvcrt handle atexit registered functions. Fix msvc build (Jérôme Gardou)
  • [ATL] Invoke the member function through "this->". (Dmitry Gorbachev)
  • woops, sorry :-) (Jérôme Gardou)
  • [LIBWINE] new tentative to fix build : get rid of libwine's stricmp, we have it in our crt (Jérôme Gardou)
  • [MSVCRTEX] aply 52828 as well (Jérôme Gardou)
  • [MINGW_COMMON] get rid of atexit handling, it's arlready handled by msvcrt. The funny thing is that the only module using this is msvcrt_winetest, which tested the mingw implementation, not the msvcrt one. (Jérôme Gardou)
  • [CRT] fix stupid gcc warnings patch by Igor Paliychuk (Jérôme Gardou)
  • [CRT] import bessel's function j0, j1, jn, y0, y1, yn from glibc (Jérôme Gardou)
  • [KERNEL32]: SleepEx forgot to de-activate the SxS frame. (Alex Ionescu)
  • [ROSTESTS] Add 3 missing tests to rbuild testcd. Thanks to Caemyr and Testman. (Sylvain Petreolle)
  • [SPEC2DEF] fix forward name export for c++ mangled functions. (Jérôme Gardou)
  • [SPEC2DEF] Fix creation of stubs for c++ mangled names (Timo Kreuzer)
  • [HIVES] Fix Nls registry keys casing. Tested by Alex. (Sylvain Petreolle)
  • [NLS]: Kill this directory from the build. It produced nothing other than a Vista-calling DLL which was never even on the BootCD. [KERNEL32]: Remove GetLocaleInfoEx again. [KERNEL32]: It seems CMAKE build doesn't like kernel32 code calling "HeapAlloc" because HeapAlloc doesn't exist -- it's a forward to RtlAllocateHeap. As a hack, add compiler defines to do the forwarding in C code as well. (Alex Ionescu)
  • [PSDK]: Add missing RESETDEV define to winbase. [WINE]: Wrap Wine's get_char_typeW to iswctype in unicode.h, which will allow better sharing of synched code. (Alex Ionescu)
  • [RTL] Fix a couple of potential null pointer accesses (Cameron Gutman)
  • [RTL] Validate parameters passed into path functions (Cameron Gutman)
  • [PSDK]: Add missing QUOTA_LIMITS_EX. [NDK]: Fix certain SxS functions. [RTL]: "Implement" RtlActivateActivationContextEx which lets you specify a TEB. RtlActivateActivationContext uses the current TEB. NOTE: All these functions are broken because they copy-paste Win32 wine code into NT Native functions (with different parameters/structures). [NDK]: Fix pstypes.h -- it was a #define mess, and worked by luck because we are a < Vista OS. [NDK]: Add RtlInitEmptyAnsiString. (Alex Ionescu)
  • [RTL] Fix the string length calculation for the partial name Fixes the 2nd stage regression (Cameron Gutman)
  • [RTL] Fix returning relative path names for path API calls using RtlpDosPathNameToRelativeNtPathName_Ustr on the backend (Cameron Gutman)
  • [IP] Register an interface route for interfaces with a static IP address (Cameron Gutman)
  • [RTL]: Makes sure there is a curdir handle. (Alex Ionescu)
  • [RTL]: Fix a typo in RtlpDosPathNameToRelativeNtPathName_Ustr thanks so smiley. [RTL]: Implement the unimplemented corner case based on the old ReactOS code. (Alex Ionescu)
  • [RTL]: Implement RtlDosPathNameToRelativeNtPathName_U_WithStatus, RtlDosPathNameToRelativeNtPathName_U, RtlDosPathNameToNtPathName_U_WithStatus. [RTL]: Reimplement RtlDosPathNameToNtPathName_U to use UNICODE_STRING semantics. [RTL]: Fix RtlGetFullPathName_Ustr. [RTL]: RtlGetFullPathName_U remains based on the legacy non-UNICODE_STRING mechanism, but it's too complex to attempt changing for now. (Alex Ionescu)
  • [SERVICES] Fix an MSVC warning (Timo Kreuzer)
  • [IP/OSKITTCP] Fix a race condition that occurs when the socket is closed by the remote host while waiting on OSKLock to perform a socket operation and results in accessing freed memory (Cameron Gutman)
  • [SERVICES] Implement service image records. This will enable us to run executables that contain multiple services and control them individually. (Eric Kohl)
  • [RTL]: Implement RtlGetFullPathName_Ustr, not yet used. [RTL]: Simplify RtlDosSearchPath_U by not using a temporary "char" value, and just reading straight from the string buffer. (Alex Ionescu)
  • [D3D] Do not link d3dx9 dlls to wined3d. (Sylvain Petreolle)
  • [RTL] fix RtlDosSearchPath_U : do not alter filename while searching for file extension (Jérôme Gardou)
  • [ASM] Generate MSVC debugging info for KiUserExceptionDispatcher, KiIntSystemCall, KiFastSystemCall, KiFastSystemCallRet, KiSystemService, KiFastCallEntry, all systemcall stubs Now usermode backtraces look as they should in WinDbg (Timo Kreuzer)
  • [RTL]: Cleanup, no code changes. (Alex Ionescu)
  • [NDK]: Add RtlReleaseRelativeName. [RTL]: Re-implement RtlDosSearchPath_U using new path functions from past commits. Uses correct behavior with RtlDoesFileExists (for relative paths, return success when file is locked -- for absolute paths, do not!). Also uses a more optimized path loop that does not alloc/realloc/free heap continously (only one heap allocation is used). (Alex Ionescu)
  • [RTL]: Fix RtlDoesFileExists_UEx, thanks to ThFabba. (Alex Ionescu)
  • [NDK]: DEPENDENCY TRACKING. GET IT RIGHT. GODDAMN IT RBUILD. (Alex Ionescu)
  • [RTL]: Implement RtlIsDosDeviceName_Ustr and make RtlIsDosDeviceName use it. Uses UNICODE_STRING APIs everywhere and similar to the old implementation. (Alex Ionescu)
  • [RTL]: Implement RtlDoesFileExists_UstrEx, RtlDoesFileExists_UStr, RtlDoesFileExists_UEx. [RTL]: Make RtlDoesFileExists_UStrEx use the new RTL_RELATIVE_NAME structure and also support whether or not sharing violations should return success or not. [RTL]: For now, use the old RtlDosPathNameToNtPathName API instead of the newer one. (Alex Ionescu)
  • [RTL]: Fix prototype of RtlDosPathNameToNtPathName_U and fix code to match the new prototype. [NDK]: Add RTL_RELATIVE_NAME_U which is the Windows 2003+ structure used instead of CURDIR for all relative path APIs. (Alex Ionescu)
  • [IP] Store the address of an outgoing NIC properly (gethostname() fix) Don't do an explicit bind if we don't have to (ws2_32_winetest sock hang fix) (Cameron Gutman)
  • [IP] Reset the reassembly timeout when a new fragment is received (Cameron Gutman)
  • [OSKITTCP] Fix a crash that occurs during BitTorrent downloads The official BitTorrent client works now (Cameron Gutman)
  • [NTDLL]: Always compile your code before comitting, like my cat used to say. (Alex Ionescu)
  • [NTDLL]: Reimplement RtlGetCurrentDirectory_U... I couldn't even understand what the old version was doing. This one is at least commented and makes more sense. (Alex Ionescu)
  • [RTL]: RtlDetermineDosPathNameType_U Path is not optional. Checked build ASSERTs if not present. Also, \\? is valid, not only \\., so this should fix a bunch of incorrect path determinations. Aren't there supposed to be unit tests for these things?! (Alex Ionescu)
  • [RTL]: Clarify what RtlGetLongestNtPathLength returns instead of using "+9" as a magic constant. (Alex Ionescu)
  • [RTL]: One day, Microsoft is going to stop using flags that are negatives. Fix boot/etc. (Alex Ionescu)
  • [NDK]: Add missing RtlImageNtHeaderEx flags. [RTL]: Implement RtlImageNtHeaderEx and make RtlImageNtHeader call it. This will result in much stricter (and correct) PE loading by default, and enable a flag which can do even stricter checks. [NTDLL]: Export RtlImageNtHeaderEx (maybe NTOS should export it too, not sure). (Alex Ionescu)
  • Add more NT status messages. Few of them are used by new LDR. Contains patch by Thomas Faber. (Rafał Harabień)
  • [RTL] Revert r52612 It came before its time ;) (Cameron Gutman)
  • [RTL] Enable the proper implementation of RtlActivateActivationContextUnsafeFast (Cameron Gutman)
  • [EVENTLOG] Fix MSVC warnings (Rafał Harabień)
  • [NTDLL]: Multiple fixes and cleanups to several loader functions in ldrutils. [NTDLL]: Use original symbolic function names instead of modified ones. [NTDLL]: Fixup some incorrect flag and typedef definitions with correct ones. [NTDLL]: Tag functions which seem broken/lacking in functionality/very different from the rest of the code the LDR rewrite was based on. (Alex Ionescu)
  • [NTDLL/LDR] Fix build (not sure if its right place for IMAGE_LOADER_FLAGS_*) Remove unused label (Rafał Harabień)
  • [BZIP2] Fix MSVC build (Rafał Harabień)
  • [NORMALIZ] Don't build normaliz.dll - it's Win Vista library. It didn't even work because exports was redirected to commented out kernel32 exports. GCC ignored it but MSVC returns error in such case. (Rafał Harabień)
  • [NTOSKRNL] Update TRAP_ENTRY macro to generate debugging information. Now WinDbg knows how to deal with the trap functions and also shows the user mode back traces. (Timo Kreuzer)
  • [NTDLL]: Fix multiple levels of fail in LdrGetDllHandleEx (returning with lock held, leaking memory, using NULL pointers, using magic flags, missing ASSERTs, buffer overflows, usage of incorrect constants, ignoring status failures, lack of varaible initialization, incorrect string initialization). (Alex Ionescu)
  • [WLANSVC] Set status SERVICE_STOPPED when the service has been stopped. (Eric Kohl)
  • [NTDLL]: Fix LdrUnlockLoaderLock bugs. 4x10000$. (Alex Ionescu)
  • [IP] Complete waiting requests upon socket error Fixes connect() stall forever if the remote side is not listening (Cameron Gutman)
  • [NDK] Fix LPCP_PORT_OBJECT definition (Timo Kreuzer)
  • [IP] Return the amount of data sent in XXXSendDatagram() functions Fixes send() and sendto() return values for datagram sockets (bug exposed by the AFD send user-mode IRP rewrite) (Cameron Gutman)
  • [MSAFD/AFD] Pass the non-blocking information as a boolean (mswsock_new does this too) [AFD] Don't block waiting for a connection to accept on a non-blocking listener (Cameron Gutman)
  • [RTL] Fix RtlFindSetBits to search for bits before the HintIndex as well Remove a wrong (and commented out) ASSERT Fix MSVC warnings (Timo Kreuzer)
  • [IP] Handle an EPIPE error (Cameron Gutman)
  • [OSKITTCP] Remove socket state checks from OskitTCPRecv and OskitTCPSend Oskit already returns ESHUTDOWN when sosend is called on a socket with SS_CANTSENDMORE so it is unnecessary The check in OskitTCPRecv broke returning success and 0 bytes on a graceful shutdown (We got the FIN, set SS_CANTRCVMORE, signaled the connection, tried to read and failed with ESHUTDOWN instead of succeeding with 0 bytes) (Cameron Gutman)
  • [OSKITTCP] Signal readable when read is closed and writeable when write is closed This seems counterintuitive on the surface but signaling the socket in this way ensures that pending reads and writes are cancelled if either side shuts down send/receive Graceful close (recv() returns 0 bytes and FD_CLOSE is signaled when we receive a FIN) works much better (Cameron Gutman)
  • [TCPIP] Implement support for timing out disconnects Add debug prints for oskittcp errors [MSAFD] Set a disconnect timeout value that actually makes sense (1 second vs 100 nanoseconds) (Cameron Gutman)
  • [TCPIP] Fix binding to an unspecified port on a connect so that it works reliably by asking the TCP library for a free port instead of assuming that one we have is free Fix binding to an unspecified port on a listen which previously would result in the address file not having information stored about the port number assigned Fix a nasty bug which resulted in us binding to an arbitrary port during a connect even when the client wfix