diff options
author | Perttu Ahola <celeron55@gmail.com> | 2012-03-31 17:08:39 +0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2012-03-31 17:08:39 +0300 |
commit | 13159c1a48690d4ede3dbabc7699ea3d49072860 (patch) | |
tree | 7a5458d911bbc0e13cdadf0afc6b63a904b4a785 /src/content_sao.h | |
parent | 0fbef74f3159422bc4a299226ab05692218f2c3b (diff) | |
download | minetest-13159c1a48690d4ede3dbabc7699ea3d49072860.tar.gz minetest-13159c1a48690d4ede3dbabc7699ea3d49072860.tar.bz2 minetest-13159c1a48690d4ede3dbabc7699ea3d49072860.zip |
Add server-side enforcement of the 'fast' privilege; also fix client checking 'fly' instead of 'fast'
Diffstat (limited to 'src/content_sao.h')
-rw-r--r-- | src/content_sao.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/content_sao.h b/src/content_sao.h index f3b9f8b2f..55d0637ae 100644 --- a/src/content_sao.h +++ b/src/content_sao.h @@ -105,7 +105,8 @@ private: class PlayerSAO : public ServerActiveObject { public: - PlayerSAO(ServerEnvironment *env_, Player *player_, u16 peer_id_); + PlayerSAO(ServerEnvironment *env_, Player *player_, u16 peer_id_, + const std::set<std::string> &privs); ~PlayerSAO(); u8 getType() const { return ACTIVEOBJECT_TYPE_PLAYER; } @@ -182,6 +183,10 @@ public: m_time_from_last_punch = 0.0; return r; } + void updatePrivileges(const std::set<std::string> &privs) + { + m_privs = privs; + } private: std::string getPropertyPacket(); @@ -198,6 +203,8 @@ private: bool m_armor_groups_sent; bool m_properties_sent; struct ObjectProperties m_prop; + // Cached privileges for enforcement + std::set<std::string> m_privs; public: // Some flags used by Server |