|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
File utility functions for path validation and sanitization. More...
#include <file_utils.h>

Static Public Member Functions | |
| static common::VoidResult | validate_log_path (const std::filesystem::path &path, const std::filesystem::path &allowed_base="") |
| Validate log file path against path traversal attacks. | |
| static std::string | sanitize_filename (const std::string &filename) |
| Sanitize filename by removing/replacing dangerous characters. | |
| static common::VoidResult | set_file_permissions (const std::filesystem::path &file, std::filesystem::perms perms=std::filesystem::perms::owner_read|std::filesystem::perms::owner_write) |
| Set file permissions (Unix/POSIX systems) | |
| static bool | is_absolute (const std::filesystem::path &path) |
| Check if path is absolute. | |
| static std::size_t | get_file_size (const std::filesystem::path &path) |
| Get file size. | |
| static bool | is_writable (const std::filesystem::path &path) |
| Check if file exists and is writable. | |
| static std::string | generate_temp_filename (const std::string &prefix="temp", const std::string &extension=".tmp") |
| Generate safe temporary filename. | |
File utility functions for path validation and sanitization.
Provides security-focused file operations including path traversal prevention, filename sanitization, and permission management.
Definition at line 28 of file file_utils.h.
|
inlinestatic |
Generate safe temporary filename.
| prefix | Prefix for temporary file |
| extension | Extension for file (default: .tmp) |
Format: prefix_YYYYMMDDHHMMSS_random.extension
Definition at line 311 of file file_utils.h.
References sanitize_filename().

|
inlinestatic |
Get file size.
| path | Path to file |
Definition at line 260 of file file_utils.h.
References kcenon::logger::size.
|
inlinestatic |
Check if path is absolute.
| path | Path to check |
Definition at line 248 of file file_utils.h.
|
inlinestatic |
Check if file exists and is writable.
| path | Path to file |
Definition at line 276 of file file_utils.h.
|
inlinestatic |
Sanitize filename by removing/replacing dangerous characters.
| filename | Filename to sanitize |
Transformations:
Usage example:
Definition at line 138 of file file_utils.h.
Referenced by generate_temp_filename().

|
inlinestatic |
Set file permissions (Unix/POSIX systems)
| file | Path to file |
| perms | Permissions to set (default: owner read/write only) |
Default permissions (0600):
Usage example:
Definition at line 218 of file file_utils.h.
References kcenon::logger::file_open_failed, kcenon::logger::file_permission_denied, kcenon::logger::make_logger_void_result(), and kcenon::common::ok().

|
inlinestatic |
Validate log file path against path traversal attacks.
| path | File path to validate |
| allowed_base | Base directory where log files are allowed (optional) |
Security checks:
Usage example:
Definition at line 56 of file file_utils.h.
References kcenon::logger::file_permission_denied, kcenon::logger::make_logger_void_result(), kcenon::common::ok(), and kcenon::logger::sanitization_failed.
