I just looked it up. It's not supposed to replace OpenSSL. It's a wrapper
offering an alternative API. And there's nothing wrong with GOTO statements
when used appropriately: the linux kernel has plenty of those too. It is
often the cleanest and most readable way to break out of nested loops.
Posted Mar 30, 2010 14:09 UTC (Tue) by hppnq (subscriber, #14462)
[Link]
From the project webpage and the source code, I can only conclude that the assl API is definitely meant to replace the OpenSSL API, which you are quite strongly encouraged not to use.
Not even the author would dream of replacing the OpenSSL implementation with his own. It speaks volumes that the quite trivial problem he set out to solve has, of course, not been implemented in his library. Instead, he chose to partially implement what was already there, poorly. The multiple goto's in every subroutine are indicative of the general quality of the code.
I would recommend that newbie SSL application programmers take some time and learn to use the OpenSSL API -- it is not that hard and you will come away with precious knowledge. For a quick and dirty job, read the sample code that comes with OpenSSL instead, and live happily.