Rewriting Halloween

Halloween is the part that parses a bug-buddy email message and transforms it into an XML message. This message is used by Bugzilla to create the bug.

Current Halloween has a lot of problems:

  • Responds to all email messages, including loads of virus and spam messages
  • Cannot reliable parse email message if transmitted using a Mail-User-Agent (not directly from bug-buddy), due to:
    • Bugreport attached as a file
    • PGP/signed mail
    • text/html
    • Sysnopsis: wrapped on multiple lines

Stats for bug-buddy emails from 5 - 27 March

  • Total mail received: 2862
  • Spam,virusses: 1984
  • Bugreports: 878
    • Transmitted by bug-buddy: 817
    • Transmitted by another mail program: 61

The rewrite should:

  • Not respond to spam/virus emails, using the logic:
    • Always respond if X-Mailer was set to bug-buddy
    • Never respond to messages having an attachment ending with (vbs|bat|chm|cmd|com|exe|hta|js|jse|pif|scr|shb|vbe|vbs|vbx|wsf|wsh)
    • Search body for some standard bug-buddy text, like BugBuddy-GnomeVersion, Steps to reproduce the crash. If not found, do not respond

  • Determine crashed program and:
    • Reject (with a reply message) NOTGNOME bugreports
    • Move bugreports to correct component if original component wasn't a library.

General problem:

  • Shouldn't use email for this usage, but XML-RPC. This is targetted for the Bugzilla upgrade and the next bug-buddy will also use XML-RPC to create the bug. However, we will still want to receive the bugreports from other users. LuisVilla4: sure about that last statement? realistically, how many old stack traces (1) aren't reproduceable in newer versions and (2) still get fixed in a stable release? I'd guess 'very few'. So realistically I think the cost of just dropping old bug-buddy reports is not really that high; if anything, it means we get rid of the constant stream of dups from old versions. [An interesting stat is how many of those 878 March bug-buddy emails weren't dups.] If we wanted to make things cleaner, the email code could just spit out XML-RPC on the other side...

bug_status

resolution

count(distinct bugs.bug_id)

UNCONFIRMED

140

NEW

11

NEEDINFO

223

RESOLVED

FIXED

18

RESOLVED

WONTFIX

2

RESOLVED

DUPLICATE

402

RESOLVED

NOTABUG

3

RESOLVED

NOTGNOME

145

RESOLVED

INCOMPLETE

52

RESOLVED

INVALID

9

RESOLVED

OBSOLETE

10

CLOSED

FIXED

1

No clickable links yet, but I tried to make a query that shows you these bugs.

Attic/HalloweenRewrite (last edited 2013-11-22 16:17:41 by WilliamJonMcCann)