MySQL Authentication with DBname
MySQL Authentication with DBname
This commit is contained in:
@ -81,6 +81,7 @@ int set_and_get_single_mysql_users_ipv4(char *username, unsigned long ipv4, char
|
||||
/* add user@host as key and passwd as value in the MySQL users hash table */
|
||||
if (!mysql_users_add(mysql_users, &key, password)) {
|
||||
fprintf(stderr, "Failed adding %s@%s(%lu)\n", username, ret_ip, fix_ipv4);
|
||||
users_free(mysql_users);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -112,6 +113,7 @@ int set_and_get_single_mysql_users(char *username, char *hostname, char *passwor
|
||||
char *db="";
|
||||
|
||||
mysql_users = mysql_users_alloc();
|
||||
|
||||
/* prepare the user@host data struct */
|
||||
memset(&serv_addr, 0, sizeof(serv_addr));
|
||||
memset(&key, 0, sizeof(key));
|
||||
@ -120,6 +122,7 @@ int set_and_get_single_mysql_users(char *username, char *hostname, char *passwor
|
||||
if (hostname)
|
||||
if(!setipaddress(&serv_addr.sin_addr, hostname)) {
|
||||
fprintf(stderr, "setipaddress failed for host [%s]\n", hostname);
|
||||
users_free(mysql_users);
|
||||
return 1;
|
||||
}
|
||||
if (username)
|
||||
@ -135,6 +138,7 @@ int set_and_get_single_mysql_users(char *username, char *hostname, char *passwor
|
||||
/* add user@host as key and passwd as value in the MySQL users hash table */
|
||||
if (!mysql_users_add(mysql_users, &key, password)) {
|
||||
fprintf(stderr, "mysql_users_add() failed for %s@%s\n", username, hostname);
|
||||
users_free(mysql_users);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -143,6 +147,7 @@ int set_and_get_single_mysql_users(char *username, char *hostname, char *passwor
|
||||
if (hostname)
|
||||
if(!setipaddress(&serv_addr.sin_addr, hostname)) {
|
||||
fprintf(stderr, "setipaddress failed for host [%s]\n", hostname);
|
||||
users_free(mysql_users);
|
||||
return 1;
|
||||
}
|
||||
key.user = username;
|
||||
@ -175,6 +180,7 @@ int set_and_get_mysql_users_wildcards(char *username, char *hostname, char *pass
|
||||
}
|
||||
if ((service = (SERVICE *)calloc(1, sizeof(SERVICE))) == NULL) {
|
||||
fprintf(stderr, "service_alloc() failed\n");
|
||||
dcb_free(dcb);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -183,6 +189,8 @@ int set_and_get_mysql_users_wildcards(char *username, char *hostname, char *pass
|
||||
if (hostname) {
|
||||
if(!setipaddress(&client_addr.sin_addr, from)) {
|
||||
fprintf(stderr, "setipaddress failed for host [%s]\n", from);
|
||||
free(service);
|
||||
dcb_free(dcb);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -219,6 +227,10 @@ int set_and_get_mysql_users_wildcards(char *username, char *hostname, char *pass
|
||||
|
||||
if (!ret) {
|
||||
fprintf(stderr, "add_mysql_users_with_host_ipv4 (%s@%s, %s) FAILED\n", username, hostname, password);
|
||||
users_free(mysql_users);
|
||||
free(service);
|
||||
dcb_free(dcb);
|
||||
|
||||
return 1;
|
||||
} else {
|
||||
char db_passwd[100]="";
|
||||
@ -232,6 +244,10 @@ int set_and_get_mysql_users_wildcards(char *username, char *hostname, char *pass
|
||||
ret = gw_find_mysql_user_password_sha1(username, db_passwd, dcb);
|
||||
}
|
||||
|
||||
users_free(mysql_users);
|
||||
free(service);
|
||||
dcb_free(dcb);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -262,6 +278,7 @@ int main() {
|
||||
assert(ret == 1);
|
||||
ret = set_and_get_single_mysql_users(NULL, NULL, NULL);
|
||||
assert(ret == 1);
|
||||
|
||||
ret = set_and_get_single_mysql_users_ipv4("negative", -467295, "_ncd");
|
||||
assert(ret == 1);
|
||||
ret = set_and_get_single_mysql_users_ipv4("extra", 0xFFFFFFFFFUL * 100, "JJcd");
|
||||
@ -271,6 +288,7 @@ int main() {
|
||||
ret = set_and_get_single_mysql_users_ipv4(NULL, '\0', "JJcd");
|
||||
assert(ret == 1);
|
||||
|
||||
|
||||
for (i = 256*256*256; i <= 256*256*256 + 5; i++) {
|
||||
char user[129] = "";
|
||||
snprintf(user, 128, "user_%i", k);
|
||||
@ -361,10 +379,15 @@ int main() {
|
||||
if (ret) fprintf(stderr, "\t-- Expecting no match\n");
|
||||
assert(ret == 1);
|
||||
|
||||
ret = set_and_get_mysql_users_wildcards("pippo", "192.%.%.%", "foo", "192.254.254.245", "Y", NULL, NULL);
|
||||
ret = set_and_get_mysql_users_wildcards("pippo", "192.%.%.%", "12345678901234567890123456789012345678901234", "192.254.254.245", "Y", NULL, NULL);
|
||||
if (!ret) fprintf(stderr, "\t-- Expecting ok\n");
|
||||
assert(ret == 0);
|
||||
|
||||
ret = set_and_get_mysql_users_wildcards("pippo", "192.0.0.%", "1234567890123456789012345678901", "192.3.2.1");
|
||||
if (ret) fprintf(stderr, "\t-- Expecting no match\n");
|
||||
assert(ret == 1);
|
||||
|
||||
|
||||
fprintf(stderr, "----------------\n");
|
||||
fprintf(stderr, "<<< Test completed\n");
|
||||
|
||||
|
Reference in New Issue
Block a user