MySQL 8.4.0
Source Code Documentation
named_pipe.cc File Reference
#include "sql/named_pipe.h"
#include <AclAPI.h>
#include <accctrl.h>
#include <errno.h>
#include <mysql/components/services/log_builtins.h>
#include "my_config.h"
#include "my_sys.h"
#include "mysql/strings/int2str.h"
#include "mysqld_error.h"
#include "nulls.h"
#include "sql/current_thd.h"
#include "sql/log.h"
#include "sql/mysqld.h"
#include "sql/sql_error.h"
#include "strxnmov.h"

Functions

bool is_existing_windows_group_name (const char *group_name)
 
static bool check_windows_group_for_everyone (const char *group_name, bool *is_everyone_group)
 
bool is_valid_named_pipe_full_access_group (const char *group_name)
 
bool my_security_attr_add_rights_to_group (SECURITY_ATTRIBUTES *psa, const char *group_name, DWORD group_rights)
 
HANDLE create_server_named_pipe (SECURITY_ATTRIBUTES **ppsec_attr, DWORD buffer_size, const char *name, char *name_buf, size_t buflen, const char *full_access_group_name)
 Creates an instance of a named pipe and returns a handle. More...
 

Function Documentation

◆ check_windows_group_for_everyone()

static bool check_windows_group_for_everyone ( const char *  group_name,
bool *  is_everyone_group 
)
static

◆ create_server_named_pipe()

HANDLE create_server_named_pipe ( SECURITY_ATTRIBUTES **  ppsec_attr,
DWORD  buffer_size,
const char *  name,
char *  name_buf,
size_t  buflen,
const char *  full_access_group_name 
)

Creates an instance of a named pipe and returns a handle.

Parameters
ppsec_attrOutput argument: on exit, points to the security attributes for the pipe.
buffer_sizeNumber of bytes to reserve for input and output buffers.
nameThe name of the pipe.
name_bufOutput argument: null-terminated concatenation of "\\.\pipe\" and name.
buflenThe size of name_buff.
full_access_group_nameThe name of the local Windows group whose members will have full access to the named pipe.
Returns
Pipe handle, or INVALID_HANDLE_VALUE in case of error.
Note
The entire pipe name string can be up to 256 characters long. Pipe names are not case sensitive.

◆ is_existing_windows_group_name()

bool is_existing_windows_group_name ( const char *  group_name)

◆ is_valid_named_pipe_full_access_group()

bool is_valid_named_pipe_full_access_group ( const char *  group_name)

◆ my_security_attr_add_rights_to_group()

bool my_security_attr_add_rights_to_group ( SECURITY_ATTRIBUTES *  psa,
const char *  group_name,
DWORD  group_rights 
)