Fixed a bug reported by Mauricio G.
Thanks to David Jao, now uses PBC 0.5.4 API.
Some include statements were fixed (thanks to Jeff W).
The license has been upgraded to GPLv3.
Update PBC library detection during configuration. Thanks to Adam McLaurin for pointing this out.
Fixed include statement. Thanks to Adam McLaurin.
Applied Daniel Peebles' fixes.
As my friend pointed out, I had deleted the wrong branch of the LITTLE_ENDIAN ifdef. During testing, I mixed up my two terminals and thought that the Linux binary was incorrect while the Windows one was correct, when in fact the opposite was true.
So the old bug was that on Windows, because LITTLE_ENDIAN is not defined, the SHA1 routine was broken. The "fix" from the last version broke the Linux version in the same way. This time it should be correct on any OS running on x86 (or any other little-endian platform).
I cut and pasted the PBC autotools files. Hopefully they’ll work for PBC_sig.
A friend noticed that Windows and Linux versions weren’t cooperating properly. A signature generated by one would not verify on the other platform. This turned out to be caused by a naming conflict involving stdlib.h and hash.c. On Linux, the former defines a symbol LITTLE_ENDIAN which caused the SHA-1 routine (which I had copied the SHA-1 code from Steve Reid’s public domain SHA-1 implementation) in the latter to operate in little-endian mode, even on a big-endian machine.
For now I commented out the offending block, meaning the code will not function correctly on a big-endian machine.
There have been some fixes and enhancements since this code lived with the PBC library. See the NEWS file or the ChangeLog.
Unfortunately, the GNU autotools files were mangled during the split and cannot yet be used to build this library.