security/sandbox/win/src/filesystem_interception.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

michael@0 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
michael@0 2 // Use of this source code is governed by a BSD-style license that can be
michael@0 3 // found in the LICENSE file.
michael@0 4
michael@0 5 #include "sandbox/win/src/nt_internals.h"
michael@0 6 #include "sandbox/win/src/sandbox_types.h"
michael@0 7
michael@0 8 #ifndef SANDBOX_SRC_FILESYSTEM_INTERCEPTION_H__
michael@0 9 #define SANDBOX_SRC_FILESYSTEM_INTERCEPTION_H__
michael@0 10
michael@0 11 namespace sandbox {
michael@0 12
michael@0 13 extern "C" {
michael@0 14
michael@0 15 // Interception of NtCreateFile on the child process.
michael@0 16 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtCreateFile(
michael@0 17 NtCreateFileFunction orig_CreateFile, PHANDLE file,
michael@0 18 ACCESS_MASK desired_access, POBJECT_ATTRIBUTES object_attributes,
michael@0 19 PIO_STATUS_BLOCK io_status, PLARGE_INTEGER allocation_size,
michael@0 20 ULONG file_attributes, ULONG sharing, ULONG disposition, ULONG options,
michael@0 21 PVOID ea_buffer, ULONG ea_length);
michael@0 22
michael@0 23 // Interception of NtOpenFile on the child process.
michael@0 24 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtOpenFile(
michael@0 25 NtOpenFileFunction orig_OpenFile, PHANDLE file, ACCESS_MASK desired_access,
michael@0 26 POBJECT_ATTRIBUTES object_attributes, PIO_STATUS_BLOCK io_status,
michael@0 27 ULONG sharing, ULONG options);
michael@0 28
michael@0 29 // Interception of NtQueryAtttributesFile on the child process.
michael@0 30 // It should never be called directly.
michael@0 31 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtQueryAttributesFile(
michael@0 32 NtQueryAttributesFileFunction orig_QueryAttributes,
michael@0 33 POBJECT_ATTRIBUTES object_attributes,
michael@0 34 PFILE_BASIC_INFORMATION file_attributes);
michael@0 35
michael@0 36 // Interception of NtQueryFullAtttributesFile on the child process.
michael@0 37 // It should never be called directly.
michael@0 38 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtQueryFullAttributesFile(
michael@0 39 NtQueryFullAttributesFileFunction orig_QueryAttributes,
michael@0 40 POBJECT_ATTRIBUTES object_attributes,
michael@0 41 PFILE_NETWORK_OPEN_INFORMATION file_attributes);
michael@0 42
michael@0 43 // Interception of NtSetInformationFile on the child process.
michael@0 44 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtSetInformationFile(
michael@0 45 NtSetInformationFileFunction orig_SetInformationFile, HANDLE file,
michael@0 46 PIO_STATUS_BLOCK io_status, PVOID file_information, ULONG length,
michael@0 47 FILE_INFORMATION_CLASS file_information_class);
michael@0 48
michael@0 49 } // extern "C"
michael@0 50
michael@0 51 } // namespace sandbox
michael@0 52
michael@0 53 #endif // SANDBOX_SRC_FILESYSTEM_INTERCEPTION_H__

mercurial