diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-11-27 19:38:16 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-11-27 19:38:16 +0000 |
commit | 0df22ffb8c24d3b89722de875d264ee2c2f7a72e (patch) | |
tree | 47214df2a70a4b001aa80ed9f99ac0f0ce158974 /src/login_sql/login.h | |
parent | 4fe91e88780a26861e7e03d27f1136ed1cf43627 (diff) | |
download | hercules-0df22ffb8c24d3b89722de875d264ee2c2f7a72e.tar.gz hercules-0df22ffb8c24d3b89722de875d264ee2c2f7a72e.tar.bz2 hercules-0df22ffb8c24d3b89722de875d264ee2c2f7a72e.tar.xz hercules-0df22ffb8c24d3b89722de875d264ee2c2f7a72e.zip |
* TXT/SQL login server code synchronization
- exported several core structures to login.h
- split off ladmin communication code from the TXT login server
- removed all occurences of login_log(); a unified function should be added when SQL's loginlog_db logging code gets synced with TXT
- removed conf setting login_log_filename
- fixed ladmin getting timeouts since the ping system was changed
- removed login/char server_fd[] arrays, added server[].fd instead
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11826 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/login_sql/login.h')
-rw-r--r-- | src/login_sql/login.h | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/src/login_sql/login.h b/src/login_sql/login.h index bc6337f42..b67d202cb 100644 --- a/src/login_sql/login.h +++ b/src/login_sql/login.h @@ -4,6 +4,8 @@ #ifndef _LOGIN_SQL_H_ #define _LOGIN_SQL_H_ +#include "../common/mmo.h" // NAME_LENGTH + #define LOGIN_CONF_NAME "conf/login_athena.conf" #define SQL_CONF_NAME "conf/inter_athena.conf" #define LAN_CONF_NAME "conf/subnet_athena.conf" @@ -18,9 +20,9 @@ struct mmo_account { int passwdenc; int account_id; - int char_id; long login_id1; long login_id2; + int char_id; char lastlogin[24]; int sex; uint8 level; @@ -28,6 +30,7 @@ struct mmo_account { struct mmo_char_server { char name[20]; + int fd; uint32 ip; uint16 port; int users; @@ -35,4 +38,42 @@ struct mmo_char_server { int new_; }; +extern struct Login_Config { + + uint32 login_ip; // the address to bind to + uint16 login_port; // the port to bind to + unsigned int ip_sync_interval; // interval (in minutes) to execute a DNS/IP update (for dynamic IPs) + bool log_login; // whether to log login server actions or not + char date_format[32]; // date format used in messages + bool console; // console input system enabled? + bool new_account_flag; // autoregistration via _M/_F ? + bool case_sensitive; // are logins case sensitive ? + bool use_md5_passwds; // work with password hashes instead of plaintext passwords? + bool login_gm_read; // should the login server handle info about gm accounts? + int min_level_to_connect; // minimum level of player/GM (0: player, 1-99: GM) to connect + bool online_check; // reject incoming players that are already registered as online ? + bool check_client_version; // check the clientversion set in the clientinfo ? + int client_version_to_connect; // the client version needed to connect (if checking is enabled) + + bool ipban; // perform IP blocking (via contents of `ipbanlist`) ? + bool dynamic_pass_failure_ban; // automatic IP blocking due to failed login attemps ? + unsigned int dynamic_pass_failure_ban_interval; // how far to scan the loginlog for password failures + unsigned int dynamic_pass_failure_ban_limit; // number of failures needed to trigger the ipban + unsigned int dynamic_pass_failure_ban_duration; // duration of the ipban + bool use_dnsbl; // dns blacklist blocking ? + char dnsbl_servs[1024]; // comma-separated list of dnsbl servers + +} login_config; + +// stores auth information of incoming clients +// used during charserver auth validation process +#define AUTH_FIFO_SIZE 256 +extern struct _auth_fifo { + int account_id; + uint32 login_id1, login_id2; + uint32 ip; + uint8 sex; + bool delflag; +} auth_fifo[AUTH_FIFO_SIZE]; + #endif /* _LOGIN_SQL_H_ */ |