For now the default username/password is admin/admin
Later this can be overwritten from config file
pull/190/head
René Cannaò 12 years ago
parent 51aec603da
commit 07e29c5bcb

@ -139,6 +139,7 @@ class Standard_ProxySQL_Admin: public ProxySQL_Admin {
void __add_active_users(enum cred_username_type usertype);
void __delete_inactive_users(enum cred_username_type usertype);
void add_default_user(char *, char *);
void __refresh_users();
@ -1091,6 +1092,7 @@ void Standard_ProxySQL_Admin::init_mysql_servers() {
void Standard_ProxySQL_Admin::__refresh_users() {
__delete_inactive_users(USERNAME_BACKEND);
__delete_inactive_users(USERNAME_FRONTEND);
add_default_user((char *)"admin",(char *)"admin");
__add_active_users(USERNAME_BACKEND);
__add_active_users(USERNAME_FRONTEND);
}
@ -1208,6 +1210,35 @@ void Standard_ProxySQL_Admin::__add_active_users(enum cred_username_type usertyp
free(query);
}
void Standard_ProxySQL_Admin::add_default_user(char *user, char *password) {
char *error=NULL;
int cols=0;
int affected_rows=0;
SQLite3_result *resultset=NULL;
char *q=(char *)"SELECT COUNT(*) FROM main.mysql_users WHERE active=1 AND frontend=1";
admindb->execute_statement(q, &error , &cols , &affected_rows , &resultset);
int matching_rows=0;
if (error) {
proxy_error("Error on %s : %s\n", q, error);
} else {
for (std::vector<SQLite3_row *>::iterator it = resultset->rows.begin() ; it != resultset->rows.end(); ++it) {
SQLite3_row *r=*it;
matching_rows+=atoi(r->fields[0]);
}
}
if (resultset) delete resultset;
if (matching_rows==0) {
proxy_error("Adding default user. Username=%s, Password=%s\n", user,password);
admindb->execute("PRAGMA foreign_keys = OFF");
char *str1=(char *)"INSERT INTO mysql_users(username,password,active,use_ssl,default_hostgroup,backend,frontend) VALUES('%s','%s',1,0,0,0,1)";
char *query=(char *)malloc(strlen(str1)+strlen(user)+strlen(password));
sprintf(query,str1,user,password);
admindb->execute(query);
admindb->execute("PRAGMA foreign_keys = ON");
}
}
void Standard_ProxySQL_Admin::save_mysql_users_runtime_to_database() {
}

Loading…
Cancel
Save