diff options
Diffstat (limited to 'src/client.h')
-rw-r--r-- | src/client.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/client.h b/src/client.h index 082b3d6dd..87cf8ce45 100644 --- a/src/client.h +++ b/src/client.h @@ -351,6 +351,8 @@ public: void handleCommand_Deprecated(NetworkPacket* pkt); void handleCommand_Hello(NetworkPacket* pkt); void handleCommand_AuthAccept(NetworkPacket* pkt); + void handleCommand_AcceptSudoMode(NetworkPacket* pkt); + void handleCommand_DenySudoMode(NetworkPacket* pkt); void handleCommand_InitLegacy(NetworkPacket* pkt); void handleCommand_AccessDenied(NetworkPacket* pkt); void handleCommand_RemoveNode(NetworkPacket* pkt); @@ -391,6 +393,7 @@ public: void handleCommand_OverrideDayNightRatio(NetworkPacket* pkt); void handleCommand_LocalPlayerAnimations(NetworkPacket* pkt); void handleCommand_EyeOffset(NetworkPacket* pkt); + void handleCommand_SrpBytesSandB(NetworkPacket* pkt); void ProcessData(NetworkPacket *pkt); @@ -542,11 +545,21 @@ private: // Send the item number 'item' as player item to the server void sendPlayerItem(u16 item); + void deleteAuthData(); + // helper method shared with clientpackethandler + static AuthMechanism choseAuthMech(const u32 mechs); + void sendLegacyInit(const char* playerName, const char* playerPassword); + void sendInit(const std::string &playerName); + void startAuth(AuthMechanism chosen_auth_mechanism); void sendDeletedBlocks(std::vector<v3s16> &blocks); void sendGotBlocks(v3s16 block); void sendRemovedSounds(std::vector<s32> &soundList); + // Helper function + inline std::string getPlayerName() + { return m_env.getLocalPlayer()->getName(); } + float m_packetcounter_timer; float m_connection_reinit_timer; float m_avg_rtt_timer; @@ -569,6 +582,8 @@ private: IrrlichtDevice *m_device; // Server serialization version u8 m_server_ser_ver; + // Used version of the protocol with server + u8 m_proto_ver; u16 m_playeritem; bool m_inventory_updated; Inventory *m_inventory_from_server; @@ -584,9 +599,23 @@ private: //s32 m_daynight_i; //u32 m_daynight_ratio; std::queue<std::wstring> m_chat_queue; + + // The authentication methods we can use to enter sudo mode (=change password) + u32 m_sudo_auth_methods; + // The seed returned by the server in TOCLIENT_INIT is stored here u64 m_map_seed; + + // Auth data + std::string m_playername; std::string m_password; + // If set, this will be sent (and cleared) upon a TOCLIENT_ACCEPT_SUDO_MODE + std::string m_new_password; + // Usable by auth mechanisms. + AuthMechanism m_chosen_auth_mech; + void * m_auth_data; + + bool m_access_denied; std::string m_access_denied_reason; std::queue<ClientEvent> m_client_event_queue; |