The milter module for Python provides a python interface to Sendmail's libmilter that exploits all its features. Milters can run on the same machine as sendmail, or another machine. The milter can even run with a different operating system or processor than sendmail. Sendmail talks to the milter via a local or internet socket, and keeps the milter informed of events as it processes a mail connection. At any point, the milter can cut the conversation short by telling sendmail to ACCEPT, REJECT, or DISCARD the message. After receiving a complete message from sendmail, the milter can again REJECT or DISCARD it, but it can also ACCEPT it with changes to the headers or body.
Python SRS Library is a Python translation of the Perl reference implementation for SRS (Sender Rewriting Scheme) with easy to install packaging and built-in sendmail integration. SRS is needed when forwarding mail for SMTP authorization schemes that publish which IPs are authorized to send mail from a domain (for example SPF - Sender Policy Framework). It can also detect forged SMTP bounces by signing the return path for outgoing mail.
tuipeer and Java 2
Java 2 has broken the AWT abstraction. (Boo! Hiss!) It is no longer possible to extend java.awt.Toolkit and work with the Java 2 AWT classes. The existing version of tuipeer will not work with Java 2.
Workarounds for using text terminals with Java 2 include extending the undocumented sun.awt.Toolkit, rewriting the entire AWT package (e.g. BISS-AWT), or using an entirely different 3rd party API (several projects, including my EDX interface).
Browser architecture needs to emulate Apache
A good browser design need not be troubled by the turbulent web standards waters.
The core browser should provide efficient URL fetching only. This is not trivial, and involves implementing HTTP1.0/HTTP1.1/FTP/etc
Modules can be compiled in or dynamically loaded. Same idea as Netscape plugins - except almost everthing is a plugin - and the plugins can interact with the core at more levels. (E.g. getting control when an APPLET tag is encountered.)
Standard modules would include plain HTML rendering, FTP browsing.
Optional modules would be:
Java (via APPLET tag and *external* JVM please). The external JVM should run as 'nobody' in case there are bugs in the AppletSecurityManager.
MIDI, WAV, AU, etc.
Latest XLM bandwagon.
This doesn't help with the problem of proprietary formats implemented by proprietary plugins available for 1 or 2 platforms only. (Boo Flash).
In defense of Java for web pages, let me point out that it does have a security model and that a plugin interface for an external JVM is a doable open source project.