summaryrefslogtreecommitdiff
path: root/src/admin
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-04-18 22:09:42 -0700
committerBen Longbons <b.r.longbons@gmail.com>2014-04-18 22:23:16 -0700
commit7f16d356995d4e9c29105f98d502a7e51a4c775d (patch)
tree3fc9f782d67f68d44c36d0dff2c197fc33dac206 /src/admin
parent56e149a51562b9d2620bc9037a81735c29ea95af (diff)
parent6d631217271fcdc57143a7f8e03a2595a93ab50f (diff)
downloadtmwa-7f16d356995d4e9c29105f98d502a7e51a4c775d.tar.gz
tmwa-7f16d356995d4e9c29105f98d502a7e51a4c775d.tar.bz2
tmwa-7f16d356995d4e9c29105f98d502a7e51a4c775d.tar.xz
tmwa-7f16d356995d4e9c29105f98d502a7e51a4c775d.zip
Merge tag 'v14.4.18' into master
Conflicts: src/admin/ladmin.cpp src/char/char.cpp src/login/login.cpp src/map/chrif.cpp src/map/clif.cpp src/mmo/socket.cpp
Diffstat (limited to 'src/admin')
-rw-r--r--src/admin/ladmin.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/admin/ladmin.cpp b/src/admin/ladmin.cpp
index c635379..307e13b 100644
--- a/src/admin/ladmin.cpp
+++ b/src/admin/ladmin.cpp
@@ -286,6 +286,18 @@ void ladmin_log(XString line)
}
static
+void delete_fromlogin(Session *)
+{
+ {
+ PRINTF("Impossible to have a connection with the login-server [%s:%d] !\n"_fmt,
+ login_ip, login_port);
+ LADMIN_LOG("Impossible to have a connection with the login-server [%s:%d] !\n"_fmt,
+ login_ip, login_port);
+ exit(0);
+ }
+}
+
+static
bool qsplit(ZString src)
{
return !src;
@@ -1940,16 +1952,6 @@ void prompt(void)
static
void parse_fromlogin(Session *s)
{
- if (s->eof)
- {
- PRINTF("Impossible to have a connection with the login-server [%s:%d] !\n"_fmt,
- login_ip, login_port);
- LADMIN_LOG("Impossible to have a connection with the login-server [%s:%d] !\n"_fmt,
- login_ip, login_port);
- delete_session(s);
- exit(0);
- }
-
while (RFIFOREST(s) >= 2)
{
switch (RFIFOW(s, 0))
@@ -1964,7 +1966,7 @@ void parse_fromlogin(Session *s)
PRINTF(" - administration system not activated, or\n"_fmt);
PRINTF(" - unauthorised IP.\n"_fmt);
LADMIN_LOG("Error at login: incorrect password, administration system not activated, or unauthorised IP.\n"_fmt);
- s->eof = 1;
+ s->set_eof();
//bytes_to_read = 1; // not stop at prompt
}
else
@@ -2763,7 +2765,7 @@ void parse_fromlogin(Session *s)
default:
PRINTF("Remote administration has been disconnected (unknown packet).\n"_fmt);
LADMIN_LOG("'End of connection, unknown packet.\n"_fmt);
- s->eof = 1;
+ s->set_eof();
return;
}
}
@@ -2781,7 +2783,8 @@ int Connect_login_server(void)
Iprintf("Attempt to connect to login-server...\n"_fmt);
LADMIN_LOG("Attempt to connect to login-server...\n"_fmt);
- login_session = make_connection(login_ip, login_port);
+ login_session = make_connection(login_ip, login_port, SessionParsers{func_parse: parse_fromlogin, func_delete: delete_fromlogin});
+
if (!login_session)
return 0;
@@ -2900,8 +2903,6 @@ int do_init(Slice<ZString> argv)
LADMIN_LOG(""_fmt);
LADMIN_LOG("Configuration file readed.\n"_fmt);
- set_defaultparse(parse_fromlogin);
-
Iprintf("EAthena login-server administration tool.\n"_fmt);
Version version = CURRENT_LOGIN_SERVER_VERSION;
Iprintf("for tmwA version %hhu.%hhu.%hhu (dev? %hhu) (flags %hhx) (which %hhx) (vend %hu)\n"_fmt,