Changes between Version 11 and Version 12 of AnnouncerPlugin/MessageEncryption


Ignore:
Timestamp:
Mar 14, 2010 2:08:08 PM (5 years ago)
Author:
hasienda
Comment:

content cleanup and more information about current development

Legend:

Unmodified
Added
Removed
Modified
  • 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. 
    6868 
     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. 
     71 
     72Consider [https://subtrac.sara.nl/oss/email2trac/ticket/186 cryptography related features] for EmailtoTracScript ([https://subtrac.sara.nl/oss/email2trac 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. 
     73 
    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. 
     
    7277 
    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 (http://wiki.python.org/moin/GnuPrivacyGuard has a listing with some more comments): 
    7681 * [http://code.google.com/p/python-gnupg/ python-gnupg] 
     
    105110 * [http://www.freenet.org.nz/ezPyCrypto/detail/index.html ezPyCrypto], a simpler API on top of !PyCrypto 
    106111 
    107 conclusion: test '''python-gnupg''', !PyMe, PyGPGME, skip GnuPGInterface, OpenPGP, cryptlib (for now)[[BR]] 
    108 hints, recommendations? known-good code references or popular applications? 
    109  
     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. 
    110114 
    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 
     128 
     129hints, recommendations? known-good code references or popular applications? 
    124130 
    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 || 
    139145 
    140 === Sources (ideas and code) === 
     146=== Sources (for ideas and code) === 
    141147 * Intro to python-gnupg at http://groups.google.de/group/comp.lang.python/browse_thread/thread/f2b97a2c11e1df63 
    142148 * Python Wrapper for GnuPG v0.2.4 documentation: http://www.red-dove.com/python_gnupg/index.html 
     
    145151 * Python tutorial at http://www.python.org/doc/current/tutorial/index.html 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 http://www.physics.drexel.edu/~wking/code/python/send_pgp_mime, 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) 
    147154 
    148 -- hasienda 
     155 - hasienda