Mod aaa-12 新增创建表,修改lighttpd编译报警
RCA: SOL: 修改人:zhouzian 检视人:zhouzian
This commit is contained in:
parent
b39bf43901
commit
8e15b01187
|
@ -922,6 +922,7 @@ void um_getuser_db(char ** user_db)
|
|||
{
|
||||
int num = 0;
|
||||
int size = 0;
|
||||
int ret_create = 0;
|
||||
|
||||
re_connect();
|
||||
if(NULL == um_hdbc)
|
||||
|
@ -929,6 +930,29 @@ void um_getuser_db(char ** user_db)
|
|||
return;
|
||||
}
|
||||
|
||||
char * create_user = "CREATE TABLE IF NOT EXISTS user_account (\
|
||||
uuid bigint(11) NOT NULL AUTO_INCREMENT,\
|
||||
id bigint(11) NOT NULL,\
|
||||
group_id bigint(11) NOT NULL,\
|
||||
user_name char(255) NOT NULL,\
|
||||
udescription char(255) DEFAULT NULL,\
|
||||
password char(255) NOT NULL DEFAULT 'A31as%4Gb',\
|
||||
multi_player bigint(8) NOT NULL DEFAULT '0',\
|
||||
valid_always bigint(8) NOT NULL DEFAULT '0',\
|
||||
valid_begin_time char(255) DEFAULT NULL,\
|
||||
valid_end_time char(255) DEFAULT NULL,\
|
||||
PRIMARY KEY (uuid,id),\
|
||||
UNIQUE KEY id (id) USING BTREE,\
|
||||
UNIQUE KEY user_name (user_name) USING BTREE,\
|
||||
KEY group_id (group_id) USING BTREE,\
|
||||
CONSTRAINT user_account_ibfk_1 FOREIGN KEY (group_id) REFERENCES user_group (id) ON DELETE CASCADE ON UPDATE CASCADE\
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8";
|
||||
ret_create = create_database_table(USER_MANAGER_DBID, um_hdbc, USER_TABLE, create_user);
|
||||
if(DB_RET_OK != ret_create)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
char * select_sql = "SELECT id ID, group_id GID, multi_player multi, valid_always valid, user_name uname, udescription, \
|
||||
valid_begin_time,valid_end_time FROM user_account";
|
||||
char * ret_user = select_datebase_by_number(USER_MANAGER_DBID, um_hdbc, USER_TABLE, select_sql, 1, 0, &num, 0);
|
||||
|
|
|
@ -446,6 +446,7 @@ void um_getgroup_db(char ** group_db)
|
|||
{
|
||||
int num = 0;
|
||||
int size = 0;
|
||||
int ret_create = 0;
|
||||
|
||||
re_connect();
|
||||
if(NULL == um_hdbc)
|
||||
|
@ -453,6 +454,21 @@ void um_getgroup_db(char ** group_db)
|
|||
return;
|
||||
}
|
||||
|
||||
char * create_group = "CREATE TABLE IF NOT EXISTS user_group (\
|
||||
uuid bigint(20) NOT NULL AUTO_INCREMENT,\
|
||||
id bigint(11) NOT NULL,\
|
||||
gname char(255) NOT NULL,\
|
||||
gdescription char(255) DEFAULT NULL,\
|
||||
PRIMARY KEY (uuid),\
|
||||
UNIQUE KEY id (id) USING BTREE,\
|
||||
UNIQUE KEY gname (gname) USING BTREE\
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1059 DEFAULT CHARSET=utf8";
|
||||
ret_create = create_database_table(USER_MANAGER_DBID, um_hdbc, USER_GROUP_TABLE, create_group);
|
||||
if(DB_RET_OK != ret_create)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
char * select_sql = "SELECT user_group.id ID, user_group.gname, user_group.gdescription FROM user_group";
|
||||
char * ret_group = select_datebase_by_number(USER_MANAGER_DBID, um_hdbc, USER_GROUP_TABLE, select_sql, 1, 0, &num, 0);
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ static void empty_fail_time_queue(unsigned short user_id)
|
|||
{
|
||||
if(NULL != AUTH_RECORD.fail_time)
|
||||
{
|
||||
memset(AUTH_RECORD.fail_time, 0, sizeof(AUTH_RECORD.fail_time));
|
||||
memset(AUTH_RECORD.fail_time, 0, sizeof(time_t) * AUTH_RECORD.max_size);
|
||||
}
|
||||
AUTH_RECORD.front = 0;
|
||||
AUTH_RECORD.rear = 0;
|
||||
|
|
|
@ -28,6 +28,58 @@ void test(int a, int b, int c, int d)
|
|||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
char * testin; //input
|
||||
char testout[2000]; //output
|
||||
ret_code ret_pro; //执行结果
|
||||
int outlen = 1; //out数据长度
|
||||
|
||||
void *test_hdbc = connect_database(USER_ACCOUNT_DATABASE_ID);
|
||||
if(NULL == test_hdbc)
|
||||
{
|
||||
printf("fail connect database... \n");
|
||||
}
|
||||
|
||||
char * create_group1 = "CREATE TABLE IF NOT EXISTS user_group1 (\
|
||||
uuid bigint(20) NOT NULL AUTO_INCREMENT,\
|
||||
id bigint(11) NOT NULL,\
|
||||
gname char(255) NOT NULL,\
|
||||
gdescription char(255) DEFAULT NULL,\
|
||||
PRIMARY KEY (uuid),\
|
||||
UNIQUE KEY id (id) USING BTREE,\
|
||||
UNIQUE KEY gname (gname) USING BTREE\
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1059 DEFAULT CHARSET=utf8";
|
||||
|
||||
char * create_user1 = "CREATE TABLE IF NOT EXISTS user_account1 (\
|
||||
uuid bigint(11) NOT NULL AUTO_INCREMENT,\
|
||||
id bigint(11) NOT NULL,\
|
||||
group_id bigint(11) NOT NULL,\
|
||||
user_name char(255) NOT NULL,\
|
||||
udescription char(255) DEFAULT NULL,\
|
||||
password char(255) NOT NULL DEFAULT 'A31as%4Gb',\
|
||||
multi_player bigint(8) NOT NULL DEFAULT '0',\
|
||||
valid_always bigint(8) NOT NULL DEFAULT '0',\
|
||||
valid_begin_time char(255) DEFAULT NULL,\
|
||||
valid_end_time char(255) DEFAULT NULL,\
|
||||
PRIMARY KEY (uuid,id),\
|
||||
UNIQUE KEY id (id) USING BTREE,\
|
||||
UNIQUE KEY user_name (user_name) USING BTREE,\
|
||||
KEY group_id (group_id) USING BTREE,\
|
||||
CONSTRAINT user_account1_ibfk_1 FOREIGN KEY (group_id) REFERENCES user_group1 (id) ON DELETE CASCADE ON UPDATE CASCADE\
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8";
|
||||
int rett = 0;
|
||||
|
||||
rett = create_database_table(1, test_hdbc, "user_group1", create_group1);
|
||||
printf("ret create user_group : %d .\n", rett);
|
||||
|
||||
rett = create_database_table(1, test_hdbc, "user_account1", create_user1);
|
||||
printf("ret create user_account : %d .\n", rett);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main5(void)
|
||||
{
|
||||
char * testrec;
|
||||
int testnum;
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
#define AUTH_INIT_SUCCESS 0
|
||||
#define AUTH_USER_INDEX_MAX (100 + 2)
|
||||
|
||||
#define UNAMESIZE (127 + 1)
|
||||
#define UDESIZE (127 + 1)
|
||||
#define UPWDSIZE (63 + 1)
|
||||
#define UNAMESIZE (64)
|
||||
#define UDESIZE (64)
|
||||
#define UPWDSIZE (64)
|
||||
|
||||
typedef struct user_auth
|
||||
{
|
||||
|
@ -78,6 +78,7 @@ static int init_fail_time_queue(unsigned short user_id, int max_size)
|
|||
//记录日志,申请内存失败
|
||||
return AUTH_INIT_FAIL;
|
||||
}
|
||||
memset(AUTH_RECORD.fail_time, 0, sizeof(time_t) * max_size);
|
||||
AUTH_RECORD.max_size = max_size;
|
||||
|
||||
return AUTH_INIT_SUCCESS;
|
||||
|
@ -88,7 +89,7 @@ static void empty_fail_time_queue(unsigned short user_id)
|
|||
{
|
||||
if(NULL != AUTH_RECORD.fail_time)
|
||||
{
|
||||
memset(AUTH_RECORD.fail_time, 0, sizeof(AUTH_RECORD.fail_time));
|
||||
memset(AUTH_RECORD.fail_time, 0, sizeof(time_t) * AUTH_RECORD.max_size);
|
||||
}
|
||||
AUTH_RECORD.front = 0;
|
||||
AUTH_RECORD.rear = 0;
|
||||
|
@ -255,6 +256,7 @@ bool get_user_from_database(char* username, void* hdbc, USERACCOUNT* user_info,
|
|||
"multi_player": 0,
|
||||
"valid_always": 0,
|
||||
"user_name": "用户07",
|
||||
"password":"123456",
|
||||
"udescription": "",
|
||||
"valid_begin_time": "",
|
||||
"valid_end_time": ""
|
||||
|
@ -387,11 +389,11 @@ void user_auth_login(char* username, char* password, USER_AUTH_RET *auth_result)
|
|||
int config_fail_time = 0; //规定时间,失败的时间范围,锁定前
|
||||
time_t login_time; //登陆时间
|
||||
time_t remain_lock_time; //锁定剩余时间
|
||||
USERACCOUNT *user_info; //临时数据,存储登陆用户名对应的用户信息
|
||||
USERACCOUNT user_info; //临时数据,存储登陆用户名对应的用户信息
|
||||
void * auth_hdbc;
|
||||
int sql_num;
|
||||
|
||||
memset(auth_result, 0, sizeof(USER_AUTH_RET));
|
||||
//memset(auth_result, 0, sizeof(USER_AUTH_RET));
|
||||
login_time = time(NULL);
|
||||
|
||||
//1、校验用户名和密码
|
||||
|
@ -422,40 +424,23 @@ void user_auth_login(char* username, char* password, USER_AUTH_RET *auth_result)
|
|||
/* 校验上述的三个参数都要大于0 */
|
||||
|
||||
//3、根据用户名查询用户信息-用户id和用户组id
|
||||
user_info = (USERACCOUNT*)malloc(sizeof(USERACCOUNT));
|
||||
memset(user_info, 0, sizeof(USERACCOUNT));
|
||||
if (NULL == user_info)
|
||||
{
|
||||
/* 记录日志 */
|
||||
//printf("user_auth()->user_auth->user_info:error. \n");
|
||||
auth_result->ret = AUTH_ERR;
|
||||
return;
|
||||
}
|
||||
//读取json文件获取数据
|
||||
// get_from_json(username, user_info);
|
||||
// if (NULL == user_info)
|
||||
// {
|
||||
// auth_result->ret = AUTH_FAIL_PASSWD;
|
||||
// xfree(user_info);
|
||||
// return;
|
||||
// }
|
||||
|
||||
/* 数据库查询 */
|
||||
bool ret_getuser = get_user_from_database(username, auth_hdbc, user_info, &sql_num);
|
||||
bool ret_getuser = get_user_from_database(username, auth_hdbc, &user_info, &sql_num);
|
||||
if(!ret_getuser)
|
||||
{
|
||||
auth_result->ret = AUTH_FAIL_DATABASE;
|
||||
return;
|
||||
}
|
||||
|
||||
if(0 == sql_num || NULL == user_info)
|
||||
if(0 == sql_num)
|
||||
{
|
||||
auth_result->ret = AUTH_FAIL_PASSWD;
|
||||
return;
|
||||
}
|
||||
|
||||
user_id = user_info->ID;
|
||||
group_id = user_info->GID;
|
||||
user_id = user_info.ID;
|
||||
group_id = user_info.GID;
|
||||
|
||||
//4、初始化用户认证结果记录表对应id内的循环队列
|
||||
if (DATA_EMPTY == AUTH_RECORD.max_size)
|
||||
|
@ -468,7 +453,6 @@ void user_auth_login(char* username, char* password, USER_AUTH_RET *auth_result)
|
|||
if (AUTH_INIT_FAIL == init_queue_ret)
|
||||
{
|
||||
auth_result->ret = AUTH_ERR;
|
||||
xfree(user_info);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -486,7 +470,6 @@ void user_auth_login(char* username, char* password, USER_AUTH_RET *auth_result)
|
|||
if (AUTH_INIT_FAIL == init_queue_ret)
|
||||
{
|
||||
auth_result->ret = AUTH_ERR;
|
||||
xfree(user_info);
|
||||
return;
|
||||
}
|
||||
empty_fail_time_queue(user_id);
|
||||
|
@ -499,14 +482,12 @@ void user_auth_login(char* username, char* password, USER_AUTH_RET *auth_result)
|
|||
if (remain_lock_time < 0)
|
||||
{
|
||||
auth_result->ret = AUTH_FAIL_INPUT;
|
||||
xfree(user_info);
|
||||
return;
|
||||
}
|
||||
if ((int)(60.0 * config_lock_time) > 60 *remain_lock_time)
|
||||
if ((int)(60.0 * config_lock_time) > remain_lock_time)
|
||||
{
|
||||
auth_result->ret = AUTH_FAIL_LOCK;
|
||||
auth_result->remain_lock_time = remain_lock_time;
|
||||
xfree(user_info);
|
||||
return;
|
||||
}
|
||||
//锁定时间已过,解锁,清空该队列
|
||||
|
@ -514,15 +495,14 @@ void user_auth_login(char* username, char* password, USER_AUTH_RET *auth_result)
|
|||
}
|
||||
|
||||
//6、判断是否在有效期内
|
||||
user_valid = AUTH_VALID_GET(user_info->multi_valid);
|
||||
user_valid = AUTH_VALID_GET(user_info.multi_valid);
|
||||
if (1 == user_valid)
|
||||
{
|
||||
if (login_time < user_info->valid_begin_time || login_time > user_info->valid_end_time)
|
||||
if (login_time < user_info.valid_begin_time || login_time > user_info.valid_end_time)
|
||||
{
|
||||
auth_result->ret = AUTH_FAIL_VALID;
|
||||
/* 认证失败处理 */
|
||||
auth_fail_operate(user_id, login_time, config_fail_time);
|
||||
xfree(user_info);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -534,18 +514,16 @@ void user_auth_login(char* username, char* password, USER_AUTH_RET *auth_result)
|
|||
|
||||
/* 认证失败处理 */
|
||||
auth_fail_operate(user_id, login_time, config_fail_time);
|
||||
xfree(user_info);
|
||||
return;
|
||||
}
|
||||
|
||||
//8、匹配密码
|
||||
if (0 != strcmp(password, user_info->passwd))
|
||||
if (0 != strcmp(password, user_info.passwd))
|
||||
{
|
||||
auth_result->ret = AUTH_FAIL_PASSWD;
|
||||
|
||||
/* 认证失败处理 */
|
||||
auth_fail_operate(user_id, login_time, config_fail_time);
|
||||
xfree(user_info);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -559,7 +537,6 @@ void user_auth_login(char* username, char* password, USER_AUTH_RET *auth_result)
|
|||
auth_result->group_id = group_id;
|
||||
|
||||
disconnect_database(20, auth_hdbc);
|
||||
xfree(user_info);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue