summaryrefslogtreecommitdiff
path: root/src/login/login.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/login/login.h')
-rw-r--r--src/login/login.h123
1 files changed, 62 insertions, 61 deletions
diff --git a/src/login/login.h b/src/login/login.h
index 97335aa89..bedf5e179 100644
--- a/src/login/login.h
+++ b/src/login/login.h
@@ -7,10 +7,11 @@
#include "../common/mmo.h" // NAME_LENGTH,SEX_*
#include "../common/core.h" // CORE_ST_LAST
-enum E_LOGINSERVER_ST {
- LOGINSERVER_ST_RUNNING = CORE_ST_LAST,
- LOGINSERVER_ST_SHUTDOWN,
- LOGINSERVER_ST_LAST
+enum E_LOGINSERVER_ST
+{
+ LOGINSERVER_ST_RUNNING = CORE_ST_LAST,
+ LOGINSERVER_ST_SHUTDOWN,
+ LOGINSERVER_ST_LAST
};
#define LOGIN_CONF_NAME "conf/login_athena.conf"
@@ -20,74 +21,74 @@ enum E_LOGINSERVER_ST {
#define PASSWORDENC 3
struct login_session_data {
- int account_id;
- long login_id1;
- long login_id2;
- char sex;// 'F','M','S'
-
- char userid[NAME_LENGTH];
- char passwd[32+1]; // 23+1 for plaintext, 32+1 for md5-ed passwords
- int passwdenc;
- char md5key[20];
- uint16 md5keylen;
-
- char lastlogin[24];
- uint8 group_id;
- uint8 clienttype;
- uint32 version;
-
- uint8 client_hash[16];
- int has_client_hash;
-
- int fd;
+ int account_id;
+ long login_id1;
+ long login_id2;
+ char sex;// 'F','M','S'
+
+ char userid[NAME_LENGTH];
+ char passwd[32+1]; // 23+1 for plaintext, 32+1 for md5-ed passwords
+ int passwdenc;
+ char md5key[20];
+ uint16 md5keylen;
+
+ char lastlogin[24];
+ uint8 group_id;
+ uint8 clienttype;
+ uint32 version;
+
+ uint8 client_hash[16];
+ int has_client_hash;
+
+ int fd;
};
struct mmo_char_server {
- char name[20];
- int fd;
- uint32 ip;
- uint16 port;
- uint16 users; // user count on this server
- uint16 type; // 0=normal, 1=maintenance, 2=over 18, 3=paying, 4=P2P
- uint16 new_; // should display as 'new'?
+ char name[20];
+ int fd;
+ uint32 ip;
+ uint16 port;
+ uint16 users; // user count on this server
+ uint16 type; // 0=normal, 1=maintenance, 2=over 18, 3=paying, 4=P2P
+ uint16 new_; // should display as 'new'?
};
struct client_hash_node {
- int group_id;
- uint8 hash[16];
- struct client_hash_node *next;
+ int group_id;
+ uint8 hash[16];
+ struct client_hash_node *next;
};
struct Login_Config {
- uint32 login_ip; // the address to bind to
- uint16 login_port; // the port to bind to
- unsigned int ipban_cleanup_interval; // interval (in seconds) to clean up expired IP bans
- 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,new_acc_length_limit; // autoregistration via _M/_F ? / if yes minimum length is 4?
- int start_limited_time; // new account expiration time (-1: unlimited)
- bool use_md5_passwds; // work with password hashes instead of plaintext passwords?
- int group_id_to_connect; // required group id to connect
- int min_group_id_to_connect; // minimum group id to connect
- bool check_client_version; // check the clientversion set in the clientinfo ?
- uint32 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
-
- char account_engine[256]; // name of the engine to use (defaults to auto, for the first available engine)
-
- int client_hash_check; // flags for checking client md5
- struct client_hash_node *client_hash_nodes; // linked list containg md5 hash for each gm group
+ uint32 login_ip; // the address to bind to
+ uint16 login_port; // the port to bind to
+ unsigned int ipban_cleanup_interval; // interval (in seconds) to clean up expired IP bans
+ 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,new_acc_length_limit; // autoregistration via _M/_F ? / if yes minimum length is 4?
+ int start_limited_time; // new account expiration time (-1: unlimited)
+ bool use_md5_passwds; // work with password hashes instead of plaintext passwords?
+ int group_id_to_connect; // required group id to connect
+ int min_group_id_to_connect; // minimum group id to connect
+ bool check_client_version; // check the clientversion set in the clientinfo ?
+ uint32 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
+
+ char account_engine[256]; // name of the engine to use (defaults to auto, for the first available engine)
+
+ int client_hash_check; // flags for checking client md5
+ struct client_hash_node *client_hash_nodes; // linked list containg md5 hash for each gm group
};
#define sex_num2str(num) ( (num == SEX_FEMALE ) ? 'F' : (num == SEX_MALE ) ? 'M' : 'S' )