diff options
Diffstat (limited to 'src/txt-converter/login')
-rw-r--r-- | src/txt-converter/login/Makefile | 12 | ||||
-rw-r--r-- | src/txt-converter/login/login-converter.c | 282 |
2 files changed, 0 insertions, 294 deletions
diff --git a/src/txt-converter/login/Makefile b/src/txt-converter/login/Makefile deleted file mode 100644 index 832a21a..0000000 --- a/src/txt-converter/login/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -include ../../../make.defs -all: login-converter -sql: login-converter - -COMMON_OBJ = ../../common/core.o ../../common/socket.o ../../common/timer.o ../../common/db.o ../../common/malloc.o -COMMON_H = ../../common/core.h ../../common/socket.h ../../common/timer.h ../../common/mmo.h ../../common/version.h ../../common/db.h ../../common/malloc.h - -login-converter: login-converter.o ../../login_sql/md5calc.o ../../login_sql/strlib.o $(COMMON_OBJ) - $(CC) -o ../../../$@ $^ $(LIB_S) -login-converter.o: login-converter.c ../../login_sql/login.h ../../login_sql/md5calc.h ../../login_sql/strlib.h $(COMMON_H) -clean: - rm -f *.o ../../../login-converter diff --git a/src/txt-converter/login/login-converter.c b/src/txt-converter/login/login-converter.c deleted file mode 100644 index 477a0cc..0000000 --- a/src/txt-converter/login/login-converter.c +++ /dev/null @@ -1,282 +0,0 @@ -// $Id: login-converter.c,v 1.1.1.1 2004/09/10 17:45:03 MagicalTux Exp $ -// original : login2.c 2003/01/28 02:29:17 Rev.1.1.1.1 -// login data file to mysql conversion utility. -// -#include <sys/types.h> -#include <sys/socket.h> -#include <stdio.h> -#include <stdlib.h> -#include <netinet/in.h> -#include <sys/time.h> -#include <time.h> -#include <sys/ioctl.h> -#include <unistd.h> -#include <signal.h> -#include <fcntl.h> -#include <string.h> -#include <arpa/inet.h> - -#include <mysql.h> - -#include "../../common/core.h" -#include "../../common/socket.h" -#include "../../login/login.h" -#include "../../common/mmo.h" -#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; - -struct mmo_char_server server[MAX_SERVERS]; -int server_fd[MAX_SERVERS]; - -#define AUTH_FIFO_SIZE 256 -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"; - -static struct dbt *gm_account_db; - -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) -{ - struct gm_account *p; - p = numdb_search (gm_account_db, account_id); - if (p == NULL) - return 0; - return p->level; -} - -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; -} - -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; -} - -// アカウントデ??ベ?スの書き込み -void nowork (void) -{ - //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 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); -} |