summaryrefslogtreecommitdiff
path: root/sql/sql_acl.cc
diff options
context:
space:
mode:
authorunknown <iggy@rolltop.ignatz42.dyndns.org>2006-08-16 19:31:33 -0400
committerunknown <iggy@rolltop.ignatz42.dyndns.org>2006-08-16 19:31:33 -0400
commitb2cfa703f4799e68bc41dd651e30d4057b5c7076 (patch)
tree09113ee1ad0f3a06c7c13659f66d5e2d71dccbca /sql/sql_acl.cc
parent90b069ed34c293f7eb55f7827dd9fd086ff78015 (diff)
parent4934231545c994b90517b2c1b4c9b85b4fbe2018 (diff)
downloadmariadb-git-b2cfa703f4799e68bc41dd651e30d4057b5c7076.tar.gz
Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint_20328
into rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-merge sql/item_timefunc.cc: Auto merged sql/slave.cc: Auto merged mysql-test/r/func_time.result: manual merge mysql-test/r/mysql_client.result: manual merge mysql-test/t/func_time.test: manual merge mysql-test/t/mysql_client.test: manual merge sql/sql_acl.cc: manual merge
Diffstat (limited to 'sql/sql_acl.cc')
-rw-r--r--sql/sql_acl.cc27
1 files changed, 26 insertions, 1 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 6e25878671d..f95cfd5e37c 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -4693,6 +4693,32 @@ int open_grant_tables(THD *thd, TABLE_LIST *tables)
DBUG_RETURN(0);
}
+ACL_USER *check_acl_user(LEX_USER *user_name,
+ uint *acl_acl_userdx)
+{
+ ACL_USER *acl_user= 0;
+ uint counter;
+
+ safe_mutex_assert_owner(&acl_cache->lock);
+
+ for (counter= 0 ; counter < acl_users.elements ; counter++)
+ {
+ const char *user,*host;
+ acl_user= dynamic_element(&acl_users, counter, ACL_USER*);
+ if (!(user=acl_user->user))
+ user= "";
+ if (!(host=acl_user->host.hostname))
+ host= "";
+ if (!strcmp(user_name->user.str,user) &&
+ !my_strcasecmp(system_charset_info, user_name->host.str, host))
+ break;
+ }
+ if (counter == acl_users.elements)
+ return 0;
+
+ *acl_acl_userdx= counter;
+ return acl_user;
+}
/*
Modify a privilege table.
@@ -4741,7 +4767,6 @@ static int modify_grant_table(TABLE *table, Field *host_field,
DBUG_RETURN(error);
}
-
/*
Handle a privilege table.