* Call SepCreateSystemProcessToken() when creating the
initial system process. Cleanup the token during
in PiDeleteProcess().
* Call SepInitializeNewProcess() during NtCreateProcess
to copy the parent processes token to the new process.
ntoskrnl/include/internal/se.h
ntoskrnl/se/token.c
* Change name of SepDuplicationToken() [which was unimplemented]
to SepDuplicateToken(). Implement it.
* Implement new functions (which are used by process.c)
SepInitializeNewProcess() and SepCreateSystemToken().
* Correctly (I think) set Token->ImpersonationLevel in
NtCreateToken().
apps/tests/tokentest/tokentest.c
* Dump the current processes token.
svn path=/trunk/; revision=3113
* Move SeInit2() to before we initialize process
management so we can create an initial system
token to go with the initial system process.
ntoskrnl/ps/process.c
* Implement NtOpenProcessToken() by calling
_NtOpenProcessToken() -- why do we have
both of these?
* Fix bug in _NtOpenProcessToken() that
caused us to crash creating the token
handle.
* Return STATUS_INVALID_INFO_CLASS from
NtQueryInformationProcess() and
NtSetInformationProcess() for information classes
documented as unqueryable or unsettable
by Gary Nebbet in his book "Native API Reference".
* Fix bug in NtSetInformationProcess() where it
assigns the primary token -- it derefeneced the
old token if SeExchangePrimaryToken() failed;
it should have derferenced it if it succeeded.
svn path=/trunk/; revision=3112
* tools/help.mk: Make the install target depend on all the
files to be installed.
2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
top of the old stack.
* ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
the new stack. Free the callback stack correctly. Don't copy
portion of the trap frame that doesn't exist in non-v86-mode
interrupts.
* ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
free a stack allocated with PsAllocateCallbackStack.
2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* drivers/dd/null/makefile: Commented out local LDFLAGS as
these cause bad relocations in the stripped image.
2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* config: Corrected spelling error.
svn path=/trunk/; revision=3107
Fix check for NULL Buffer (it was checking for non-null Buffer).
Fix length field when printing unicode strings; it was printing twice as many characters as it should have.
(Patch by Joseph Galbraith)
svn path=/trunk/; revision=3091
initializing the DeviceNode->ServiceName, since IopFreeDeviceNode()
will use RtlFreeUnicodeString() on it.
* Call ObDereferenceObject() instead of ExFreePool() to release the
DeviceObject if DriverEntry fails.
Patch from Joseph Galbraith.
svn path=/trunk/; revision=3053