Match for Class C,B,A in hosts with %
Match for Class C,B,A in hosts with %
This commit is contained in:
parent
42d0b3c743
commit
5f6d04e7db
@ -28,6 +28,8 @@
|
||||
* 06/02/2014 Massimiliano Pinto Mysql user root selected based on configuration flag
|
||||
* 26/02/2014 Massimiliano Pinto Addd: replace_mysql_users() routine may replace users' table based on a checksum
|
||||
* 28/02/2014 Massimiliano Pinto Added Mysql user@host authentication
|
||||
* 29/07/2014 Massimiliano Pinto Added Mysql user@host authentication with wildcard in IPv4 hosts:
|
||||
* x.y.z.%, x.y.%.%, x.%.%.%
|
||||
*
|
||||
* @endverbatim
|
||||
*/
|
||||
@ -342,7 +344,7 @@ getUsers(SERVICE *service, struct users *users)
|
||||
} else {
|
||||
char *tmp;
|
||||
strcpy(ret_ip, row[1]);
|
||||
tmp = ret_ip+strlen(ret_ip);
|
||||
tmp = ret_ip+strlen(ret_ip)-1;
|
||||
|
||||
while(*tmp) {
|
||||
if (*tmp == '%') {
|
||||
@ -350,16 +352,14 @@ getUsers(SERVICE *service, struct users *users)
|
||||
* avoiding setipadress failure
|
||||
* for Class C address
|
||||
*/
|
||||
found_range++;
|
||||
if (found_range == 1)
|
||||
*tmp = '1';
|
||||
else
|
||||
*tmp = '0';
|
||||
|
||||
found_range++;
|
||||
}
|
||||
tmp--;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (setipaddress(&serv_addr.sin_addr, ret_ip)) {
|
||||
|
@ -31,6 +31,8 @@
|
||||
* localhost entry should be added for the selected user in the backends.
|
||||
* Setting to 1 allow localhost (127.0.0.1 or socket) to match the any host grant via
|
||||
* user@%
|
||||
* 29/07/2014 Massimiliano Pinto Added Mysql user@host authentication with wildcard in IPv4 hosts:
|
||||
* x.y.z.%, x.y.%.%, x.%.%.%
|
||||
*
|
||||
*/
|
||||
|
||||
@ -1382,6 +1384,8 @@ int gw_find_mysql_user_password_sha1(char *username, uint8_t *gateway_password,
|
||||
if (strlen(user_password))
|
||||
gw_hex2bin(gateway_password, user_password, SHA_DIGEST_LENGTH * 2);
|
||||
|
||||
fprintf(stderr, "+++ Matched Class C for %s\n", dcb->remote);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1394,6 +1398,8 @@ int gw_find_mysql_user_password_sha1(char *username, uint8_t *gateway_password,
|
||||
if (strlen(user_password))
|
||||
gw_hex2bin(gateway_password, user_password, SHA_DIGEST_LENGTH * 2);
|
||||
|
||||
fprintf(stderr, "++ Matched Class B for %s\n", dcb->remote);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1406,6 +1412,8 @@ int gw_find_mysql_user_password_sha1(char *username, uint8_t *gateway_password,
|
||||
if (strlen(user_password))
|
||||
gw_hex2bin(gateway_password, user_password, SHA_DIGEST_LENGTH * 2);
|
||||
|
||||
fprintf(stderr, "+ Matched Class A for %s\n", dcb->remote);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1438,6 +1446,8 @@ int gw_find_mysql_user_password_sha1(char *username, uint8_t *gateway_password,
|
||||
dcb->remote)));
|
||||
return 1;
|
||||
}
|
||||
|
||||
fprintf(stderr, "%% Matched ANY for %s\n", dcb->remote);
|
||||
}
|
||||
|
||||
/* user@host found: now check the password
|
||||
|
Loading…
x
Reference in New Issue
Block a user