X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fsrc%2Fshared%2FWindowsSecurity.h;fp=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fsrc%2Fshared%2FWindowsSecurity.h;h=0000000000000000000000000000000000000000;hp=5f9d53aff6df5852b14c6954625c77f126f663bd;hb=5e96dd57ddd883604e87f62bdddcb111c63a6e1a;hpb=acb5f682a2b75b972710cabd81658f63071324b0 diff --git a/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.h b/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.h deleted file mode 100644 index 5f9d53a..0000000 --- a/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.h +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) 2016 Ryan Prichard -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. - -#ifndef WINPTY_WINDOWS_SECURITY_H -#define WINPTY_WINDOWS_SECURITY_H - -#include -#include - -#include -#include -#include -#include - -// PSID and PSECURITY_DESCRIPTOR are both pointers to void, but we want -// Sid and SecurityDescriptor to be different types. -struct SidTag { typedef PSID type; }; -struct AclTag { typedef PACL type; }; -struct SecurityDescriptorTag { typedef PSECURITY_DESCRIPTOR type; }; - -template -class SecurityItem { -public: - struct Impl { - virtual ~Impl() {} - }; - -private: - typedef typename T::type P; - P m_v; - std::unique_ptr m_pimpl; - -public: - P get() const { return m_v; } - operator bool() const { return m_v != nullptr; } - - SecurityItem() : m_v(nullptr) {} - SecurityItem(P v, std::unique_ptr &&pimpl) : - m_v(v), m_pimpl(std::move(pimpl)) {} - SecurityItem(SecurityItem &&other) : - m_v(other.m_v), m_pimpl(std::move(other.m_pimpl)) { - other.m_v = nullptr; - } - SecurityItem &operator=(SecurityItem &&other) { - m_v = other.m_v; - other.m_v = nullptr; - m_pimpl = std::move(other.m_pimpl); - return *this; - } -}; - -typedef SecurityItem Sid; -typedef SecurityItem Acl; -typedef SecurityItem SecurityDescriptor; - -Sid getOwnerSid(); -Sid wellKnownSid( - const wchar_t *debuggingName, - SID_IDENTIFIER_AUTHORITY authority, - BYTE authorityCount, - DWORD subAuthority0=0, - DWORD subAuthority1=0); -Sid builtinAdminsSid(); -Sid localSystemSid(); -Sid everyoneSid(); - -SecurityDescriptor createPipeSecurityDescriptorOwnerFullControl(); -SecurityDescriptor createPipeSecurityDescriptorOwnerFullControlEveryoneWrite(); -SecurityDescriptor getObjectSecurityDescriptor(HANDLE handle); - -std::wstring sidToString(PSID sid); -Sid stringToSid(const std::wstring &str); -SecurityDescriptor stringToSd(const std::wstring &str); -std::wstring sdToString(PSECURITY_DESCRIPTOR sd); - -DWORD rejectRemoteClientsPipeFlag(); - -enum class GetNamedPipeClientProcessId_Result { - Success, - Failure, - UnsupportedOs, -}; - -std::tuple -getNamedPipeClientProcessId(HANDLE serverPipe); - -#endif // WINPTY_WINDOWS_SECURITY_H