Commit graph

373 commits

Author SHA1 Message Date
Serge Gautherie 7d6bda16c6
[REACTOS] Improve how some ASSERTMSG() message values are printed: enforce ending "\n".
NB: Not touching calls in "third-party" code: class and classpnp.
2018-08-08 22:03:45 +02:00
Serge Gautherie fb48381cb4
[CMLIB] Simplify an ASSERTMSG() as an ASSERT(). 2018-08-08 21:45:46 +02:00
Serge Gautherie 97d3b3ce33
[REACTOS] RtlAssert(): use "%lu" as LineNumber format. 2018-08-08 21:24:07 +02:00
Eric Kohl 0a5ccac599 [SRVSVC] Set and retrieve service bits and rename unknown functions
- Service bits are set by NetrServerSetServiceBits and can be retrieved by NetrServerGetInfo.
- The real name of function 42 is NetrServerSetServiceBitsEx and the real name of function 47 is NetrDfsSetServerInfo.
2018-08-05 15:05:19 +02:00
Katayama Hirofumi MZ bfcbda227f [SHELL32] Fix handling of multiple parameters in the 'Run' dialog (#665)
The "Run" dialog failed when multiple parameters wee specified.
We use instead a newly-created ShellExecCmdLine() helper function to fix the problem (as found via API-tracing on Windows).
Note that ShellExecCmdLine() starts to be exported with Vista+.

- Implement ShellExecCmdLine() function in shell32.
- Add URL support.
- Fix RunDlgProc function in shell32.
- Add a testcase for ShellExecCmdLine() function.

CORE-14790
2018-08-05 13:39:17 +02:00
Mark Jansen 09719d25c4
[ATL] Fix the CComQIIDPtr template. 2018-08-05 11:54:56 +02:00
Eric Kohl 620217cec9 [LSASRV][SECUR32] Implement LsaRegisterPolicyChangeNotification and LsaUnregisterPolicyChangeNotification 2018-08-04 22:17:52 +02:00
Timo Kreuzer cf77354dce [REACTOS] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Timo Kreuzer 6f13066647 [APPLICATIONS] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Timo Kreuzer 9e066abe2a [DRIVERS] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Timo Kreuzer c1944118ca [USBPORT] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Stanislav Motylkov 0854c69a75 [I8042PRT] Move DMI/SMBIOS parsing functions into library 2018-08-02 21:29:57 +02:00
Mark Jansen 370ffd1123
[XDK][NDK] Restore struct alignment for IO_STACK_LOCATION
CORE-14782
2018-07-25 20:22:36 +02:00
Hermès Bélusca-Maïto b1c7fd08e9
[PSDK] Fix a typo. Has also been caught independently by George Bișoc (#686). 2018-07-17 01:59:51 +02:00
Victor Perevertkin 2ae1675208 [ASM] Fixed ".double" macro in asm.inc.
GAS uses ".double" symbol for declaring floating-point constants and
".quad" symbol for declaring 64-bit numbers.
This is not compatible with our macro for MASM and introduces bugs.
Now 64-bit constants are supposed to be declared using ".quad" macro.
2018-07-15 23:25:23 +02:00
Eric Kohl 4ffa0a2e55 [NTOSKRNL][NDK][UMPNPMGR] Define and use PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values
NDK: Define PLUGPLAY_CONTROL_PROPERTY_DATA.Properties and PLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA.Relations values.

NTOSKRNL: Map PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values to IoGetDeviceProperty properties and add (dummy) code for unsupported cases.

UMPNPMGR: Use PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values in PNP_GetDeviceRegProp.
2018-07-15 15:57:57 +02:00
Timo Kreuzer 82b2aef091 [PSDK] Add SymTagENum to dbghelp.h and imagehlp.h 2018-07-14 15:48:23 +02:00
Katayama Hirofumi MZ 75b09f3f88 [EXPLORER][SHELL32][USER32] Implement 'Show the Desktop' action of Task Bar (#668)
The keyboard shortcuts Win+D and Win+M are also enabled.

- Implement IShellDispatch4::ToggleDesktop().
- Implement some commands in CTrayWindow.
- Add "sdk/include/reactos/traycmd.h" for tray commands.
- Fix task window switching.
- Improve the user32!SwitchToThisWindow() function and use it.

CORE-14318, CORE-13157
See also: CORE-14806 and CORE-8723
2018-07-13 10:34:42 +02:00
Mark Jansen 80bac79070
[CMAKE] Update all base addresses, taking into account the reserved user32 address from CORE-12752
CORE-11382
2018-07-12 21:55:21 +02:00
Mark Jansen 6b92dd7323
[SDK] Update gen_baseaddress.py for reserved base addresses.
CORE-11382
2018-07-12 21:55:21 +02:00
Katayama Hirofumi MZ a882ec7a02 [SHELL32][EXPLORER] Update system-wide environment variables (#663)
- Implement shell32 RegenerateUserEnvironment() function and use it.
- CShellBrowser and CDesktopBrowser implements WM_SETTINGCHANGE actions.

CORE-1459, CORE-14397
2018-07-08 16:32:42 +02:00
Mark Jansen 5a9dc5e791
[SDK] Add gen_baseaddress.py
This tool was already used to calculate the last baseaddress update.
It is based on baseaddress.sh that has been floating around.
CORE-11382
2018-07-01 20:17:46 +02:00
Mark Jansen a3ddb8a4c2
[CMAKE] Change winspool.drv to winspool again.
CORE-14781
2018-07-01 19:21:59 +02:00
Mark Jansen 8fb0c5a0ab
[CMAKE] Update baseaddress for gcc with dwarf.
CORE-14781
2018-07-01 18:21:12 +02:00
Mark Jansen 82351bc6d4
[CMAKE] Update baseaddress for msvc & gcc with rossym.
CORE-14781
2018-07-01 15:35:57 +02:00
Timo Kreuzer e39876dab7 [SDK] Fix 64 bit issues 2018-07-01 14:45:21 +02:00
Timo Kreuzer ae9e9eaef3 [NDK] Fix definition of MSR_DEBUG_CTL_LBR and MSR_DEBUG_CTL_BTF 2018-07-01 14:45:21 +02:00
Timo Kreuzer 3b78272d39 [NDK] Fix alignment macros and add missing ones
Remove obsolete ALIGN_UP_BY macro definition
2018-07-01 14:45:21 +02:00
Timo Kreuzer ca9fd861aa [DRIVERS][NTOS][NDK] Use IO_STACK_LOCATION instead of EXTENDED_IO_STACK_LOCATION and remove the latter from NDK 2018-07-01 14:45:21 +02:00
Timo Kreuzer 8719252e48 [XDK][NDK] Fix IO_STACK_LOCATION alignments
* Also add missing DIRECTORY_NOTIFY_INFORMATION_CLASS
2018-07-01 14:45:21 +02:00
Timo Kreuzer 03c86af7d5 [XDK] Stop randomly packing structures half throughout ntifs.h / wdm.h
Nothing in there should be packed!
2018-07-01 14:45:21 +02:00
Timo Kreuzer de1b195837 [NDK] Fix the type of KPROCESS::ActiveProcessors
Also fix related logic in KiSwapProcess
2018-07-01 14:45:21 +02:00
Timo Kreuzer 158812409d [NDK] Update x64 version of KEXCEPTION_FRAME 2018-07-01 14:45:21 +02:00
Timo Kreuzer a262e8da2d [LIBUSB] Add additional operator new/delete
This is required, since newer versions of MSVC demand that non-member operator new/delete are in the global namespace and neither static nor inline. See https://msdn.microsoft.com/en-us/library/mt723604.aspx ("Overloaded operator new and operator delete")
2018-07-01 14:45:21 +02:00
Timo Kreuzer 03830f67a7 [CMAKE] winspool.drv -> winspool in baseaddress_msvc.cmake 2018-07-01 14:45:21 +02:00
Timo Kreuzer c73c4f0cb3 [MC] Fix build of message text files for latest VS version
* Latest VS does not like half translated files :/
* errcodes.mc is duplicated in kernel32
* It would probably be better to separate each language into it's own file, but we need a build mechanism for that
2018-06-30 21:21:36 +02:00
Timo Kreuzer 79ad68ddc3 [CMAKE] Zap builddir.h.cmake and instead define macros globally
This changes __RELFILE__ to always be relative and not rely on a GCC extension, since __FILE__ is *always* relative to the root.
2018-06-30 13:26:56 +02:00
Serge Gautherie 3766d836c7 [DBGHELP] Fix 3 MSVC warnings about MiniDumpWriteDump() (#643)
- Fixes MSVC errors: "...\dll\win32\dbghelp\minidump.c(857) : error C4028: formal parameter 5 different from declaration", for parameters 5, 6 and 7.
- Fix spec file too.
CORE-7538
2018-06-28 17:44:49 +02:00
Hermès Bélusca-Maïto 4d494caf61
[NTOS:SE] Overhaul the token management code.
- Overhaul SepCreateToken() and SepDuplicateToken() so that they
  implement the "variable information area" of the token, where
  immutable lists of user & groups and privileges reside, and the
  "dynamic information area" (allocated separately in paged pool),
  where mutable data such as the token's default DACL is stored.
  Perform the necessary adaptations in SepDeleteToken() and in
  NtSetInformationToken().

- Actually dereference the token's logon session, when needed, in the
  'TokenSessionReference' case in NtSetInformationToken().

- Overhaul SepFindPrimaryGroupAndDefaultOwner() so that it returns
  the indices of candidate primary group and default owner within the
  token's user & groups array. This allows for fixing the 'TokenOwner'
  and 'TokenPrimaryGroup' cases of NtSetInformationToken(), since the
  owner or primary group being set *MUST* already exist in the token's
  user & groups array (as a by-product, memory corruptions that existed
  before due to the broken way of setting these properties disappear too).

- Lock tokens every time operations are performed on them (NOTE: we
  still use a global token lock!).

- Touch the ModifiedId LUID member of tokens everytime a write operation
  (property change, etc...) is made on them.

- Fix some group attributes in the SYSTEM process token, SepCreateSystemProcessToken().

- Make the SeCreateTokenPrivilege mandatory when calling NtCreateToken().

- Update the token pool tags.

- Explicitly use the Ex*ResourceLite() versions of the locking functions
  in the token locking macros.
2018-06-27 23:40:18 +02:00
Hermès Bélusca-Maïto a3376cd50d
[NDK] Update NtCreateToken() prototype annotations. 2018-06-27 23:40:17 +02:00
Hermès Bélusca-Maïto 9594022ce1
[NTOS:SE] Add a documentation note about SeTokenIsWriteRestricted() and SeTokenIsAdmin(), and update the one for NtDuplicateToken().
[XDK] Move TOKEN_HAS_ADMIN_GROUP where appropriate.
2018-06-27 23:40:15 +02:00
Hermès Bélusca-Maïto 3cdb717a7b
[PSDK] ntsecpkg.h: fix minor typos (make some structure names MS-PSDK-compatible), and add LSA_TOKEN_INFORMATION_V2. 2018-06-27 23:40:13 +02:00
Serge Gautherie 4f1a29e1b1 [LOG2LINES] translate_line(): Let 'offset' be an 'unsigned int', instead of a 'size_t' (#624)
Avoids half-uninitialized value on, i.e., Linux 64-bit (with ReactOS 32-bit).
CORE-14737
2018-06-21 14:05:35 +02:00
Serge Gautherie e5904542d6 [DELAYIMP] Fix/Merge definitions of __pfnDliNotifyHook2 and __pfnDliFailureHook2 2018-06-13 23:28:15 +02:00
Serge Gautherie 9415f94c3a [DELAYIMP] Fix 2 Clang-Cl warnings about __pfnDliNotifyHook2Default and __pfnDliFailureHook2Default
"warning: 'extern' variable has an initializer [-Wextern-initializer]"

CORE-14306
2018-06-13 23:28:15 +02:00
Mark Jansen 4f8dc9c266
[ATL] Add CString.CompareNoCase 2018-06-09 17:14:06 +02:00
Katayama Hirofumi MZ 698cbc6184 [SHELL32] Split dialogs/folder_options.cpp (#582)
The dialogs/folder_options.cpp source file in shell32 is too big to manage. We will split it to smaller files.
CORE-12906
2018-06-06 14:04:50 +02:00
Hermès Bélusca-Maïto f215f394d8
[CRT] Always initialize _[w]pgmptr with a *FULL* path to the current application.
Otherwise fall back to the computed argv[0].
This is expected by some applications, for example Git.
Code is adapted from Wine.

Many thanks to Stanislav Motylkov for having investigated this bug!

CORE-12931 CORE-13892 CORE-13898 CORE-14066
2018-06-05 23:55:46 +02:00
Pierre Schweitzer 54f383d996
[VFATLIB] Only check volume if full scan or if allowed to fix it
This allows doing a quick probe about whether a volume needs to be
fixed by checking its dirty bit.

CORE-14692
2018-06-05 19:34:47 +02:00
Serge Gautherie 695547cd8c [CONFIGURE][CMAKE] Remove Visual Studio 9 (2008) support
ReactOS does not compile anymore with it.
VS9 is already officially unsupported.

CORE-11836
2018-06-05 18:59:36 +02:00
Serge Gautherie 9822462946 [CMAKE] Add "--always" parameter to "git describe" call
"fatal: No names found, cannot describe anything." message,
when called without enough history, i.e. appveyor.yml "clone_depth: 5".
2018-06-05 18:59:11 +02:00
Amine Khaldi 3c18f2a7c7 [INCLUDE/WINE] Update rbtree.h. CORE-14656 2018-06-04 03:54:55 +01:00
Amine Khaldi 2e5bae69da [PSDK] Update ntdsapi.h. CORE-14656 2018-06-04 03:42:29 +01:00
Amine Khaldi 217390ae60 [PSDK] Update msctf.idl. CORE-14656 2018-06-04 03:40:17 +01:00
Pierre Schweitzer 2dfe5e3f46
[CRT] Reimplement qsort() using FreeBSD implementation.
Our implementation had a bug that could be triggered while
building our USBD library on ReactOS: the compare function
could be called with a NULL pointer instead of a valid value.

With this bug fixed (and the cmd hack in CORE-14648), ReactOS
can totally selfhost :-)! I was able to build LiveCD and BootCD
without any trouble, crash, deadlock or whatever.
(Next step: having a buildbot slave hosted on ReactOS ;-)).

Enjoy: https://twitter.com/HeisSpiter/status/1002880397103988737

CORE-14680
2018-06-02 13:56:42 +02:00
Eric Kohl 4911382913 [NDK] Replace the SYSTEMTIME fields StandardDate and DaylightDate in RTL_TIME_ZONE_INFORMATION by TIME_FIELDs and fix resulting errors
Patch will be sent upstream.

CORE-14658
2018-05-31 17:48:29 +02:00
Eric Kohl 0f8e720711 [NTDLL_APITEST][LIB_RTL] Add a test for RtlQueryTimeZoneInformation and fix the bug in RtlpQueryRegistryDirect
In working on some problems with Time Zone adjustments in  ReactOS I found that the RtlQueryTimeZoneInformation function is partially broken and wrote an apitest to capture the failures.

Patch by Doug Lyons.

CORE-14658
2018-05-31 16:47:42 +02:00
Pierre Schweitzer 6e4e772e6c
[VFATLIB] Addendum to 469289e 2018-05-28 23:38:00 +02:00
Pierre Schweitzer 86198abd67
[VFATLIB] Fix MSVC build? 2018-05-28 23:29:06 +02:00
Pierre Schweitzer 469289ed5c
[VFATLIB] Upgrade fsck.fat to 4.1
Also make it easier to sync in the future.
2018-05-28 23:18:25 +02:00
Pierre Schweitzer 59dc951bf7
[VFATLIB] Only attempt to clear the dirty set bit in rw mode. 2018-05-28 19:37:56 +02:00
Eric Kohl 334fe302a1 [USERENV] Implement CopySystemProfile Part 1 (Add a new profile subkey and values to the profile list)
CORE-12541
2018-05-27 15:31:43 +02:00
Amine Khaldi 4b8fbca3f7 [PSDK] Add missing GdipSetPathGradientPath() and GdipTranslatePenTransform(). CORE-14656 2018-05-27 04:09:49 +01:00
Amine Khaldi 41e2b83f96 [INCLUDE/WINE][USER32_APITEST] Add ARRAY_SIZE to test.h and remove it from RealGetWindowClass.c. CORE-14656 2018-05-27 04:05:33 +01:00
Amine Khaldi 2f668a30bd [PSDK] Add missing OFN_EX_NOPLACESBAR. CORE-14656 2018-05-27 04:03:38 +01:00
Amine Khaldi e00ccd4551 [PSDK] Add missing DRV_QUERYFUNCTIONINSTANCEID. CORE-14656 2018-05-27 03:55:03 +01:00
Amine Khaldi 7af3969e9f [D3D8][D3D9][DDRAW][WINED3D] Sync with Wine Staging 3.9. CORE-14656 2018-05-27 03:52:04 +01:00
Pierre Schweitzer 69a7879e81
[SDK] Add more types for job objects information 2018-05-25 08:48:51 +02:00
Pierre Schweitzer fb9ffed1cd
[SDK] Add a few types for job objects information 2018-05-25 08:48:51 +02:00
Eric Kohl f7c01906e7 [STORPORT] Enumerate attached devices
- Implement AcquireSpinlock, ReleaseSpinlock and GetExtendedFunctionTable notifications.
- Implement a bus scan routine, borrowed from scsiport.

Storport and storahci are now able to detect a disk device attached to a Virtual Box AHCI controller.
2018-05-24 11:39:47 +02:00
Hermès Bélusca-Maïto 1eca625839
[CONUTILS] Remove old code; modify an informative note. 2018-05-20 22:39:21 +02:00
Joachim Henze cfb8f97968 [SDK] "0.4.10-dev" Starts here.
tag will be added in next commit.
2018-05-20 20:35:12 +02:00
Pierre Schweitzer f99f48045d
[EVENTMSG] Add French translation. 2018-05-20 11:36:00 +02:00
Mark Jansen 84d7db2c57
[SDK] Add initial verifier header. 2018-05-12 13:34:36 +02:00
Mark Jansen 5a68fbeb43
[SDK] Correct NtGlobalFlag names. 2018-05-12 13:34:24 +02:00
Thomas Faber 0ce31759d0
[USBPORT] Fix x64 build. 2018-05-12 10:11:21 +02:00
Vadim Galyant c89a190ea6
[USBPORT][USBOHCI_NEW] Avoid using pointers for physical addresses. 2018-05-11 15:46:25 +02:00
Pierre Schweitzer 935dcd64a5
[FSLIB] Add headers for our FS libs.
CORE-13759
2018-05-10 10:49:17 +02:00
Eric Kohl 12bdbe5710 [IDL][NETAPI32][SRVSVC] Hack around another midl/rpcrt4 bug
NETAPI32: Get rid of the old WINE NetServerGetInfo and replace it by a proper call to NetrServerGetInfo.
SRVSVC: Implement parts of NetrServerGetInfo.
srvsvc.idl: Hack around a bug in midl or rpcrt4. They are not able to handle a pointer to a union of pointers to structs. A pointer to a union of structs works a advertised.
2018-05-06 16:49:24 +02:00
Eric Kohl c7994ca74f [IDL] srvsvc.idl: Fix the definition of Opnum29NotUsedOnWire
Opnum29NotUsedOnWire is actually called NetrServerSetServiceBits.
See:
http://l.wzm.me/_security/internet/_internet/WinServices/ch04s07s08.html
and https://git.samba.org/?p=samba.git;a=blob;f=librpc/idl/srvsvc.idl;h=db804e58c01f3392c4ec6eb30643c36bcb8be683;hb=HEAD
2018-05-05 15:34:43 +02:00
Hermès Bélusca-Maïto 2b3fd31bc5
[CONUTILS] Use the currently active console codepage to output text to files. If you want to output UTF-8 run "chcp 65001" before.
CORE-12122
2018-05-05 01:37:30 +02:00
Serge Gautherie 7326dc03b6 [CMAKE] USE_CLANG_CL: Add "-Wno-parentheses-equality"
Silence some "code style" warnings.

CORE-14306
2018-05-03 08:12:17 +02:00
Eric Kohl 1362983bb7 [IDL] Fix redefinition of server types when lmserver.h is included too 2018-05-01 16:15:52 +02:00
Eric Kohl ce0856099a [SDK] Improve lmserver.h
- Add _SERVER_TRANSPORT_INFO_1, _SERVER_TRANSPORT_INFO_2, and _SERVER_TRANSPORT_INFO_3 structs.
- Fix the calling convention of SetServiceBits().
2018-05-01 16:15:51 +02:00
David Knapp 7673837a85 [SDK] Add description to MANUALLY_INITIATED_CRASH (#509) 2018-04-30 12:55:34 +02:00
Pierre Schweitzer 3dc4d408b2
[SDK] Enforce callback type for KdRosRegisterCliCallback(), KdRosDeregisterCliCallback(). 2018-04-29 12:33:14 +02:00
Pierre Schweitzer de88611590
[SDK] Make KdRosRegisterCliCallback() return status from KdSystemDebugControl(). 2018-04-29 12:19:21 +02:00
Mark Jansen 3551953c84
[XML2SDB] Add support for TAG_LINK_DATE and TAG_LINKER_VERSION. 2018-04-22 18:51:53 +02:00
Mark Jansen 2c90194ae4
[ATL] Add COMMAND_HANDLER macro.
CORE-14543
2018-04-22 17:38:38 +02:00
Hermès Bélusca-Maïto 10ed9621e4
[EVTLIB] Silence some DPRINTs. 2018-04-22 02:53:40 +02:00
Timo Kreuzer 01df9a410c [SPEC2DEF] Implement support for different OS versions 2018-04-21 18:31:27 +02:00
Eric Kohl ceb596f100 [NETMSG] Add netmsg resource dll with some lmerr messages 2018-04-14 18:56:09 +02:00
Pierre Schweitzer 38791299ca
[VFATLIB] Simplify in-memory boot sector copy.
So that, coverity is happy again.
NFC

CID 1434230, 1434233, 1434238, 1434243, 1434246, 1434272
2018-04-14 12:05:32 +02:00
Mark Jansen 767fc4a6ad
[XML2SDB] Add support for DATA in Layers. 2018-04-12 18:49:12 +02:00
Amine Khaldi 8296d6c1ef [WIDL] Sync with Wine Staging 3.3. CORE-14434 2018-04-11 12:29:04 +01:00
Amine Khaldi 6cbd6bd3ce [UNICODE] Sync with Wine Staging 3.3. CORE-14434 2018-04-11 12:25:43 +01:00
Mark Jansen 9aa26b9c23
[RTL] actctx: Use the new RosGetProcessCompatVersion. 2018-04-09 19:36:09 +02:00
Mark Jansen d49004352f
[NTDLL] Check the process manifest at startup for a compatibility section. 2018-04-09 19:36:09 +02:00
Giannis Adamopoulos e195199a51 Fix build 2018-04-09 01:42:17 +03:00
Giannis Adamopoulos 8d3045622e [RTL] actctx.c: Use an alternative implicit activation context when an application is built for latest windows versions.
Instead of loading systemcompatible.manifest as the implicit activation context, load forwardcompatible.manifest
Add a new assembly containing all apisets called ReactOS.Apisets and make it a dependency to forwardcompatible.manifest
2018-04-09 01:28:43 +03:00