Skip to Content.
Sympa Menu

devel - [proposal] new object class: Message.pm

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: address@concealed
  • To: address@concealed
  • Cc: address@concealed
  • Subject: [proposal] new object class: Message.pm
  • Date: Tue, 26 Feb 2002 18:17:57 +0100

Dear Sympa hackers,

I recently had some trouble getting an old version of Sympa
(3.2.1) to work with X509 signing/encryption/WWW authentication (maybe
you heard of IDX-PKI, http://idx-pki.idealx.org; this is an
open-source GPLed PKI software for which Sympa is a wonderful showcase).
I gather that the situation has improved a lot, and since I managed to
hack away the first time, I would like to help out for the development
of Sympa so that everybody profits on this: here at IDEALX, we see the
Sympa/IDXPKI combo as a killer-app (besides, all French ! :-).

Attached is a proposal for a new object class for encapsulating
messages read by Sympa, which would solve the following problems:
* factorize lots of code duplication;
* get rid of /tmp/smime-sender$$ (src/tools.pl line 351);
* solve bug named "Broken S/MIME signature" in CVS KNOWNBUGS;
* improve extensibility by not having to special-case many function
prototypes (e.g. do we have to pass the headers, the
body, or both to this function? Never mind, let us pass a Message).

The impact on existing code is minimal: to begin with, we would just
replace all invocations of a MIME::Parser with a
Message->read("/some/filename"), and the inheritance mechanisms of
Perl would do the rest (Messages are MIME::Entities which also are
Mail::Internet's).

We then get to use the new object to store as many
Sympa-specific data fields as needed (I propose certificates and
commands to begin with), and pass the whole object back and forth
between the functions, instead of just parts of it.

What do you think of this design? If you agree with it, I could
start coding it. Thank you by advance,

--
Dominique QUATRAVAUX Ingénieur développeur sénior
01 44 42 00 35 IDEALX




Archive powered by MHonArc 2.6.19+.

Top of Page