mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Strip whitespace from otr tagged message for proper display.
Will handle BASE + OTRV1TAG/OTRV2TAG or BASE + OTRV1TAG + OTRV2TAG or BASE + OTRV2TAG + OTRV1TAG
This commit is contained in:
parent
1bd617d389
commit
1192e67cf7
@ -213,8 +213,15 @@ handle_incoming_message(char *from, char *message, gboolean priv)
|
||||
//check for OTR whitespace (opportunistic or always)
|
||||
char *policy = prefs_get_string(PREF_OTR_POLICY);
|
||||
if (strcmp(policy, "opportunistic") == 0 || strcmp(policy, "always") == 0) {
|
||||
if (strstr(message,OTRL_MESSAGE_TAG_BASE)) {
|
||||
char *whitespace_base = strstr(message,OTRL_MESSAGE_TAG_BASE);
|
||||
if (whitespace_base) {
|
||||
if (strstr(message, OTRL_MESSAGE_TAG_V2) || strstr(message, OTRL_MESSAGE_TAG_V1)) {
|
||||
// Remove whitespace pattern for proper display in UI
|
||||
// Handle both BASE+TAGV1/2(16+8) and BASE+TAGV1+TAGV2(16+8+8)
|
||||
int tag_length = 24;
|
||||
if (strstr(message, OTRL_MESSAGE_TAG_V2) && strstr(message, OTRL_MESSAGE_TAG_V1)) tag_length = 32;
|
||||
memmove(whitespace_base, whitespace_base+tag_length, tag_length);
|
||||
log_debug("<%s>", message);
|
||||
char *otr_query_message = otr_start_query();
|
||||
cons_show("OTR Whitespace pattern detected. Attempting to start OTR session...");
|
||||
message_send(otr_query_message, from);
|
||||
|
Loading…
Reference in New Issue
Block a user