Ticket #7457 (new patch)

Opened 16 months ago

Last modified 4 months ago

Double UTF-8 encoding in oscar protocol

Reported by: xmarchello Owned by: MarkDoliner
Milestone: Patches Needing Improvement Component: ICQ
Version: 2.5.2 Keywords: oscar icq
Cc:

Description

Sometimes Cyrillic messages in oscar protocol come UTF-8 encoded but libpurple encodes it again. This behavior usual for authorization requests.

Attachments

patch.txt (2.0 kB) - added by xmarchello 16 months ago.

Change History

Changed 16 months ago by xmarchello

follow-ups: ↓ 2 ↓ 4   Changed 16 months ago by rekkanoryo

The core issue here seems to me to be the same as in #5943.

Mark, can you please take a look at this one and see if the other patch covers this case too?

in reply to: ↑ 1   Changed 16 months ago by xmarchello

Replying to rekkanoryo:

The core issue here seems to me to be the same as in #5943. Mark, can you please take a look at this one and see if the other patch covers this case too?

In terms of function calls these tickets are unrelated. But it would be a great idea to introduce common mechanism to deal with UTF8 encoding/decoding and handle oscar protocol fixes there.

follow-up: ↓ 6   Changed 15 months ago by nops

The real problem in oscar.c in function purple_ssi_authrequest. Authorization request comes in UTF-8, but in this function it's convert to UTF-8 (msg -> reason). This is wrong, and this not need to be converted. Also, libpurple send authorization request in UTF-8 (family_feedbag.c function aim_ssi_sendauth).

Why it need to be converted? I think this is a mistake.

in reply to: ↑ 1   Changed 15 months ago by nops

Replying to rekkanoryo:

The core issue here seems to me to be the same as in #5943.

No, this ticket is not related.

  Changed 8 months ago by darkrain42

  • milestone set to Patches Needing Review

in reply to: ↑ 3   Changed 4 months ago by darkrain42

  • keywords patch removed
  • milestone changed from Patches Needing Review to Patches Needing Improvement

Replying to nops:

The real problem in oscar.c in function purple_ssi_authrequest. Authorization request comes in UTF-8, but in this function it's convert to UTF-8 (msg -> reason). This is wrong, and this not need to be converted. Also, libpurple send authorization request in UTF-8 (family_feedbag.c function aim_ssi_sendauth). Why it need to be converted? I think this is a mistake.

This is my conclusion too. However, lacking a history of experience with OSCAR (and in particular all the various ICQ clients), I'm not comfortable saying that the solution is just to remove the decoding step (or have the default be Unicode and then also try the value from the account options).

Note: See TracTickets for help on using tickets.