Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#27 Errors sending challange message via MSN should be ignored

v1.3.0
closed-fixed
David Everly
5
2008-12-22
2008-06-25
David Rorex
No

Hi,

This is a great plugin, but there's one small problem. All the MSN spambots that hit me, tend to disconnect about 0.01 seconds after sending their spam. So then bot-sentry tries to challenge them, which fails, and then I get a popup.

Here's an excerpt from my log showing the problem:

Conversation with pypucudetex03@hotmail.com at 6/25/2008 1:43:03 PM on *****@hotmail.com (msn)
(1:43:03 PM) Message could not be sent because an error with the switchboard occurred:
(1:43:03 PM) Bot Sentry engaged: you are now being ignored! Your message will be delivered if you can correctly answer the following question within 10 minutes: What letter comes after n?

Here are my suggestions on how to possibly prevent this:
1. Wait 5 seconds before sending the message. Then check if the user is online or not. If they are offline, do nothing.
2. Somehow stop pidgin from showing error messages related to possible spambots.

Thanks for fighting the good fight against the scummy spammers!

Discussion

1 2 > >> (Page 1 of 2)
  • John Tyree
    John Tyree
    2008-06-27

    Logged In: YES
    user_id=2129558
    Originator: NO

    This happens to me for every single bot, rendering the plugin useless. (MSN only) Priority should be higher because as far as I can tell, this plugin is currently unusable.

     
  • David Everly
    David Everly
    2008-06-29

    Logged In: YES
    user_id=1113403
    Originator: NO

    I realize this is an issue, but I'm at a loss how to technically reproduce the problem. I only rarely use MSN and this issue has never happened to me.

    Is it possible for someone to attach a screenshot of the pop up window, as well as indicate the version of pidgin it was produced from?

    Also if anyone can share a way to produce the same popup window that is shown on demand that would be incredibly helpful!

    I've heard there is an alternative MSN plugin: http://code.google.com/p/msn-pecan/
    Do these problems still happen when using it?

    As far as coping with this problem until its fixed, if the plugin creates more problems than it solves but you want to use it with other non-MSN services, just go to the advanced tab of your MSN account and un-check the 'Use Bot Sentry with this account' box.

     
  • John Tyree
    John Tyree
    2008-06-29

    Logged In: YES
    user_id=2129558
    Originator: NO

    I took a screenshot of the message window after botsentry returns the switchboard error.
    I'm using pidgin 2.4.1 (the most recent one in the ubuntu repos) and the msn-pecan plugin, although the regular msn plugin produced the same error.

    I'm new to sourcefourge and i'm not positive how to add attachments so i've just uploaded it to tinypic.

    http://i28.tinypic.com/bheoh3.jpg

     
  • David Rorex
    David Rorex
    2008-07-01

     
    Attachments
  • David Rorex
    David Rorex
    2008-07-01

    Logged In: YES
    user_id=756392
    Originator: YES

    I'm attaching a screenshot of how it looks for me. I use Pidgin 2.3.1 on Windows XP SP2, using standard MSN protocol (haven't installed any special MSN plugins).

    File Added: pidgin_bs_err.png

     
  • David Rorex
    David Rorex
    2008-07-01

    Logged In: YES
    user_id=756392
    Originator: YES

    I looked through the pidgin source a little, the relevant code that generates the error is in libpurple/protocols/msn/switchboard.c, line 437. It displays the error message by calling msn_switchboard_report_user() which calls purple_conversation_write().

    Perhaps there is a way to hook calls to purple_conversation_write(), and check if it contains a message related to a bot-sentry-blocked person, and stop the message from being displayed?

     
  • David Everly
    David Everly
    2008-07-03

    Logged In: YES
    user_id=1113403
    Originator: NO

    Yes, this is what I see.

    However, it seems that the conversation doesn't exist at all. Then because of the switchboard error, the msn protocol _creates_ the conversation and then writes to it.

    As I understand it (PLEASE correct me if I'm wrong here), _creating_ the conversation is what opens the window. And it is bot-sentry's mission to block this initial opening of the window.

    It does appear that one can connect to writing-im-msg and block further text from being written to the window. But by then it is pointless since the window would have already needlessly opened, thus disturbing the user.

    So what I don't yet see is a way to reasonably handle this problem via the pidgin api.

     
  • David Rorex
    David Rorex
    2008-07-03

    Logged In: YES
    user_id=756392
    Originator: YES

    Hmm...is it possible to use the pidgin api to close the conversation then? Ideally it will happen so fast we wont see anything, but even in the worst case where the conversation pops up and disappears in half a second, is still better than the current state. I'll just know it was a spam and I'm not missing anything.

     
  • David Everly
    David Everly
    2008-07-03

    Logged In: YES
    user_id=1113403
    Originator: NO

    It would be difficult under the current api to do this reliably without fear of blocking things that ought to get through.

    Bot Sentry relies on the 'state' of whether there is an open conversation or not, so when other things alter that, all bets are off.

    What I'd like to know is if this patch to pidgin (2.4.3 -- it will probably be very similar for other versions) effectively handles the problem:

    --- libpurple/protocols/msn/switchboard.c 2008-07-03 15:28:52.000000000 -0600
    +++ libpurple/protocols/msn/switchboard.c 2008-07-03 15:33:05.000000000 -0600
    @@ -325,6 +325,7 @@
    PurpleConversation *conv;

    g_return_if_fail(swboard != NULL);
    + g_return_if_fail(swboard->conv != NULL);
    g_return_if_fail(msg != NULL);

    if ((conv = msn_switchboard_get_conv(swboard)) != NULL)

     
  • David Everly
    David Everly
    2008-07-03

    Logged In: YES
    user_id=1113403
    Originator: NO

    File Added: msn-errors-patch.txt

     
  • David Everly
    David Everly
    2008-07-10

    Logged In: YES
    user_id=1113403
    Originator: NO

    Is there anyone who can confirm or deny that my patch to pidgin addresses this issue?

     
  • David Everly
    David Everly
    2008-07-10

    • assigned_to: nobody --> deckrider
     
  • Logged In: YES
    user_id=35083
    Originator: NO

    I have been experiencing this problem myself (less and less interestingly enough) and have just upgrade to pidgin 2.4.3 and will report if and when the problem occurs again and if does not I will report back in 30 days.

     
  • Logged In: YES
    user_id=35083
    Originator: NO

    I can now verify that pidgin 2.4.3 does NOT solve this issue.

    I received:

    Message could not be sent because an error with the switchboard occurred:
    Bot Sentry engaged: you are now being ignored! Your message will be delivered if you can correctly answer the following question within 10 minutes:

    Early this morning (Sunday 7/20/2008)

     
  • Logged In: YES
    user_id=35083
    Originator: NO

    May I suggest a subsequent filter be attached to the msn_switchboard_report_user() function that looks for:
    "Bot Sentry engaged" and when it is found, msn_switchboard_report_user() actually does nothing.

     
  • David Everly
    David Everly
    2008-07-21

    Logged In: YES
    user_id=1113403
    Originator: NO

    willrawls: I had no reason to believe that pidgin 2.4.3 alone solved this alone. Did you have a chance to try pidgin patched with the patch uploaded to this bug? Currently, there is nothing in the pidgin api that will permit bot-sentry to block the error message from the switchboard.

     
  • Logged In: YES
    user_id=35083
    Originator: NO

    I can't find the patch you're talking about. I see the changed C file, but are you asking me to download and compile pidgin with that file or is there somewhere I can download the patch? (I'm more than happy to help)

     
  • David Everly
    David Everly
    2008-07-21

    Logged In: YES
    user_id=1113403
    Originator: NO

    willrawls: Scroll to the bottom of this bug and the patch is there for downloading. If you can't see it, here is the direct link:

    https://sourceforge.net/tracker/download.php?group_id=156021&atid=798112&file_id=283583&aid=2002718

    Save it as msn-errors-patch.txt then get the pidgin source code and extract it like this:

    tar jxvf pidgin-2.4.3.tar.bz2

    You can apply the patch this way (assuming the patch is in the same directory that you extracted pidgin-2.4.3 into):

    cd pidgin-2.4.3
    patch -p0 < ../msn-errors-patch.txt

     
  • Logged In: YES
    user_id=35083
    Originator: NO

    While I am a developer apparently setting up this environment to compile the DLL with the patch you suggest appears to be beyond me (a most humbling statement I assure you). Can you please provide a compiled version of this patch that I can test with?

    You can send it to william.rawls@gmail.com

     
  • David Everly
    David Everly
    2008-07-30

    Logged In: YES
    user_id=1113403
    Originator: NO

    willrawls: sorry I was assuming everyone had linux. I've uploaded a dll to this bug which might be useful. I only have linux so it was built there with a cross compiler. Scroll down to the bottom of this bug for the download link.

    I had to use 7zip to get the file to be small enough to upload. If you don't know how to extract the file, try this site: http://www.7-zip.org/download.html

    Hope this helps.
    File Added: libmsn.dll.7z

     
  • vuego
    vuego
    2008-08-16

    Logged In: YES
    user_id=1053596
    Originator: NO

    Hi deckrider

    I've been using the patched libmsn.dll for a couple of days and must say it's working perfectly. Before I got 10-20 "Message could not be sent"-errors a night but none after changing to the patched libmsn.
    However I'd like to use the msn-pecan plugin. Is there any chance of a patched msn-pecan?
    Thanks

     
  • Logged In: YES
    user_id=35083
    Originator: NO

    Yes, also please provide a build for Windows. I am really getting tired of the messages :)

     
  • David Everly
    David Everly
    2008-08-16

    Logged In: YES
    user_id=1113403
    Originator: NO

    willrawls and vuego:

    Thanks for trying the libmsn.dll attached to this bug report. The reason I provided it was to allow for testing and to verify where the issue was. However, I don't have the resources continuously provide msn and msn-pecan builds binaries for windows or other platforms.

    The correct way forward is to ask msn and msn-pecan to provide a fix so that the error message goes through the pidgin api in such a way that the bot-sentry plugin has a chance to do its job, or alternatively recognize that since bot-sentry's message included the flag
    PURPLE_MESSAGE_AUTO_RESP, no user error notification is needed. There are threads on this here:

    http://pidgin.im/pipermail/devel/2008-July/006291.html
    http://pidgin.im/pipermail/devel/2008-July/006432.html

     
  • Gordon Fogus
    Gordon Fogus
    2008-09-10

    Exactly.

    When set to block spam bots, the Bot Sentury plugin does not stop a new window from opening if the originating address is set to offline.

    For example, when a spam message is sent from a bot, that bot quickly sets its status to offline, before bot sentury has a chance to reply with the challenge. This causes a window to open with the text similar to "The message could not be delivered because [bot address] is offline".

    One solution: add an option to bot sentry that simply does not open windows form accounts not added in the buddy list. It would ignore all messages coming from any account not in the buddy account and not send a challenge.

    Emptying the fields "Question" and "Answer" in the configuration does not seem to work.

     
1 2 > >> (Page 1 of 2)