parse real jid from muc mam messages. (disabled)
parsing this is dangerous if server doesn't filter properly thus it is disabled in config
This commit is contained in:
parent
74d376be68
commit
31dd7b5a21
|
@ -96,6 +96,8 @@ public final class Config {
|
||||||
|
|
||||||
public static final boolean IGNORE_ID_REWRITE_IN_MUC = true;
|
public static final boolean IGNORE_ID_REWRITE_IN_MUC = true;
|
||||||
|
|
||||||
|
public static final boolean PARSE_REAL_JID_FROM_MUC_MAM = false; //dangerous if server doesn’t filter
|
||||||
|
|
||||||
public static final long MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;
|
public static final long MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;
|
||||||
public static final long MAM_MAX_CATCHUP = MILLISECONDS_IN_DAY / 2;
|
public static final long MAM_MAX_CATCHUP = MILLISECONDS_IN_DAY / 2;
|
||||||
public static final int MAM_MAX_MESSAGES = 500;
|
public static final int MAM_MAX_MESSAGES = 500;
|
||||||
|
|
|
@ -434,7 +434,21 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
|
||||||
message.setOob(isOob);
|
message.setOob(isOob);
|
||||||
message.markable = packet.hasChild("markable", "urn:xmpp:chat-markers:0");
|
message.markable = packet.hasChild("markable", "urn:xmpp:chat-markers:0");
|
||||||
if (conversationMultiMode) {
|
if (conversationMultiMode) {
|
||||||
Jid trueCounterpart = conversation.getMucOptions().getTrueCounterpart(counterpart);
|
final Element item = mucUserElement == null ? null : mucUserElement.findChild("item");
|
||||||
|
Jid trueCounterpart;
|
||||||
|
if (Config.PARSE_REAL_JID_FROM_MUC_MAM && query != null && item != null) {
|
||||||
|
trueCounterpart = item.getAttributeAsJid("jid");
|
||||||
|
if (trueCounterpart != null) {
|
||||||
|
if (trueCounterpart.toBareJid().equals(account.getJid().toBareJid())) {
|
||||||
|
status = isTypeGroupChat ? Message.STATUS_SEND_RECEIVED : Message.STATUS_SEND;
|
||||||
|
} else {
|
||||||
|
status = Message.STATUS_RECEIVED;
|
||||||
|
}
|
||||||
|
message.setStatus(status);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
trueCounterpart = conversation.getMucOptions().getTrueCounterpart(counterpart);
|
||||||
|
}
|
||||||
message.setTrueCounterpart(trueCounterpart);
|
message.setTrueCounterpart(trueCounterpart);
|
||||||
if (!isTypeGroupChat) {
|
if (!isTypeGroupChat) {
|
||||||
message.setType(Message.TYPE_PRIVATE);
|
message.setType(Message.TYPE_PRIVATE);
|
||||||
|
|
Loading…
Reference in a new issue