Merge branch 'develop' into schemarouter_refresh
This commit is contained in:
@ -1706,6 +1706,41 @@ static int uh_cmpfun( void* v1, void* v2) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(hu2->resource && strlen(hu2->resource) && strchr(hu2->resource,'%') != NULL)
|
||||||
|
{
|
||||||
|
regex_t re;
|
||||||
|
char db[MYSQL_DATABASE_MAXLEN*2 +1];
|
||||||
|
strcpy(db,hu2->resource);
|
||||||
|
int len = strlen(db);
|
||||||
|
char* ptr = strrchr(db,'%');
|
||||||
|
|
||||||
|
if(ptr == NULL)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
while(ptr)
|
||||||
|
{
|
||||||
|
memmove(ptr+1,ptr,(len - (ptr - db)) + 1);
|
||||||
|
*ptr = '.';
|
||||||
|
*(ptr + 1) = '*';
|
||||||
|
len = strlen(db);
|
||||||
|
ptr = strrchr(db,'%');
|
||||||
|
}
|
||||||
|
|
||||||
|
if((regcomp(&re,db,REG_ICASE|REG_NOSUB)))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(regexec(&re,hu1->resource,0,NULL,0) == 0)
|
||||||
|
{
|
||||||
|
regfree(&re);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
regfree(&re);
|
||||||
|
}
|
||||||
|
|
||||||
/* no matches, deny auth */
|
/* no matches, deny auth */
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user