mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-22 17:18:39 +00:00
Cache client IP in RemoteClient so it can always be retrieved (#10887)
specifically: after the peer has already disappeared
This commit is contained in:
parent
6e0e0324a4
commit
112a6adb10
6 changed files with 83 additions and 98 deletions
|
@ -25,6 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include "serialization.h" // for SER_FMT_VER_INVALID
|
||||
#include "network/networkpacket.h"
|
||||
#include "network/networkprotocol.h"
|
||||
#include "network/address.h"
|
||||
#include "porting.h"
|
||||
|
||||
#include <list>
|
||||
|
@ -188,7 +189,6 @@ enum ClientStateEvent
|
|||
{
|
||||
CSE_Hello,
|
||||
CSE_AuthAccept,
|
||||
CSE_InitLegacy,
|
||||
CSE_GotInit2,
|
||||
CSE_SetDenied,
|
||||
CSE_SetDefinitionsSent,
|
||||
|
@ -338,17 +338,24 @@ public:
|
|||
u8 getMajor() const { return m_version_major; }
|
||||
u8 getMinor() const { return m_version_minor; }
|
||||
u8 getPatch() const { return m_version_patch; }
|
||||
const std::string &getFull() const { return m_full_version; }
|
||||
const std::string &getFullVer() const { return m_full_version; }
|
||||
|
||||
void setLangCode(const std::string &code) { m_lang_code = code; }
|
||||
const std::string &getLangCode() const { return m_lang_code; }
|
||||
|
||||
void setCachedAddress(const Address &addr) { m_addr = addr; }
|
||||
const Address &getAddress() const { return m_addr; }
|
||||
|
||||
private:
|
||||
// Version is stored in here after INIT before INIT2
|
||||
u8 m_pending_serialization_version = SER_FMT_VER_INVALID;
|
||||
|
||||
/* current state of client */
|
||||
ClientState m_state = CS_Created;
|
||||
|
||||
|
||||
// Cached here so retrieval doesn't have to go to connection API
|
||||
Address m_addr;
|
||||
|
||||
// Client sent language code
|
||||
std::string m_lang_code;
|
||||
|
||||
|
@ -412,7 +419,7 @@ private:
|
|||
|
||||
/*
|
||||
client information
|
||||
*/
|
||||
*/
|
||||
u8 m_version_major = 0;
|
||||
u8 m_version_minor = 0;
|
||||
u8 m_version_patch = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue