Update the dasync engine to add a pipeline cipher

Implement aes128-cbc as a pipeline capable cipher in the dasync engine.
As dasync is just a dummy engine, it actually just performs the parallel
encrypts/decrypts in serial.

Reviewed-by: Tim Hudson <tjh@openssl.org>
This commit is contained in:
Matt Caswell
2015-09-22 11:11:24 +01:00
parent 4e3925227a
commit 98ee75439d
7 changed files with 273 additions and 69 deletions

View File

@@ -6,7 +6,7 @@
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
@@ -52,7 +52,8 @@
*
*/
/* NOTE: this file was auto generated by the mkerr.pl script: any changes
/*
* NOTE: this file was auto generated by the mkerr.pl script: any changes
* made to it will be overwritten when the script next updates this file,
* only reason strings will be preserved.
*/
@@ -64,83 +65,79 @@
/* BEGIN ERROR CODES */
#ifndef OPENSSL_NO_ERR
#define ERR_FUNC(func) ERR_PACK(0,func,0)
#define ERR_REASON(reason) ERR_PACK(0,0,reason)
# define ERR_FUNC(func) ERR_PACK(0,func,0)
# define ERR_REASON(reason) ERR_PACK(0,0,reason)
static ERR_STRING_DATA DASYNC_str_functs[]=
{
{ERR_FUNC(DASYNC_F_BIND_DASYNC), "BIND_DASYNC"},
{ERR_FUNC(DASYNC_F_CIPHER_AES_128_CBC_CODE), "CIPHER_AES_128_CBC_CODE"},
{ERR_FUNC(DASYNC_F_DASYNC_BN_MOD_EXP), "DASYNC_BN_MOD_EXP"},
{ERR_FUNC(DASYNC_F_DASYNC_MOD_EXP), "DASYNC_MOD_EXP"},
{ERR_FUNC(DASYNC_F_DASYNC_PRIVATE_DECRYPT), "DASYNC_PRIVATE_DECRYPT"},
{ERR_FUNC(DASYNC_F_DASYNC_PRIVATE_ENCRYPT), "DASYNC_PRIVATE_ENCRYPT"},
{ERR_FUNC(DASYNC_F_DASYNC_PUBLIC_DECRYPT), "DASYNC_PUBLIC_DECRYPT"},
{ERR_FUNC(DASYNC_F_DASYNC_PUBLIC_ENCRYPT), "DASYNC_PUBLIC_ENCRYPT"},
{0,NULL}
};
static ERR_STRING_DATA DASYNC_str_functs[] = {
{ERR_FUNC(DASYNC_F_BIND_DASYNC), "BIND_DASYNC"},
{ERR_FUNC(DASYNC_F_CIPHER_AES_128_CBC_CODE), "CIPHER_AES_128_CBC_CODE"},
{ERR_FUNC(DASYNC_F_DASYNC_AES128_INIT_KEY), "DASYNC_AES128_INIT_KEY"},
{ERR_FUNC(DASYNC_F_DASYNC_BN_MOD_EXP), "DASYNC_BN_MOD_EXP"},
{ERR_FUNC(DASYNC_F_DASYNC_MOD_EXP), "DASYNC_MOD_EXP"},
{ERR_FUNC(DASYNC_F_DASYNC_PRIVATE_DECRYPT), "DASYNC_PRIVATE_DECRYPT"},
{ERR_FUNC(DASYNC_F_DASYNC_PRIVATE_ENCRYPT), "DASYNC_PRIVATE_ENCRYPT"},
{ERR_FUNC(DASYNC_F_DASYNC_PUBLIC_DECRYPT), "DASYNC_PUBLIC_DECRYPT"},
{ERR_FUNC(DASYNC_F_DASYNC_PUBLIC_ENCRYPT), "DASYNC_PUBLIC_ENCRYPT"},
{0, NULL}
};
static ERR_STRING_DATA DASYNC_str_reasons[]=
{
{ERR_REASON(DASYNC_R_INIT_FAILED) ,"init failed"},
{ERR_REASON(DASYNC_R_LENGTH_NOT_BLOCK_ALIGNED),"length not block aligned"},
{ERR_REASON(DASYNC_R_UNKNOWN_FAULT) ,"unknown fault"},
{0,NULL}
};
static ERR_STRING_DATA DASYNC_str_reasons[] = {
{ERR_REASON(DASYNC_R_INIT_FAILED), "init failed"},
{ERR_REASON(DASYNC_R_LENGTH_NOT_BLOCK_ALIGNED),
"length not block aligned"},
{ERR_REASON(DASYNC_R_UNKNOWN_FAULT), "unknown fault"},
{0, NULL}
};
#endif
#ifdef DASYNC_LIB_NAME
static ERR_STRING_DATA DASYNC_lib_name[]=
{
{0 ,DASYNC_LIB_NAME},
{0,NULL}
};
static ERR_STRING_DATA DASYNC_lib_name[] = {
{0, DASYNC_LIB_NAME},
{0, NULL}
};
#endif
static int DASYNC_lib_error_code=0;
static int DASYNC_error_init=1;
static int DASYNC_lib_error_code = 0;
static int DASYNC_error_init = 1;
static void ERR_load_DASYNC_strings(void)
{
if (DASYNC_lib_error_code == 0)
DASYNC_lib_error_code=ERR_get_next_error_library();
{
if (DASYNC_lib_error_code == 0)
DASYNC_lib_error_code = ERR_get_next_error_library();
if (DASYNC_error_init)
{
DASYNC_error_init=0;
if (DASYNC_error_init) {
DASYNC_error_init = 0;
#ifndef OPENSSL_NO_ERR
ERR_load_strings(DASYNC_lib_error_code,DASYNC_str_functs);
ERR_load_strings(DASYNC_lib_error_code,DASYNC_str_reasons);
ERR_load_strings(DASYNC_lib_error_code, DASYNC_str_functs);
ERR_load_strings(DASYNC_lib_error_code, DASYNC_str_reasons);
#endif
#ifdef DASYNC_LIB_NAME
DASYNC_lib_name->error = ERR_PACK(DASYNC_lib_error_code,0,0);
ERR_load_strings(0,DASYNC_lib_name);
DASYNC_lib_name->error = ERR_PACK(DASYNC_lib_error_code, 0, 0);
ERR_load_strings(0, DASYNC_lib_name);
#endif
}
}
}
}
static void ERR_unload_DASYNC_strings(void)
{
if (DASYNC_error_init == 0)
{
{
if (DASYNC_error_init == 0) {
#ifndef OPENSSL_NO_ERR
ERR_unload_strings(DASYNC_lib_error_code,DASYNC_str_functs);
ERR_unload_strings(DASYNC_lib_error_code,DASYNC_str_reasons);
ERR_unload_strings(DASYNC_lib_error_code, DASYNC_str_functs);
ERR_unload_strings(DASYNC_lib_error_code, DASYNC_str_reasons);
#endif
#ifdef DASYNC_LIB_NAME
ERR_unload_strings(0,DASYNC_lib_name);
ERR_unload_strings(0, DASYNC_lib_name);
#endif
DASYNC_error_init=1;
}
}
DASYNC_error_init = 1;
}
}
static void ERR_DASYNC_error(int function, int reason, char *file, int line)
{
if (DASYNC_lib_error_code == 0)
DASYNC_lib_error_code=ERR_get_next_error_library();
ERR_PUT_error(DASYNC_lib_error_code,function,reason,file,line);
}
{
if (DASYNC_lib_error_code == 0)
DASYNC_lib_error_code = ERR_get_next_error_library();
ERR_PUT_error(DASYNC_lib_error_code, function, reason, file, line);
}