• last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[NTOS:OB]

Create a custom security descriptor for the global DosDevices directory.

    • -1
    • +104
    /trunk/reactos/ntoskrnl/ob/obname.c
[NTOS:PNP]

- Make device instance paths unique if necessary (by adding the parent ID prefix), regardless of the return status from IRP_MN_QUERY_ID/BusQueryInstanceID. Support for this IRP is optional in most cases, and a failure status just indicates no instance id information is needed by the driver stack.

Major thanks to Vadim Galyant for debugging this and identifying the root cause.

CORE-12732 CORE-12818 CORE-12745 CORE-12733 CORE-12717 CORE-12735

    • -44
    • +42
    /trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
[NTOS:PNP]

- Use UNICODE_STRINGs in IopCreateDeviceInstancePath instead of messing around with unsafe string functions and stack buffers

    • -30
    • +42
    /trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
[FASTFAT]

- Avoid use after free in vfatDestroyFCB

[NTOS:SE]

Add a missing ACE(SeAliasAdminsSid / GENERIC_ALL) to the SePublicDefaultDacl ACL. This fixes a kmtest:ObSecurity failure.

[NTOS:PNP]

Fix IopGetParentIdPrefix:

- Do not include null terminator in UNICODE_STRING::Length

- Use pool tagging

- Use strsafe printf

- Avoid a magic number

    • -10
    • +26
    /trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
[NTOS:PNP]

- Improve use of local variables in IopCreateDeviceInstancePath and IopActionInterrogateDeviceStack

- Improve debug prints in IopCreateDeviceInstancePath. By Vadim Galyant

- Fix formatting in IopGetParentIdPrefix

    • -114
    • +126
    /trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
[FASTFAT]

When un/locking a volume, also handle VPB state

[WIN32K]

- GreGetDIBitsInternal:

- Prevent an access violation in DIB_FreeConvertedBitmapInfo by initializing the bit count before calling DIB_ConvertBitmapInfo and setting clrUsed.

- Validate input parameters and return correct values - only return number of scan lines if bits are not null and bpp is not zero. Otherwise return 1 on success.

- We now pass more gdi32:GetDIBits and gdi32:bitmap tests.

CORE-9270

    • -27
    • +63
    /trunk/reactos/win32ss/gdi/ntgdi/dibobj.c
[WS2_32]

- Turn the "!memcmp(ptr1, ptr2, sizeof(GUID))" into IsEqualGUID(ptr1, ptr2) macro calls (aka. make code readable);

this also allowed me to discover a logical bug in the GUID comparison in WsNcUpdateNamespaceList.

- Fix few comments, and rename some goto labels to make their meaning clearer (they are not only taken for error code paths,

but also on regular path, for cleanup before returning from the function).

CORE-12880

    • -7
    • +4
    /trunk/reactos/dll/win32/ws2_32/src/nscatalo.c
    • -7
    • +3
    /trunk/reactos/dll/win32/ws2_32/src/dcatalog.c
    • -7
    • +7
    /trunk/reactos/dll/win32/ws2_32/src/nsquery.c
    • -16
    • +16
    /trunk/reactos/dll/win32/ws2_32/src/qshelpr.c
[WS2_32]: More fixes:

- Perform success checks in WsAsyncCheckAndInitThread, in particular, check whether Context is correctly allocated,

and check whether the WsAsyncThread was correctly started up. In case of failure, perform the necessary cleanup,

including calling WSACleanup().

- Check also the returned error code of WSAStartup. Fixes CID 1101934.

- Fix logic mess-up in WsNqLookupServiceNext when updating NsQuery->ActiveProvider;

- Fix copy-pasta errors (using 'lpafpProtocols' instead of 'lpcsaBuffer') in CopyQuerySetIndirectA and CopyQuerySetIndirectW,

that triggered CID 513446 + CID 513447 (CopyQuerySetIndirectA), and CID 513444 + CID 513445 (CopyQuerySetIndirectW).

- Check for 'lpdwBufferLength' pointer validity in WSALookupServiceNextW;

- Check for 'lpdwBufferLength' and 'lpqsResults' pointers validity in WSALookupServiceNextA, and dereference lpdwBufferLength only afterwards.

- Check for return value of RegCreateKeyEx in WsOpenRegistryRoot(), fixes CID 715923.

    • -1
    • +20
    /trunk/reactos/dll/win32/ws2_32/src/async.c
    • -4
    • +4
    /trunk/reactos/dll/win32/ws2_32/src/qshelpr.c
    • -3
    • +15
    /trunk/reactos/dll/win32/ws2_32/src/rnr.c
    • -10
    • +6
    /trunk/reactos/dll/win32/ws2_32/src/nsquery.c
    • -9
    • +9
    /trunk/reactos/dll/win32/ws2_32/src/wsautil.c
[WS2_32]

- Check for NULL pointers after HeapAlloc calls, in the constructor functions, before initializing members of created objects;

- Add a bunch of missing HeapFree in the corresponding destructor functions.

In particular, fix the root cause of CID 1401152 in WsTpDelete: missing HeapFree call.

CORE-12880

    • -5
    • +7
    /trunk/reactos/dll/win32/ws2_32/src/nsquery.c
    • -3
    • +12
    /trunk/reactos/dll/win32/ws2_32/src/dprocess.c
    • -5
    • +7
    /trunk/reactos/dll/win32/ws2_32/src/nscatent.c
    • -3
    • +5
    /trunk/reactos/dll/win32/ws2_32/src/dcatitem.c
    • -7
    • +11
    /trunk/reactos/dll/win32/ws2_32/src/nsprovid.c
    • -3
    • +5
    /trunk/reactos/dll/win32/ws2_32/src/dthread.c
    • -5
    • +10
    /trunk/reactos/dll/win32/ws2_32/src/dsocket.c
    • -6
    • +8
    /trunk/reactos/dll/win32/ws2_32/src/dprovide.c
[WS2_32]: Addendum to r74041: Forgot these changes too. CORE-12880
    • -8
    • +10
    /trunk/reactos/dll/win32/ws2_32/inc/ws2_32p.h
[WS2_32]: Cosmetic changes first, before real fixes - CORE-12880 :

- Use IsListEmpty where needed;

- Initialize NextEntry using Catalog->ProtocolList after the lock on the catalog has been acquired;

- Rearrange WsNqLookupServiceNext to reduce the code indent level; also, convert the construct "if (var) { do { ... } while (var); }" into a mere "while (var) { ... }";

- WsNqPreviousProvider: the "next" provider is the previous one...;

- WsNqAddProvider: Use a more standard name for the boolean return value;

- Fix the annotation of MapUnicodeQuerySetToAnsi;

- Factor out setting the SetLastError WSALookupServiceBeginA.

    • -1
    • +2
    /trunk/reactos/dll/win32/ws2_32/src/nscatalo.c
    • -6
    • +10
    /trunk/reactos/dll/win32/ws2_32/src/dcatalog.c
    • -11
    • +5
    /trunk/reactos/dll/win32/ws2_32/src/rnr.c
    • -2
    • +2
    /trunk/reactos/dll/win32/ws2_32/src/qshelpr.c
    • -138
    • +129
    /trunk/reactos/dll/win32/ws2_32/src/nsquery.c
[FONTS] Add Libre Franklin Font v4.0.15

[USETUP] Add Font Substitutions for Franklin Gothic and MS Trebuchet CORE-12878 CORE-12877

Now Luna uses better fonts but the font styles are still not used.

    • binary
    /trunk/reactos/media/fonts/LibreFranklin-SemiBold.ttf
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-BlackItalic.ttf
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-Italic.ttf
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-MediumItalic.ttf
    • -80
    • +92
    /trunk/reactos/base/setup/usetup/muifonts.h
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-Black.ttf
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-LightItalic.ttf
    • -0
    • +18
    /trunk/reactos/media/fonts/CMakeLists.txt
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-Regular.ttf
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-Thin.ttf
  1. /trunk/reactos/media/fonts/doc/LibreFranklin
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-ExtraBold.ttf
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-ExtraLight.ttf
    • binary
    /trunk/reactos/media/fonts/LibreFranklin-ThinItalic.ttf
  2. … 7 more files in changeset.
[SHELL32]

- Always set the default value in SetDefaultHandler, otherwise it's impossible to create a default association if the key for some reason already exists. This is consistent with what Windows does.

    • -14
    • +11
    /trunk/reactos/dll/win32/shell32/COpenWithMenu.cpp
[UXTHEME]: Use SendMessage to notify windows that the theme has changed. This needs a proper test. Makes it possible for SetWindowTheme with empty parameters to have effect immediately in the same way the tests for BCM_GETIDEALSIZE use it. Fixes the BCM_GETIDEALSIZE tests when run with an active theme.
    • -2
    • +2
    /trunk/reactos/dll/win32/uxtheme/system.c
[COMCTL32]: Fix all tests for BCM_GETIDEALSIZE that we have so far. (It still returns a wrong result for the start button with lautus).
    • -9
    • +14
    /trunk/reactos/dll/win32/comctl32/button.c
[COMCTL32_APITEST]: Simplify tests to not depend on internals of CreateWindow (creating buttons as top level windows and testing their sizes complicates stuff without reason).
[COMCTL32_APITEST]: Add a few more tests.
[COMCTL32_APITEST]: Make some tests more strict and add tests for all button types.
[WS2_32]: Remove trailing whitespace.
    • -6
    • +6
    /trunk/reactos/dll/win32/ws2_32/src/dthread.c
    • -1
    • +1
    /trunk/reactos/dll/win32/ws2_32/src/dllmain.c
    • -56
    • +56
    /trunk/reactos/dll/win32/ws2_32/src/getxbyxx.c
    • -6
    • +6
    /trunk/reactos/dll/win32/ws2_32/src/qshelpr.c
    • -13
    • +13
    /trunk/reactos/dll/win32/ws2_32/src/nsquery.c
    • -3
    • +3
    /trunk/reactos/dll/win32/ws2_32/src/rasdial.c
    • -23
    • +23
    /trunk/reactos/dll/win32/ws2_32/src/send.c
    • -4
    • +4
    /trunk/reactos/dll/win32/ws2_32/src/nsprovid.c
    • -12
    • +12
    /trunk/reactos/dll/win32/ws2_32/src/socklife.c
    • -1
    • +1
    /trunk/reactos/dll/win32/ws2_32/inc/ws2_32p.h
    • -5
    • +5
    /trunk/reactos/dll/win32/ws2_32/src/startup.c
    • -7
    • +7
    /trunk/reactos/dll/win32/ws2_32/src/rnr.c
    • -7
    • +7
    /trunk/reactos/dll/win32/ws2_32/src/dprovide.c
  1. … 10 more files in changeset.
[NTDLL] Some style changes for RtlNtPathNameToDosPathName as suggested by Thomas and Hermes. CORE-12847
    • -3
    • +3
    /trunk/reactos/sdk/include/ndk/rtlfuncs.h
[NTDLL] Add implementation for RtlNtPathNameToDosPathName. CORE-12847 #resolve

    • -1
    • +1
    /trunk/reactos/dll/ntdll/def/ntdll.spec
    • -0
    • +17
    /trunk/reactos/sdk/include/ndk/rtlfuncs.h
[NTDLL_APITEST] Add tests for RtlNtPathNameToDosPathName. CORE-12847
    • -0
    • +2
    /trunk/rostests/apitests/ntdll/testlist.c
    • -0
    • +447
    /trunk/rostests/apitests/ntdll/RtlNtPathNameToDosPathName.c
[NTDLL] Implement RtlpEnsureBufferSize. Patch by Hermes Belusca-Maito. CORE-11990

Some small changes by me.

    • -4
    • +58
    /trunk/reactos/sdk/lib/rtl/unicode.c
    • -1
    • +56
    /trunk/reactos/sdk/include/ndk/rtlfuncs.h
    • -1
    • +1
    /trunk/reactos/dll/ntdll/def/ntdll.spec
[NTDLL_APITEST] Add tests for RtlpEnsureBufferSize. CORE-11990
    • -0
    • +196
    /trunk/rostests/apitests/ntdll/RtlpEnsureBufferSize.c
    • -0
    • +2
    /trunk/rostests/apitests/ntdll/testlist.c
[DISK]

Fix size checking for IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, and only copy what's possible to fit in the buffer.

Also, make the code a bit more readable.

CORE-12858

    • -15
    • +21
    /trunk/reactos/drivers/storage/class/disk/disk.c
[DISK]

Fix return code when buffer is too small, as exposed in r74025.

CORE-12858

[KERNEL32_APITEST]

Add tests for DeviceIoControl. These are mainly used to test our storage stack

CORE-12858

    • -0
    • +68
    /trunk/rostests/apitests/kernel32/DeviceIoControl.c