Changes between Version 11 and Version 12 of AnnouncerPlugin/MessageEncryption

Mar 14, 2010, 1:08:08 PM (12 years ago)
Steffen Hoffmann

content cleanup and more information about current development


  • AnnouncerPlugin/MessageEncryption

    v11 v12  
    6767Beware, that this is by now no code but pure concept and subject to change a lot, before public release of the code. As with current code for AnnouncerPlugin there'll be DEBUG logging embed into all operations mentioned above.
     69==== Behind current development scope ====
     70There is a [t:wiki:TracDev/Proposals/Announcer proposal] to replace current Trac Notification system with AnnouncerPlugin. This will make the effort for a really clean solution even more urgent.
     72Consider [ cryptography related features] for EmailtoTracScript ([ current home outside of Tack-Hacks]). It could be interesting i.e. to allow only e-mails with valid signature from known senders to pass, fighting spam at another level.
    6974==== Q&A ====
    7075 ?: ''Is it right that different users will have different keys?  If so we can add configuration to the user's preference page.  We could have a big textbox for GPG key and if they have one entered, then use encryption.
    7378=== How ===
    74 ==== The interface ====
     79==== Available interfaces with GnuPG ====
    7580To make it more difficult for me to start I've found not one but several candidates for interacting with GnuPG from Python ( has a listing with some more comments):
    7681 * [ python-gnupg]
    105110 * [ ezPyCrypto], a simpler API on top of !PyCrypto
    107 conclusion: test '''python-gnupg''', !PyMe, PyGPGME, skip GnuPGInterface, OpenPGP, cryptlib (for now)[[BR]]
    108 hints, recommendations? known-good code references or popular applications?
     112==== The choice: python-gnupg ====
     113'''python-gnupg''' was tested, !PyMe a little too. It became clear, that python-gnupg just worked without much hassle. Anything else had more dependencies and was more complicated i.e. by introducing GPGME. This applies to !PyMe as well as PyGPGME. GnuPGInterface, OpenPGP, cryptlib where skipped right after the initial interface research.
    111115==== The code ====
    122126  c. add a minimal set of new options to [annoucer] section of trac.ini and replace formerly fixed values to gain planned control about new cryptographic functions
    123127 3. step: extend web_ui of AnnouncerPlugin to remote-control new options from user and/or administration settings
     129hints, recommendations? known-good code references or popular applications?
    125131==== Q&A ====
    138144  ||missing pubkey ||fingerprint in user settings but no corresponding key in pubkeyring file ||delete recipient from recipient list of event in delivery, create new event with info "specified pubkey not in Tracs keyring" to be sent to this user and project admin ||
    140 === Sources (ideas and code) ===
     146=== Sources (for ideas and code) ===
    141147 * Intro to python-gnupg at
    142148 * Python Wrapper for GnuPG v0.2.4 documentation:
    145151 * Python tutorial at to help some newbie like me opening the world of Python code
    146152some more real-world implementations of python-gnupg, hints?
     153 * MIME-capable Python mailer script is published at, this look very interesting, may help with a lot of things, but may not serve as a code base (incompatible license GPL2 vs. BSD-alike), not portable (consider Linux/Unix as well as Windows)
    148 -- hasienda
     155 - hasienda