Commit graph

51728 commits

Author SHA1 Message Date
Cameron Gutman 6c0d0cbab0 [AFD]
- Fix one of the worst bugs in AFD of all time. Our AFD code operated under the assumption that none of the input parameters would change once we called LockRequest. This assumption is completely false. The only guarantee that made was that the pages never disappeared from us, not they they couldn't be modified. There are frequent cases where the user-mode buffer was modified from underneath us (WSPRecv allocates the struct on stack which makes it invalid during overlapped operations that complete later). When this happened, we would bugcheck when we tried to unlock the buffers since we accessed this in a member of the struct the caller passed us.
- I've fixed this by adding a parameter to LockRequest which specifies whether the buffer should be copied back when it is unlocked.
- This bug has been around for ages and I was never able to figure out why we just freed garbage sometimes. Now that the ws2_32_winetest exposed it reliably, I was finally able to fix it.

svn path=/trunk/; revision=57175
2012-08-27 04:16:28 +00:00
Cameron Gutman 55be1f528f [AFD]
- Fix some size assumptions that fail on 64-bit

svn path=/trunk/; revision=57174
2012-08-27 03:43:40 +00:00
Cameron Gutman 18c4b99d08 [AFD]
- Only access stack parameters when we're sure that the major function is correct

svn path=/trunk/; revision=57173
2012-08-27 03:42:28 +00:00
Jérôme Gardou ee2934ab01 [CRT]
- Fix some UNICODE vs non UNICODE definition mess.

svn path=/trunk/; revision=57172
2012-08-26 23:54:52 +00:00
Jérôme Gardou dec26d7804 [MINGWEX]
- mark DllMain as a weak symbol for GCC.
- supply a stubbed DllMain for MSVC.
- DllMain is optional, and some DLLs don't implement it. That doesn't mean that they have no entry point, it means "I have nothing more to initialize than the CRT".

svn path=/trunk/; revision=57171
2012-08-26 23:31:49 +00:00
Cameron Gutman 63d0bb53e4 [AFD]
- Change AFD to a very aggressive buffering policy
- It now attempts to keep its 64K receive buffer completely full at all times
- This increases network performance significantly

svn path=/trunk/; revision=57170
2012-08-26 22:31:18 +00:00
Cameron Gutman aa6611286c [LWIP]
- Fix broken handling of partial receives

svn path=/trunk/; revision=57169
2012-08-26 22:24:49 +00:00
Cameron Gutman 44356bb773 [AFD]
- Fix returning uninitialized data from FIONREAD when the socket is not bound or connected

svn path=/trunk/; revision=57168
2012-08-26 20:13:22 +00:00
Eric Kohl 1925cef7a0 [ADVAPI32/LSASRV]
- Implement LsaSetSeceret/LsarSetSecret (secret values are not encrypted yet) and LsaSetSystemAccessAccount.
- Improve some TRACE messages.

svn path=/trunk/; revision=57167
2012-08-26 14:05:27 +00:00
Thomas Faber 8003401991 [KMTESTS:EX]
- Make hard-coded calling convention exceptions in ExInterlocked compatible with GCC 4.7, and add the corresponding TODO about how ugly this is

svn path=/trunk/; revision=57166
2012-08-26 12:06:45 +00:00
Thomas Faber 38ce718bde [GDI32_APITEST]
- Fix build

svn path=/trunk/; revision=57165
2012-08-26 11:35:58 +00:00
Thomas Faber 3287e13f6f [GDI32_APITEST]
- Actually run the CreateIconIndirect test when it's called

svn path=/trunk/; revision=57164
2012-08-26 11:17:37 +00:00
Amine Khaldi dc347de6b4 [CMAKE]
* Escape the source folder here.

svn path=/trunk/; revision=57163
2012-08-26 11:14:52 +00:00
Aleksey Bragin d176c89f74 [SYSCALLS]
- Remove old unnecessary copy of syscalls.inc

svn path=/trunk/; revision=57162
2012-08-26 10:22:39 +00:00
Thomas Faber d9e106e264 [NTOSKRNL]
- Revert r57155 until test issues are fixed

svn path=/trunk/; revision=57161
2012-08-26 09:22:09 +00:00
Jérôme Gardou e524c90e6a [OPENGL32_WINETEST]
- Sync with wine

svn path=/trunk/; revision=57160
2012-08-26 09:17:35 +00:00
Timo Kreuzer dcc3ed4985 [PSEH2]
PSEH2 uses a special mechanism to deal with nested try blocks inside the same function. Instead of pushing a second exception registration record on the exception list, it uses an internal pointer to handle the different try-levels.
But when a function using SEH is inlined, the resulting code will push 2 registration frames on the stack. Now it happens with GCC 4.7.1 that these frames get shuffled on the stack, putting one for the inner try on a higher stack address. This is something that RtlUnwind regards as a bug and throws a STATUS_INVALID_UNWIND_TARGET exception. This was the reason for the crashing PSEH2_TEST, when compiled with GCC 4.7.1.
To fix this, I added a mechanism that will prevent functions using SEH from being inlined.

svn path=/trunk/; revision=57159
2012-08-25 22:19:02 +00:00
Eric Kohl a057794799 [ADVAPI32/LSASRV]
- Implement LsaCreateSecret/LsarCreateSecret, LsaOpenSecret/LsarOpenSecret,  LsaGetSystemAccessAccount/ LsarGetSystemAccessAccount and LsarSetSystemAccessAccount
- Improve some TRACE messages.

svn path=/trunk/; revision=57158
2012-08-25 15:40:06 +00:00
Timo Kreuzer 01800e8784 [GDI32_APITEST]
Fix use of uninitialized variables and remove broken test.
See issue #7299 for more details.

svn path=/trunk/; revision=57157
2012-08-24 20:25:29 +00:00
Aleksey Bragin ac719ab15d [NTDLL/LDR]
- Check result of walking the import descriptor and properly fail in case it wasn't successful.
See issue #7289 for more details.

svn path=/trunk/; revision=57156
2012-08-24 17:50:56 +00:00
Alex Ionescu bdfa3a9d79 [NTOSKRNL]: Cleanup MmCreateArm3Section a little bit to handle file-backed sections in the future.
[NTOSKRNL]: Remove an ASSERT(FALSE) that was only there for testing.
[NTOSKRNL]: Enable richard's ARM3 section code unconditionally for all non-file backed sections. Works4me. Let's see what Testbot says.

svn path=/trunk/; revision=57155
2012-08-24 17:17:36 +00:00
Jérôme Gardou a92cb2d0b2 [CMAKE]
- Fix build, sorry

svn path=/trunk/; revision=57154
2012-08-24 16:29:37 +00:00
Jérôme Gardou 7306a8ad57 [OPENGL]
- Add some optimizations (GCC) on compilation of libMesa
- Move opengl32 to the opengl directory
- Disable ICD refcounting for now, it does more harm than good.

svn path=/trunk/; revision=57153
2012-08-24 16:28:09 +00:00
Amine Khaldi 101b6555b7 [CMAKE/MSVC]
* Call cl directly instead of its full path using <CMAKE_C_COMPILER>. Figuring out why it didn't work is left as an exercise for the reader.

svn path=/trunk/; revision=57152
2012-08-24 16:21:33 +00:00
Amine Khaldi 01c8c03edb [CMAKE/MSVC]
Hermès Bélusca:
* Fix a bug in the way we compiled the boot sectors on the x64 build.
* Consistently set the mc compiler, like gcc builds.
* Use proper variables when referring to the compilers.
See issue #7297 for more details.

svn path=/trunk/; revision=57151
2012-08-24 15:36:17 +00:00
Thomas Faber 7eaab92549 [ADVAPI32]
- Correctly handle NULL passwords for services. Patch by Hermès Bélusca. Fixes crash in advapi32_winetest:service. See bug 7239, bug 7293.

svn path=/trunk/; revision=57150
2012-08-24 12:52:29 +00:00
Cameron Gutman afd0458148 [MSAFD]
- Stubplement support for SIOCATMARK
[WSHTCPIP]
- Add better debugging for unsupported options
- Implement setting SO_DONTROUTE (nop)
- Return WSAENOPROTOOPT for invalid SOL_SOCKET options

svn path=/trunk/; revision=57149
2012-08-24 06:23:45 +00:00
Alex Ionescu 35673d4a7a [NTOSKRNL]: Fix broken way we were creating prototype PTEs, which was only supporting 256MB worth of prototype PTE area instead of 1GB.
[NTOSKRNL]: Add support (macros) for subsection PTEs.

svn path=/trunk/; revision=57148
2012-08-24 06:08:20 +00:00
Cameron Gutman dab0273c89 [AFD]
- Fix a bug causing FIONREAD to return an incorrect value after a datagram receive completes when only returning a subset of the data (returns WSAEMSGSIZE)

svn path=/trunk/; revision=57147
2012-08-24 06:03:25 +00:00
Eric Kohl 5fd0a21ec7 [ADVAPI32/SERVICES]
Little improvements to advapi32.dll / services.exe.
Patch by Hermes Belusca.
See issue #7239 for more details.

svn path=/trunk/; revision=57146
2012-08-23 20:24:00 +00:00
Jérôme Gardou 6431b75749 [GLU32]
- Use up-to-date mesa3d version

svn path=/trunk/; revision=57145
2012-08-23 19:45:25 +00:00
Jérôme Gardou ec399de35e [WINGDI.H]
- Take the NOGDI define into account

svn path=/trunk/; revision=57144
2012-08-23 19:41:19 +00:00
Amine Khaldi 4f7e723359 [TCPIP]
* Fix a read-after-free. CID 716802.

svn path=/trunk/; revision=57143
2012-08-23 16:21:28 +00:00
Thomas Faber eb61421992 [FREELDR]
- Add missing bugcodes dependency in the object library case

svn path=/trunk/; revision=57142
2012-08-23 12:14:48 +00:00
Timo Kreuzer 1a0a97d909 [FREELDR]
Improve readability of sector calculation

svn path=/trunk/; revision=57141
2012-08-23 12:02:30 +00:00
Jérôme Gardou 10852819e3 [CMAKE]
- Get rid of __ROS_CMAKE__ definition

svn path=/trunk/; revision=57140
2012-08-23 11:30:26 +00:00
Jérôme Gardou 254b5617e2 [MESA]
- Add a small "how to upgrade" guide

svn path=/trunk/; revision=57139
2012-08-22 20:55:42 +00:00
Jérôme Gardou ae2e8ad562 [WIN32K]
- Use DC_vPrepareDCsForBlit in DIB transfer functions, as per Timo's remarks.

svn path=/trunk/; revision=57138
2012-08-22 20:11:41 +00:00
Jérôme Gardou 79c2bd51a0 [OPENGL32_WINETEST]
- Fix crash with gallium3d ICD.
Already sent to wine

svn path=/trunk/; revision=57137
2012-08-22 18:45:25 +00:00
Jérôme Gardou 590268d3d8 [INCLUDE/C++]
- Add fake iostream headers to fix MSVC compilation
- hack numerical_limits<float>::infinity() implementation until we have a real C++ library
Oddly, empty headers seem to be enough for now

svn path=/trunk/; revision=57136
2012-08-22 18:42:57 +00:00
Jérôme Gardou c4375a16a5 [OPENGL]
- Remove old libmesa code base

svn path=/trunk/; revision=57135
2012-08-22 18:39:07 +00:00
Jérôme Gardou 1d5cb999d8 [HIVESFT]
- Use right driver version for new mesa driver

svn path=/trunk/; revision=57134
2012-08-22 18:38:02 +00:00
Jérôme Gardou d8ac969536 [[MESA]
- Fix compilation for case sensitive systems

svn path=/trunk/; revision=57133
2012-08-22 18:36:12 +00:00
Jérôme Gardou dc450af0bf [MESA]
- Try to fix weird buildbot failure

svn path=/trunk/; revision=57132
2012-08-22 18:28:22 +00:00
Jérôme Gardou f593d6a4ad [C++]
- don't include stlport headers, we don't even use it

svn path=/trunk/; revision=57131
2012-08-22 18:25:58 +00:00
Jérôme Gardou 25c54a61a4 [OPENGL]
- Import newest libMesa version, featuring functional gallium3D opengl ICD.
- Test app was Baldur's Gate (ddraw app, using wined3d)
- dll/opengl directory will contain more stuff later.

svn path=/trunk/; revision=57130
2012-08-22 17:58:09 +00:00
Jérôme Gardou c0a0dfce29 [WIN32K]
- Use the right surface for direct DCs in DIB transfer functions
It could have changed with a display settings change

svn path=/trunk/; revision=57129
2012-08-22 16:45:49 +00:00
Thomas Faber 7237d37b88 [RTL]
- Check the correct return status in RtlCreateUserProcess (CID 715961)

svn path=/trunk/; revision=57128
2012-08-22 11:35:19 +00:00
Thomas Faber b2fa124766 [DEVMGR] - Actually fail on error in AllocAndLoadStringsCat (CID 716793/716794)
[IPHLPAPI] - Fix a use after free in getNthInterfaceEntity (CID 716795 - partly reverts r53190). Fix a possible double free in getArpTable (CID 716796).

svn path=/trunk/; revision=57127
2012-08-22 09:39:57 +00:00
Jérôme Gardou a4a967f486 [WIN32K]
- Fix complation when using diblib

svn path=/trunk/; revision=57126
2012-08-22 08:33:27 +00:00