MySQL  8.0.21
Source Code Documentation
mysql_dynamic_loader_scheme_file_path_filter_imp Class Reference

Checks if path specified to load is contained in plug-in directory and change it to absolute one using plug-in directory. More...

#include <dynamic_loader_path_filter_imp.h>

Static Public Member Functions

static mysql_service_status_t load (const char *urn, mysql_component_t **out_data) noexcept
 Checks if path specified to load is contained in plug-in directory and change it to absolute one using plug-in directory. More...
 
static mysql_service_status_t unload (const char *urn) noexcept
 Checks if path specified to load is contained in plug-in directory and change it to absolute one using plug-in directory. More...
 

Static Private Member Functions

static bool check_and_make_absolute_urn (const char *input_urn, std::string &out_path)
 Ensure that the dynamic library doesn't have a path. More...
 

Detailed Description

Checks if path specified to load is contained in plug-in directory and change it to absolute one using plug-in directory.

Calls wrapped file scheme service implementation on calculated absolute URN. Effectively it act as a filtering and mapping service.

Member Function Documentation

◆ check_and_make_absolute_urn()

bool mysql_dynamic_loader_scheme_file_path_filter_imp::check_and_make_absolute_urn ( const char *  input_urn,
std::string &  out_path 
)
staticprivate

Ensure that the dynamic library doesn't have a path.

This is done to ensure that only approved libraries from the plug-in directory are used (to make this even remotely secure). Extracts real absolute path to file in plug-in directory.

Parameters
input_urnURN with path to validate and make absolute.
[out]out_pathString to put result URN to.

◆ load()

mysql_service_status_t mysql_dynamic_loader_scheme_file_path_filter_imp::load ( const char *  urn,
mysql_component_t **  out_data 
)
staticnoexcept

Checks if path specified to load is contained in plug-in directory and change it to absolute one using plug-in directory.

Calls wrapped file scheme service implementation on calculated absolute URN.

Parameters
urnURN to file to load components from.
[out]out_dataPointer to pointer to MySQL component data structures to set result components data retrieved from specified file.
Returns
Status of performed operation
Return values
falsesuccess
truefailure

◆ unload()

mysql_service_status_t mysql_dynamic_loader_scheme_file_path_filter_imp::unload ( const char *  urn)
staticnoexcept

Checks if path specified to load is contained in plug-in directory and change it to absolute one using plug-in directory.

Calls wrapped file scheme service implementation on calculated absolute URN.

Parameters
urnURN to file to unload all components from.
Returns
Status of performed operation
Return values
falsesuccess
truefailure

The documentation for this class was generated from the following files: