Fixed a long-standing hack to open symbolic link objects.

svn path=/trunk/; revision=3133
This commit is contained in:
Eric Kohl 2002-06-20 21:31:39 +00:00
parent 27a682e098
commit 5bba28324f
9 changed files with 10 additions and 17 deletions

View file

@ -1,6 +1,6 @@
#ifndef _INCLUDE_DDK_OBTYPES_H #ifndef _INCLUDE_DDK_OBTYPES_H
#define _INCLUDE_DDK_OBTYPES_H #define _INCLUDE_DDK_OBTYPES_H
/* $Id: obtypes.h,v 1.14 2001/12/05 01:40:23 dwelch Exp $ */ /* $Id: obtypes.h,v 1.15 2002/06/20 21:28:55 ekohl Exp $ */
struct _DIRECTORY_OBJECT; struct _DIRECTORY_OBJECT;
struct _OBJECT_ATTRIBUTES; struct _OBJECT_ATTRIBUTES;
@ -93,7 +93,6 @@ typedef struct _OBJECT_TYPE
PVOID *NextObject, PVOID *NextObject,
PUNICODE_STRING FullPath, PUNICODE_STRING FullPath,
PWSTR *Path, PWSTR *Path,
struct _OBJECT_TYPE* ObjectType,
ULONG Attributes); ULONG Attributes);
/* /*

View file

@ -349,7 +349,6 @@ CmiObjectParse(IN PVOID ParsedObject,
OUT PVOID *NextObject, OUT PVOID *NextObject,
IN PUNICODE_STRING FullPath, IN PUNICODE_STRING FullPath,
IN OUT PWSTR *Path, IN OUT PWSTR *Path,
IN POBJECT_TYPE ObjectType,
IN ULONG Attribute); IN ULONG Attribute);
NTSTATUS STDCALL NTSTATUS STDCALL

View file

@ -33,7 +33,6 @@ CmiObjectParse(PVOID ParsedObject,
PVOID *NextObject, PVOID *NextObject,
PUNICODE_STRING FullPath, PUNICODE_STRING FullPath,
PWSTR *Path, PWSTR *Path,
POBJECT_TYPE ObjectType,
ULONG Attributes) ULONG Attributes)
{ {
BLOCK_OFFSET BlockOffset; BLOCK_OFFSET BlockOffset;

View file

@ -163,7 +163,6 @@ ExpWinStaObjectParse(PVOID Object,
PVOID *NextObject, PVOID *NextObject,
PUNICODE_STRING FullPath, PUNICODE_STRING FullPath,
PWSTR *Path, PWSTR *Path,
POBJECT_TYPE ObjectType,
ULONG Attributes) ULONG Attributes)
{ {
PVOID FoundObject; PVOID FoundObject;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* $Id: arcname.c,v 1.3 2002/05/05 14:57:43 chorns Exp $ /* $Id: arcname.c,v 1.4 2002/06/20 21:30:33 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -232,7 +232,7 @@ IoCreateSystemRootLink(PCHAR ParameterLine)
InitializeObjectAttributes(&ObjectAttributes, InitializeObjectAttributes(&ObjectAttributes,
&ArcName, &ArcName,
0, OBJ_OPENLINK,
NULL, NULL,
NULL); NULL);

View file

@ -1,4 +1,4 @@
/* $Id: symlink.c,v 1.26 2002/04/15 12:38:01 ekohl Exp $ /* $Id: symlink.c,v 1.27 2002/06/20 21:30:33 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -82,7 +82,6 @@ IopParseSymbolicLink(PVOID Object,
PVOID * NextObject, PVOID * NextObject,
PUNICODE_STRING FullPath, PUNICODE_STRING FullPath,
PWSTR * RemainingPath, PWSTR * RemainingPath,
POBJECT_TYPE ObjectType,
ULONG Attributes) ULONG Attributes)
{ {
PSYMLNK_OBJECT SymlinkObject = (PSYMLNK_OBJECT) Object; PSYMLNK_OBJECT SymlinkObject = (PSYMLNK_OBJECT) Object;
@ -94,7 +93,7 @@ IopParseSymbolicLink(PVOID Object,
* the desired object is a symbolic link object. * the desired object is a symbolic link object.
*/ */
if (((*RemainingPath == NULL) || (**RemainingPath == 0)) && if (((*RemainingPath == NULL) || (**RemainingPath == 0)) &&
(ObjectType == IoSymbolicLinkType)) (Attributes & OBJ_OPENLINK))
{ {
DPRINT("Parsing stopped!\n"); DPRINT("Parsing stopped!\n");
*NextObject = NULL; *NextObject = NULL;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* $Id: main.c,v 1.126 2002/06/17 22:16:33 joeg Exp $ /* $Id: main.c,v 1.127 2002/06/20 21:31:01 ekohl Exp $
* *
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/main.c * FILE: ntoskrnl/ke/main.c
@ -182,7 +182,7 @@ InitSystemSharedUserPage (PCSZ ParameterLine)
InitializeObjectAttributes (&ObjectAttributes, InitializeObjectAttributes (&ObjectAttributes,
&ArcName, &ArcName,
0, OBJ_OPENLINK,
NULL, NULL,
NULL); NULL);
@ -229,7 +229,7 @@ InitSystemSharedUserPage (PCSZ ParameterLine)
InitializeObjectAttributes (&ObjectAttributes, InitializeObjectAttributes (&ObjectAttributes,
&DriveName, &DriveName,
0, OBJ_OPENLINK,
NULL, NULL,
NULL); NULL);

View file

@ -1,4 +1,4 @@
/* $Id: namespc.c,v 1.30 2002/03/06 12:40:47 ekohl Exp $ /* $Id: namespc.c,v 1.31 2002/06/20 21:31:39 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -248,7 +248,6 @@ ObpParseDirectory(PVOID Object,
PVOID * NextObject, PVOID * NextObject,
PUNICODE_STRING FullPath, PUNICODE_STRING FullPath,
PWSTR * Path, PWSTR * Path,
POBJECT_TYPE ObjectType,
ULONG Attributes) ULONG Attributes)
{ {
PWSTR end; PWSTR end;

View file

@ -1,4 +1,4 @@
/* $Id: object.c,v 1.50 2002/06/05 19:37:12 hbirr Exp $ /* $Id: object.c,v 1.51 2002/06/20 21:31:39 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -185,7 +185,6 @@ NTSTATUS ObFindObject(POBJECT_ATTRIBUTES ObjectAttributes,
&NextObject, &NextObject,
&PathString, &PathString,
&current, &current,
ObjectType,
ObjectAttributes->Attributes); ObjectAttributes->Attributes);
if (Status == STATUS_REPARSE) if (Status == STATUS_REPARSE)
{ {