Projects / The Library of Assorted Spi...

The Library of Assorted Spiffy Things

The Library of Assorted Spiffy Things (LibAST - formerly libmej) was originally designed as a companion library to Eterm. However, it contains many features that other projects may find useful, so it has been broken out into its own library. Features include thorough debugging and memory tracking engines, various string manipulation functions, and a flexible config file parsing engine.

Tags
Licenses
Operating Systems
Implementation

RSS Recent releases

  •  23 Jan 2006 13:08

Release Notes: The string class is now both an interface and an implementation, so parallel implementations (e.g., a glib string wrapper) can be created. Detection of Imlib2 support and a pixmap leak when it was disabled have been fixed. Fixes have been made for gcc4/newer autotools. This release also contains a fix for CVE-2006-0224, a buffer overflow which could lead to privilege escalation in setuid/setgid apps using LibAST's configuration engine.

  •  14 Dec 2004 14:34

Release Notes: Compatibility with Eterm 0.9.2 has been fixed.

  •  29 Sep 2004 14:52

Release Notes: This release cleans up a number of namespace issues, fixes builds on Solaris and Debian, and includes a number of new object classes: vectors, key/value pairs, iterators, and maps. Also added were object properties, a number of hash functions, and better ISO C99 compliance.

  •  30 Sep 2002 13:46

Release Notes: This release contains a brand new option parser with advanced features and a framework for doing objects and interface classes in C. This version of libast will be required for the upcoming release of Eterm 0.9.2.

  •  22 Sep 2001 12:48

Release Notes: A fix for a minor compilation issue on some systems where libX11 was not being linked with the test program.

RSS Recent comments

21 Jul 2003 23:49 mejenn01

Re: Don't use for the string ADT APIs
Again, you have not provided any information (either here, or (preferably) via e-mail) on what, if any, buffer overflows exist in the string object. If you have any pertinent information, please provide it.

21 Jul 2003 13:13 nevyn Thumbs down

Re: Don't use for the string ADT APIs

> contrary to your web site,
> LibAST does have a test suite which is
> included with every source tarball,
> including the release of 0.5 (on which
> you presumably based your "review").
%
> You've already made your point on your
> web site. The only logical reason you
> could have for posting a comment here is
> to advertise your own "competing" work.
> A rather childish act, to say the
> least.
>

I apologize, I'm not sure how I missed the test suite. I corrected this as soon as I got your comment.

My reason wasn't necessarily that people would use Vstr, as much as they would hopefully not use your string APIs based on you beign well known, in the community. I'd be more than happy if people used SafeStr, or even glib, as that would drastically reduce their chance of producing buffer overflows.

And if I get to patch one less buffer overflow because I was "childish", I will happily make that trade.

I've included a response section, so feel free to email me with a different URL. At the moment I've linked directly to your comment.

02 Jun 2003 18:40 mejenn01

Re: Don't use for the string ADT APIs

I've read your comparison page previously. My initial reaction was disappointment that a former co-worker of mine lacked the courtesy to discuss my work with me personally rather than posting information on his web site that was at least in part inaccurate.

For the record, I have read your comments and have taken them under advisement. Particularly the namespace issue is of concern to me, and I am in the process of correcting that. Furthermore, contrary to your web site, LibAST does have a test suite which is included with every source tarball, including the release of 0.5 (on which you presumably based your "review"). And finally, the LibAST objects are still works in progress; the string API in particular is not intended as a universal solution to all data storage needs. Specifically, storage of non-NUL-terminated strings will utilize a different object (one that is NOT a string, but rather a data buffer, since strings in C are ALWAYS NUL-terminated) which has not been written yet.

You've already made your point on your web site. The only logical reason you could have for posting a comment here is to advertise your own "competing" work. A rather childish act, to say the least.

LibAST is more than just a string API. If that's all someone needs, they're certainly welcome to use something else, like vstr. However, I'm sure they can make such a decision without your advertising on the pages of other projects.

02 Jun 2003 17:59 nevyn Thumbs down

Re: Don't use for the string ADT APIs

> If you have constructive criticism to
> make, James, please feel free.
> Otherwise, you're just a troll.
>

The information on the link seems pretty self explanetary to me (and I know you're inteligent enough to understand it). So then copying and pasting section of the string API comparison document (www.and.org/vstr/compa...) titled "libast (formerly libmej)" and then also pasting the libast/patrick powel sections of the prinitf comparison document (www.and.org/vstr/print...), doesn't seem like what you'd be asking me to do either ... so I can only presume you read my comment, didn't like the tone and so replied instead of reading.

If you aren't sure what I'm saying in any of the info., or want more info. then feel free to email etc. ... I'm not out to get you, I'm just sick of C programers using half useful string APIs, getting it wrong and making me watch bugtraq everyday.

01 Jun 2003 14:45 mejenn01

Re: Don't use for the string ADT APIs
If you have constructive criticism to make, James, please feel free. Otherwise, you're just a troll.

Screenshot

Project Spotlight

Nulloy

A music player with a waveform seek bar.

Screenshot

Project Spotlight

Code Browser

A folding text editor.