Skip to content

Commit

Permalink
remove bae64 decode and selftest
Browse files Browse the repository at this point in the history
Signed-off-by: Andy Green <[email protected]>
  • Loading branch information
Andy Green committed Sep 18, 2013
1 parent 512c246 commit 8eda411
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 101 deletions.
96 changes: 0 additions & 96 deletions lib/base64-decode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
5 changes: 0 additions & 5 deletions lib/libwebsockets.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

Expand Down

0 comments on commit 8eda411

Please sign in to comment.