faulty otr messages now generate an error
This commit is contained in:
parent
3bb585c020
commit
3a57f6df89
|
@ -88,4 +88,22 @@ public class MessageGenerator {
|
||||||
}
|
}
|
||||||
return packet;
|
return packet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MessagePacket generateNotAcceptable(MessagePacket origin) {
|
||||||
|
MessagePacket packet = generateError(origin);
|
||||||
|
Element error = packet.addChild("error");
|
||||||
|
error.setAttribute("type", "modify");
|
||||||
|
error.setAttribute("code", "406");
|
||||||
|
error.addChild("not-acceptable");
|
||||||
|
return packet;
|
||||||
|
}
|
||||||
|
|
||||||
|
private MessagePacket generateError(MessagePacket origin) {
|
||||||
|
MessagePacket packet = new MessagePacket();
|
||||||
|
packet.setId(origin.getId());
|
||||||
|
packet.setTo(origin.getFrom());
|
||||||
|
packet.setBody(origin.getBody());
|
||||||
|
packet.setType(MessagePacket.TYPE_ERROR);
|
||||||
|
return packet;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,9 +92,9 @@ public class MessageParser extends AbstractParser {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String receivedId = packet.getId();
|
String receivedId = packet.getId();
|
||||||
if (receivedId!=null) {
|
if (receivedId!=null) {
|
||||||
mXmppConnectionService.replyWithError(account,packet);
|
mXmppConnectionService.replyWithNotAcceptable(account,packet);
|
||||||
}
|
}
|
||||||
conversation.resetOtrSession();
|
conversation.endOtrIfNeeded();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1475,8 +1475,10 @@ public class XmppConnectionService extends Service {
|
||||||
return this.pm;
|
return this.pm;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void replyWithError(Account account, MessagePacket packet) {
|
public void replyWithNotAcceptable(Account account, MessagePacket packet) {
|
||||||
// TODO Auto-generated method stub
|
if (account.getStatus() == Account.STATUS_ONLINE) {
|
||||||
|
MessagePacket error = this.mMessageGenerator.generateNotAcceptable(packet);
|
||||||
|
account.getXmppConnection().sendMessagePacket(error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue