[OTR-users] libotr/pidgin-otr 4.0.0 "beta2" release and win32 build
Jacob Appelbaum
jacob at appelbaum.net
Fri Jun 22 22:50:44 EDT 2012
On 06/22/2012 07:27 PM, Ian Goldberg wrote:
> On Fri, Jun 22, 2012 at 05:00:32PM -0700, Jacob Appelbaum wrote:
>> On 06/21/2012 03:00 PM, Ian Goldberg wrote:
>>> Thanks for all of your feedback on 4.0.0-beta1! We've built a beta2
>>> in the usual place:
>>>
>>> http://otr.cypherpunks.ca/libotr-4.0.0-beta2.tar.gz
>>> http://otr.cypherpunks.ca/libotr-4.0.0-beta2.tar.gz.asc
>>>
>>> http://otr.cypherpunks.ca/pidgin-otr-4.0.0-beta2.tar.gz
>>> http://otr.cypherpunks.ca/pidgin-otr-4.0.0-beta2.tar.gz.asc
>>>
>>> http://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-0-beta2.exe
>>> http://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-0-beta2.exe.asc
>>>
>>> http://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-beta2.zip
>>> http://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-beta2.zip.asc
>>>
>>> This is still not for production use, but we'd love more feedback,
>>> notices of weird behaviours, or crash reports.
>>
>> I'd like to suggest that you take the gcc/compiler hardening code from
>> Tor's autoconf - I think you need it on by default and it's rather well
>> tested now for all of the major platforms:
>>
>> https://gitweb.torproject.org/tor.git/blob/f96f319b9e9fba5ff52eba2daec2247080f268ee:/configure.in#l557
>
> Jake, as you say in your subsequent email, we'd love to see a patch to
> this effect. Paul, we'd also like your opinion on it before we'd merge
> it.
I'll hack something up - is there a git repo that I can easily clone or
should I base my patches on pidgin-otr-4.0.0-beta2.tar.gz?
>
>>> As before:
>>>
>>> Translators: We would appreciate your help with updating the pidgin-otr
>>> translations. There are a few new strings, mostly regarding the support for
>>> multiple OTR sessions with the same buddy. Please send us your updated
>>> .po files as soon as possible, so we can include them in the 4.0.0
>>> release.
>>
>> As a minor note of caution, I've noticed that this version of OTR uses
>> gnu gettext's _() function with a lot of format strings. I'm sure this
>> is old news but this can be dangerous. If your translators are hostile,
>> and do not correctly include format strings, you'll have some security
>> issues.
>
> Yup, I'm aware, and I've been checking the .po files for this, albeit
> manually.
It seems like gettext is hilariously dangerous at times. I'm glad you're
aware - I sorta expected it would be old news for you...
>
>> If possible, I'd suggest a unit test or two to ensure that all .po files
>> have matching format strings for every translation. msgfmt can do a
>> check of the type and number of arguments passed around.
>
> Ah! I didn't know that about msgfmt! Fantastic. I've run it on the
> .po files we have, and indeed it caught a couple of errors. Thanks so
> much! We'll definitely make it a standard part of integrating .po files
> from now on.
Great!
Is there a plan to integrate that into the Makefile? I assume you're
using '-c' or perhaps '--check-format' in your checks?
>
>> A few years ago, I found a strcpy that had a static string being copied
>> into a static buffer. In theory, it's fine and in practice, the static
>> string was inside of _() and so, a hostile translator could smash the
>> stack. Obviously this is a wacky corner case but it's something to consider.
>>
>> It's not totally unlike this code:
>>
>> gtk-dialog.c: strcpy(our_hash, _("[none]"));
>>
>>
>> I think that a 46 byte translation for "[none]" would cause you some
>> issues. I have some private code that I wrote to demonstrate how one
>> could exploit/mess around with this stuff, if it's of interest, I'll
>> share it with you guys.
>
> Good catch. I'd fixed this in other places, but had missed this one.
> Fixed in git (along with the above .po issues).
>
Neato.
>> Additionally, I have some audit notes from the last stable release of
>> libotr/pidgin-otr on an old disk, I'll try to dig it up and send it
>> over. Nothing major, obviously.
>
> Yes, please. ;-)
Ok - it will take me a bit - I have to fly to another country for that
backup... ;-)
>
> Thanks for your help!
>
Sure! Thanks for making OTR! It's great!
All the best,
Jake
More information about the OTR-users
mailing list