Commit graph

20692 commits

Author SHA1 Message Date
Alex Ionescu afea80bbe4 - Make sure callers of NtMakeTemporaryObject have DELETE privileges, otherwise they could end up illegaly killing objects (in certain situations)
- Make sure callers of NtMakePermanentObject have SeCreatePermanentPrivilege.
- Implement ObpDeleteNameCheck as described in Gl00my's Ob Documentation (using such documentation falls under US Reverse Engineering Law - Clean rooming).
- Remove duplicated code in ObpDecrementHandleCount and ObpSetPermanentObject and have them use ObpDeleteNameCheck instead.
- Fixes thanks to using this routine:
  * Name-check is now properly done.
  * The keep-alive reference is now deleted when going from permanent->temporary object.
  * The parent directory is now dereferenced and cleared when deleting the object.
  * The security procedure is now called to delete the SD, and the name buffer is freed. 
- Remove ObGetObjectHandleCount, it's not a public function.


svn path=/trunk/; revision=22244
2006-06-06 04:52:08 +00:00
Alex Ionescu 50224a4d55 - Fix bug in IoCreateFile which my (correct) ObReferenceObjectByHandle bugfix patch uncovered. Bootcd/installation works again.
svn path=/trunk/; revision=22243
2006-06-06 02:07:55 +00:00
Hervé Poussineau b3f2b879b0 Set libraries as project dependencies
svn path=/trunk/; revision=22242
2006-06-05 21:46:14 +00:00
Ged Murphy 485867fdaf silence some rather annoying alignment errors when building with msvc
svn path=/trunk/; revision=22240
2006-06-05 19:00:52 +00:00
Hervé Poussineau 67189b431d Change some DPRINT1 to DPRINT, as they were prior revision 21880.
svn path=/trunk/; revision=22239
2006-06-05 16:41:03 +00:00
Ged Murphy a10b3f2380 - implement menu hints
- load separate 24bit bitmaps for the icons
- fix image list loading
- lots of other little tweaks and changes

svn path=/trunk/; revision=22238
2006-06-05 16:34:38 +00:00
Hervé Poussineau 2a685bbbfe Read EDID information from screen (if possible) in HwGetVideoChildDescriptor.
Still doesn't do anything useful with it, but that's a start ;)

svn path=/trunk/; revision=22237
2006-06-05 16:31:24 +00:00
Saveliy Tretiakov 56f9a0a548 add missing check for null return
svn path=/trunk/; revision=22236
2006-06-05 15:38:04 +00:00
Saveliy Tretiakov b1e6b788ce Add Johannes Anderwald to credits.
svn path=/trunk/; revision=22235
2006-06-05 14:39:09 +00:00
Saveliy Tretiakov c43a77ea7d [AUDIT]
\trunk\reactos\dll\win32\lzexpand (unlocked)
No code.


svn path=/trunk/; revision=22234
2006-06-05 14:35:31 +00:00
Saveliy Tretiakov 8177ebd451 [AUDIT]
\trunk\reactos\base\applications\shutdown (unlocked)
I looked through code and found no signs of reverse engeneering.


svn path=/trunk/; revision=22233
2006-06-05 14:32:28 +00:00
Alex Ionescu a46ee938fa - Rename ObpCreateTypeObject to ObCreateObjectType and fix definition. The latter is actually exported in NT, and there's no reason not to export it while having our own internally renamed version.
- Added stub exports for ObCloseHandle, ObReferenceSecurityDesciptor, ObSetHandleAttributes, ObSetSecurityObjectByPointer so that someday someone can know what needs to be implemented.
- Removed ObGetObjectPointerCount. It is not exported in newer OSes and was always undocumented.
- Move ObQueryObjecctAuditingByHandle to security.c and optimized it not to attach to the system process, as well as to cache the handle table instead of dereferencing the owner process all the time.

svn path=/trunk/; revision=22232
2006-06-05 06:31:42 +00:00
Alex Ionescu 0aeaea0fb7 - Fixed formatting/commented/annotated ObReferenceObjectByHandle.
- Bug fixes:
  * Remove MAXIMUM_ALLOWED<->GENERIC_ALL conversion, I could find no mention of this in the docs.
  * Remove GENERIC_ACCESS <-> RtlMapGenericMask conversion, I could find no mention of this in the docs, and this mapping is only required when creating handles, not when referencing pointers.
- Optimizations:
  * Restructure code and remove code which was sometimes duplicated up to 5 times.
  * Do not attach/detach from the system process, this isn't required since we're merely getting a kernel pointer from the handle netry.
  * Directly increase the pointer count instead of calling ObReferenceObject, since we already have the object header in a variable.
  * Cache ObpKernelHandleTable/Process->ObjectTable and use those directly instead of always de-referencing the process.

svn path=/trunk/; revision=22231
2006-06-05 05:07:44 +00:00
Alex Ionescu 36f116cdd8 - Simplify ObGetObjectPointerCode and ObfReferenceObject.
- Fix ObReferenceObjectByPointer to actually work like documented instead of doing random incorrect checks. Also add special case for Symbolic Link objects as documented by Caz Yokoyama at Microsoft.

svn path=/trunk/; revision=22230
2006-06-05 00:32:26 +00:00
Alex Ionescu 137f145eb6 - Formatting/comment fixes.
svn path=/trunk/; revision=22229
2006-06-05 00:16:14 +00:00
Alex Ionescu 02d0bb9dbd - Fix ExChangeHandle not to send NULL but the actual context to the callback function (fix by Thomas Weidenmueller <w3seek@reactos.org>)
- Re-implement NtSetInformationObject based on ExChangeHandle and using ObpSetHandleAttributes as a callback.
- Re-implement NtQueryObject's ObjectHandleInformation case to simply return the information that's already in HandleAttributes; there is no point in querying for it all over again.
- Fix NtSetInformationObject not to allow a user-mode call to modify kernel-mdoe handle attributes. Add FIXME for Inheritance permissions check.
- Fix NtQueryObject to properly return OBJ_PERMANENT and OBJ_EXCLUSIVE; these flags are not stored in Handle Attributes.
- Fix NtQueryObject not to attempt referencing the handle if the caller specified AllTypesInformation, because then a handle is not needed.

svn path=/trunk/; revision=22228
2006-06-05 00:04:36 +00:00
Art Yerkes 7c2e312093 Sorry reverted. GreatLord says this is fixed in the wrong place.
svn path=/trunk/; revision=22227
2006-06-04 23:33:27 +00:00
Art Yerkes 6d676e6e95 Fix one wine test. Don't accept an option string that starts with =.
svn path=/trunk/; revision=22226
2006-06-04 23:30:29 +00:00
Eric Kohl de5ef123ee Fix indentation
svn path=/trunk/; revision=22225
2006-06-04 21:34:02 +00:00
Martin Fuchs 48badfaf22 fix language constant to LANG_BENGALI
svn path=/trunk/; revision=22224
2006-06-04 21:07:01 +00:00
Martin Fuchs 93fafae8ff set eol-style to native
svn path=/trunk/; revision=22223
2006-06-04 20:57:51 +00:00
Hervé Poussineau da27830782 Fix little spelling mistakes
Set svn:eol-style to native

svn path=/trunk/; revision=22222
2006-06-04 20:31:42 +00:00
Hervé Poussineau df3e3981c8 Fix DPFLTR_IHVVIDEO_ID constant value
svn path=/trunk/; revision=22221
2006-06-04 20:10:02 +00:00
Martin Fuchs bf3af9216b Patch of Coviti: change "Reactos" texts to "ReactOS"
svn path=/trunk/; revision=22220
2006-06-04 20:07:56 +00:00
Magnus Olsen b2c2d86a42 fixing one more of wine msvcrt printf test
svn path=/trunk/; revision=22219
2006-06-04 19:20:20 +00:00
Eric Kohl 0c13f30550 Add PNP_AddID stub and implement CM_Add_ID_ExW.
svn path=/trunk/; revision=22218
2006-06-04 19:12:58 +00:00
Aleksey Bragin 39635013ab Add a little more tests for Mdl testing, only 1 failes in ReactOS currently
svn path=/trunk/; revision=22217
2006-06-04 18:27:48 +00:00
Art Yerkes eac8defeed Fix four winetests from msvcrt:file.c
- The winetests show that the pointer never moves after calling chsize.
- Using SetEndOfFile is the best way to do this.  I wrote a test case that 
  uses WriteFile as we did before and it did not expand the file past eof.

svn path=/trunk/; revision=22216
2006-06-04 17:24:37 +00:00
Magnus Olsen 36329fccb0 [AUDIT] this code is clean, for it is from DJGPP
svn path=/trunk/; revision=22215
2006-06-04 17:22:12 +00:00
Magnus Olsen 5f286cc809 fixing 24 bugs in *printf string version. we are failing 34 test in wine_test msvcrt printf
svn path=/trunk/; revision=22214
2006-06-04 17:15:47 +00:00
Hervé Poussineau 1988057885 Fix call to IOCTL_SERIAL_PURGE
svn path=/trunk/; revision=22213
2006-06-04 16:32:54 +00:00
Hervé Poussineau bfa0a5c6e1 Display an error message only if we're not in the "load only boot drivers" phase
svn path=/trunk/; revision=22212
2006-06-04 16:30:27 +00:00
Johannes Anderwald 18fbc81749 revert _strdate modifications
svn path=/trunk/; revision=22211
2006-06-04 14:24:45 +00:00
Aleksey Bragin c4dded32e8 Fix some warnings
svn path=/trunk/; revision=22210
2006-06-04 14:24:08 +00:00
Aleksey Bragin 5eb09b8ac5 Delete unneeded makefile
svn path=/trunk/; revision=22209
2006-06-04 14:19:48 +00:00
Aleksey Bragin 42f34ff7ba - Add csqtest to build-system
- Add initial Kernel-Mode regression testing framework (thanks to Filip Navara for his PnPTest, thanks to Alexandre Julliard for Wine regression testing framework). Framework consists of: the driver (kmtest.sys) and the loader (kmtloader.exe).

svn path=/trunk/; revision=22208
2006-06-04 14:18:24 +00:00
Hervé Poussineau b5d6466d79 Convert result struct only if NtUserEnumDisplaySettings returned success
svn path=/trunk/; revision=22207
2006-06-04 14:10:21 +00:00
Hervé Poussineau c373b8ba66 Don't crash when no working display adapter is present
svn path=/trunk/; revision=22206
2006-06-04 14:09:29 +00:00
Hervé Poussineau cc12e88784 Convert result struct only if NtUserEnumDisplayDevices returned success
svn path=/trunk/; revision=22205
2006-06-04 13:36:39 +00:00
Johannes Anderwald 36c9262fd0 _strdate should return maximum 8 chars
does not work yet

svn path=/trunk/; revision=22204
2006-06-04 13:20:09 +00:00
Hervé Poussineau 8d494b3a7b IntEnumDisplaySettings returns a BOOL, not a NTSTATUS
svn path=/trunk/; revision=22203
2006-06-04 13:09:25 +00:00
Johannes Anderwald 5c8fb36ad3 make _tfullpath pass all msvcrt_winetest dir tests
svn path=/trunk/; revision=22202
2006-06-04 10:23:28 +00:00
Magnus Olsen 9f044aa4d8 [AUDIT] this code is clear, no signs of revers is found it is only around 3-4 line of one function
svn path=/trunk/; revision=22201
2006-06-04 10:14:45 +00:00
Magnus Olsen c92839403a do not cuase crash in dhcp when no networkcard is found
svn path=/trunk/; revision=22200
2006-06-03 20:29:26 +00:00
Magnus Olsen dd6d911c37 sorrry I did break the build
svn path=/trunk/; revision=22198
2006-06-03 17:45:07 +00:00
Magnus Olsen 4eada6f8bd fixing malloc and realloc so it return right value
do not mix the doc over malloc and realloc. Thanks filip
<filip2307> malloc(0) -> valid buffer
<GreatLord> then I revert that change
<filip2307> realloc(<non-null pointer>, 0) -> NULL
<filip2307> realloc(NULL, 0) -> valid buffer

svn path=/trunk/; revision=22197
2006-06-03 17:40:23 +00:00
Magnus Olsen f895d5ab82 Fix overflow caltions bugs in varus memmory functions, Thanks irc : Elrond (from TNG) for fixing calloc overflow bug.
svn path=/trunk/; revision=22196
2006-06-03 17:18:09 +00:00
Magnus Olsen 3b3b7ad5fd make malloc, calloc and some other function return NULL if size is 0
svn path=/trunk/; revision=22195
2006-06-03 13:22:11 +00:00
Magnus Olsen 19a69b58d8 [AUDIT] this code is clear, no signs of revers is found it is only around 2-3 line of each functions
svn path=/trunk/; revision=22194
2006-06-03 13:20:03 +00:00
Johannes Anderwald e475b7f360 re-enable lock
svn path=/trunk/; revision=22193
2006-06-03 12:53:45 +00:00