diff options
author | Ibrahem Hossam <hemagx2@gmail.com> | 2016-04-16 15:37:47 +0200 |
---|---|---|
committer | Ibrahem Hossam <hemagx2@gmail.com> | 2016-04-16 15:37:47 +0200 |
commit | bbcb0406e5a430d1c85b3448f88a72f342530cf0 (patch) | |
tree | cc2348d9a18ea4d7e462e0247aeb8d23a1808abf /src/common | |
parent | c7410453a15110a12d9fffb06b70e9557fb9f73a (diff) | |
parent | 8448e3f8cdcbf820e304a68c7507a0ed96d53544 (diff) | |
download | hercules-bbcb0406e5a430d1c85b3448f88a72f342530cf0.tar.gz hercules-bbcb0406e5a430d1c85b3448f88a72f342530cf0.tar.bz2 hercules-bbcb0406e5a430d1c85b3448f88a72f342530cf0.tar.xz hercules-bbcb0406e5a430d1c85b3448f88a72f342530cf0.zip |
Merge pull request #1255 from HerculesWS/login-clif_rewrite
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/HPMDataCheck.h | 26 | ||||
-rw-r--r-- | src/common/HPMSymbols.inc.h | 6 | ||||
-rw-r--r-- | src/common/Makefile.in | 31 | ||||
-rw-r--r-- | src/common/mmo.h | 7 | ||||
-rw-r--r-- | src/common/strlib.c | 7 | ||||
-rw-r--r-- | src/common/strlib.h | 4 |
6 files changed, 55 insertions, 26 deletions
diff --git a/src/common/HPMDataCheck.h b/src/common/HPMDataCheck.h index 7e88b5a34..e5f482686 100644 --- a/src/common/HPMDataCheck.h +++ b/src/common/HPMDataCheck.h @@ -270,6 +270,32 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = { #else #define LOGIN_ACCOUNT_H #endif // LOGIN_ACCOUNT_H + #ifdef LOGIN_LCLIF_H + { "lclif_interface", sizeof(struct lclif_interface), SERVER_TYPE_LOGIN }, + { "login_packet_db", sizeof(struct login_packet_db), SERVER_TYPE_LOGIN }, + #else + #define LOGIN_LCLIF_H + #endif // LOGIN_LCLIF_H + #ifdef LOGIN_LCLIF_P_H + { "lclif_interface_dbs", sizeof(struct lclif_interface_dbs), SERVER_TYPE_LOGIN }, + { "lclif_interface_private", sizeof(struct lclif_interface_private), SERVER_TYPE_LOGIN }, + { "packet_AC_ACCEPT_LOGIN", sizeof(struct packet_AC_ACCEPT_LOGIN), SERVER_TYPE_LOGIN }, + { "packet_AC_REFUSE_LOGIN", sizeof(struct packet_AC_REFUSE_LOGIN), SERVER_TYPE_LOGIN }, + { "packet_AC_REFUSE_LOGIN_R2", sizeof(struct packet_AC_REFUSE_LOGIN_R2), SERVER_TYPE_LOGIN }, + { "packet_CA_CHARSERVERCONNECT", sizeof(struct packet_CA_CHARSERVERCONNECT), SERVER_TYPE_LOGIN }, + { "packet_CA_CONNECT_INFO_CHANGED", sizeof(struct packet_CA_CONNECT_INFO_CHANGED), SERVER_TYPE_LOGIN }, + { "packet_CA_EXE_HASHCHECK", sizeof(struct packet_CA_EXE_HASHCHECK), SERVER_TYPE_LOGIN }, + { "packet_CA_LOGIN", sizeof(struct packet_CA_LOGIN), SERVER_TYPE_LOGIN }, + { "packet_CA_LOGIN2", sizeof(struct packet_CA_LOGIN2), SERVER_TYPE_LOGIN }, + { "packet_CA_LOGIN3", sizeof(struct packet_CA_LOGIN3), SERVER_TYPE_LOGIN }, + { "packet_CA_LOGIN4", sizeof(struct packet_CA_LOGIN4), SERVER_TYPE_LOGIN }, + { "packet_CA_LOGIN_HAN", sizeof(struct packet_CA_LOGIN_HAN), SERVER_TYPE_LOGIN }, + { "packet_CA_LOGIN_PCBANG", sizeof(struct packet_CA_LOGIN_PCBANG), SERVER_TYPE_LOGIN }, + { "packet_CA_SSO_LOGIN_REQ", sizeof(struct packet_CA_SSO_LOGIN_REQ), SERVER_TYPE_LOGIN }, + { "packet_SC_NOTIFY_BAN", sizeof(struct packet_SC_NOTIFY_BAN), SERVER_TYPE_LOGIN }, + #else + #define LOGIN_LCLIF_P_H + #endif // LOGIN_LCLIF_P_H #ifdef LOGIN_LOGIN_H { "Login_Config", sizeof(struct Login_Config), SERVER_TYPE_LOGIN }, { "client_hash_node", sizeof(struct client_hash_node), SERVER_TYPE_LOGIN }, diff --git a/src/common/HPMSymbols.inc.h b/src/common/HPMSymbols.inc.h index b06c43bf8..be758a055 100644 --- a/src/common/HPMSymbols.inc.h +++ b/src/common/HPMSymbols.inc.h @@ -129,6 +129,9 @@ struct irc_bot_interface *ircbot; #ifdef MAP_ITEMDB_H /* itemdb */ struct itemdb_interface *itemdb; #endif // MAP_ITEMDB_H +#ifdef LOGIN_LCLIF_H /* lclif */ +struct lclif_interface *lclif; +#endif // LOGIN_LCLIF_H #ifdef COMMON_CONF_H /* libconfig */ struct libconfig_interface *libconfig; #endif // COMMON_CONF_H @@ -358,6 +361,9 @@ if ((server_type&(SERVER_TYPE_MAP)) && !HPM_SYMBOL("ircbot", ircbot)) return "ir #ifdef MAP_ITEMDB_H /* itemdb */ if ((server_type&(SERVER_TYPE_MAP)) && !HPM_SYMBOL("itemdb", itemdb)) return "itemdb"; #endif // MAP_ITEMDB_H +#ifdef LOGIN_LCLIF_H /* lclif */ +if ((server_type&(SERVER_TYPE_LOGIN)) && !HPM_SYMBOL("lclif", lclif)) return "lclif"; +#endif // LOGIN_LCLIF_H #ifdef COMMON_CONF_H /* libconfig */ if ((server_type&(SERVER_TYPE_ALL)) && !HPM_SYMBOL("libconfig", libconfig)) return "libconfig"; #endif // COMMON_CONF_H diff --git a/src/common/Makefile.in b/src/common/Makefile.in index 9d4b2d044..4580f70b8 100644 --- a/src/common/Makefile.in +++ b/src/common/Makefile.in @@ -1,7 +1,7 @@ # This file is part of Hercules. # http://herc.ws - http://github.com/HerculesWS/Hercules # -# Copyright (C) 2012-2015 Hercules Dev Team +# Copyright (C) 2012-2016 Hercules Dev Team # Copyright (C) Athena Dev Teams # # Hercules is free software: you can redistribute it and/or modify @@ -51,6 +51,7 @@ COMMON_H = atomic.h cbasetypes.h conf.h console.h core.h db.h des.h ers.h \ grfio.h hercules.h HPM.h HPMi.h memmgr.h mapindex.h md5calc.h \ mmo.h mutex.h nullpo.h random.h showmsg.h socket.h spinlock.h \ sql.h strlib.h sysinfo.h thread.h timer.h utils.h winapi.h +COMMON_PH = COMMON_SQL_OBJ = obj_sql/sql.o COMMON_SQL_H = sql.h @@ -95,7 +96,7 @@ help: Makefile: Makefile.in @$(MAKE) -C ../.. src/common/Makefile -$(SYSINFO_INC): $(COMMON_C) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) +$(SYSINFO_INC): $(COMMON_C) $(COMMON_PH) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) @echo " MAKE $@" @$(MAKE) -C ../.. sysinfo @@ -131,25 +132,27 @@ common_mini: $(COMMON_MINI_OBJ) $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) obj_all/common common_sql: $(COMMON_SQL_OBJ) obj_sql/common_sql.a Makefile -obj_all/sysinfo.o: sysinfo.c $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(SYSINFO_INC) | obj_all +# missing object files +$(MT19937AR_OBJ): + @echo " MAKE $@" + @$(MAKE) -C $(MT19937AR_D) + +$(LIBCONFIG_OBJ): + @echo " MAKE $@" + @$(MAKE) -C $(LIBCONFIG_D) + +.SECONDEXPANSION: + +obj_all/sysinfo.o: sysinfo.c $(filter sysinfo.p.h, $(COMMON_PH)) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(SYSINFO_INC) | obj_all obj_all/%.o: %.c $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_all @echo " CC $<" @$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @CPPFLAGS@ -c $(OUTPUT_OPTION) $< -obj_all/mini%.o: %.c $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_all +obj_all/mini%.o: %.c $$(filter %.p.h, $(COMMON_PH)) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_all @echo " CC $<" @$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) -DMINICORE @CPPFLAGS@ -c $(OUTPUT_OPTION) $< -obj_sql/%.o: %.c $(COMMON_H) $(COMMON_SQL_H) $(CONFIG_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_sql +obj_sql/%.o: %.c $$(filter %.p.h, $(COMMON_PH)) $(COMMON_H) $(COMMON_SQL_H) $(CONFIG_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_sql @echo " CC $<" @$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $< - -# missing object files -$(MT19937AR_OBJ): - @echo " MAKE $@" - @$(MAKE) -C $(MT19937AR_D) - -$(LIBCONFIG_OBJ): - @echo " MAKE $@" - @$(MAKE) -C $(LIBCONFIG_D) diff --git a/src/common/mmo.h b/src/common/mmo.h index 7df52e450..a2080d900 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -2,7 +2,7 @@ * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * - * Copyright (C) 2012-2015 Hercules Dev Team + * Copyright (C) 2012-2016 Hercules Dev Team * Copyright (C) Athena Dev Teams * * Hercules is free software: you can redistribute it and/or modify @@ -213,11 +213,6 @@ #define JOBL_BABY 0x2000 //8192 #define JOBL_THIRD 0x4000 //16384 -//Packet DB -#define MIN_PACKET_DB 0x0064 //what's the point of minimum packet id ? [hemagx] -#define MAX_PACKET_DB 0x0F00 -#define MAX_PACKET_POS 20 - #define SCRIPT_VARNAME_LENGTH 32 ///< Maximum length of a script variable #define INFINITE_DURATION (-1) // Infinite duration for status changes diff --git a/src/common/strlib.c b/src/common/strlib.c index 997b01ffa..8f164f2e9 100644 --- a/src/common/strlib.c +++ b/src/common/strlib.c @@ -2,7 +2,7 @@ * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * - * Copyright (C) 2012-2015 Hercules Dev Team + * Copyright (C) 2012-2016 Hercules Dev Team * Copyright (C) Athena Dev Teams * * Hercules is free software: you can redistribute it and/or modify @@ -424,13 +424,12 @@ int strlib_strline(const char *str, size_t pos) /// @param output Output string /// @param input Binary input buffer /// @param count Number of bytes to convert -bool strlib_bin2hex(char *output, unsigned char *input, size_t count) +bool strlib_bin2hex(char *output, const unsigned char *input, size_t count) { char toHex[] = "0123456789abcdef"; size_t i; - for( i = 0; i < count; ++i ) - { + for (i = 0; i < count; ++i) { *output++ = toHex[(*input & 0xF0) >> 4]; *output++ = toHex[(*input & 0x0F) >> 0]; ++input; diff --git a/src/common/strlib.h b/src/common/strlib.h index c523f5d86..36dceef2d 100644 --- a/src/common/strlib.h +++ b/src/common/strlib.h @@ -2,7 +2,7 @@ * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * - * Copyright (C) 2012-2015 Hercules Dev Team + * Copyright (C) 2012-2016 Hercules Dev Team * Copyright (C) Athena Dev Teams * * Hercules is free software: you can redistribute it and/or modify @@ -125,7 +125,7 @@ struct strlib_interface { /// Produces the hexadecimal representation of the given input. /// The output buffer must be at least count*2+1 in size. /// Returns true on success, false on failure. - bool (*bin2hex_) (char* output, unsigned char* input, size_t count); + bool (*bin2hex_) (char *output, const unsigned char *input, size_t count); }; struct stringbuf_interface { |