- Add call to SeOpenObjectAuditAlarm in ObCheckObjectAccess.
- Start adding Ob Callout validation on checked builds. For now only done around security functions.
- Set *MemoryAllocated to FALSE in ObGetObjectSecurity early on to avoid inconcistent state if the callback failed.
- Implement new XP function ObSetSecurityObjectByPointer and simplify NtSetSecurityObject by making it use it.
- More Win 2003 SecurityDescriptor Cache functions to sdcache instead of obsecure.c.
svn path=/trunk/; revision=25240
- Fail if memory allocation failed.
- Don't overwrite original captured handle value when decoding to kernel handle.
- Use PAGED_CODE.
- Check timeout validity first before probing the entire handle array.
- Fix a critical bug in NtSignalAndWaitForObject which was using the wrong object type (waitable object instead of signalled objecT).
svn path=/trunk/; revision=25239
- Fix architectural bug in the entire TrapFrame<->Context conversion system and Ring Privilege Transitions (Inter-ring and intra-ring) which was lacking proper sanitation and validation of segments, flags and debug registers. Among other things, IOPL is now respected, CS is not KGDT_R0_CODE | RPL_MASK anymore, and the GPF code is now properly being called. This completely fixes exception handling being totally broken and crashing firefox installer, mirc, and other applications.
- Rewrite the page fault handler base code in assembly instead of relying on a broken C routine. Detect VDM, V8086, detecting expected/normal fault in ExpInterlockedPopEntrySList and faults in the system handler code. Rewrite MmAccessFault to be the main function that calls out to other sub-fault functions, and use the same prototype as NT.
- Fix the KGDT boot table to have proper granularity and big flags, and extend it to 256 entries.
- Create proper thread context in RtlInitializeContext and cleanup Rtl Thread routines.
- Remove all int3 and breakpoints from trap handlers, and replace them with a much better "UNHANDLED_PATH" macro which freezes the system, beeps, and displays a message with the line of code that's unhandled. This is to clearly tell the user that something is unhandled, instead of nesting infinite exceptions due to the int3.
- Fix a bug in INT_PROLOG.
- Sanitize EFLAGS and Code Segments in KeContextToTrapFrame and KeTrapFrameToContext.
- Implement KiUpdateDr7 and KiRecordDr7 as well as DR_MASK and other DR-validation macros and functions to protect against DR-vulnerabilites as well as to properly account for each active hardware breakpoint in a per-thread fashion by using the dispatcher header.
- Allow CR0_EM when running in a VDM.
- Fix FPU/NPX Register handling in KeContextToTrapFrame and KeTrapFrameToContext, and also speed it up by manual copying instead of a memory move.
- Properly give IOPL 3 to user-mode threads if they requested it.
- Detect GPF during GPF.
- Detect pagefault with a trap-frame spread over two or more pages and nested.
- Properly sanitize and set correct trap frame in KiInitailizeUserApc.
- Return STATUS_ACCESS_VIOLATION during page faults instead of STATUS_UNSUCESSFUL.
- Fix assert in VdmSwapContext, as well as Code Selector check which was broken.
- Fix delayed object deletion (ObDeferDeleteObject) and the Ob Repear Routine and list.
- Update Kernel Fun.
- BUGBUG: Temporaily hack VMWare to detection to always detect VMWare.
svn path=/trunk/; revision=25238
this code can be makefaster, how remove getpixel that will doing huge incress in speed, split calc to
simple 1x 2x .. zoom in/out now we are using 1.1x 2.2x Zoom and 1x 2x zoom same code. if we split it we will
see a speed incress.
svn path=/trunk/; revision=25237
ogrinal author of this patch is royce3, modify by tinus so it work again with trunk, ThePhysicist (timo dot kreuzer at web dot de) did fix the last bugs in it. at last long leave freetype glyth patch, now we got faster text output in reactos. and I where up to 38fps in winquake with this patch (debugbuild + serial debug on). This is very fast. I wonder what speed it give in release build or qemu now.
See issue #511 for more details.
svn path=/trunk/; revision=25236
- Rename SCM_START_COMMAND to SCM_CONTROL_START and use the unused value 0 of the SERVICE_CONTROL_ constants.
- Implement stop command.
svn path=/trunk/; revision=25231
Physicus 24.12.2006 14:31: There's a bug in downloader: when you select Internet then click on Firefox then on Games & Fun, you will find putty there.
svn path=/trunk/; revision=25223
small speed in-cress, remove freeldr ros glue C version of memcpy, memcmp, isalnum, labs and replace it from reactos string.a
we got asm version of most of them, so that is reason to the speed in-cress of freeldr, freeldr are still slow in reactos thanks
to our win32k, for we do not cahced the glyth yet.
svn path=/trunk/; revision=25216