mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-18 19:29:09 +00:00
Some messages are useful
This commit is contained in:
@ -144,13 +144,11 @@ bool plNetClientMsgScreener::AllowIncomingMessage(const plMessage* msg) const
|
|||||||
|
|
||||||
bool plNetClientMsgScreener::IScreenIncoming(const plMessage* msg) const
|
bool plNetClientMsgScreener::IScreenIncoming(const plMessage* msg) const
|
||||||
{
|
{
|
||||||
// Why would you EVER send a RefMsg accross the network???
|
|
||||||
if (plFactory::DerivesFrom(CLASS_INDEX_SCOPED(plRefMsg), msg->ClassIndex()))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// Blacklist some obvious hacks here...
|
// Blacklist some obvious hacks here...
|
||||||
switch (msg->ClassIndex())
|
switch (msg->ClassIndex())
|
||||||
{
|
{
|
||||||
|
case CLASS_INDEX_SCOPED(plAttachMsg):
|
||||||
|
return true;
|
||||||
case CLASS_INDEX_SCOPED(plAudioSysMsg):
|
case CLASS_INDEX_SCOPED(plAudioSysMsg):
|
||||||
// This message has a flawed read/write
|
// This message has a flawed read/write
|
||||||
return false;
|
return false;
|
||||||
@ -170,4 +168,8 @@ bool plNetClientMsgScreener::IScreenIncoming(const plMessage* msg) const
|
|||||||
// might break something that we really shouldn't...
|
// might break something that we really shouldn't...
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Toss non-attach plRefMsgs
|
||||||
|
if (plFactory::DerivesFrom(CLASS_INDEX_SCOPED(plRefMsg), msg->ClassIndex()))
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -90,18 +90,6 @@ void plNetMsgScreener::IRejectLogMsg(const plMessage* msg, const char* desc, con
|
|||||||
//
|
//
|
||||||
plNetMsgScreener::Answer plNetMsgScreener::IAllowMessageType(int16_t classIndex, const plNetGameMember* gm) const
|
plNetMsgScreener::Answer plNetMsgScreener::IAllowMessageType(int16_t classIndex, const plNetGameMember* gm) const
|
||||||
{
|
{
|
||||||
// Check based on baseclass
|
|
||||||
if (plFactory::DerivesFrom(plCCRMessage::Index(), classIndex))
|
|
||||||
{
|
|
||||||
ILogCCRMessage(classIndex, gm);
|
|
||||||
Answer ans=IIsSenderCCR(gm) ? kYes : kNo;
|
|
||||||
if (ans==kNo)
|
|
||||||
{
|
|
||||||
IRejectLogMsg(classIndex, "Not a CCR", gm);
|
|
||||||
}
|
|
||||||
return ans;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check based on exact type
|
// Check based on exact type
|
||||||
switch(classIndex)
|
switch(classIndex)
|
||||||
{
|
{
|
||||||
@ -129,19 +117,8 @@ plNetMsgScreener::Answer plNetMsgScreener::IAllowMessageType(int16_t classIndex,
|
|||||||
case CLASS_INDEX_SCOPED(plLinkToAgeMsg):
|
case CLASS_INDEX_SCOPED(plLinkToAgeMsg):
|
||||||
case CLASS_INDEX_SCOPED(plSubWorldMsg):
|
case CLASS_INDEX_SCOPED(plSubWorldMsg):
|
||||||
return kYes;
|
return kYes;
|
||||||
|
|
||||||
// definitely yes or no (based on whether sender is a CCR)
|
// conditionally yes, requires further validation of msg contents
|
||||||
case CLASS_INDEX_SCOPED(plWarpMsg):
|
|
||||||
{
|
|
||||||
Answer ans=IIsSenderCCR(gm) ? kYes : kNo;
|
|
||||||
if (ans==kNo)
|
|
||||||
{
|
|
||||||
IRejectLogMsg(classIndex, "Not a CCR", gm);
|
|
||||||
}
|
|
||||||
return ans;
|
|
||||||
}
|
|
||||||
|
|
||||||
// conditionally yes, requires further validation of msg contents
|
|
||||||
case CLASS_INDEX_SCOPED(plAnimCmdMsg):
|
case CLASS_INDEX_SCOPED(plAnimCmdMsg):
|
||||||
case CLASS_INDEX_SCOPED(pfKIMsg):
|
case CLASS_INDEX_SCOPED(pfKIMsg):
|
||||||
case CLASS_INDEX_SCOPED(plAvTaskMsg):
|
case CLASS_INDEX_SCOPED(plAvTaskMsg):
|
||||||
|
Reference in New Issue
Block a user