Add standard Base64 encoding support

[ Merge of http://go/wvgerrit/16550 ]

This is in addition to Web safe Base64 encode/decode support by core.

Change-Id: I9ed51721b138a7f15fb4d216796deadd5d5b31a2
This commit is contained in:
Rahul Frias
2016-01-22 15:32:44 -08:00
parent 2c39fce2c8
commit b15ea1150d
9 changed files with 1104 additions and 34 deletions

View File

@@ -1,30 +1,35 @@
URL: https://code.google.com/p/stringencoders/
URL: https://github.com/client9/stringencoders
Version: v3.10.3
License: BSD
License File: LICENSE
Description:
This directory contains open source code for modp base64 encode and decode
functions from https://code.google.com/p/stringencoders/.
Local Modifications:
Comment out #include "config.h" in modep_b64.cpp
functions from https://github.com/client9/stringencoders.
Additional Notes:
Note that the directory structure in third_party/stringencoders mirrors that of
stringencoders-v3.10.3, therefore, the include files are placed in ./src
instead of ./include.
The following instructions demonstrate how modp_b64_data.h is generated.
modp_b64_data.h contains conversion tables to generate web safe encoded
base64 strings.
The following instructions demonstrate how modp_b64_data.h and modp_b64w_data.h
are generated. modp_b64_data.h and modp_b64w_data.h contain conversion tables
to generate standard base64 and web safe encoded base64 strings respectively.
1. navigate to https://code.google.com/p/stringencoders
2. download stringencoders-v3.10.3.tar.gz from the "Downloads" tab
3. extract source to a working folder
4. change into stringencoders-v3.10.3/ directory
5. ./configure --with-b64w-chars='-_='
6. make
For standard base64 files
1. git clone https://github.com/client9/stringencoders.git
2. cd stringencoders
3. ./bootstrap.sh
4. ./configure
5. make
6. make check
7. now copy modp_b64_data.h to third_party/stringencoders/src/.
8. copy src/modp_b64.c to third_party/stringencoders/src/*.cpp
9. copy src/modp_b64.h to third_party/stringencoders/src/.
For web safe base64 files, repeat 1-9 above with the exception of
4, 7-9.
4. ./configure --with-b64w-chars='-_='
7. now copy modp_b64w_data.h to third_party/stringencoders/src/.
8. copy src/modp_b64w.c to third_party/stringencoders/src/*.cpp
9. copy src/modp_b64w.h to third_party/stringencoders/src/.