diff --git a/docs/chatcleaner.asn1 b/docs/chatcleaner.asn1
index ce7926ff..42aa788d 100644
--- a/docs/chatcleaner.asn1
+++ b/docs/chatcleaner.asn1
@@ -1,21 +1,20 @@
---**************************************************************************
--- Copyright (C) 2009-2011 by Lothar May *
--- *
--- This program is free software; you can redistribute it and/or modify *
--- it under the terms of the GNU General Public License as published by *
--- the Free Software Foundation; either version 2 of the License, or *
--- (at your option) any later version. *
--- *
--- This program is distributed in the hope that it will be useful, *
--- but WITHOUT ANY WARRANTY; without even the implied warranty of *
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
--- GNU General Public License for more details. *
--- *
--- You should have received a copy of the GNU General Public License *
--- along with this program; if not, write to the *
--- Free Software Foundation, Inc., *
--- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
---**************************************************************************
+/*****************************************************************************
+ * PokerTH - The open source texas holdem engine *
+ * Copyright (C) 2006-2011 Felix Hammer, Florian Thauer, Lothar May *
+ * *
+ * This program is free software: you can redistribute it and/or modify *
+ * it under the terms of the GNU Affero General Public License as *
+ * published by the Free Software Foundation, either version 3 of the *
+ * License, or (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU Affero General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Affero General Public License *
+ * along with this program. If not, see . *
+ *****************************************************************************/
CHATCLEANER-PROTOCOL DEFINITIONS
IMPLICIT TAGS
@@ -68,7 +67,8 @@ CleanerChatReplyMessage ::= [APPLICATION 3] SEQUENCE {
cleanerActionNone (0),
cleanerActionWarning (1),
cleanerActionKick (2),
- cleanerActionBan (3)
+ cleanerActionBan (3),
+ cleanerActionMute (4)
},
cleanerText UTF8String (SIZE(1..128)) OPTIONAL
}
diff --git a/docs/pokerth.asn1 b/docs/pokerth.asn1
index b7f77391..65888268 100644
--- a/docs/pokerth.asn1
+++ b/docs/pokerth.asn1
@@ -1,21 +1,20 @@
---**************************************************************************
--- Copyright (C) 2009-2011 by Lothar May *
--- *
--- This program is free software; you can redistribute it and/or modify *
--- it under the terms of the GNU General Public License as published by *
--- the Free Software Foundation; either version 2 of the License, or *
--- (at your option) any later version. *
--- *
--- This program is distributed in the hope that it will be useful, *
--- but WITHOUT ANY WARRANTY; without even the implied warranty of *
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
--- GNU General Public License for more details. *
--- *
--- You should have received a copy of the GNU General Public License *
--- along with this program; if not, write to the *
--- Free Software Foundation, Inc., *
--- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
---**************************************************************************
+/*****************************************************************************
+ * PokerTH - The open source texas holdem engine *
+ * Copyright (C) 2006-2011 Felix Hammer, Florian Thauer, Lothar May *
+ * *
+ * This program is free software: you can redistribute it and/or modify *
+ * it under the terms of the GNU Affero General Public License as *
+ * published by the Free Software Foundation, either version 3 of the *
+ * License, or (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU Affero General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Affero General Public License *
+ * along with this program. If not, see . *
+ *****************************************************************************/
POKERTH-PROTOCOL DEFINITIONS
IMPLICIT TAGS
diff --git a/src/chatcleaner/cleanerserver.cpp b/src/chatcleaner/cleanerserver.cpp
index 00b662b4..22ebf404 100644
--- a/src/chatcleaner/cleanerserver.cpp
+++ b/src/chatcleaner/cleanerserver.cpp
@@ -129,6 +129,11 @@ bool CleanerServer::handleMessage(InternalChatCleanerPacket &msg)
string((const char *)netRequest->playerName.buf, netRequest->playerName.size).c_str()));
QString message(QString::fromUtf8(
string((const char *)netRequest->chatMessage.buf, netRequest->chatMessage.size).c_str()));
+ unsigned gameId = 0;
+ if (netRequest->cleanerChatType.present == CleanerChatType_PR_cleanerChatTypeGame) {
+ gameId = netRequest->cleanerChatType.choice.cleanerChatTypeGame.gameId;
+ }
+ // TODO use gameId
QStringList checkreturn = myMessageFilter->check(playerId, nick, message);
QString checkAction = checkreturn.at(0);
QString checkMessage = checkreturn.at(1);
@@ -143,10 +148,12 @@ bool CleanerServer::handleMessage(InternalChatCleanerPacket &msg)
if(checkAction == "warn") {
netReply->cleanerActionType = cleanerActionType_cleanerActionWarning;
- } else if(checkAction == "kick") {
+ } else if (checkAction == "kick") {
netReply->cleanerActionType = cleanerActionType_cleanerActionKick;
- } else if(checkAction == "kickban") {
+ } else if (checkAction == "kickban") {
netReply->cleanerActionType = cleanerActionType_cleanerActionBan;
+ } else if (checkAction == "mute") {
+ netReply->cleanerActionType = cleanerActionType_cleanerActionMute;
}
string tmpCheck(checkMessage.toUtf8());
diff --git a/src/third_party/asn1/ChatCleanerMessage.c b/src/third_party/asn1/ChatCleanerMessage.c
index f71c98d7..300996cb 100644
--- a/src/third_party/asn1/ChatCleanerMessage.c
+++ b/src/third_party/asn1/ChatCleanerMessage.c
@@ -46,10 +46,10 @@ static asn_TYPE_member_t asn_MBR_ChatCleanerMessage_1[] = {
},
};
static asn_TYPE_tag2member_t asn_MAP_ChatCleanerMessage_tag2el_1[] = {
- { (ASN_TAG_CLASS_APPLICATION | (0 << 2)), 0, 0, 0 }, /* cleanerInitMessage at 27 */
- { (ASN_TAG_CLASS_APPLICATION | (1 << 2)), 1, 0, 0 }, /* cleanerInitAckMessage at 28 */
- { (ASN_TAG_CLASS_APPLICATION | (2 << 2)), 2, 0, 0 }, /* cleanerChatRequestMessage at 29 */
- { (ASN_TAG_CLASS_APPLICATION | (3 << 2)), 3, 0, 0 } /* cleanerChatReplyMessage at 31 */
+ { (ASN_TAG_CLASS_APPLICATION | (0 << 2)), 0, 0, 0 }, /* cleanerInitMessage at 26 */
+ { (ASN_TAG_CLASS_APPLICATION | (1 << 2)), 1, 0, 0 }, /* cleanerInitAckMessage at 27 */
+ { (ASN_TAG_CLASS_APPLICATION | (2 << 2)), 2, 0, 0 }, /* cleanerChatRequestMessage at 28 */
+ { (ASN_TAG_CLASS_APPLICATION | (3 << 2)), 3, 0, 0 } /* cleanerChatReplyMessage at 30 */
};
static asn_CHOICE_specifics_t asn_SPC_ChatCleanerMessage_specs_1 = {
sizeof(struct ChatCleanerMessage),
diff --git a/src/third_party/asn1/CleanerChatReplyMessage.c b/src/third_party/asn1/CleanerChatReplyMessage.c
index 35d47dce..b32bf18c 100644
--- a/src/third_party/asn1/CleanerChatReplyMessage.c
+++ b/src/third_party/asn1/CleanerChatReplyMessage.c
@@ -410,18 +410,20 @@ static asn_INTEGER_enum_map_t asn_MAP_cleanerActionType_value2enum_5[] = {
{ 0, 17, "cleanerActionNone" },
{ 1, 20, "cleanerActionWarning" },
{ 2, 17, "cleanerActionKick" },
- { 3, 16, "cleanerActionBan" }
+ { 3, 16, "cleanerActionBan" },
+ { 4, 17, "cleanerActionMute" }
};
static unsigned int asn_MAP_cleanerActionType_enum2value_5[] = {
3, /* cleanerActionBan(3) */
2, /* cleanerActionKick(2) */
+ 4, /* cleanerActionMute(4) */
0, /* cleanerActionNone(0) */
1 /* cleanerActionWarning(1) */
};
static asn_INTEGER_specifics_t asn_SPC_cleanerActionType_specs_5 = {
asn_MAP_cleanerActionType_value2enum_5, /* "tag" => N; sorted by tag */
asn_MAP_cleanerActionType_enum2value_5, /* N => "tag"; sorted by N */
- 4, /* Number of elements in the maps */
+ 5, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
@@ -506,12 +508,12 @@ static ber_tlv_tag_t asn_DEF_CleanerChatReplyMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_CleanerChatReplyMessage_tag2el_1[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* requestId at 64 */
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* playerId at 66 */
- { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 3, 0, 0 }, /* cleanerActionType at 68 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* requestId at 63 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* playerId at 65 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 3, 0, 0 }, /* cleanerActionType at 67 */
{ (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 4, 0, 0 }, /* cleanerText at 73 */
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* cleanerChatTypeLobby at 44 */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cleanerChatTypeGame at 46 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* cleanerChatTypeLobby at 43 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cleanerChatTypeGame at 45 */
};
static asn_SEQUENCE_specifics_t asn_SPC_CleanerChatReplyMessage_specs_1 = {
sizeof(struct CleanerChatReplyMessage),
diff --git a/src/third_party/asn1/CleanerChatReplyMessage.h b/src/third_party/asn1/CleanerChatReplyMessage.h
index 503205bb..df23b24d 100644
--- a/src/third_party/asn1/CleanerChatReplyMessage.h
+++ b/src/third_party/asn1/CleanerChatReplyMessage.h
@@ -27,9 +27,10 @@ extern "C" {
cleanerActionType_cleanerActionNone = 0,
cleanerActionType_cleanerActionWarning = 1,
cleanerActionType_cleanerActionKick = 2,
- cleanerActionType_cleanerActionBan = 3
+ cleanerActionType_cleanerActionBan = 3,
+ cleanerActionType_cleanerActionMute = 4
}
- e_cleanerActionType;
+ e_cleanerActionType;
/* CleanerChatReplyMessage */
typedef struct CleanerChatReplyMessage {
diff --git a/src/third_party/asn1/CleanerChatRequestMessage.c b/src/third_party/asn1/CleanerChatRequestMessage.c
index 7f22e27e..390e5c6d 100644
--- a/src/third_party/asn1/CleanerChatRequestMessage.c
+++ b/src/third_party/asn1/CleanerChatRequestMessage.c
@@ -417,12 +417,12 @@ static ber_tlv_tag_t asn_DEF_CleanerChatRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_CleanerChatRequestMessage_tag2el_1[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* requestId at 56 */
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* playerId at 58 */
- { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 3, 0, 1 }, /* playerName at 59 */
- { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 4, -1, 0 }, /* chatMessage at 60 */
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* cleanerChatTypeLobby at 44 */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cleanerChatTypeGame at 46 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* requestId at 55 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* playerId at 57 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 3, 0, 1 }, /* playerName at 58 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 4, -1, 0 }, /* chatMessage at 59 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* cleanerChatTypeLobby at 43 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cleanerChatTypeGame at 45 */
};
static asn_SEQUENCE_specifics_t asn_SPC_CleanerChatRequestMessage_specs_1 = {
sizeof(struct CleanerChatRequestMessage),
diff --git a/src/third_party/asn1/CleanerChatType.c b/src/third_party/asn1/CleanerChatType.c
index 730d2d4e..234871e5 100644
--- a/src/third_party/asn1/CleanerChatType.c
+++ b/src/third_party/asn1/CleanerChatType.c
@@ -28,8 +28,8 @@ static asn_TYPE_member_t asn_MBR_CleanerChatType_1[] = {
},
};
static asn_TYPE_tag2member_t asn_MAP_CleanerChatType_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cleanerChatTypeLobby at 44 */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cleanerChatTypeGame at 46 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cleanerChatTypeLobby at 43 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cleanerChatTypeGame at 45 */
};
static asn_CHOICE_specifics_t asn_SPC_CleanerChatType_specs_1 = {
sizeof(struct CleanerChatType),
diff --git a/src/third_party/asn1/CleanerChatTypeGame.c b/src/third_party/asn1/CleanerChatTypeGame.c
index 953614f3..438db1f8 100644
--- a/src/third_party/asn1/CleanerChatTypeGame.c
+++ b/src/third_party/asn1/CleanerChatTypeGame.c
@@ -169,7 +169,7 @@ static ber_tlv_tag_t asn_DEF_CleanerChatTypeGame_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_CleanerChatTypeGame_tag2el_1[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* gameId at 52 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* gameId at 51 */
};
static asn_SEQUENCE_specifics_t asn_SPC_CleanerChatTypeGame_specs_1 = {
sizeof(struct CleanerChatTypeGame),
diff --git a/src/third_party/asn1/CleanerInitAckMessage.c b/src/third_party/asn1/CleanerInitAckMessage.c
index 498c41e6..77305421 100644
--- a/src/third_party/asn1/CleanerInitAckMessage.c
+++ b/src/third_party/asn1/CleanerInitAckMessage.c
@@ -89,8 +89,8 @@ static ber_tlv_tag_t asn_DEF_CleanerInitAckMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_CleanerInitAckMessage_tag2el_1[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* serverVersion at 39 */
- { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* serverSecret at 40 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* serverVersion at 38 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* serverSecret at 39 */
};
static asn_SEQUENCE_specifics_t asn_SPC_CleanerInitAckMessage_specs_1 = {
sizeof(struct CleanerInitAckMessage),
diff --git a/src/third_party/asn1/CleanerInitMessage.c b/src/third_party/asn1/CleanerInitMessage.c
index 2ed10aaa..882167b6 100644
--- a/src/third_party/asn1/CleanerInitMessage.c
+++ b/src/third_party/asn1/CleanerInitMessage.c
@@ -89,8 +89,8 @@ static ber_tlv_tag_t asn_DEF_CleanerInitMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_CleanerInitMessage_tag2el_1[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* requestedVersion at 34 */
- { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* clientSecret at 35 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* requestedVersion at 33 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* clientSecret at 34 */
};
static asn_SEQUENCE_specifics_t asn_SPC_CleanerInitMessage_specs_1 = {
sizeof(struct CleanerInitMessage),