summaryrefslogtreecommitdiff
path: root/src/content_sao.h
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2012-03-31 17:08:39 +0300
committerPerttu Ahola <celeron55@gmail.com>2012-03-31 17:08:39 +0300
commit13159c1a48690d4ede3dbabc7699ea3d49072860 (patch)
tree7a5458d911bbc0e13cdadf0afc6b63a904b4a785 /src/content_sao.h
parent0fbef74f3159422bc4a299226ab05692218f2c3b (diff)
downloadminetest-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.h9
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