mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
GRANT ... REQUIRE ( for SSL).
This commit is contained in:
parent
545a2af56a
commit
915106582e
5 changed files with 40 additions and 5 deletions
|
@ -16,7 +16,7 @@
|
|||
|
||||
#define MANAGER_CLIENT_VERSION "1.0"
|
||||
|
||||
#include <global.h>
|
||||
#include <my_global.h>
|
||||
#include <my_sys.h>
|
||||
#include <m_string.h>
|
||||
#include <mysql.h>
|
||||
|
|
|
@ -83,6 +83,7 @@ static SYMBOL symbols[] = {
|
|||
{ "CHANGED", SYM(CHANGED),0,0},
|
||||
{ "CHECK", SYM(CHECK_SYM),0,0},
|
||||
{ "CHECKSUM", SYM(CHECKSUM_SYM),0,0},
|
||||
{ "CHIPHER", SYM(CHIPHER_SYM),0,0},
|
||||
{ "CLOSE", SYM(CLOSE_SYM),0,0},
|
||||
{ "COLUMN", SYM(COLUMN_SYM),0,0},
|
||||
{ "COLUMNS", SYM(COLUMNS),0,0},
|
||||
|
@ -190,6 +191,7 @@ static SYMBOL symbols[] = {
|
|||
{ "IS", SYM(IS),0,0},
|
||||
{ "ISOLATION", SYM(ISOLATION),0,0},
|
||||
{ "ISAM", SYM(ISAM_SYM),0,0},
|
||||
{ "ISSUER", SYM(ISSUER_SYM),0,0},
|
||||
{ "JOIN", SYM(JOIN_SYM),0,0},
|
||||
{ "KEY", SYM(KEY_SYM),0,0},
|
||||
{ "KEYS", SYM(KEYS),0,0},
|
||||
|
@ -277,6 +279,7 @@ static SYMBOL symbols[] = {
|
|||
{ "REPAIR", SYM(REPAIR),0,0},
|
||||
{ "REPLACE", SYM(REPLACE),0,0},
|
||||
{ "REPEATABLE", SYM(REPEATABLE_SYM),0,0},
|
||||
{ "REQUIRE", SYM(REQUIRE_SYM),0,0},
|
||||
{ "RESET", SYM(RESET_SYM),0,0},
|
||||
{ "RESTORE", SYM(RESTORE_SYM),0,0},
|
||||
{ "RESTRICT", SYM(RESTRICT),0,0},
|
||||
|
@ -322,6 +325,7 @@ static SYMBOL symbols[] = {
|
|||
{ "STRING", SYM(STRING_SYM),0,0},
|
||||
{ "STOP", SYM(STOP_SYM),0,0},
|
||||
{ "STRIPED", SYM(RAID_STRIPED_SYM),0,0},
|
||||
{ "SUBJECT", SYM(SUBJECT_SYM),0,0},
|
||||
{ "TABLE", SYM(TABLE_SYM),0,0},
|
||||
{ "TABLES", SYM(TABLES),0,0},
|
||||
{ "TEMPORARY", SYM(TEMPORARY),0,0},
|
||||
|
|
|
@ -145,6 +145,7 @@ typedef struct st_lex {
|
|||
char *length,*dec,*change,*name;
|
||||
char *backup_dir; /* For RESTORE/BACKUP */
|
||||
char* to_log; /* For PURGE MASTER LOGS TO */
|
||||
char* ssl_subject,*ssl_issuer,*ssl_chipher;
|
||||
String *wild;
|
||||
sql_exchange *exchange;
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
|
|||
%token MIN_SYM
|
||||
%token SUM_SYM
|
||||
%token STD_SYM
|
||||
|
||||
%token ABORT_SYM
|
||||
%token ADD
|
||||
%token ALTER
|
||||
%token AFTER_SYM
|
||||
|
@ -134,7 +134,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
|
|||
%token BINLOG_SYM
|
||||
%token EVENTS_SYM
|
||||
|
||||
%token ABORT_SYM
|
||||
%token ACTION
|
||||
%token AGGREGATE_SYM
|
||||
%token ALL
|
||||
|
@ -450,6 +449,10 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
|
|||
%token SQL_QUOTE_SHOW_CREATE
|
||||
%token SQL_SLAVE_SKIP_COUNTER
|
||||
|
||||
%token ISSUER_SYM
|
||||
%token SUBJECT_SYM
|
||||
%token CHIPHER_SYM
|
||||
|
||||
%left SET_VAR
|
||||
%left OR_OR_CONCAT OR
|
||||
%left AND
|
||||
|
@ -2819,6 +2822,7 @@ keyword:
|
|||
| CHANGED {}
|
||||
| CHECKSUM_SYM {}
|
||||
| CHECK_SYM {}
|
||||
| CHIPHER_SYM {}
|
||||
| CLOSE_SYM {}
|
||||
| COMMENT_SYM {}
|
||||
| COMMIT_SYM {}
|
||||
|
@ -2856,6 +2860,7 @@ keyword:
|
|||
| INDEXES {}
|
||||
| ISOLATION {}
|
||||
| ISAM_SYM {}
|
||||
| ISSUER_SYM {}
|
||||
| INNOBASE_SYM {}
|
||||
| LAST_SYM {}
|
||||
| LEVEL_SYM {}
|
||||
|
@ -2882,6 +2887,7 @@ keyword:
|
|||
| NATIONAL_SYM {}
|
||||
| NCHAR_SYM {}
|
||||
| NEXT_SYM {}
|
||||
| NEW_SYM {}
|
||||
| NO_SYM {}
|
||||
| OPEN_SYM {}
|
||||
| PACK_KEYS_SYM {}
|
||||
|
@ -2909,10 +2915,12 @@ keyword:
|
|||
| SESSION_SYM {}
|
||||
| SHARE_SYM {}
|
||||
| SHUTDOWN {}
|
||||
| SLAVE {}
|
||||
| START_SYM {}
|
||||
| STATUS_SYM {}
|
||||
| STOP_SYM {}
|
||||
| STRING_SYM {}
|
||||
| SUBJECT_SYM {}
|
||||
| TEMPORARY {}
|
||||
| TEXT_SYM {}
|
||||
| TRANSACTION_SYM {}
|
||||
|
@ -3251,9 +3259,10 @@ grant:
|
|||
lex->columns.empty();
|
||||
lex->grant= lex->grant_tot_col=0;
|
||||
lex->select->db=0;
|
||||
lex->ssl_chipher=lex->ssl_subject=lex->ssl_issuer=0;
|
||||
}
|
||||
grant_privileges ON opt_table TO_SYM user_list
|
||||
grant_option
|
||||
grant_option require_clause
|
||||
|
||||
grant_privileges:
|
||||
grant_privilege_list {}
|
||||
|
@ -3287,6 +3296,27 @@ grant_privilege:
|
|||
| FILE_SYM { Lex->grant |= FILE_ACL;}
|
||||
| GRANT OPTION { Lex->grant |= GRANT_ACL;}
|
||||
|
||||
require_clause: /* empty */
|
||||
| REQUIRE_SYM require_list
|
||||
|
||||
|
||||
require_list: require_list_element AND require_list
|
||||
| require_list_element
|
||||
|
||||
|
||||
require_list_element: SUBJECT_SYM TEXT_STRING
|
||||
{
|
||||
Lex->ssl_subject=$2.str;
|
||||
}
|
||||
| ISSUER_SYM TEXT_STRING
|
||||
{
|
||||
Lex->ssl_issuer=$2.str;
|
||||
}
|
||||
| CHIPHER_SYM TEXT_STRING
|
||||
{
|
||||
Lex->ssl_chipher=$2.str;
|
||||
}
|
||||
|
||||
opt_table:
|
||||
'*'
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* Sasha Pachev <sasha@mysql.com>
|
||||
**/
|
||||
|
||||
#include <global.h>
|
||||
#include <my_global.h>
|
||||
#include <my_sys.h>
|
||||
#include <m_string.h>
|
||||
#include <mysql.h>
|
||||
|
|
Loading…
Reference in a new issue