From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,2b909902584f450a,start X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!postnews.google.com!d1g2000hsg.googlegroups.com!not-for-mail From: google1@hafdconsulting.com Newsgroups: comp.lang.ada Subject: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0 Date: Tue, 22 Jul 2008 01:00:12 -0700 (PDT) Organization: http://groups.google.com Message-ID: <3d42731b-4669-414e-87cc-454260ef62ec@d1g2000hsg.googlegroups.com> NNTP-Posting-Host: 68.20.35.30 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1216713613 14216 127.0.0.1 (22 Jul 2008 08:00:13 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 22 Jul 2008 08:00:13 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: d1g2000hsg.googlegroups.com; posting-host=68.20.35.30; posting-account=OhyMIwoAAABpudocR3HA8t2ohhQMuzpv User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux sparc64; en-US; rv:1.8.1.8) Gecko/20071004 Iceweasel/2.0.0.8 (Debian-2.0.0.8-1),gzip(gfe),gzip(gfe) Xref: g2news2.google.com comp.lang.ada:6964 Date: 2008-07-22T01:00:12-07:00 List-Id: Hi. I'm working on a project to eventually produce a mailing list server in Ada. I've completed the first major 'deliverable' for the project, an email and MIME library in Ada 2005. The project page is located at: The library has the following capabilities: * Serialization and unserialization of Messages, including those with MIME parts, and API methods to easily do common things with the message objects. * An API for MIME children of message objects (and of other MIME entities), based on the Ada List container. Essentially the model is of a message object and a list of children, who can themselves have children. More abstractly, it is a n-tree. I provide a Cursor object for which you can choose one of two traversal strategies. One simply walks the children of one entity, and the other, 'recursive' strategy, walks the entire n-tree. * Very flexible parsers for RFC 2822 Date, Address, and Message ID headers, and of RFC 2045 Content-Type and Content-Transfer- Encoding headers. Data structures to represent such objects (for the date it uses an Ada Time object), and means to serialize the objects into fully compliant message headers. * Base64 and Quoted-Printable encoding and decoding. * Encapsualization and unencapsualization of message headers containing non-ASCII values conforming to RFC 2047. I've written a software specification for the library and a test suite. I'll be writing a user manual shortly as well, but I've also extensively commented the spec files to serve as a basis for the adabrowse reference manual. My original software spec document didn't include support for RFC 2183 Content-Disposition headers, so they aren't in this version of the library, although they are rather important for managing MIME parts so I'll try to get that into the library soon. I'll probably hold off on writing the manual until that's done. Thanks, -- Jordan Bettis