Hello all!
Recently I've discovered Frank (IIRC) telling us that the MD5 unit is, in contrast to all other units (I just double-checked), not licenced under the GNU LGPL, or GPL with library exception clause, but rather plain GPL because it contains code from Ulrich Drepper's glibc imple- mentation of the MD5 algorithm.
I took the time and prepared a new, BSD-licenced, implementation of the code, while preserving the old framework (ie, interface), and having as few diffs against existing code as possible.
On the other hand, since a few of the old functions continue to exist, would please the original author of the md5.pas file stand up and give permission to have the "new" md5.pas, which comes without other GPL-licenced code, under the licence shown in the attached file?
If that's cleared up, I would like to have the md5.pas in the stock distribution replaced, and the md5c.c added. As for md5c.c - it depends on <sys/types.h> to exist (I think that's OK per ANSI/ISO C), and checks for a definition LITTLE_ENDIAN (if it's not defined, big endian is assumed) - that might be a portability problem to be solved. Since you are far better in gcc and non-BSD environments than myself, I'll leave that to you.
But please let's clear up the licence issues first. We need permission from the FSF (who got assigned copyright for the old md5.pas file) or the person who originally wrote all the other routines (starting at MD5Clear, continuing over MD5Compare, MD5Str etc.). By acknowledging this, GPC's runtime environment is fully suitable for being used to compile, link and redistribute any application, not just Free Software.
Thanks in advance, and in the hope to be helpful //Thorsten