- Fix ObReferenceObjectByName to do proper name validation checks.
authorAlex Ionescu <aionescu@gmail.com>
Mon, 8 Jan 2007 08:03:47 +0000 (08:03 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Mon, 8 Jan 2007 08:03:47 +0000 (08:03 +0000)
commit74332efe6339ddea22da872ff5e389172e77bf82
tree7955cf857f9eabd20b0fe929f6bde2d357aaead5
parent956ae8b6f1c5193502b51f8227974498c3783ebd
- Fix ObReferenceObjectByName to do proper name validation checks.
- Fix ObReferenceObjectByName to call ObpCheckObjectReference before allowing the caller to obtain the reference.
- Rename ObFindObject to ObpLookupObjectName and shuffle parameters around and add some placeholder code that resets the object pointer of the lookup context.
- Modify ObpChargeQuotaForObject to also return if this is a new object.
- Modify ObpDecrementHandleCount to detect when objects with a handle database are being used. Also protect close callout with checks. Protect ObpCloseHAndleTableEntry's callouts with checks as well.
- Update logic of ObpIncrementHandleCount and ObpIncrementUnnamedHandleCount to handle currently exclusive objects as well as new handles with OBJ_EXCLUSIVE. Also detect objects that require handle databases and protect callouts.
- Support CreatorInfo and the TypeList in ObpIncrementHandleCount. Also update the TotalNumberOfHandles in the object type properly.
- Fixup object type lock usage in these routines.
- Do proper invalid attributes check in ObOpenObjectByName, and also use a buffer from the pool instead of the stack.
- Make ObInsertObject detect invalid object insertions and change some parameter names and checks.
- Add stub code to validate the access mask in ObInsertObject. Proper initailize some lookup variables before starting lookup.
- Add detection for symbolic link inserts which require some handling code later on.
- Free the create information at the right moment isntead of too late.
- Add some missing Ob functions, flags and types to the NDK. Fix OBJECT_DIRECTORY structure to use EX_PUSH_LOCK for locks, not ERESOURCE.

svn path=/trunk/; revision=25372
reactos/include/ndk/iotypes.h
reactos/include/ndk/obtypes.h
reactos/ntoskrnl/include/internal/ob.h
reactos/ntoskrnl/ob/obhandle.c
reactos/ntoskrnl/ob/obname.c
reactos/ntoskrnl/ob/obref.c