[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