[OTR-dev] 4.0.0-rc3 ready to roll. Please try it out!

Ian Goldberg ian at cypherpunks.ca
Sun Sep 2 17:11:06 EDT 2012


On Sun, Sep 02, 2012 at 04:49:08PM -0400, Greg Troxel wrote:
> 
> I've done a bit more debugging (thanks for your off-list help).
> This is a summary for others and new info for you.
> 
> The problem is on the originator, in receiving the revealsig message.
> It happens in otrl_auth_handle_revealsig, near where authlen is read.
> 
> With -O2 and not putting --disable-gcc-hardening, I get the error.
> Either of
>   -O1
>   --disable-gcc-hardening
> is sufficient to make it work.
> 
> Reading the (dis)assembly, the generated code seems just plain bizarrely
> wrong, but I know optimized assembly code is hard to follow.
> 
> So at this point I have a workaround for netbsd-5/i386, and I think this
> shouldn't hold up the release, because it really looks like an SSP bug
> in our version of gcc (4.1.3, which I know is ancient).
> 
> I'll keep looking; time to add -S to gcc and read the assembly w/ stabs
> hints.

Wow; thanks for your diligent help!  It does sound like a bug related to
the hardening, then.  I won't let this block Tuesday's 4.0.0 release,
then.

By the way, I tracked down that UI problem when the user has manually
turned off OTR for a particular buddy.  It was a one-line fix, so I
squeezed it into 4.  Here's the fix, if you'd like to test it:

diff --git a/ChangeLog b/ChangeLog
index aa8e97f..2c4f541 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-09-02
+
+       * gtk-dialog.c (otrg_gtk_dialog_new_purple_conv): When switching
+       to a conversation tab for which the user has explicitly disabled
+       OTR, remove the OTR menus from the top menu bar.  Thanks to Greg
+       Troxel <gdt at ir.bbn.com> for reporting the issue.
+
 2012-08-27
 
        * otr-plugin.c: Add a timer_control callback for the last-minute
diff --git a/gtk-dialog.c b/gtk-dialog.c
index ebb0a71..725c78c 100644
--- a/gtk-dialog.c
+++ b/gtk-dialog.c
@@ -2898,6 +2898,7 @@ static void otrg_gtk_dialog_new_purple_conv(PurpleConversation *conv)
 
     /* OTR is disabled for this buddy */
     if (prefs.policy == OTRL_POLICY_NEVER) {
+       otr_destroy_top_menu_objects(conv);
        return;
     }
 

Thanks,

   - Ian





More information about the OTR-dev mailing list