diff --git a/lib/base64-decode.c b/lib/base64-decode.c index 51db2679a2..b89db7ac30 100644 --- a/lib/base64-decode.c +++ b/lib/base64-decode.c @@ -91,99 +91,3 @@ lws_b64_encode_string(const char *in, int in_len, char *out, int out_size) return done; } - -/* - * returns length of decoded string in out, or -1 if out was too small - * according to out_size - */ - -LWS_VISIBLE int -lws_b64_decode_string(const char *in, char *out, int out_size) -{ - int len; - int i; - int done = 0; - unsigned char v; - unsigned char quad[4]; - - while (*in) { - - len = 0; - for (i = 0; i < 4 && *in; i++) { - - v = 0; - while (*in && !v) { - - v = *in++; - v = (v < 43 || v > 122) ? 0 : decode[v - 43]; - if (v) - v = (v == '$') ? 0 : v - 61; - if (*in) { - len++; - if (v) - quad[i] = v - 1; - } else - quad[i] = 0; - } - } - if (!len) - continue; - - if (out_size < (done + len - 1)) - /* out buffer is too small */ - return -1; - - if (len >= 2) - *out++ = quad[0] << 2 | quad[1] >> 4; - if (len >= 3) - *out++ = quad[1] << 4 | quad[2] >> 2; - if (len >= 4) - *out++ = ((quad[2] << 6) & 0xc0) | quad[3]; - - done += len - 1; - } - - if (done + 1 >= out_size) - return -1; - - *out++ = '\0'; - - return done; -} - -int -lws_b64_selftest(void) -{ - char buf[64]; - int n; - int test; - static const char * const plaintext[] = { - "sanity check base 64" - }; - static const char * const coded[] = { - "c2FuaXR5IGNoZWNrIGJhc2UgNjQ=" - }; - - for (test = 0; test < sizeof plaintext / sizeof(plaintext[0]); test++) { - - buf[sizeof(buf) - 1] = '\0'; - n = lws_b64_encode_string(plaintext[test], - strlen(plaintext[test]), buf, sizeof buf); - if (n != strlen(coded[test]) || strcmp(buf, coded[test])) { - lwsl_err("Failed lws_b64 encode selftest " - "%d result '%s' %d\n", test, buf, n); - return -1; - } - - buf[sizeof(buf) - 1] = '\0'; - n = lws_b64_decode_string(coded[test], buf, sizeof buf); - if (n != strlen(plaintext[test]) || - strcmp(buf, plaintext[test])) { - lwsl_err("Failed lws_b64 decode selftest " - "%d result '%s' %d\n", test, buf, n); - return -1; - } - } - - return 0; -} diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index 49ae8e0ee2..e2254e05f2 100644 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -2098,11 +2098,6 @@ libwebsocket_create_context(struct lws_context_creation_info *info) } #endif - /* selftest */ - - if (lws_b64_selftest()) - goto bail; - #ifndef LWS_NO_SERVER /* set up our external listening socket we serve on */