fixed: security vulnerability in 'ln' winix function
a user could create a hardlink to any file and the new link
had user_id, group_id and permissions the same as for new generated files,
this allowes to overwrite any existing file in the filesystem,
now user_id, group_id, permissions are the same as from the oryginal file
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@941 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010, Tomasz Sowa
|
||||
* Copyright (c) 2010-2013, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
@@ -24,16 +24,22 @@ public:
|
||||
|
||||
Ln();
|
||||
bool HasAccess();
|
||||
void CreateSymbolicLink(const std::wstring & link_to);
|
||||
void CreateHardLink(const std::wstring & link_to);
|
||||
void MakePost();
|
||||
|
||||
bool CreateSymbolicLink(long parent_id, const wchar_t * link_to, const wchar_t * url, bool link_redirect = true);
|
||||
bool CreateSymbolicLink(long parent_id, const std::wstring & link_to, const std::wstring & url, bool link_redirect = true);
|
||||
bool CreateHardLink(const std::vector<Item*> & dirs, const std::wstring & link_to, const std::wstring & url);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
Item item;
|
||||
std::wstring link_to;
|
||||
std::vector<Item*> dir_tab;
|
||||
|
||||
void CreateSymbolicLink(const std::wstring & link_to);
|
||||
void CreateHardLink(const std::wstring & link_to);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user