Commit graph

126 commits

Author SHA1 Message Date
Thomas Faber 53864fcc5f
[CRT] Update file descriptor handling to match Wine (5/7). CORE-14504
Import Wine commits by Piotr Caban:
* 86baccc9ae9 msvcrt: Get rid of fdtoh helper.
* bd6eaf918c5 msvcrt: Get rid of is_valid_fd helper.
2018-03-26 13:00:39 +02:00
Thomas Faber bffd8201d0
[CRT] Update file descriptor handling to match Wine (4/7). CORE-14504
Import Wine commits by Piotr Caban:
* c7b0fb51543 msvcrt: Use fd critical section in _dup2.
* b052afd4afa msvcrt: Use fd critical section in msvcrt_free_fd.
* 16285f5700f msvcrt: Use fd critical section in read.
* 9ce2a8a60c1 msvcrt: Use fd critical section in create_io_inherit_block.
* f00b7f40584 msvcrt: Use fd critical section in _setmode.
* ba757eaec74 msvcrt: Use fd critical section in _write.
* eec7a565bec msvcrt: Don't lock __badioinfo.
2018-03-26 13:00:25 +02:00
Thomas Faber c529e727d7
[CRT] Update file descriptor handling to match Wine (3/7). CORE-14504
Import Wine commits by Piotr Caban:
* 6c2d4f1092d msvcrt: Use fd critical section in _fstat64.
* 9278190d468 msvcrt: Use fd critical section in _futime64.
2018-03-26 13:00:15 +02:00
Thomas Faber 9eb1eae28c
[CRT] Update file descriptor handling to match Wine (2/7). CORE-14504
Import Wine commits by Piotr Caban:
* 4508e665c07 msvcrt: Use fd critical section in _commit.
* afc6962a24a msvcrt: Use fd critical section in _close.
* 9a4cfbc3edc msvcrt: Use fd critical section in _eof.
* ffdd16cc0d7 msvcrt: Use fd critical section in _locking.
* fa6de597700 msvcrt: Use fd critical section in _lseeki64.
* f2f45d5fe67 msvcrt: Use fd critical section in _chsize_s.
2018-03-26 13:00:06 +02:00
Thomas Faber 25064fdf3c
[CRT] Update file descriptor handling to match Wine (1/7). CORE-14504
Import Wine commits by Piotr Caban:
* 0c4cb6ce5d4 msvcrt: Initialize file descriptor critical section.
* 1d791f5db24 msvcrt: Rename msvcrt_get_ioinfo function.
2018-03-26 12:59:58 +02:00
Hermès Bélusca-Maïto 1a31889801
[CRT] Implement the missing CRT _sc(w)printf() functions. CORE-14497 2018-03-23 22:30:18 +01:00
Hermès Bélusca-Maïto fd6e2d752d
[CRT] Fix implementation of _vsc(w)printf() for native NT. 2018-03-23 22:03:35 +01:00
Mark Jansen 2f548599a4
[SDK] Do not use a NUL file while calculating format string length
CORE-14342
2018-03-10 00:04:57 +01:00
Timo Kreuzer 0182dcd71b [PSDK][REACTOS] Fix definitions and usage of DWLP_MSGRESULT, DWLP_DLGPROC, and DWLP_USER
- Make sure the DWLP_* values are correct on _WIN64
- Don't use the DWL_* constants, they are not portable. Enforce this by removing them entirely from winuser.h
- Make sure Get/SetWindowLong*Ptr* is used and pointers are not truncated to LONG
2018-03-04 16:27:07 +01:00
Pierre Schweitzer 6ff94017e4
[VFATLIB] Fix FAT partitions formatting in a non clean fashion.
(So the fun begins)
In spite of what VFATLIB headers pretend, there's not magic in FAT boot sector.
The 3 first bytes are just the jump instruction (to the boot code). No jump, no boot.
Also, some (many?) FAT implementations rely on the jump code to help detecting that
a FAT volume is really a FAT volume. Like MS FastFAT. Or our own FAT recognizer in FS_REC.
The story is that, up to that commit, we zeroed the 3 first bytes; leading to broken
FAT volumes.
This got hidden in most cases by the fact that during setup, when we install boot
loader, we erase parts of the boot sector, including the jump instruction, making the
volume valid again. But that wouldn't fix secondary volumes where the boot loader isn't
installed.
And, also, imagine a scenario where you want to install ReactOS on a newly formatted volume
with MS FastFAT instead of our own implementation... That would simply not work to
the fact that the driver wouldn't recognize the fresh formatted volume!

(So the non fashion begins)
Fix this by putting a not that valid jump into the boot sector when formatting our
partitions. That way, our volume is always regarding a FAT view point. But, instead of
putting values that mean (nearly) nothing. We should also put a dummy bootloader
displaying the user and error message, as done by dosfstools.

(So the hope begins)
This opens the way for trying to install ReactOS with MS FastFAT (doesn't work yet).

CORE-11819
CORE-14362
2018-02-21 00:26:13 +01:00
Mark Jansen ee7f479c57
[RTL][XDK][KERNERL32_WINETEST] Import wine actctx changes from 3.2-37c98396
This adds support for reading the trustInfo (requestedExecutionLevel),
and the compatibility (supportedOs) sections.
2018-02-19 22:23:39 +01:00
Thomas Faber ad68422a7b
[IP] Silence "TCP operation failed" debug spam. 2018-02-15 12:26:35 +01:00
Hermès Bélusca-Maïto 075d58cc64
[CONUTILS] Relax the enforcement of using FORMAT_MESSAGE_MAX_WIDTH_MASK in the ConMsg* and ConResMsg* functions. 2018-02-11 18:10:08 +01:00
Serge Gautherie 44023cb7d7
[CRT:STARTUP] Fix a Clang-Cl warning about GS_ExceptionPointers
"warning: unused variable 'GS_ExceptionPointers' [-Wunused-const-variable]"
Missed in CORE-8626 r64704.

CORE-14306
2018-02-10 18:13:12 +01:00
Thomas Faber a7ef5747b5
[STRMBASE] Sync with Wine 3.0. CORE-14225 2018-02-10 17:53:05 +01:00
Thomas Faber 2d887745a7
[LIBXML2] Restore lost ROS-diff introduced in 7571d351ce. CORE-14291 CORE-11799 2018-02-08 00:41:39 +01:00
Thomas Faber fc82f8e2e3
[LIBXML2] Update to version 2.9.7. CORE-14291 2018-02-05 18:55:48 +01:00
Thomas Faber 2f8a7f36f5
[LIBMPG123] Update to version 1.25.8. CORE-14291 2018-02-05 14:40:39 +01:00
Alex Ionescu 16e0cca7e1 [RTL]: Document and flesh out Boot Status Data (BSD) API/Structures
[NDK]: Document latest RTL_BSD_DATA as of RS3 based on ext.dll WinDBG
extension "!blackboxbsd" which outputs the entire structure field by
field :).
[NDK]: Update RTL_BSD_ITEM_TYPE thanks to ole32 symbols
[RTL]: Move system volume APIs to sysvol.c
[RTL]: Fill out BsdItemTable based on actual field offsets/sizes and not
hardcoded magic numbers which we won't ask where they came from.
[RTL]: Make RtlCreateBootStatusDataFile use an appropriate structure for
initializing the buffer instead of "UCHAR Buffer[12] = {0xC,0,0,0,
1,0,0,0, 1, 0x1e, 1, 0};" which appears like magic knowledge.
[RTL]: Rename "WriteMode" to "Read" in RtlGetSetBootStatusData since
it's much less confusing.
[RTL]: Some formatting fixes, SAL updates.
2018-02-04 09:33:32 -08:00
Hermès Bélusca-Maïto ce044cf80e
[CONUTILS] Fix and improve the documentation for "outstream" and "utils", addendum to f982d77. 2018-02-02 22:19:54 +01:00
Hermès Bélusca-Maïto f982d77b8a
[CONUTILS] Diverse improvements: start doxygenating and add some resource messsage helper functions.
- Start to doxygenate the library, focusing in great details on the
  functions of the "outstream" module.
- Add a K32LoadStringEx function that expands (K32)LoadString by
  allowing a LanguageId parameter to be able to load strings from other
  languages than the current one.
- Add "ConResMsg*" helper functions to be able to (format and) print
  message strings with inserts that come *NOT* from a message table (as
  usual) *BUT* from resource string tables.
  Will be helpful for CORE-14265 in particular.

[CMD] Fix the call to ConMsgPrintfV().
2018-02-02 00:41:54 +01:00
Stanislav Motylkov 63ad8a71c0 [IPHLPAPI] Fix IcmpSendEcho output when host is not reachable
- Add missing error code to DDK/NDIS
- Fix error code in IP driver
- Patch MSAFD to reply correct WSA error code
- Fix IcmpSendEcho function
  - Fix returning error code in ICMP_ECHO_REPLY (see MSDN)
  - Fix returning host address (using GetBestInterface and GetIpAddrTable functions)
- Fix GetBestRoute function (it is used by GetBestInterface)

Relates to #318 and CORE-14241
2018-01-31 17:28:21 +00:00
Hermès Bélusca-Maïto 4e697fee2c
[CONUTILS] Split stream.c into input and output stream modules.
As code grows, this will allow for better maintenance of the console
stream code. In particular the input stream module will contain special
code for handling TTYs, and this is something not all console programs
will need. Having this code in a separate module will allow for the linker
to possibly remove this code when it is unused.
2018-01-31 02:10:41 +01:00
Hermès Bélusca-Maïto 32c875032b
[EVTLIB] Make the header C++ compatible. 2018-01-27 16:07:32 +01:00
Hermès Bélusca-Maïto e9113338c6
[CONUTILS] Fix macro definition. 2018-01-27 16:00:58 +01:00
Hermès Bélusca-Maïto 1e87e2fa9d
[CONUTILS] Make the headers C++ compatible. 2018-01-27 15:49:17 +01:00
Giannis Adamopoulos 1e903d96cb [RTL] actctx: Implement the implicit activation context 2018-01-27 02:45:50 +02:00
Amine Khaldi d7c47feb25 [FREETYPE] Bring back our diffs to reduce the stack usage in cf2_interpT2CharString(). CORE-14227 2018-01-21 13:31:05 +01:00
Serge Gautherie 63775c3215
[LWIP] dhcp.c: Cherry-pick lwIP 32aa9a4. CORE-8978
- Fix a while() check order.
2018-01-20 16:04:34 +01:00
Thomas Faber 095a4d1d23
[RTL] Handle RtlReAllocateHeap failure in com_class_add_progid. CID 1223161 2018-01-20 09:48:07 +01:00
Amine Khaldi b744385652 [FREETYPE] Update to v2.9.0 and use this as a chance to slim down our lib a bit. CORE-14220 2018-01-18 23:29:50 +01:00
Timo Kreuzer f60a9eb7a3 [RTL] Fix amd64 version of DebugService2 2018-01-01 12:09:38 +01:00
Thomas Faber 008e035b7e
[LIBS] Use KeClearEvent instead of KeResetEvent where the previous state is not needed. 2017-12-30 11:46:57 +01:00
Giannis Adamopoulos 406c31cee8 [ATL] CWindow: Add an overload of GetDlgItemText which takes a CSimpleString as parameter 2017-12-27 19:25:58 +02:00
Giannis Adamopoulos deb908b038 [ATL] -Add COMMAND_CODE_HANDLER macro 2017-12-27 19:25:58 +02:00
Mark Jansen fa3e173515 [ATL] Add CString.AllocSysString 2017-12-25 14:00:51 +01:00
Mark Jansen 6c92d5c14a [ATL] Add CComBSTR.Attach 2017-12-25 14:00:51 +01:00
Giannis Adamopoulos 51c694274f [RTL] find_string_index: name parameter may not be null terminated 2017-12-24 21:19:03 +02:00
Mark Jansen a730e3fce1 [ATL] Continue enumeration after a failing COM_INTERFACE_ENTRY_FUNC_BLIND 2017-12-21 21:37:54 +01:00
Ivan Labutin d6792047f3 [NTOS][NDK][RTL] A bunch of 'wrong size' fixes 2017-12-20 06:56:09 +01:00
Amine Khaldi 0a4e5911fc [UUID] Add SID_SHTMLEditServices. 2017-12-18 13:18:26 +01:00
Pierre Schweitzer b0bf7dfb62
[VFATLIB] Never touch the file system if not in interactive or RW mode.
It's critical not to perform any write on a volume without an exclusive lock on it.
That lock is only acquired if ChkDsk is started in RW mode.
Also added an assert in write routine, to make sure that when we're about to perform
a write operation, we're really allowed to do so.

This will avoid volume corruptions when a simple "chkdsk" is issued from cmd.
To put it simple: check will really check now, and won't attempt any repair.

CORE-14119
2017-12-17 14:02:31 +01:00
Pierre Schweitzer 6a224a38a1
[VFATLIB] Make Chkdsk handle volume opening locking failures.
For instance, when repair is required, we can ask the caller whether we should
continue or not in case locking failed.
Also, introduced a hack for 1st stage where IopParseDevice() hack is in usage
so that broken NTSTATUS is diverted to appropriate status.
That way, usetup will properly continue even if locking failed (due to its
callback stub!)

CORE-14087
2017-12-09 21:12:09 +01:00
Amine Khaldi 69005963fb [UUID] Add a PCH. 2017-12-09 13:04:23 +01:00
Amine Khaldi 5633423086 [FREETYPE][PORTCLS][RPCSS][SPOOLSV][STLPORT][USETUP][WLANSVC] Silence some clang-cl warnings. 2017-12-07 23:26:59 +01:00
Amine Khaldi 00124d1b1a [CMAKE/CLANG-CL] Silence some clang-cl warnings in consistency with our gcc build. 2017-12-07 21:53:45 +01:00
Amine Khaldi 09c06a2f45 [CLANG-CL] Initial commit that allows us to compile ReactOS with clang-cl. 2017-11-23 14:09:57 +01:00
Amine Khaldi 861360c65f [CRT/STARTUP] For some reason we get unresolved external symbol ___globallocalestatus when compiling with clang-cl. CORE-11799 CORE-14042 (#94) 2017-11-23 13:25:57 +01:00
Thomas Faber 631d1e071c
[RTL] Make RtlFillMemoryUlonglong public 2017-11-18 18:05:22 +01:00
Serge Gautherie f0e6c11bba
[USETUP][EXT2LIB] NtWriteFile() calls: Remove unused 'ByteOffset = 0', Use explicit NULL instead of ambiguous 0. CORE-13910 2017-11-09 21:28:50 +01:00
Serge Gautherie bcaa33e33b
[USETUP][ROSAPPS][EXT2LIB] NtReadFile() calls: Remove unused 'ByteOffset = 0', Use explicit NULL instead of ambiguous 0, Remove casts to same type. CORE-13910 2017-11-03 15:02:16 +01:00
Pierre Schweitzer 3c679fc6b4
[RDBSS] Fix a bug in RxQueryNameInfo(): don't only return name length, but also the whole structure. Avoids corruption 2017-11-02 23:03:48 +01:00
Mark Jansen be1155f294 [ATL] Initial implementation of CAtlExeModuleT.
CORE-13908
2017-11-01 18:55:45 +01:00
Pierre Schweitzer 5b960479bf
[RDBSS] More capture 2017-11-01 15:12:08 +01:00
Pierre Schweitzer 2511ba8f8f
[RDBSS] Start defining the RxCapture* macros and start using them (to be continued) 2017-11-01 12:07:18 +01:00
Pierre Schweitzer b840f65362
[RXCE] Implement RxInitializeDebugSupport() 2017-11-01 12:07:18 +01:00
Pierre Schweitzer ac3e4a4895
[RDBSS] Implement RxCheckFcbStructuresForAlignment() 2017-11-01 12:07:18 +01:00
Pierre Schweitzer cc578af6df
[RDBSS] Implement RxQueryNameInfo() and RxConjureOriginalName() 2017-10-31 23:03:16 +01:00
Pierre Schweitzer f5104a0042
[RXCE] Implement RxAcquireExclusiveFcbResourceInMRx() 2017-10-31 21:34:36 +01:00
Amine Khaldi a75904fe66
[LIB/ATL] Take the gcc code path for the unused macros when compiling with clang. CORE-11799 (#94) 2017-10-31 14:44:29 +01:00
Amine Khaldi 7571d351ce
[LIBXML2] Do not rely on nan() when compiling with clang. CORE-11799 (#94) 2017-10-31 14:10:03 +01:00
Amine Khaldi 80774a2fca [LIBSAMPLERATE] Define exit() as __debugbreak(). CORE-11799 (#94) 2017-10-30 22:38:29 +01:00
Pierre Schweitzer ec9912f334 [RTL] Revert b3b2a23 which introduced a regression.
Spotted by Jérome
2017-10-29 15:03:12 +01:00
Samuel Serapion b3b2a23f05 CID 1206831 Dereference after null check
BytesRead is an optional out parameter and must be checked before being written to.
2017-10-29 11:17:47 +01:00
zefklop 07c7295545
[CRT] fix bug in _rotr implementation 2017-10-28 10:28:27 +02:00
Serge Gautherie 11baa0d723 [NTOSKRNL][ROSSYM] ZwReadFile() calls: Use explicit NULL instead of ambiguous 0. CORE-13910 2017-10-27 13:38:02 +02:00
Giannis Adamopoulos e7c29bb1fc [ATL] Add CHAIN_MSG_MAP macro 2017-10-26 12:37:08 +03:00
Samuel Serapion 136fabd357 [CRT] Use MAX_PATH for buffer meant to contain an arbitrary path
The cFileName member of WIN32_FIND_DATA is an array of MAX_PATH(260). Using strcpy/wcscpy with the target buffer being smaller is potentially bad. Corresponds to CID 1401198 and 1401195.
2017-10-23 14:44:38 +02:00
Mark Jansen 31a11bba7e [ATL] Implement CDialogImpl
CORE-13903
2017-10-22 21:18:04 +02:00
Pierre Schweitzer 8eb66fa1b6 [RDBSS] Make it clear that we want to zero all the create parameters
CID 1411975
2017-10-21 15:10:41 +02:00
Pierre Schweitzer ed263291d1 [UBTRFS] Update to 1.0.1
CORE-13896
2017-10-16 20:30:24 +02:00
Pierre Schweitzer 78e5caaec2 [RDBSS] Fix broken cast when comparing DFS magic values
CID 1419139
2017-10-11 08:38:26 +02:00
Pierre Schweitzer f9b26bc0f2 [RXCE] Don't remove uninitialized list entry
CID 1419234
2017-10-11 08:31:36 +02:00
Pierre Schweitzer 151869c6ef [RDBSS] Avoid uninit var usage.
CID 1419475
2017-10-11 08:20:48 +02:00
Colin Finck 9ebf43567d Add .gitattributes and .gitignore files and normalize line endings in the repository (#10) 2017-10-04 20:37:32 +02:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00