ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
June 2009
----- 2024 -----
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
21 participants
496 discussions
Start a n
N
ew thread
[mjmartin] 41381: - FinishTest: Modify DbgPrint to match format of winetests. - Added basic tests for DriverObject, DeviceObject and Loading/Unloading of drivers. - Added kmtestassist to be used for testing Attached DeviceObject. - Added CreateLowerDeviceRegistryKey to manually create volatile registry entry for kmtestassist driver. - More tests still need to be implemented and still need a user mode application to control kmtest.
by mjmartin@svn.reactos.org
Author: mjmartin Date: Thu Jun 11 18:13:11 2009 New Revision: 41381 URL:
http://svn.reactos.org/svn/reactos?rev=41381&view=rev
Log: - FinishTest: Modify DbgPrint to match format of winetests. - Added basic tests for DriverObject, DeviceObject and Loading/Unloading of drivers. - Added kmtestassist to be used for testing Attached DeviceObject. - Added CreateLowerDeviceRegistryKey to manually create volatile registry entry for kmtestassist driver. - More tests still need to be implemented and still need a user mode application to control kmtest. Added: trunk/rostests/drivers/kmtest/devobj_test.c (with props) trunk/rostests/drivers/kmtest/drvobj_test.c (with props) trunk/rostests/drivers/kmtest/kmtestassist.c (with props) trunk/rostests/drivers/kmtest/kmtestassist.rbuild (with props) trunk/rostests/drivers/kmtest/reghelper.c (with props) Modified: trunk/rostests/drivers/directory.rbuild trunk/rostests/drivers/kmtest/kmtest.c trunk/rostests/drivers/kmtest/kmtest.h trunk/rostests/drivers/kmtest/kmtest.rbuild Modified: trunk/rostests/drivers/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/directory.rbuild?…
============================================================================== --- trunk/rostests/drivers/directory.rbuild [iso-8859-1] (original) +++ trunk/rostests/drivers/directory.rbuild [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -7,6 +7,9 @@ <directory name="kmtest"> <xi:include href="kmtest/kmtest.rbuild" /> </directory> + <directory name="kmtest"> + <xi:include href="kmtest/kmtestassist.rbuild" /> + </directory> <directory name="memtest"> <xi:include href="memtest/memtest.rbuild" /> </directory> Added: trunk/rostests/drivers/kmtest/devobj_test.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/devobj_tes…
============================================================================== --- trunk/rostests/drivers/kmtest/devobj_test.c (added) +++ trunk/rostests/drivers/kmtest/devobj_test.c [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -1,0 +1,266 @@ +/* + * Driver Regression Tests + * + * Copyright 2009 Michael Martin <martinmnet(a)hotmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* INCLUDES *******************************************************************/ + +#include "kmtest.h" +#include <ddk/ntddk.h> +#include <ddk/ntifs.h> +#include "ntddser.h" +#include "ntndk.h" + +VOID LowerDeviceKernelAPITest(PDEVICE_OBJECT DeviceObject, BOOLEAN UnLoading) +{ + PDEVICE_OBJECT RetObject; + + RetObject = IoGetLowerDeviceObject(DeviceObject); + + if (UnLoading) + { + ok(RetObject == 0, + "Expected no Lower DeviceObject, got %p", RetObject); + } + else + { + ok(RetObject == AttachDeviceObject, + "Expected an Attached DeviceObject %p, got %p", AttachDeviceObject, RetObject); + } + + if (RetObject) + { + ObDereferenceObject(RetObject); + } + + RetObject = IoGetDeviceAttachmentBaseRef(DeviceObject); + ok(RetObject == DeviceObject, + "Expected an Attached DeviceObject %p, got %p", DeviceObject, RetObject); + + if (RetObject) + { + ObDereferenceObject(RetObject); + } + +} +VOID DeviceCreatedTest(PDEVICE_OBJECT DeviceObject, BOOLEAN ExclusiveAccess) +{ + PEXTENDED_DEVOBJ_EXTENSION extdev; + + /*Check the device object members */ + ok(DeviceObject->Type==3, "Expected Type = 3, got %x", DeviceObject->Type); + ok(DeviceObject->Size = 0xb8, "Expected Size = 0xba, got %x", DeviceObject->Size); + ok(DeviceObject->ReferenceCount == 0, "Expected ReferenceCount = 0, got %lu", + DeviceObject->ReferenceCount); + ok(DeviceObject->DriverObject == ThisDriverObject, + "Expected DriverObject member to match this DriverObject %p, got %p", + ThisDriverObject, DeviceObject->DriverObject); + ok(DeviceObject->NextDevice == NULL, "Expected NextDevice to be NULL, got %p", DeviceObject->NextDevice); + ok(DeviceObject->AttachedDevice == NULL, "Expected AttachDevice to be NULL, got %p", DeviceObject->AttachedDevice); + ok(DeviceObject->Characteristics == 0, "Expected Characteristics to be 0"); + if (ExclusiveAccess) + { + ok((DeviceObject->Flags == (DO_DEVICE_HAS_NAME | DO_DEVICE_INITIALIZING | DO_EXCLUSIVE)), + "Expected Flags DO_DEVICE_HAS_NAME | DO_DEVICE_INITIALIZING | DO_EXCLUSIVE, got %lu", DeviceObject->Flags); + } + else + { + ok((DeviceObject->Flags == (DO_DEVICE_HAS_NAME | DO_DEVICE_INITIALIZING)), + "Expected Flags DO_DEVICE_HAS_NAME | DO_DEVICE_INITIALIZING, got %lu", DeviceObject->Flags); + } + ok(DeviceObject->DeviceType == FILE_DEVICE_UNKNOWN, + "Expected DeviceType to match creation parameter FILE_DEVICE_UNKNWOWN, got %lu", + DeviceObject->DeviceType); + ok(DeviceObject->ActiveThreadCount == 0, "Expected ActiveThreadCount = 0, got %lu\n", DeviceObject->ActiveThreadCount); + + /*Check the extended extension */ + extdev = (PEXTENDED_DEVOBJ_EXTENSION)DeviceObject->DeviceObjectExtension; + ok(extdev->ExtensionFlags == 0, "Expected Extended ExtensionFlags to be 0, got %lu", extdev->ExtensionFlags); + ok (extdev->Type == 13, "Expected Type of 13, got %d", extdev->Type); + ok (extdev->Size == 0, "Expected Size of 0, got %d", extdev->Size); + ok (extdev->DeviceObject == DeviceObject, "Expected DeviceOject to match newly created device %p, got %p", + DeviceObject, extdev->DeviceObject); + ok(extdev->AttachedTo == NULL, "Expected AttachTo to be NULL, got %p", extdev->AttachedTo); + ok(extdev->StartIoCount == 0, "Expected StartIoCount = 0, got %lu", extdev->StartIoCount); + ok(extdev->StartIoKey == 0, "Expected StartIoKey = 0, got %lu", extdev->StartIoKey); + ok(extdev->StartIoFlags == 0, "Expected StartIoFlags = 0, got %lu", extdev->StartIoFlags); +} + +VOID DeviceDeletionTest(PDEVICE_OBJECT DeviceObject, BOOLEAN Lower) +{ + PEXTENDED_DEVOBJ_EXTENSION extdev; + + /*Check the device object members */ + ok(DeviceObject->Type==3, "Expected Type = 3, got %d", DeviceObject->Type); + ok(DeviceObject->Size = 0xb8, "Expected Size = 0xba, got %d", DeviceObject->Size); + ok(DeviceObject->ReferenceCount == 0, "Expected ReferenceCount = 0, got %lu", + DeviceObject->ReferenceCount); + if (!Lower) + { + ok(DeviceObject->DriverObject == ThisDriverObject, + "Expected DriverObject member to match this DriverObject %p, got %p", + ThisDriverObject, DeviceObject->DriverObject); + } + ok(DeviceObject->NextDevice == NULL, "Expected NextDevice to be NULL, got %p", DeviceObject->NextDevice); + + if (Lower) + { + ok(DeviceObject->AttachedDevice == MainDeviceObject, + "Expected AttachDevice to be %p, got %p", MainDeviceObject, DeviceObject->AttachedDevice); + } + else + { + ok(DeviceObject->AttachedDevice == NULL, "Expected AttachDevice to be NULL, got %p", DeviceObject->AttachedDevice); + } + + ok(DeviceObject->Flags ==FILE_VIRTUAL_VOLUME, + "Expected Flags FILE_VIRTUAL_VOLUME, got %lu", DeviceObject->Flags); + ok(DeviceObject->DeviceType == FILE_DEVICE_UNKNOWN, + "Expected DeviceType to match creation parameter FILE_DEVICE_UNKNWOWN, got %lu", + DeviceObject->DeviceType); + ok(DeviceObject->ActiveThreadCount == 0, "Expected ActiveThreadCount = 0, got %lu\n", DeviceObject->ActiveThreadCount); + + /*Check the extended extension */ + extdev = (PEXTENDED_DEVOBJ_EXTENSION)DeviceObject->DeviceObjectExtension; + ok(extdev->ExtensionFlags == DOE_UNLOAD_PENDING, + "Expected Extended ExtensionFlags to be DOE_UNLOAD_PENDING, got %lu", extdev->ExtensionFlags); + ok (extdev->Type == 13, "Expected Type of 13, got %d", extdev->Type); + ok (extdev->Size == 0, "Expected Size of 0, got %d", extdev->Size); + ok (extdev->DeviceObject == DeviceObject, "Expected DeviceOject to match newly created device %p, got %p", + DeviceObject, extdev->DeviceObject); + if (Lower) + { + /* Skip this for now */ + //ok(extdev->AttachedTo == MainDeviceObject, "Expected AttachTo to %p, got %p", MainDeviceObject, extdev->AttachedTo); + } + else + { + ok(extdev->AttachedTo == NULL, "Expected AttachTo to be NULL, got %p", extdev->AttachedTo); + } + ok(extdev->StartIoCount == 0, "Expected StartIoCount = 0, got %lu", extdev->StartIoCount); + ok(extdev->StartIoKey == 0, "Expected StartIoKey = 0, got %lu", extdev->StartIoKey); + ok(extdev->StartIoFlags == 0, "Expected StartIoFlags = 0, got %lu", extdev->StartIoFlags); +} + +VOID DeviceCreateDeleteTest(PDRIVER_OBJECT DriverObject) +{ + NTSTATUS Status; + UNICODE_STRING DeviceString; + UNICODE_STRING DosDeviceString; + PDEVICE_OBJECT DeviceObject; + + /* Create using wrong directory */ + RtlInitUnicodeString(&DeviceString, L"\\Device1\\Kmtest"); + Status = IoCreateDevice(DriverObject, + 0, + &DeviceString, + FILE_DEVICE_UNKNOWN, + 0, + FALSE, + &DeviceObject); + ok(Status == STATUS_OBJECT_PATH_NOT_FOUND, "Expected STATUS_OBJECT_PATH_NOT_FOUND, got 0x%lX", Status); + + /* Create using correct params with exlusice access */ + RtlInitUnicodeString(&DeviceString, L"\\Device\\Kmtest"); + Status = IoCreateDevice(DriverObject, + 0, + &DeviceString, + FILE_DEVICE_UNKNOWN, + 0, + TRUE, + &DeviceObject); + ok(Status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%lX", Status); + + DeviceCreatedTest(DeviceObject, TRUE); + + /* Delete the device */ + if (NT_SUCCESS(Status)) + { + IoDeleteDevice(DeviceObject); + ok(DriverObject->DeviceObject == 0, "Expected DriverObject->DeviceObject to be NULL, got %p", + DriverObject->DeviceObject); + } + + /* Create using correct params with exlusice access */ + Status = IoCreateDevice(DriverObject, + 0, + &DeviceString, + FILE_DEVICE_UNKNOWN, + 0, + FALSE, + &DeviceObject); + ok(Status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%lX", Status); + + DeviceCreatedTest(DeviceObject, FALSE); + + /* Delete the device */ + if (NT_SUCCESS(Status)) + { + IoDeleteDevice(DeviceObject); + ok(DriverObject->DeviceObject == 0, "Expected DriverObject->DeviceObject to be NULL, got %p", + DriverObject->DeviceObject); + } + + /* Recreate device */ + Status = IoCreateDevice(DriverObject, + 0, + &DeviceString, + FILE_DEVICE_UNKNOWN, + 0, + FALSE, + &DeviceObject); + ok(Status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%lX", Status); + + RtlInitUnicodeString(&DosDeviceString, L"\\DosDevices\\kmtest"); + Status = IoCreateSymbolicLink(&DosDeviceString, &DeviceString); + + if (!NT_SUCCESS(Status)) + { + /* Delete device object if not successful */ + IoDeleteDevice(DeviceObject); + return; + } + + MainDeviceObject = DeviceObject; + + return; +} + +BOOLEAN AttachDeviceTest(PDEVICE_OBJECT DeviceObject, PWCHAR NewDriverRegPath) +{ + NTSTATUS Status; + UNICODE_STRING LowerDeviceName; + + RtlInitUnicodeString(&LowerDeviceName, NewDriverRegPath); + Status = IoAttachDevice(DeviceObject, &LowerDeviceName, &AttachDeviceObject); + + /* TODO: Add more tests */ + + return TRUE; +} + +BOOLEAN DetachDeviceTest(PDEVICE_OBJECT AttachedDevice) +{ + + IoDetachDevice(AttachedDevice); + + /* TODO: Add more tests */ + + return TRUE; +} Propchange: trunk/rostests/drivers/kmtest/devobj_test.c ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/rostests/drivers/kmtest/drvobj_test.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/drvobj_tes…
============================================================================== --- trunk/rostests/drivers/kmtest/drvobj_test.c (added) +++ trunk/rostests/drivers/kmtest/drvobj_test.c [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -1,0 +1,141 @@ +/* + * Driver Regression Tests + * + * Copyright 2009 Michael Martin <martinmnet(a)hotmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* INCLUDES *******************************************************************/ + +#include "kmtest.h" +#include <ddk/ntddk.h> +#include <ddk/ntifs.h> + +VOID DriverObjectTest(PDRIVER_OBJECT DriverObject, int DriverStatus) +{ + BOOLEAN CheckThisDispatchRoutine; + PVOID FirstMajorFunc; + int i; + + ok(DriverObject->Size == sizeof(DRIVER_OBJECT), "Size does not match, got %x",DriverObject->Size); + ok(DriverObject->Type == 4, "Type does not match 4. got %d",DriverObject->Type); + + if (DriverStatus == 0) + { + ok(DriverObject->DeviceObject == NULL, "Expected DeviceObject pointer to be 0, got %p", + DriverObject->DeviceObject); + ok (DriverObject->Flags == DRVO_LEGACY_DRIVER, + "Expected Flags to be DRVO_LEGACY_DRIVER, got %lu", + DriverObject->Flags); + } + else if (DriverStatus == 1) + { + ok(DriverObject->DeviceObject != NULL, "Expected DeviceObject pointer to non null"); + ok (DriverObject->Flags == (DRVO_LEGACY_DRIVER | DRVO_INITIALIZED), + "Expected Flags to be DRVO_LEGACY_DRIVER | DRVO_INITIALIZED, got %lu", + DriverObject->Flags); + } + else + { + ok(DriverObject->DeviceObject != NULL, "Expected DeviceObject pointer to non null"); + ok (DriverObject->Flags == (DRVO_LEGACY_DRIVER | DRVO_INITIALIZED | DRVO_UNLOAD_INVOKED), + "Expected Flags to be DRVO_LEGACY_DRIVER | DRVO_INITIALIZED | DRVO_UNLOAD_INVOKED, got %lu", + DriverObject->Flags); + } + + /* Select a routine that was not changed */ + FirstMajorFunc = DriverObject->MajorFunction[1]; + ok(FirstMajorFunc != 0, "Expected MajorFunction[1] to be non NULL"); + + if (FirstMajorFunc) + { + for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++) + { + if (DriverStatus > 0) CheckThisDispatchRoutine = (i > 3) && (i != 14); + else CheckThisDispatchRoutine = TRUE; + + if (CheckThisDispatchRoutine) + { + ok(DriverObject->MajorFunction[i] == FirstMajorFunc, "Expected MajorFunction[%d] to match %p", + i, FirstMajorFunc); + } + } + } + else + { + ok(TRUE, "Skipped testing for all MajorFunction"); + } +} + +BOOLEAN ZwLoadTest(PDRIVER_OBJECT DriverObject, PUNICODE_STRING DriverRegistryPath, PWCHAR NewDriverRegPath) +{ + UNICODE_STRING RegPath; + NTSTATUS Status; + + /* Try to load ourself */ + Status = ZwLoadDriver(DriverRegistryPath); + ok (Status == STATUS_IMAGE_ALREADY_LOADED, "Expected NTSTATUS STATUS_IMAGE_ALREADY_LOADED, got 0x%lX", Status); + + if (Status != STATUS_IMAGE_ALREADY_LOADED) + { + DbgPrint("WARNING: Loading this a second time will cause BUGCHECK!\n"); + } + + /* Try to load with a Registry Path that doesnt exist */ + RtlInitUnicodeString(&RegPath, L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\deadbeef"); + Status = ZwLoadDriver(&RegPath); + ok (Status == STATUS_OBJECT_NAME_NOT_FOUND, "Expected NTSTATUS STATUS_OBJECT_NAME_NOT_FOUND, got 0x%lX", Status); + + /* Load the driver */ + RtlInitUnicodeString(&RegPath, NewDriverRegPath); + Status = ZwLoadDriver(&RegPath); + ok(Status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%lX", Status); + + if (!NT_SUCCESS(Status)) + { + return FALSE; + } + + return TRUE; +} + +BOOLEAN ZwUnloadTest(PDRIVER_OBJECT DriverObject, PUNICODE_STRING DriverRegistryPath, PWCHAR NewDriverRegPath) +{ + UNICODE_STRING RegPath; + NTSTATUS Status; + + /* Try to unload ourself, which should fail as our Unload routine hasnt been set yet. */ + Status = ZwUnloadDriver(DriverRegistryPath); + ok (Status == STATUS_INVALID_DEVICE_REQUEST, "Expected NTSTATUS STATUS_INVALID_DEVICE_REQUEST, got 0x%lX", Status); + + /* Try to unload with a Registry Path that doesnt exist */ + RtlInitUnicodeString(&RegPath, L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\deadbeef"); + Status = ZwUnloadDriver(&RegPath); + ok (Status == STATUS_OBJECT_NAME_NOT_FOUND, "Expected NTSTATUS STATUS_OBJECT_NAME_NOT_FOUND, got 0x%lX", Status); + + /* Unload the driver */ + RtlInitUnicodeString(&RegPath, NewDriverRegPath); + Status = ZwUnloadDriver(&RegPath); + ok(Status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%lX", Status); + + if (!NT_SUCCESS(Status)) + { + return FALSE; + } + + return TRUE; +} Propchange: trunk/rostests/drivers/kmtest/drvobj_test.c ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/rostests/drivers/kmtest/kmtest.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/kmtest.c?r…
============================================================================== --- trunk/rostests/drivers/kmtest/kmtest.c [iso-8859-1] (original) +++ trunk/rostests/drivers/kmtest/kmtest.c [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -40,7 +40,7 @@ VOID FinishTest(LPSTR TestName) { - DbgPrint("Test %s finished with %d succeses and %d failures\n", TestName, successes, failures); + DbgPrint("%s: %d test executed (0 marked as todo, %d failures), 0 skipped.\n", TestName, successes + failures, failures); } void kmtest_set_location(const char* file, int line) @@ -100,6 +100,8 @@ /* PUBLIC FUNCTIONS ***********************************************************/ +PWCHAR CreateLowerDeviceRegistryKey(PUNICODE_STRING RegistryPath, PWCHAR NewDriver); + /* * Test Declarations */ @@ -107,6 +109,63 @@ VOID NtoskrnlObTest(); VOID NtoskrnlExecutiveTests(); VOID NtoskrnlPoolsTest(); +VOID DriverObjectTest(PDRIVER_OBJECT, int); +VOID DeviceCreateDeleteTest(PDRIVER_OBJECT); +VOID DeviceObjectTest(PDEVICE_OBJECT); +BOOLEAN ZwLoadTest(PDRIVER_OBJECT, PUNICODE_STRING, PWCHAR); +BOOLEAN ZwUnloadTest(PDRIVER_OBJECT, PUNICODE_STRING, PWCHAR); +BOOLEAN DetachDeviceTest(PDEVICE_OBJECT); +BOOLEAN AttachDeviceTest(PDEVICE_OBJECT, PWCHAR); +VOID LowerDeviceKernelAPITest(PDEVICE_OBJECT, BOOLEAN); + +/* + * KmtestDispatch + */ +NTSTATUS +NTAPI +KmtestDispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) + +{ + NTSTATUS Status = STATUS_SUCCESS; + + if (AttachDeviceObject) + { + IoSkipCurrentIrpStackLocation(Irp); + Status = IoCallDriver(AttachDeviceObject, Irp); + return Status; + } + + Irp->IoStatus.Status = Status; + Irp->IoStatus.Information = 0; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return Status; +} + +/* + * KmtestCreateClose + */ +NTSTATUS +NTAPI +KmtestCreateClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) +{ + NTSTATUS Status = STATUS_SUCCESS; + + if (AttachDeviceObject) + { + IoSkipCurrentIrpStackLocation(Irp); + Status = IoCallDriver(AttachDeviceObject, Irp); + return Status; + } + + /* Do DriverObject Test with Driver Initialized */ + DriverObjectTest(DeviceObject->DriverObject, 1); + + Irp->IoStatus.Status = STATUS_SUCCESS; + Irp->IoStatus.Information=0; + + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; +} /* * KmtestUnload @@ -115,7 +174,24 @@ NTAPI KmtestUnload(IN PDRIVER_OBJECT DriverObject) { - /* Nothing to do here */ + UNICODE_STRING DosDeviceString; + + if(AttachDeviceObject) + { + IoDetachDevice(AttachDeviceObject); + } + + /* Do DriverObject Test for Unload */ + DriverObjectTest(DriverObject, 2); + + if (MainDeviceObject) + { + RtlInitUnicodeString(&DosDeviceString, L"\\DosDevices\\Kmtest"); + IoDeleteSymbolicLink(&DosDeviceString); + + IoDeleteDevice(MainDeviceObject); + } + FinishTest("Driver Tests"); } /* @@ -126,15 +202,70 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) { - DbgPrint("\n===============================================\nKernel Mode Regression Test driver starting...\n"); - - /* Set necessary routines */ - DriverObject->DriverUnload = KmtestUnload; + int i; + PWCHAR LowerDriverRegPath; + + DbgPrint("\n===============================================\n"); + DbgPrint("Kernel Mode Regression Driver Test starting...\n"); + DbgPrint("===============================================\n"); + + MainDeviceObject = NULL; + AttachDeviceObject = NULL; + ThisDriverObject = DriverObject; NtoskrnlExecutiveTests(); NtoskrnlIoTests(); NtoskrnlObTest(); NtoskrnlPoolsTest(); + /* Start the tests for the driver routines */ + StartTest(); + + /* Do DriverObject Test for Driver Entry */ + DriverObjectTest(DriverObject, 0); + /* Create and delete device, on return MainDeviceObject has been created */ + DeviceCreateDeleteTest(DriverObject); + + /* Make sure a device object was created */ + if (MainDeviceObject) + { + LowerDriverRegPath = CreateLowerDeviceRegistryKey(RegistryPath, L"kmtestassist"); + + if (LowerDriverRegPath) + { + /* Load driver test and load the lower driver */ + if (ZwLoadTest(DriverObject, RegistryPath, LowerDriverRegPath)) + { + AttachDeviceTest(MainDeviceObject, L"kmtestassists"); + if (AttachDeviceObject) + { + LowerDeviceKernelAPITest(MainDeviceObject, FALSE); + } + + /* Unload lower driver without detaching from its device */ + ZwUnloadTest(DriverObject, RegistryPath, LowerDriverRegPath); + LowerDeviceKernelAPITest(MainDeviceObject, TRUE); + } + else + { + DbgPrint("Failed to load kmtestassist driver\n"); + } + } + } + else + { + return STATUS_UNSUCCESSFUL; + } + + /* Set all MajorFunctions to NULL to verify that kernel fixes them */ + for (i = 1; i <= IRP_MJ_MAXIMUM_FUNCTION; i++) + DriverObject->MajorFunction[i] = NULL; + + /* Set necessary routines */ + DriverObject->DriverUnload = KmtestUnload; + DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = KmtestDispatch; + DriverObject->MajorFunction[IRP_MJ_CREATE] = KmtestCreateClose; + DriverObject->MajorFunction[IRP_MJ_CLOSE] = KmtestCreateClose; + return STATUS_SUCCESS; } Modified: trunk/rostests/drivers/kmtest/kmtest.h URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/kmtest.h?r…
============================================================================== --- trunk/rostests/drivers/kmtest/kmtest.h [iso-8859-1] (original) +++ trunk/rostests/drivers/kmtest/kmtest.h [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -4,6 +4,8 @@ #include <stdio.h> #include <stdarg.h> #include <string.h> +#include "ntddk.h" + /* Some macros, structs, and vars are based or inspired from the great @@ -45,4 +47,8 @@ #define ok_(file, line) (kmtest_set_location(file, line), 0) ? 0 : kmtest_ok #define ok ok_(__FILE__, __LINE__) +PDEVICE_OBJECT AttachDeviceObject; +PDEVICE_OBJECT MainDeviceObject; +PDRIVER_OBJECT ThisDriverObject; + #endif /* PNPTEST_H */ Modified: trunk/rostests/drivers/kmtest/kmtest.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/kmtest.rbu…
============================================================================== --- trunk/rostests/drivers/kmtest/kmtest.rbuild [iso-8859-1] (original) +++ trunk/rostests/drivers/kmtest/kmtest.rbuild [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -6,6 +6,9 @@ <file>kmtest.c</file> <file>deviface.c</file> <file>deviface_test.c</file> + <file>drvobj_test.c</file> + <file>devobj_test.c</file> + <file>reghelper.c</file> <file>ntos_ex.c</file> <file>ntos_io.c</file> <file>ntos_ob.c</file> Added: trunk/rostests/drivers/kmtest/kmtestassist.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/kmtestassi…
============================================================================== --- trunk/rostests/drivers/kmtest/kmtestassist.c (added) +++ trunk/rostests/drivers/kmtest/kmtestassist.c [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -1,0 +1,95 @@ +/* + * Driver Regression Tests + * + * Copyright 2009 Michael Martin <martinmnet(a)hotmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* INCLUDES *******************************************************************/ + +#include "ntddk.h" +#include "ntddser.h" + +NTSTATUS +NTAPI +DriverDispatch(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp) +{ + DbgPrint(" ControlCode %x\n",IoGetCurrentIrpStackLocation(Irp)->Parameters.DeviceIoControl.IoControlCode); + Irp->IoStatus.Status = STATUS_SUCCESS; + Irp->IoStatus.Information=0; + + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; +} + +NTSTATUS +NTAPI +DriverCreateClose(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp) +{ + Irp->IoStatus.Status = STATUS_SUCCESS; + Irp->IoStatus.Information = 0; + + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + return STATUS_SUCCESS; +} + +VOID +NTAPI +DriverUnload(IN PDRIVER_OBJECT DriverObject) +{ + UNICODE_STRING DeviceString; + + RtlInitUnicodeString(&DeviceString, L"\\DosDevices\\kmtestassist"); + IoDeleteSymbolicLink(&DeviceString); + + IoDeleteDevice(DriverObject->DeviceObject); +} + +NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING path) +{ + PDEVICE_OBJECT pDeviceObject; + UNICODE_STRING DriverString; + UNICODE_STRING DeviceString; + + NTSTATUS Status= STATUS_DEVICE_CONFIGURATION_ERROR; + + RtlInitUnicodeString(&DriverString, L"\\Device\\kmtestassist"); + + Status = IoCreateDevice(DriverObject,0,&DriverString,FILE_DEVICE_UNKNOWN,0,FALSE,&pDeviceObject); + if (!NT_SUCCESS(Status)) + { + return Status; + } + + RtlInitUnicodeString(&DeviceString, L"\\DosDevices\\kmtestassist"); + + Status = IoCreateSymbolicLink(&DeviceString, &DriverString); + if (!NT_SUCCESS(Status)) + { + // Delete device object if not successful + IoDeleteDevice(pDeviceObject); + return Status; + } + + DriverObject->DriverUnload = DriverUnload; + DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DriverDispatch; + DriverObject->MajorFunction[IRP_MJ_CREATE] = DriverCreateClose; + DriverObject->MajorFunction[IRP_MJ_CLOSE] = DriverCreateClose; + + return Status; +} Propchange: trunk/rostests/drivers/kmtest/kmtestassist.c ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/rostests/drivers/kmtest/kmtestassist.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/kmtestassi…
============================================================================== --- trunk/rostests/drivers/kmtest/kmtestassist.rbuild (added) +++ trunk/rostests/drivers/kmtest/kmtestassist.rbuild [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -1,0 +1,8 @@ +<module name="kmtestassist" type="kernelmodedriver" installbase="system32/drivers" installname="kmtestassist.sys"> + <bootstrap base="$(CDOUTPUT)" /> + <define name="__USE_W32API" /> + <include base="ReactOS">include/reactos/drivers</include> + <library>ntoskrnl</library> + <library>hal</library> + <file>kmtestassist.c</file> +</module> Propchange: trunk/rostests/drivers/kmtest/kmtestassist.rbuild ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/rostests/drivers/kmtest/reghelper.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/reghelper.…
============================================================================== --- trunk/rostests/drivers/kmtest/reghelper.c (added) +++ trunk/rostests/drivers/kmtest/reghelper.c [iso-8859-1] Thu Jun 11 18:13:11 2009 @@ -1,0 +1,219 @@ +/* + * Driver Regression Tests + * + * Copyright 2009 Michael Martin <martinmnet(a)hotmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; see the file COPYING.LIB. + * If not, write to the Free Software Foundation, + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* INCLUDES *******************************************************************/ + +#include "kmtest.h" + +/* + Adds a service registry entry for a driver + The driver must reside in the same path as this loaded driver + The caller is resposible for releasing memory +*/ +PWCHAR CreateLowerDeviceRegistryKey(PUNICODE_STRING RegistryPath, PWCHAR NewDriver) +{ + OBJECT_ATTRIBUTES ObjectAttributes; + UNICODE_STRING Name; + UNICODE_STRING Value; + UNICODE_STRING NewDriverRegPath; + PKEY_VALUE_PARTIAL_INFORMATION ValuePartialInfo = NULL; + HANDLE ServiceKey; + NTSTATUS Status; + ULONG Disposition; + ULONG ServiceDWordValue; + ULONG ResultLength = 0; + ULONG Length = 0; + PWCHAR ReturnPath = NULL; + /* Now lets find out where we were loaded from by using registry */ + InitializeObjectAttributes(&ObjectAttributes, RegistryPath, OBJ_CASE_INSENSITIVE, NULL, NULL); + Status = ZwOpenKey(&ServiceKey, KEY_READ, &ObjectAttributes); + if (!NT_SUCCESS(Status)) + { + DbgPrint("ZwOpenKey () failed (Status %x)\n", Status); + return NULL; + } + + RtlInitUnicodeString(&Name, L"ImagePath"); + + /* First query how much memory we need */ + Status = ZwQueryValueKey(ServiceKey, &Name, KeyValuePartialInformation, 0, 0, &ResultLength); + + ResultLength += sizeof(KEY_VALUE_PARTIAL_INFORMATION); + ValuePartialInfo = ExAllocatePool(PagedPool, ResultLength); + if (!ValuePartialInfo) + { + DbgPrint("Out of memory!\n"); + goto cleanup; + } + + Length = ResultLength; + Status = ZwQueryValueKey(ServiceKey, &Name, KeyValuePartialInformation, (PVOID)ValuePartialInfo, Length, &ResultLength); + if (!NT_SUCCESS(Status)) + { + DbgPrint("ZwQueryValueKey() failed (Status %lx)\n", Status); + goto cleanup; + } + + /* Remove the current driver name from the string */ + /* FIXME: Dont use hard coded driver name, determine it from the string returned from the above Query */ + Length = (wcslen((PWCHAR)ValuePartialInfo->Data) * 2) - (wcslen(L"kmtest.sys") * 2); + RtlZeroMemory((PVOID)((ULONG)ValuePartialInfo->Data + Length), + wcslen(L"drvtests.sys") * 2); + ZwClose(ServiceKey); + + /* Now add a registry entry for the driver */ + + NewDriverRegPath.Length = 0; + NewDriverRegPath.MaximumLength = (wcslen(L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\") + + wcslen(NewDriver) + 1) * sizeof(WCHAR); + NewDriverRegPath.Buffer = ExAllocatePool(PagedPool, NewDriverRegPath.MaximumLength); + if (!NewDriverRegPath.Buffer) + { + DbgPrint("Out of memory!\n"); + ExFreePool(NewDriverRegPath.Buffer); + goto cleanup; + } + + RtlAppendUnicodeToString(&NewDriverRegPath, L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\"); + RtlAppendUnicodeToString(&NewDriverRegPath, NewDriver); + + InitializeObjectAttributes(&ObjectAttributes, + &NewDriverRegPath, + OBJ_CASE_INSENSITIVE | OBJ_OPENIF, + 0, + NULL); + + Status = ZwCreateKey(&ServiceKey, + KEY_ALL_ACCESS, + &ObjectAttributes, + 0, + NULL, + REG_OPTION_VOLATILE, + &Disposition); + + if (!NT_SUCCESS(Status)) + { + DbgPrint("ZwCreateKey() failed (Status %lx)\n", Status); + ExFreePool(NewDriverRegPath.Buffer); + goto cleanup; + } + + ReturnPath = NewDriverRegPath.Buffer; + RtlInitUnicodeString(&Name, L"ImagePath"); + + Value.Length = 0; + Value.MaximumLength = (wcslen((PWCHAR)ValuePartialInfo->Data) + + wcslen(NewDriver) + 5) * sizeof(WCHAR); + Value.Buffer = ExAllocatePool(PagedPool, Value.MaximumLength); + + if (!Value.Buffer) + { + DbgPrint("Out of memory!\n"); + ExFreePool(Value.Buffer); + goto cleanup; + } + + RtlAppendUnicodeToString(&Value, (PWCHAR)ValuePartialInfo->Data); + RtlAppendUnicodeToString(&Value, NewDriver); + RtlAppendUnicodeToString(&Value, L".sys"); + + Status = ZwSetValueKey(ServiceKey, + &Name, + 0, + REG_SZ, + Value.Buffer, + (wcslen(Value.Buffer)+1) * sizeof(WCHAR)); + ExFreePool(Value.Buffer); + if (!NT_SUCCESS(Status)) + { + DbgPrint("ZwCreateKey() failed (Status %lx)\n", Status); + goto cleanup; + } + + RtlInitUnicodeString(&Name, L"DisplayName"); + RtlInitUnicodeString(&Value, NewDriver); + + Status = ZwSetValueKey(ServiceKey, + &Name, + 0, + REG_SZ, + Value.Buffer, + (wcslen(Value.Buffer)+1) * sizeof(WCHAR)); + + if (!NT_SUCCESS(Status)) + { + DbgPrint("ZwCreateKey() failed (Status %lx)\n", Status); + goto cleanup; + } + + RtlInitUnicodeString(&Name, L"ErrorControl"); + ServiceDWordValue = 0; + + Status = ZwSetValueKey(ServiceKey, + &Name, + 0, + REG_DWORD, + &ServiceDWordValue, + sizeof(ULONG)); + + if (!NT_SUCCESS(Status)) + { + DbgPrint("ZwCreateKey() failed (Status %lx)\n", Status); + goto cleanup; + } + + RtlInitUnicodeString(&Name, L"Start"); + ServiceDWordValue = 3; + Status = ZwSetValueKey(ServiceKey, + &Name, + 0, + REG_DWORD, + &ServiceDWordValue, + sizeof(ULONG)); + + if (!NT_SUCCESS(Status)) + { + DbgPrint("ZwCreateKey() failed (Status %lx)\n", Status); + goto cleanup; + } + + RtlInitUnicodeString(&Name, L"Type"); + ServiceDWordValue = 0; + Status = ZwSetValueKey(ServiceKey, + &Name, + 0, + REG_DWORD, + &ServiceDWordValue, + sizeof(ULONG)); + + if (!NT_SUCCESS(Status)) + { + DbgPrint("ZwCreateKey() failed (Status %lx)\n", Status); + goto cleanup; + } + +cleanup: + ZwClose(ServiceKey); + if (ValuePartialInfo) ExFreePool(ValuePartialInfo); + + return ReturnPath; + +} Propchange: trunk/rostests/drivers/kmtest/reghelper.c ------------------------------------------------------------------------------ svn:eol-style = native
15 years, 5 months
1
0
0
0
[mjmartin] 41380: - Fix formatting.
by mjmartin@svn.reactos.org
Author: mjmartin Date: Thu Jun 11 16:37:16 2009 New Revision: 41380 URL:
http://svn.reactos.org/svn/reactos?rev=41380&view=rev
Log: - Fix formatting. Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c…
============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] Thu Jun 11 16:37:16 2009 @@ -1113,10 +1113,10 @@ /* If not safe to unload, then return success */ if (!SafeToUnload) - { + { ObDereferenceObject(DriverObject); return STATUS_SUCCESS; - } + } /* Set the unload invoked flag */ DriverObject->Flags |= DRVO_UNLOAD_INVOKED;
15 years, 5 months
1
0
0
0
[fireball] 41379: - Add a lazy-initializing hack until user32 is able to delay-load the advapi32 as it should. It fixes a problem of trying to enter a non-initialized critical section object and possibly hanging on every boot.
by fireball@svn.reactos.org
Author: fireball Date: Thu Jun 11 15:42:07 2009 New Revision: 41379 URL:
http://svn.reactos.org/svn/reactos?rev=41379&view=rev
Log: - Add a lazy-initializing hack until user32 is able to delay-load the advapi32 as it should. It fixes a problem of trying to enter a non-initialized critical section object and possibly hanging on every boot. Modified: trunk/reactos/dll/win32/advapi32/reg/reg.c Modified: trunk/reactos/dll/win32/advapi32/reg/reg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/reg/reg…
============================================================================== --- trunk/reactos/dll/win32/advapi32/reg/reg.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/reg/reg.c [iso-8859-1] Thu Jun 11 15:42:07 2009 @@ -31,6 +31,7 @@ static HANDLE ProcessHeap; static BOOLEAN DefaultHandlesDisabled = FALSE; static BOOLEAN DefaultHandleHKUDisabled = FALSE; +static BOOLEAN DllInitialized = FALSE; /* HACK */ /* PROTOTYPES ***************************************************************/ @@ -66,10 +67,16 @@ { TRACE("RegInitialize()\n"); - ProcessHeap = RtlGetProcessHeap(); - RtlZeroMemory(DefaultHandleTable, - MAX_DEFAULT_HANDLES * sizeof(HANDLE)); - RtlInitializeCriticalSection(&HandleTableCS); + /* Lazy init hack */ + if (!DllInitialized) + { + ProcessHeap = RtlGetProcessHeap(); + RtlZeroMemory(DefaultHandleTable, + MAX_DEFAULT_HANDLES * sizeof(HANDLE)); + RtlInitializeCriticalSection(&HandleTableCS); + + DllInitialized = TRUE; + } return TRUE; } @@ -161,7 +168,7 @@ { return STATUS_INVALID_PARAMETER; } - + RegInitialize(); /* HACK until delay-loading is implemented */ RtlEnterCriticalSection (&HandleTableCS); if (Key == HKEY_CURRENT_USER) @@ -205,7 +212,7 @@ CloseDefaultKeys(VOID) { ULONG i; - + RegInitialize(); /* HACK until delay-loading is implemented */ RtlEnterCriticalSection(&HandleTableCS); for (i = 0; i < MAX_DEFAULT_HANDLES; i++) @@ -311,6 +318,7 @@ LONG WINAPI RegDisablePredefinedCache(VOID) { + RegInitialize(); /* HACK until delay-loading is implemented */ RtlEnterCriticalSection(&HandleTableCS); DefaultHandleHKUDisabled = TRUE; RtlLeaveCriticalSection(&HandleTableCS); @@ -326,6 +334,7 @@ LONG WINAPI RegDisablePredefinedCacheEx(VOID) { + RegInitialize(); /* HACK until delay-loading is implemented */ RtlEnterCriticalSection(&HandleTableCS); DefaultHandlesDisabled = TRUE; DefaultHandleHKUDisabled = TRUE; @@ -371,7 +380,7 @@ ASSERT(hNewHKey != NULL); } - + RegInitialize(); /* HACK until delay-loading is implemented */ RtlEnterCriticalSection(&HandleTableCS); /* close the currently mapped handle if existing */ @@ -3472,7 +3481,7 @@ handle for example! */ return RtlNtStatusToDosError(Status); } - + RegInitialize(); /* HACK until delay-loading is implemented */ TokenUserData = RtlAllocateHeap(ProcessHeap, 0, RequiredLength);
15 years, 5 months
1
0
0
0
[mjmartin] 41378: - Add IoGetDeviceAttachmentBaseRef, IoGetDiskDeviceObject and IoGetLowerDeviceObject.
by mjmartin@svn.reactos.org
Author: mjmartin Date: Thu Jun 11 05:05:51 2009 New Revision: 41378 URL:
http://svn.reactos.org/svn/reactos?rev=41378&view=rev
Log: - Add IoGetDeviceAttachmentBaseRef, IoGetDiskDeviceObject and IoGetLowerDeviceObject. Modified: trunk/reactos/include/ddk/ntifs.h Modified: trunk/reactos/include/ddk/ntifs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntifs.h?rev=41…
============================================================================== --- trunk/reactos/include/ddk/ntifs.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Thu Jun 11 05:05:51 2009 @@ -4083,6 +4083,32 @@ IN PFILE_OBJECT FileObject ); +#if (VER_PRODUCTBUILD >= 2600) + +NTKERNELAPI +PDEVICE_OBJECT +NTAPI +IoGetDeviceAttachmentBaseRef ( + IN PDEVICE_OBJECT DeviceObject +); + +NTKERNELAPI +NTSTATUS +NTAPI +IoGetDiskDeviceObject ( + IN PDEVICE_OBJECT FileSystemDeviceObject, + OUT PDEVICE_OBJECT *DiskDeviceObject +); + +NTKERNELAPI +PDEVICE_OBJECT +NTAPI +IoGetLowerDeviceObject ( + IN PDEVICE_OBJECT DeviceObject +); + +#endif /* (VER_PRODUCTBUILD >= 2600) */ + NTKERNELAPI PEPROCESS NTAPI
15 years, 5 months
1
0
0
0
[cfinck] 431: Add the Google Analytics tracking code
by cfinck@svn.reactos.org
Author: cfinck Date: Thu Jun 11 02:45:54 2009 New Revision: 431 URL:
http://svn.reactos.org/svn/reactos?rev=431&view=rev
Log: Add the Google Analytics tracking code Modified:
branches/danny-web/www/www.reactos.org/wiki/skins/RosCMS.php
Modified:
branches/danny-web/www/www.reactos.org/wiki/skins/RosCMS.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/w…
============================================================================== ---
branches/danny-web/www/www.reactos.org/wiki/skins/RosCMS.php
[iso-8859-1] (original) +++
branches/danny-web/www/www.reactos.org/wiki/skins/RosCMS.php
[iso-8859-1] Thu Jun 11 02:45:54 2009 @@ -254,6 +254,18 @@ --> <?php endif; ?> + +<script type="text/javascript"> +var gaJsHost = (("https:" == document.location.protocol) ? "
https://ssl
." : "
http://www
."); +document.write(unescape("%3Cscript src='" + gaJsHost + "
google-analytics.com/ga.js
' type='text/javascript'%3E%3C/script%3E")); +</script> +<script type="text/javascript"> +try{ +var pageTracker = _gat._getTracker("UA-610991-1"); +pageTracker._trackPageview(); +} catch(err) {} +</script> + </body></html> <?php wfRestoreWarnings();
15 years, 5 months
1
0
0
0
[cfinck] 430: Put the Forum database configuration into a separate file as we do for the other Website subsystems
by cfinck@svn.reactos.org
Author: cfinck Date: Thu Jun 11 00:39:38 2009 New Revision: 430 URL:
http://svn.reactos.org/svn/reactos?rev=430&view=rev
Log: Put the Forum database configuration into a separate file as we do for the other Website subsystems Added: branches/danny-web/www/www.reactos.org_config/forum-connect.php (with props) Modified:
branches/danny-web/www/www.reactos.org/forum/config.php
Modified:
branches/danny-web/www/www.reactos.org/forum/config.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
============================================================================== ---
branches/danny-web/www/www.reactos.org/forum/config.php
[iso-8859-1] (original) +++
branches/danny-web/www/www.reactos.org/forum/config.php
[iso-8859-1] Thu Jun 11 00:39:38 2009 @@ -1,12 +1,7 @@ <?php -// phpBB 3.0.x auto-generated configuration file -// Do not change anything in this file! +require_once("$phpbb_root_path/../../www.reactos.org_config/forum-connect.php"); + $dbms = 'mysqli'; -$dbhost = 'localhost'; -$dbport = ''; -$dbname = 'forum'; -$dbuser = 'root'; -$dbpasswd = ''; $table_prefix = 'phpbb_'; $acm_type = 'file'; $load_extensions = ''; Added: branches/danny-web/www/www.reactos.org_config/forum-connect.php URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org_c…
============================================================================== --- branches/danny-web/www/www.reactos.org_config/forum-connect.php (added) +++ branches/danny-web/www/www.reactos.org_config/forum-connect.php [iso-8859-1] Thu Jun 11 00:39:38 2009 @@ -1,0 +1,8 @@ +<?php + // Settings for a local phpBB installation + $dbhost = 'localhost'; + $dbport = ''; + $dbname = 'forum'; + $dbuser = 'root'; + $dbpasswd = ''; +?> Propchange: branches/danny-web/www/www.reactos.org_config/forum-connect.php ------------------------------------------------------------------------------ svn:eol-style = native
15 years, 5 months
1
0
0
0
[cfinck] 429: Upgrade phpBB to 3.0.5
by cfinck@svn.reactos.org
Author: cfinck Date: Thu Jun 11 00:27:21 2009 New Revision: 429 URL:
http://svn.reactos.org/svn/reactos?rev=429&view=rev
Log: Upgrade phpBB to 3.0.5 Modified:
branches/danny-web/www/www.reactos.org/forum/adm/index.php
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_ban.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_captcha.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_database.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_email.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_forums.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_groups.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_main.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_permissions.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_profile.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_search.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_styles.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_users.html
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_users_overview.h…
branches/danny-web/www/www.reactos.org/forum/adm/style/admin.css
branches/danny-web/www/www.reactos.org/forum/adm/style/install_update.html
branches/danny-web/www/www.reactos.org/forum/adm/style/overall_header.html
branches/danny-web/www/www.reactos.org/forum/adm/style/permission_mask.html
branches/danny-web/www/www.reactos.org/forum/adm/style/simple_header.html
branches/danny-web/www/www.reactos.org/forum/common.php
branches/danny-web/www/www.reactos.org/forum/config.php
branches/danny-web/www/www.reactos.org/forum/download/file.php
branches/danny-web/www/www.reactos.org/forum/includes/acm/acm_file.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_attachments.p…
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_bbcodes.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_board.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_captcha.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_database.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_email.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_forums.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_groups.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_icons.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_inactive.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_jabber.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_language.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_main.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_modules.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_permissions.p…
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_profile.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_search.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_styles.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_users.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/auth.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/info/acp_email.php
branches/danny-web/www/www.reactos.org/forum/includes/acp/info/acp_inactive…
branches/danny-web/www/www.reactos.org/forum/includes/auth.php
branches/danny-web/www/www.reactos.org/forum/includes/bbcode.php
branches/danny-web/www/www.reactos.org/forum/includes/cache.php
branches/danny-web/www/www.reactos.org/forum/includes/captcha/captcha_gd.php
branches/danny-web/www/www.reactos.org/forum/includes/constants.php
branches/danny-web/www/www.reactos.org/forum/includes/db/db_tools.php
branches/danny-web/www/www.reactos.org/forum/includes/db/dbal.php
branches/danny-web/www/www.reactos.org/forum/includes/db/firebird.php
branches/danny-web/www/www.reactos.org/forum/includes/db/mssql.php
branches/danny-web/www/www.reactos.org/forum/includes/db/mssql_odbc.php
branches/danny-web/www/www.reactos.org/forum/includes/db/mysql.php
branches/danny-web/www/www.reactos.org/forum/includes/db/mysqli.php
branches/danny-web/www/www.reactos.org/forum/includes/db/oracle.php
branches/danny-web/www/www.reactos.org/forum/includes/db/postgres.php
branches/danny-web/www/www.reactos.org/forum/includes/db/sqlite.php
branches/danny-web/www/www.reactos.org/forum/includes/diff/diff.php
branches/danny-web/www/www.reactos.org/forum/includes/diff/engine.php
branches/danny-web/www/www.reactos.org/forum/includes/diff/renderer.php
branches/danny-web/www/www.reactos.org/forum/includes/functions.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_admin.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_compress.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_content.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_convert.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_display.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_install.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_jabber.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_messenger.p…
branches/danny-web/www/www.reactos.org/forum/includes/functions_module.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_posting.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_privmsgs.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_profile_fie…
branches/danny-web/www/www.reactos.org/forum/includes/functions_template.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_transfer.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_upload.php
branches/danny-web/www/www.reactos.org/forum/includes/functions_user.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_ban.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_forum.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_front.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_logs.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_main.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_notes.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_post.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_queue.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_reports.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_topic.php
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_warn.php
branches/danny-web/www/www.reactos.org/forum/includes/message_parser.php
branches/danny-web/www/www.reactos.org/forum/includes/search/fulltext_mysql…
branches/danny-web/www/www.reactos.org/forum/includes/search/fulltext_nativ…
branches/danny-web/www/www.reactos.org/forum/includes/search/search.php
branches/danny-web/www/www.reactos.org/forum/includes/session.php
branches/danny-web/www/www.reactos.org/forum/includes/template.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_activate.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_attachments.p…
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_confirm.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_groups.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_main.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_pm.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_pm_compose.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_pm_viewfolder…
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_pm_viewmessag…
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_prefs.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_profile.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_register.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_remind.php
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_resend.php
branches/danny-web/www/www.reactos.org/forum/includes/utf/utf_tools.php
branches/danny-web/www/www.reactos.org/forum/index.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/attachments.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/board.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/common.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/forums.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/groups.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/permissions.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/permissions_ph…
branches/danny-web/www/www.reactos.org/forum/language/en/acp/posting.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/profile.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/search.php
branches/danny-web/www/www.reactos.org/forum/language/en/acp/styles.php
branches/danny-web/www/www.reactos.org/forum/language/en/common.php
branches/danny-web/www/www.reactos.org/forum/language/en/email/group_reques…
branches/danny-web/www/www.reactos.org/forum/language/en/email/newtopic_not…
branches/danny-web/www/www.reactos.org/forum/language/en/help_bbcode.php
branches/danny-web/www/www.reactos.org/forum/language/en/help_faq.php
branches/danny-web/www/www.reactos.org/forum/language/en/install.php
branches/danny-web/www/www.reactos.org/forum/language/en/mcp.php
branches/danny-web/www/www.reactos.org/forum/language/en/memberlist.php
branches/danny-web/www/www.reactos.org/forum/language/en/posting.php
branches/danny-web/www/www.reactos.org/forum/language/en/search.php
branches/danny-web/www/www.reactos.org/forum/language/en/ucp.php
branches/danny-web/www/www.reactos.org/forum/language/en/viewtopic.php
branches/danny-web/www/www.reactos.org/forum/mcp.php
branches/danny-web/www/www.reactos.org/forum/memberlist.php
branches/danny-web/www/www.reactos.org/forum/posting.php
branches/danny-web/www/www.reactos.org/forum/search.php
branches/danny-web/www/www.reactos.org/forum/style.php
branches/danny-web/www/www.reactos.org/forum/styles/roscms/imageset/imagese…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/style.cfg
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/attachm…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/editor.…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/faq_bod…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/forum_f…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/forumli…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_ban…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_for…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_fro…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_hea…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_not…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_pos…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_que…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_rep…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_top…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_war…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_war…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/memberl…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/memberl…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/memberl…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/memberl…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/message…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/overall…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/overall…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/posting…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/posting…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/posting…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/posting…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/search_…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/simple_…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/stylesw…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/templat…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_gro…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_mai…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_mai…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_mai…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_pm_…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_pm_…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_pm_…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_reg…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/viewfor…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/viewtop…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/viewtop…
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/bidi.css
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/colours.css
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/common.css
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/content.css
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/links.css
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/theme.cfg
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/tweaks.css
branches/danny-web/www/www.reactos.org/forum/ucp.php
branches/danny-web/www/www.reactos.org/forum/viewforum.php
branches/danny-web/www/www.reactos.org/forum/viewonline.php
branches/danny-web/www/www.reactos.org/forum/viewtopic.php
[This mail would be too long, it was shortened to contain the URLs only.] Modified:
branches/danny-web/www/www.reactos.org/forum/adm/index.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_ban.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_captcha.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_database.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_email.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_forums.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_groups.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_main.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_permissions.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_profile.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_search.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_styles.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_users.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/acp_users_overview.h…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/admin.css
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/install_update.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/overall_header.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/permission_mask.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/adm/style/simple_header.html
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/common.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/config.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/download/file.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acm/acm_file.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_attachments.p…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_bbcodes.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_board.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_captcha.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_database.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_email.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_forums.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_groups.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_icons.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_inactive.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_jabber.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_language.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_main.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_modules.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_permissions.p…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_profile.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_search.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_styles.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/acp_users.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/auth.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/info/acp_email.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/acp/info/acp_inactive…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/auth.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/bbcode.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/cache.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/captcha/captcha_gd.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/constants.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/db_tools.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/dbal.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/firebird.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/mssql.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/mssql_odbc.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/mysql.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/mysqli.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/oracle.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/postgres.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/db/sqlite.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/diff/diff.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/diff/engine.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/diff/renderer.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_admin.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_compress.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_content.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_convert.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_display.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_install.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_jabber.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_messenger.p…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_module.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_posting.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_privmsgs.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_profile_fie…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_template.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_transfer.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_upload.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/functions_user.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_ban.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_forum.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_front.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_logs.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_main.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_notes.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_post.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_queue.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_reports.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_topic.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/mcp/mcp_warn.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/message_parser.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/search/fulltext_mysql…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/search/fulltext_nativ…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/search/search.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/session.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/template.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_activate.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_attachments.p…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_confirm.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_groups.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_main.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_pm.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_pm_compose.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_pm_viewfolder…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_pm_viewmessag…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_prefs.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_profile.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_register.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_remind.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/ucp/ucp_resend.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/includes/utf/utf_tools.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/index.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/attachments.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/board.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/common.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/forums.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/groups.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/permissions.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/permissions_ph…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/posting.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/profile.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/search.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/acp/styles.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/common.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/email/group_reques…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/email/newtopic_not…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/help_bbcode.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/help_faq.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/install.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/mcp.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/memberlist.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/posting.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/search.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/ucp.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/language/en/viewtopic.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/mcp.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/memberlist.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/posting.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/search.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/style.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/imageset/imagese…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/style.cfg
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/attachm…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/editor.…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/faq_bod…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/forum_f…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/forumli…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_ban…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_for…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_fro…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_hea…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_not…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_pos…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_que…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_rep…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_top…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_war…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/mcp_war…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/memberl…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/memberl…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/memberl…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/memberl…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/message…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/overall…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/overall…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/posting…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/posting…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/posting…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/posting…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/search_…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/simple_…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/stylesw…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/templat…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_gro…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_mai…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_mai…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_mai…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_pm_…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_pm_…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_pm_…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/ucp_reg…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/viewfor…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/viewtop…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/template/viewtop…
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/bidi.css
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/colours.css
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/common.css
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/content.css
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/links.css
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/theme.cfg
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/styles/roscms/theme/tweaks.css
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/ucp.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/viewforum.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/viewonline.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
Modified:
branches/danny-web/www/www.reactos.org/forum/viewtopic.php
URL:
http://svn.reactos.org/svn/reactos/branches/danny-web/www/www.reactos.org/f…
15 years, 5 months
1
0
0
0
[hyperion] 41377: Fix Visual C++ build
by hyperion@svn.reactos.org
Author: hyperion Date: Thu Jun 11 00:09:03 2009 New Revision: 41377 URL:
http://svn.reactos.org/svn/reactos?rev=41377&view=rev
Log: Fix Visual C++ build Modified: trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp Modified: trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/mingw…
============================================================================== --- trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp [iso-8859-1] (original) +++ trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp [iso-8859-1] Thu Jun 11 00:09:03 2009 @@ -477,14 +477,14 @@ fprintf ( fMakefile, "PROJECT_ASFLAGS += -pipe\n" ); } - // Because RosBE gcc is built to suck - fputs ( "BUILTIN_HOST_CINCLUDES+= $(HOST_CFLAGS)\n", fMakefile ); - fputs ( "BUILTIN_HOST_CPPINCLUDES+= $(HOST_CFLAGS)\n", fMakefile ); - fputs ( "BUILTIN_HOST_CXXINCLUDES+= $(HOST_CPPFLAGS)\n", fMakefile ); - // Would be nice to have our own C++ runtime fputs ( "BUILTIN_CXXINCLUDES+= $(TARGET_CPPFLAGS)\n", fMakefile ); } + + // Because RosBE gcc is built to suck + fputs ( "BUILTIN_HOST_CINCLUDES+= $(HOST_CFLAGS)\n", fMakefile ); + fputs ( "BUILTIN_HOST_CPPINCLUDES+= $(HOST_CFLAGS)\n", fMakefile ); + fputs ( "BUILTIN_HOST_CXXINCLUDES+= $(HOST_CPPFLAGS)\n", fMakefile ); MingwModuleHandler::GenerateParameters ( "PROJECT", "+=", ProjectNode.non_if_data ); MingwModuleHandler::GenerateParameters ( "PROJECT_HOST", "+=", ProjectNode.host_non_if_data );
15 years, 5 months
1
0
0
0
[fireball] 41376: - Implement ProcessPriorityClass case for NtSetInformationProcess(). Based on Dmitry Chapyshev's work and testing.
by fireball@svn.reactos.org
Author: fireball Date: Wed Jun 10 23:31:54 2009 New Revision: 41376 URL:
http://svn.reactos.org/svn/reactos?rev=41376&view=rev
Log: - Implement ProcessPriorityClass case for NtSetInformationProcess(). Based on Dmitry Chapyshev's work and testing. Modified: trunk/reactos/ntoskrnl/ps/query.c Modified: trunk/reactos/ntoskrnl/ps/query.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/query.c?rev=41…
============================================================================== --- trunk/reactos/ntoskrnl/ps/query.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ps/query.c [iso-8859-1] Wed Jun 10 23:31:54 2009 @@ -739,6 +739,7 @@ HANDLE PortHandle = NULL; HANDLE TokenHandle = NULL; PROCESS_SESSION_INFORMATION SessionInfo = {0}; + PROCESS_PRIORITY_CLASS PriorityClass = {0}; PVOID ExceptionPort; PAGED_CODE(); @@ -924,8 +925,53 @@ //PsUnlockProcess(Process); break; - /* Priority class: HACK! */ case ProcessPriorityClass: + + /* Check buffer length */ + if (ProcessInformationLength != sizeof(PROCESS_PRIORITY_CLASS)) + { + Status = STATUS_INFO_LENGTH_MISMATCH; + break; + } + + /* Enter SEH for capture */ + _SEH2_TRY + { + /* Capture the caller's buffer */ + PriorityClass = *(PPROCESS_PRIORITY_CLASS)ProcessInformation; + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + /* Get the exception code */ + Status = _SEH2_GetExceptionCode(); + } + _SEH2_END; + if (!NT_SUCCESS(Status)) break; + + /* Check for invalid PriorityClass value */ + if (PriorityClass.PriorityClass > PROCESS_PRIORITY_CLASS_ABOVE_NORMAL) + { + Status = STATUS_INVALID_PARAMETER; + break; + } + + /* TODO: Check privileges */ + + /* Check if we have a job */ + if (Process->Job) + { + DPRINT1("Jobs not yet supported\n"); + } + + /* Set process priority class */ + Process->PriorityClass = PriorityClass.PriorityClass; + + /* Set process priority mode (foreground or background) */ + PsSetProcessPriorityByClass(Process, + !PriorityClass.Foreground ? PsProcessPriorityBackground : + PsProcessPriorityForeground); + + Status = STATUS_SUCCESS; break; /* We currently don't implement any of these */
15 years, 5 months
1
0
0
0
[fireball] 41375: - Add PsSetProcessPriorityByClass() declaration to NDK.
by fireball@svn.reactos.org
Author: fireball Date: Wed Jun 10 23:24:38 2009 New Revision: 41375 URL:
http://svn.reactos.org/svn/reactos?rev=41375&view=rev
Log: - Add PsSetProcessPriorityByClass() declaration to NDK. Modified: trunk/reactos/include/ndk/psfuncs.h Modified: trunk/reactos/include/ndk/psfuncs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/psfuncs.h?rev=…
============================================================================== --- trunk/reactos/include/ndk/psfuncs.h [iso-8859-1] (original) +++ trunk/reactos/include/ndk/psfuncs.h [iso-8859-1] Wed Jun 10 23:24:38 2009 @@ -148,6 +148,13 @@ NTAPI PsIsSystemProcess( IN PEPROCESS Process +); + +VOID +NTAPI +PsSetProcessPriorityByClass( + IN PEPROCESS Process, + IN PSPROCESSPRIORITYMODE Type ); //
15 years, 5 months
1
0
0
0
← Newer
1
...
32
33
34
35
36
37
38
...
50
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Results per page:
10
25
50
100
200