openssl/crypto
Matt Caswell 3fd5970035 Add support for the SRP base64 alphabet
Historically we used to implement standalone base64 code for SRP. This
was replaced by commit 3d3f21aa with the standard base64 processing code.

However, the SRP base64 code was designed to be compatible with other SRP
libraries (notably libsrp, but also others) that use a variant of standard
base64. Specifically a different alphabet is used and no padding '='
characters are used. Instead 0 padding is added to the front of the string.
By changing to standard base64 we change the behaviour of the API which may
impact interoperability. It also means that SRP verifier files created prior
to 1.1.1 would not be readable in 1.1.1 and vice versa.

Instead we expand our standard base64 processing with the capability to be
able to read and generate the SRP base64 variant.

Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5925)
2018-04-13 09:37:38 +01:00
..
aes Update copyright year 2018-03-20 13:08:46 +00:00
aria Fix potential null problem. 2017-09-01 09:30:18 +10:00
asn1 Set error code on alloc failures 2018-04-03 11:31:16 -04:00
async Set error code on alloc failures 2018-04-03 11:31:16 -04:00
bf Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
bio bio/b_addr.c: resolve HP-UX compiler warnings. 2018-04-09 22:32:59 +02:00
blake2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
bn Set error code on alloc failures 2018-04-03 11:31:16 -04:00
buffer Update copyright year 2018-04-03 13:57:12 +01:00
camellia Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
cast Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
chacha Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
cmac Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
cms Set error code on alloc failures 2018-04-03 11:31:16 -04:00
comp Update copyright year 2018-04-03 13:57:12 +01:00
conf Fix false positives of IS_*() macros for 8-bit ASCII characters 2018-04-08 20:12:01 +02:00
ct Null pointer used. 2017-09-18 06:52:13 +10:00
des Update copyright year 2018-04-03 13:57:12 +01:00
dh Set error code on alloc failures 2018-04-03 11:31:16 -04:00
dsa Pick a q size consistent with the digest for DSA param generation 2018-04-05 15:44:24 +01:00
dso Add dladdr() for AIX 2018-03-20 21:33:50 -04:00
ec Correct the equation for Y' in the comment of point_double function 2018-04-09 08:38:51 -04:00
engine Don't use getenv for critical functions when run as setuid/setgid 2018-04-04 14:45:49 +02:00
err Support EVP_PKEY_sign() and EVP_PKEY_verify() for EdDSA 2018-04-06 10:10:05 +01:00
evp Add support for the SRP base64 alphabet 2018-04-13 09:37:38 +01:00
hmac Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
idea Remove parentheses of return. 2017-10-18 16:05:06 +01:00
include/internal Add support for the SRP base64 alphabet 2018-04-13 09:37:38 +01:00
kdf Set error code on alloc failures 2018-04-03 11:31:16 -04:00
lhash Remove unused num.pl,segregnam scripts 2018-02-22 15:36:27 -05:00
md2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md4 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
mdc2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
modes Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
objects Set error code on alloc failures 2018-04-03 11:31:16 -04:00
ocsp Update copyright year 2018-02-13 13:59:25 +00:00
pem Set error code on alloc failures 2018-04-03 11:31:16 -04:00
perlasm Copyright update of more files that have changed this year 2018-01-19 13:34:03 +01:00
pkcs7 Update copyright year 2018-03-20 13:08:46 +00:00
pkcs12 Add checks for alloc failing. 2017-09-06 09:52:16 -04:00
poly1305 Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
rand DRBG: fix memory leak on error in rand_drbg_get_entropy() 2018-04-10 10:33:17 +02:00
rc2 Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
rc4 Update copyright year 2018-03-20 13:08:46 +00:00
rc5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
ripemd Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
rsa Set error code on alloc failures 2018-04-03 11:31:16 -04:00
seed Use _WIN32 over WIN32 for preprocessor conditional 2017-02-16 08:59:47 -05:00
sha Update copyright year 2018-03-20 13:08:46 +00:00
siphash Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
sm2 Update copyright year 2018-03-20 13:08:46 +00:00
sm3 SM3: restructure to EVP internal and update doc to right location 2017-11-06 07:21:15 +08:00
sm4 SM4: Add SM4 block cipher to EVP 2017-10-31 15:19:14 +10:00
srp Add support for the SRP base64 alphabet 2018-04-13 09:37:38 +01:00
stack Set error code on alloc failures 2018-04-03 11:31:16 -04:00
store store/loader_file.c: rename variables causing conflicts with Android NDK. 2018-03-13 19:31:44 +01:00
ts o_time.c: use gmtime_s with MSVC 2018-03-27 20:12:34 +02:00
txt_db Update copyright year 2018-04-03 13:57:12 +01:00
ui Set error code on alloc failures 2018-04-03 11:31:16 -04:00
whrlpool Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
x509 Fix bugs in X509_NAME_ENTRY_set 2018-04-05 22:55:28 -04:00
x509v3 Update copyright year 2018-02-27 13:59:42 +00:00
alphacpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
arm64cpuid.pl Update copyright year 2018-02-13 13:59:25 +00:00
arm_arch.h Update copyright year 2018-02-13 13:59:25 +00:00
armcap.c crypto/armcap.c: mask SHA512 hardware detection on iOS. 2018-03-06 23:18:24 +01:00
armv4cpuid.pl ARMv4 assembly pack: harmonize Thumb-ification of iOS build. 2017-02-15 23:16:01 +01:00
build.info Remove import/use of File::Spec::Function 2018-04-01 22:41:04 +02:00
c64xpluscpuid.pl Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00
cpt_err.c Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
cryptlib.c Enabled OneCore Conf for Console Apps (removed nonUniversal API) 2018-04-03 18:39:22 +02:00
ctype.c Check for EOF in ASCII conversions. 2017-08-25 06:42:17 +10:00
cversion.c Fix SOURCE_DATE_EPOCH bug; use UTC 2017-11-27 14:34:14 -05:00
dllmain.c Remove parentheses of return. 2017-10-18 16:05:06 +01:00
ebcdic.c Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
ex_data.c Update copyright year 2018-02-13 13:59:25 +00:00
ia64cpuid.S Fix typo in files in crypto folder 2017-08-05 20:42:06 +02:00
init.c Prevent a possible recursion in ERR_get_state and fix the problem that 2018-04-04 14:50:50 +02:00
LPdir_nyi.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_unix.c Adjust LPdir_unix.c on VMS for OpenSSL expectations 2018-03-12 23:01:02 +01:00
LPdir_vms.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_win.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_win32.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_wince.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
mem.c Avoid unconditional store in CRYPTO_malloc. 2018-03-06 13:21:49 -05:00
mem_clr.c Fix some style issues... 2016-08-02 09:59:23 +02:00
mem_dbg.c Update copyright year 2018-02-13 13:59:25 +00:00
mem_sec.c mem_sec.c: portability fixup. 2018-03-12 11:03:17 +01:00
mips_arch.h Remove trailing whitespace from some files. 2016-10-10 23:36:21 +01:00
o_dir.c Move e_os.h to be the very first include. 2017-08-30 07:20:44 +10:00
o_fips.c Clean up references to FIPS 2017-02-28 15:26:25 +01:00
o_fopen.c Set error code on alloc failures 2018-04-03 11:31:16 -04:00
o_init.c Use "" not <> on e_os.h include 2017-08-22 11:07:56 -04:00
o_str.c Revert "GH614: Use memcpy()/strdup() when possible" 2017-09-14 10:26:54 +10:00
o_time.c Update copyright year 2018-04-03 13:57:12 +01:00
pariscid.pl Update copyright year 2018-04-03 13:57:12 +01:00
ppc_arch.h GH919: Fix wrappers for two headers 2016-05-24 11:04:38 -04:00
ppccap.c crypto/ppccap.c: SIGILL-free processor capabilities detection on MacOS X. 2017-04-02 20:45:59 +02:00
ppccpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
s390x_arch.h s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
s390xcap.c s390x assembly pack: extend s390x capability vector. 2017-10-30 14:31:32 +01:00
s390xcpuid.pl s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
sparc_arch.h Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
sparccpuid.S Clean up references to FIPS 2017-02-28 15:26:25 +01:00
sparcv9cap.c Create a prototype for OPENSSL_rdtsc 2017-11-25 14:30:11 +01:00
threads_none.c Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
threads_pthread.c Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
threads_win.c Set error code if alloc returns NULL 2018-04-05 15:13:55 -04:00
uid.c Cleaning UEFI Build with additional OPENSSL_SYS_UEFI flags 2017-03-29 07:35:59 +02:00
vms_rms.h Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
x86_64cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00
x86cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00