From f5ed9f8a41b760a659e23f8c2a72d1ca73f3b826 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 23 Aug 2024 12:15:52 +0200 Subject: [WIP] Adding Security system DLL for handling user logins and logoffs. - Fixing local user API. This API is used by the objects in order to gain authorization over another object. - Refer to sec.dll for mutli-user experience. Signed-off-by: Amlal El Mahrouss --- dev/ZKA/KernelKit/FileManager.hxx | 8 +++++--- dev/ZKA/KernelKit/User.hxx | 9 +++++---- 2 files changed, 10 insertions(+), 7 deletions(-) (limited to 'dev/ZKA/KernelKit') diff --git a/dev/ZKA/KernelKit/FileManager.hxx b/dev/ZKA/KernelKit/FileManager.hxx index 7f222c4a..3ac3fe3b 100644 --- a/dev/ZKA/KernelKit/FileManager.hxx +++ b/dev/ZKA/KernelKit/FileManager.hxx @@ -26,6 +26,7 @@ #include #include #include +#include #include /// @brief Filesystem manager, abstraction over mounted filesystem. @@ -362,14 +363,15 @@ namespace Kernel { static const auto cLength = 255; - struct StringMap final + /// @brief restrict information about the file descriptor. + struct RESTRICT_MAP final { Char fRestrict[cLength]; Int32 fMappedTo; }; const SizeT cRestrictCount = cRestrictMax; - const StringMap cRestrictList[] = { + const RESTRICT_MAP cRestrictList[] = { { .fRestrict = cRestrictR, .fMappedTo = eRestrictRead, @@ -408,6 +410,6 @@ namespace Kernel template FileStream::~FileStream() { - delete fFile; + mm_delete_ke_heap(fFile); } } // namespace Kernel diff --git a/dev/ZKA/KernelKit/User.hxx b/dev/ZKA/KernelKit/User.hxx index ac05b034..1b719f24 100644 --- a/dev/ZKA/KernelKit/User.hxx +++ b/dev/ZKA/KernelKit/User.hxx @@ -4,8 +4,8 @@ ------------------------------------------- */ -#ifndef _INC_PERMISSION_SEL_HXX_ -#define _INC_PERMISSION_SEL_HXX_ +#ifndef _INC_USER_HXX_ +#define _INC_USER_HXX_ #include #include @@ -73,6 +73,7 @@ namespace Kernel RingKind fRing{RingKind::kRingStdUser}; Char fUserName[kMaxUserNameLen] = { 0 }; Char fUserToken[kMaxUserTokenLen] = { 0 }; + VoidPtr fUserNodePtr{nullptr}; friend UserManager; }; @@ -91,10 +92,10 @@ namespace Kernel NEWOS_COPY_DELETE(UserManager); STATIC UserManager* The() noexcept; - Bool TryLogIn(User& user, const Char* password) noexcept; + Bool TryLogIn(User& user) noexcept; User* GetCurrent() noexcept; Void TryLogOff() noexcept; }; } // namespace Kernel -#endif /* ifndef _INC_PERMISSION_SEL_HXX_ */ +#endif /* ifndef _INC_USER_HXX_ */ -- cgit v1.2.3