diff options
author | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2008-10-02 16:57:52 +0500 |
---|---|---|
committer | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2008-10-02 16:57:52 +0500 |
commit | d51e2c0760f5dca2aff03aa16b77bf70e0b06dbc (patch) | |
tree | 080bb32fe11caa26d06b5fd11bdf84560d383d59 /sql/mysql_priv.h | |
parent | 7e60f71001595df62b92a089869dd67fcc15a1ee (diff) | |
download | mariadb-git-d51e2c0760f5dca2aff03aa16b77bf70e0b06dbc.tar.gz |
Bug#35924 DEFINER should be stored 'quoted' in I_S
The '@' symbol can not be used in the host name according to rfc952.
The fix:
added function check_host_name(LEX_STRING *str)
which checks that all symbols in host name string are valid and
host name length is not more than max host name length
(just moved check_string_length() function from the parser into check_host_name()).
mysql-test/r/create.result:
test result
mysql-test/t/create.test:
test case
sql/mysql_priv.h:
added function check_host_name(LEX_STRING *str)
sql/sql_parse.cc:
added function check_host_name(LEX_STRING *str)
which checks that all symbols in host name string are valid and
host name length is not more than max host name length(HOSTNAME_LENGTH).
sql/sql_yacc.yy:
using newly added function check_host_name()
Diffstat (limited to 'sql/mysql_priv.h')
-rw-r--r-- | sql/mysql_priv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 948dd537b83..1568f042b7e 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -614,6 +614,7 @@ LEX_USER *create_definer(THD *thd, LEX_STRING *user_name, LEX_STRING *host_name) LEX_USER *get_current_user(THD *thd, LEX_USER *user); bool check_string_length(LEX_STRING *str, const char *err_msg, uint max_length); +bool check_host_name(LEX_STRING *str); enum enum_mysql_completiontype { ROLLBACK_RELEASE=-2, ROLLBACK=1, ROLLBACK_AND_CHAIN=7, |