diff options
author | Chuck Miller <shadowmil@gmail.com> | 2009-12-25 05:00:31 -0500 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2009-12-26 00:40:11 -0700 |
commit | 634aeeb9d58b01f9de6632a014a063ef0c4cf31e (patch) | |
tree | 70023dd2bcc12a3f96ec6f118d80e27411920531 /src/txt-converter/login/login-converter.c | |
parent | 113fcc4f0a7a0921e94bc415515dd4b393a29d60 (diff) | |
download | tmwa-634aeeb9d58b01f9de6632a014a063ef0c4cf31e.tar.gz tmwa-634aeeb9d58b01f9de6632a014a063ef0c4cf31e.tar.bz2 tmwa-634aeeb9d58b01f9de6632a014a063ef0c4cf31e.tar.xz tmwa-634aeeb9d58b01f9de6632a014a063ef0c4cf31e.zip |
Used the "indent" C formatting program from GNU to do some clean ups
The command options used was:
-nbad -bap -sc -bl -blf -bli0 -cli4 -cbi0
-di5 -nbc -bls -ip2 -nut -ts4 -bap -i4 -sob -npsl
Diffstat (limited to 'src/txt-converter/login/login-converter.c')
-rw-r--r-- | src/txt-converter/login/login-converter.c | 420 |
1 files changed, 225 insertions, 195 deletions
diff --git a/src/txt-converter/login/login-converter.c b/src/txt-converter/login/login-converter.c index 22957ff..2836866 100644 --- a/src/txt-converter/login/login-converter.c +++ b/src/txt-converter/login/login-converter.c @@ -25,228 +25,258 @@ #include "../../common/version.h" #include "../../common/db.h" -int account_id_count = START_ACCOUNT_NUM; -int server_num; -int new_account_flag = 0; -int login_port = 6900; +int account_id_count = START_ACCOUNT_NUM; +int server_num; +int new_account_flag = 0; +int login_port = 6900; struct mmo_char_server server[MAX_SERVERS]; -int server_fd[MAX_SERVERS]; +int server_fd[MAX_SERVERS]; #define AUTH_FIFO_SIZE 256 -struct { - int account_id,login_id1,login_id2; - int sex,delflag; +struct +{ + int account_id, login_id1, login_id2; + int sex, delflag; } auth_fifo[AUTH_FIFO_SIZE]; -int auth_fifo_pos=0; -struct { - int account_id, sex; - char userid[24], pass[24], lastlogin[24]; - int logincount; - int state; // packet 0x006a value + 1 (0: compte OK) - char email[40]; // e-mail (by default: a@a.com) - char error_message[20]; // Message of error code #6 = Your are Prohibited to log in until %s (packet 0x006a) - time_t ban_until_time; // # of seconds 1/1/1970 (timestamp): ban time limit of the account (0 = no ban) - time_t connect_until_time; // # of seconds 1/1/1970 (timestamp): Validity limit of the account (0 = unlimited) - char last_ip[16]; // save of last IP of connection - char memo[255]; // a memo field - int account_reg2_num; - struct global_reg account_reg2[ACCOUNT_REG2_NUM]; -} *auth_dat; -int auth_num=0,auth_max=0; - -char login_account_id[256]="account_id"; -char login_userid[256]="userid"; -char login_user_pass[256]="user_pass"; -char login_db[256]="login"; +int auth_fifo_pos = 0; +struct +{ + int account_id, sex; + char userid[24], pass[24], lastlogin[24]; + int logincount; + int state; // packet 0x006a value + 1 (0: compte OK) + char email[40]; // e-mail (by default: a@a.com) + char error_message[20]; // Message of error code #6 = Your are Prohibited to log in until %s (packet 0x006a) + time_t ban_until_time; // # of seconds 1/1/1970 (timestamp): ban time limit of the account (0 = no ban) + time_t connect_until_time; // # of seconds 1/1/1970 (timestamp): Validity limit of the account (0 = unlimited) + char last_ip[16]; // save of last IP of connection + char memo[255]; // a memo field + int account_reg2_num; + struct global_reg account_reg2[ACCOUNT_REG2_NUM]; +} *auth_dat; +int auth_num = 0, auth_max = 0; + +char login_account_id[256] = "account_id"; +char login_userid[256] = "userid"; +char login_user_pass[256] = "user_pass"; +char login_db[256] = "login"; static struct dbt *gm_account_db; -int db_server_port = 3306; +int db_server_port = 3306; char db_server_ip[16] = "127.0.0.1"; char db_server_id[32] = "ragnarok"; char db_server_pw[32] = "ragnarok"; char db_server_logindb[32] = "ragnarok"; -int isGM(int account_id) +int isGM (int account_id) { - struct gm_account *p; - p = numdb_search(gm_account_db,account_id); - if( p == NULL) - return 0; - return p->level; + struct gm_account *p; + p = numdb_search (gm_account_db, account_id); + if (p == NULL) + return 0; + return p->level; } -int read_gm_account() +int read_gm_account () { - char line[8192]; - struct gm_account *p; - FILE *fp; - int c=0; - - gm_account_db = numdb_init(); - printf("gm_account: read start\n"); - - if( (fp=fopen_("conf/GM_account.txt","r"))==NULL ) - return 1; - while(fgets(line,sizeof(line),fp)){ - if(line[0] == '/' && line[1] == '/') - continue; - p=malloc(sizeof(struct gm_account)); - if(p==NULL){ - printf("gm_account: out of memory!\n"); - exit(0); - } - if(sscanf(line,"%d %d",&p->account_id,&p->level) != 2 || p->level <= 0) { - printf("gm_account: broken data [conf/GM_account.txt] line %d\n",c); - } - else { - if(p->level > 99) - p->level = 99; - numdb_insert(gm_account_db,p->account_id,p); - } - c++; - } - fclose_(fp); - printf("gm_account: read done (%d gm account ID)\n",c); - return 0; + char line[8192]; + struct gm_account *p; + FILE *fp; + int c = 0; + + gm_account_db = numdb_init (); + printf ("gm_account: read start\n"); + + if ((fp = fopen_ ("conf/GM_account.txt", "r")) == NULL) + return 1; + while (fgets (line, sizeof (line), fp)) + { + if (line[0] == '/' && line[1] == '/') + continue; + p = malloc (sizeof (struct gm_account)); + if (p == NULL) + { + printf ("gm_account: out of memory!\n"); + exit (0); + } + if (sscanf (line, "%d %d", &p->account_id, &p->level) != 2 + || p->level <= 0) + { + printf ("gm_account: broken data [conf/GM_account.txt] line %d\n", + c); + } + else + { + if (p->level > 99) + p->level = 99; + numdb_insert (gm_account_db, p->account_id, p); + } + c++; + } + fclose_ (fp); + printf ("gm_account: read done (%d gm account ID)\n", c); + return 0; } -int mmo_auth_init(void) +int mmo_auth_init (void) { - MYSQL mysql_handle; - char tmpsql[1024]; - MYSQL_RES* sql_res ; - MYSQL_ROW sql_row ; - - mysql_init(&mysql_handle); - if(!mysql_real_connect(&mysql_handle, db_server_ip, db_server_id, db_server_pw, - db_server_logindb ,db_server_port, (char *)NULL, 0)) { - //pointer check - printf("%s\n",mysql_error(&mysql_handle)); - exit(1); - } - else { - printf ("connect success!\n"); - } - printf ("convert start...\n"); - - FILE *fp; - int account_id, logincount, user_level, state, n, i; - char line[2048], userid[2048], pass[2048], lastlogin[2048], sex, email[2048], error_message[2048], last_ip[2048], memo[2048]; - time_t ban_until_time; - time_t connect_until_time; - char t_uid[256]; - - fp=fopen_("save/account.txt","r"); - auth_dat=malloc(sizeof(auth_dat[0])*256); - auth_max=256; - if(fp==NULL) - return 0; - while(fgets(line,1023,fp)!=NULL){ - - if(line[0]=='/' && line[1]=='/') - continue; - - i = sscanf(line, "%d\t%[^\t]\t%[^\t]\t%[^\t]\t%c\t%d\t%d\t" - "%[^\t]\t%[^\t]\t%ld\t%[^\t]\t%[^\t]\t%ld%n", - &account_id, userid, pass, lastlogin, &sex, &logincount, &state, - email, error_message, &connect_until_time, last_ip, memo, &ban_until_time, &n); - - sprintf(tmpsql, "SELECT `%s`,`%s`,`%s`,`lastlogin`,`logincount`,`sex`,`connect_until`,`last_ip`,`ban_until`,`state`" - " FROM `%s` WHERE `%s`='%s'", login_account_id, login_userid, login_user_pass, login_db, login_userid, t_uid); - - if(mysql_query(&mysql_handle, tmpsql) ) { - printf("DB server Error - %s\n", mysql_error(&mysql_handle) ); - } - user_level = isGM(account_id); - printf ("userlevel: %s (%d)- %d\n",userid, account_id, user_level); - sql_res = mysql_store_result(&mysql_handle) ; - sql_row = mysql_fetch_row(sql_res); //row fetching - if (!sql_row) //no row -> insert - sprintf(tmpsql, "INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `lastlogin`, `sex`, `logincount`, `email`, `level`) VALUES (%d, '%s', '%s', '%s', '%c', %d, 'user@athena', %d);",account_id , userid, pass,lastlogin,sex,logincount, user_level); - else //row reside -> updating - sprintf(tmpsql, "UPDATE `login` SET `account_id`='%d', `userid`='%s', `user_pass`='%s', `lastlogin`='%s', `sex`='%c', `logincount`='%d', `email`='user@athena', `level`='%d'\nWHERE `account_id`='%d';",account_id , userid, pass,lastlogin,sex,logincount, user_level, account_id); - printf ("Query: %s\n",tmpsql); - mysql_free_result(sql_res) ; //resource free - if(mysql_query(&mysql_handle, tmpsql) ) { - printf("DB server Error - %s\n", mysql_error(&mysql_handle) ); - } - } - fclose_(fp); - - printf ("convert end...\n"); - - return 0; + MYSQL mysql_handle; + char tmpsql[1024]; + MYSQL_RES *sql_res; + MYSQL_ROW sql_row; + + mysql_init (&mysql_handle); + if (!mysql_real_connect + (&mysql_handle, db_server_ip, db_server_id, db_server_pw, + db_server_logindb, db_server_port, (char *) NULL, 0)) + { + //pointer check + printf ("%s\n", mysql_error (&mysql_handle)); + exit (1); + } + else + { + printf ("connect success!\n"); + } + printf ("convert start...\n"); + + FILE *fp; + int account_id, logincount, user_level, state, n, i; + char line[2048], userid[2048], pass[2048], lastlogin[2048], sex, + email[2048], error_message[2048], last_ip[2048], memo[2048]; + time_t ban_until_time; + time_t connect_until_time; + char t_uid[256]; + + fp = fopen_ ("save/account.txt", "r"); + auth_dat = malloc (sizeof (auth_dat[0]) * 256); + auth_max = 256; + if (fp == NULL) + return 0; + while (fgets (line, 1023, fp) != NULL) + { + + if (line[0] == '/' && line[1] == '/') + continue; + + i = sscanf (line, "%d\t%[^\t]\t%[^\t]\t%[^\t]\t%c\t%d\t%d\t" + "%[^\t]\t%[^\t]\t%ld\t%[^\t]\t%[^\t]\t%ld%n", + &account_id, userid, pass, lastlogin, &sex, &logincount, + &state, email, error_message, &connect_until_time, + last_ip, memo, &ban_until_time, &n); + + sprintf (tmpsql, + "SELECT `%s`,`%s`,`%s`,`lastlogin`,`logincount`,`sex`,`connect_until`,`last_ip`,`ban_until`,`state`" + " FROM `%s` WHERE `%s`='%s'", login_account_id, login_userid, + login_user_pass, login_db, login_userid, t_uid); + + if (mysql_query (&mysql_handle, tmpsql)) + { + printf ("DB server Error - %s\n", mysql_error (&mysql_handle)); + } + user_level = isGM (account_id); + printf ("userlevel: %s (%d)- %d\n", userid, account_id, user_level); + sql_res = mysql_store_result (&mysql_handle); + sql_row = mysql_fetch_row (sql_res); //row fetching + if (!sql_row) //no row -> insert + sprintf (tmpsql, + "INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `lastlogin`, `sex`, `logincount`, `email`, `level`) VALUES (%d, '%s', '%s', '%s', '%c', %d, 'user@athena', %d);", + account_id, userid, pass, lastlogin, sex, logincount, + user_level); + else //row reside -> updating + sprintf (tmpsql, + "UPDATE `login` SET `account_id`='%d', `userid`='%s', `user_pass`='%s', `lastlogin`='%s', `sex`='%c', `logincount`='%d', `email`='user@athena', `level`='%d'\nWHERE `account_id`='%d';", + account_id, userid, pass, lastlogin, sex, logincount, + user_level, account_id); + printf ("Query: %s\n", tmpsql); + mysql_free_result (sql_res); //resource free + if (mysql_query (&mysql_handle, tmpsql)) + { + printf ("DB server Error - %s\n", mysql_error (&mysql_handle)); + } + } + fclose_ (fp); + + printf ("convert end...\n"); + + return 0; } // アカウントデ??ベ?スの書き込み -void nowork(void) +void nowork (void) { - //null + //null } -int login_config_read(const char *cfgName){ - int i; - char line[1024], w1[1024], w2[1024]; - FILE *fp; - - fp=fopen_(cfgName,"r"); - - if(fp==NULL){ - printf("file not found: %s\n", cfgName); - return 1; - } - printf ("start reading configuration...\n"); - while(fgets(line, 1020, fp)){ - if(line[0] == '/' && line[1] == '/') - continue; - - i=sscanf(line,"%[^:]:%s", w1, w2); - if(i!=2) - continue; - - - //add for DB connection - if(strcmpi(w1,"db_server_ip")==0){ - strcpy(db_server_ip, w2); - printf ("set db_server_ip : %s\n",w2); - } - else if(strcmpi(w1,"db_server_port")==0){ - db_server_port=atoi(w2); - printf ("set db_server_port : %s\n",w2); - } - else if(strcmpi(w1,"db_server_id")==0){ - strcpy(db_server_id, w2); - printf ("set db_server_id : %s\n",w2); - } - else if(strcmpi(w1,"db_server_pw")==0){ - strcpy(db_server_pw, w2); - printf ("set db_server_pw : %s\n",w2); - } - else if(strcmpi(w1,"db_server_logindb")==0){ - strcpy(db_server_logindb, w2); - printf ("set db_server_logindb : %s\n",w2); - } - } - fclose_(fp); - printf ("End reading configuration...\n"); - return 0; +int login_config_read (const char *cfgName) +{ + int i; + char line[1024], w1[1024], w2[1024]; + FILE *fp; + + fp = fopen_ (cfgName, "r"); + + if (fp == NULL) + { + printf ("file not found: %s\n", cfgName); + return 1; + } + printf ("start reading configuration...\n"); + while (fgets (line, 1020, fp)) + { + if (line[0] == '/' && line[1] == '/') + continue; + + i = sscanf (line, "%[^:]:%s", w1, w2); + if (i != 2) + continue; + + //add for DB connection + if (strcmpi (w1, "db_server_ip") == 0) + { + strcpy (db_server_ip, w2); + printf ("set db_server_ip : %s\n", w2); + } + else if (strcmpi (w1, "db_server_port") == 0) + { + db_server_port = atoi (w2); + printf ("set db_server_port : %s\n", w2); + } + else if (strcmpi (w1, "db_server_id") == 0) + { + strcpy (db_server_id, w2); + printf ("set db_server_id : %s\n", w2); + } + else if (strcmpi (w1, "db_server_pw") == 0) + { + strcpy (db_server_pw, w2); + printf ("set db_server_pw : %s\n", w2); + } + else if (strcmpi (w1, "db_server_logindb") == 0) + { + strcpy (db_server_logindb, w2); + printf ("set db_server_logindb : %s\n", w2); + } + } + fclose_ (fp); + printf ("End reading configuration...\n"); + return 0; } -int do_init(int argc,char **argv) +int do_init (int argc, char **argv) { - char input; - login_config_read( (argc>1)?argv[1]:LOGIN_CONF_NAME ); - read_gm_account(); - - printf("\nWarning : Make sure you backup your databases before continuing!\n"); - printf("\nDo you wish to convert your Login Database to SQL? (y/n) : "); - input=getchar(); - if(input == 'y' || input == 'Y') - mmo_auth_init(); - - exit(0); + char input; + login_config_read ((argc > 1) ? argv[1] : LOGIN_CONF_NAME); + read_gm_account (); + + printf + ("\nWarning : Make sure you backup your databases before continuing!\n"); + printf ("\nDo you wish to convert your Login Database to SQL? (y/n) : "); + input = getchar (); + if (input == 'y' || input == 'Y') + mmo_auth_init (); + + exit (0); } - - |