b64_pton and b64_ntop functions are not portable and cannot be found in
all C library implementations (e.g. uClibc, musl).
Since c-websockify already has explicit dependency to openssl it can be
used to replace b64_pton/ntop with versions that are portable without
introducing too much additional code or dependencies.
It's probably broken and it's definitely still messy in several ways,
but basic tests work with Chrome.
Several other C websockify cleanups:
- Remove most of the non-thread safe global variable usage (still
a little bit that could be fixed so that threading would be easier).
- Remove wswrapper. It is unmaintained, out of date, and never worked
well anyways (since it really needed a way to do asynchronous queued
work but it was running in another process context making that
hard).
- Use md5 routines from openssl.
- Remove md5.c and md5.h since no longer needed.
Thanks to https://github.com/dew111 for spurring me on to get this
done by writing code. I didn't end up using much his forked code, but
having something there goaded me enough to just get it working.