You need to sign in or sign up before continuing.
- May 01, 2021
-
-
Dmitry Belyavskiy authored
-
- Apr 02, 2021
-
-
se-prok authored
It's not right to have segmentation faults.
-
- Mar 31, 2021
-
-
Richard Levitte authored
When building in a directory that's separate from the source directory, test results should end up in the build directory, not the source directory. Essentially, unless you do build in the source directory, it should be regarded as read-only when building.
-
Richard Levitte authored
Cmake doesn't support the variable CMAKE_INSTALL_DIR. However, with the GNUInstallDirs module, there is the variable CMAKE_INSTALL_MANDIR.
-
Richard Levitte authored
From 3.0.0-alpha6 to 3.0.0-alpha13, mostly for Analysis to avoid getting failures when compiling, considering that the GOST source has adapted for the latter version.
-
- Mar 17, 2021
-
-
Sergei Lemeshkin authored
-
Dmitry Belyavskiy authored
-
- Mar 03, 2021
-
-
Dmitry Belyavskiy authored
-
- Feb 22, 2021
-
-
Richard Levitte authored
Using cNORM after "\n" may or may not work, probably because of the line buffered nature of standard output. If an error is displayed immediately after a printf that has cNORM after "\n", the error output sometimes "overrides" the cNORM, and you may end up with a surprisingly colorful error message, not to mention that this may also affect your prompt in the same manner. The lesson is to always output cNORM before the ending "\n".
-
Richard Levitte authored
- Simplify the installation of libraries and programs to simply use defaults. - Install only the gost engine in module form into the OpenSSL engine directory. - Install the gostsum and gost12sum manuals in the normal man1 directory, as there's really no reason to install them among OpenSSL stuff specifically. - Install the cmake configuration file.
-
Richard Levitte authored
In this form, the GOST engine isn't loadable through OpenSSL's dynamic ENGINE loader, but directly as its own function, ENGINE_load_gost(). After making that call, the engine functionality can be used as usual. This includes a public header file called gost-engine.h, which declares that functions. This also rearranges the code in gost_eng.c, as the binding functionality was spread around in the file. Now, it's all nicely tucked at the end.
-
- Feb 21, 2021
-
-
Dmitry Belyavskiy authored
-
- Feb 20, 2021
-
-
Dmitry Belyavskiy authored
-
- Feb 18, 2021
-
-
Dmitry Belyavskiy authored
-
- Feb 17, 2021
-
-
Richard Levitte authored
-
Richard Levitte authored
On MacOS X, OpenSSL and cmake have different ideas on what suffix a dynamically loadable module should have. OpenSSL expects .dylib, while cmake uses .so by default. Fixed by explicitly telling cmake to use the same suffix as for shared libraries.
-
- Feb 16, 2021
-
-
Richard Levitte authored
'prove' is a well developed TAP harness program, there's no real need to write one's own. We do need to set certain paths properly for the appropriate 'openssl' program to be run. We do that with a 'prove' plugin (WrapOpenSSL.pm) that simply amends the appropriate system environment variables, given a number of cmake generated environment variables that indicate where OpenSSL files reside.
-
- Feb 15, 2021
-
-
Richard Levitte authored
This make that array uniquely belonging to the engine proper, while leaving the more generic gost parameters functionality in the gost_core library.
-
Richard Levitte authored
GOST_CORE_SOURCE_FILES and GOST_ENGINE_SOURCE_FILES were a bit disorganised, they are now re-arranged so GOST_ENGINE_SOURCE_FILES contains ENGINE specific source only, and what was less ENGINE specific was moved to GOST_CORE_SOURCE_FILES. Furthermore, GOST_LIB_SOURCE_FILES now includes GOST_CORE_SOURCE_FILES, so the gost_core library is complete with all implementations. As a consequence, 'gost' is now explicitly made into a dlopenable module. On some operating systems, that makes a difference. This paves the way for alternative implementations based on the same base code, such as a provider implementation. It's quite possible that the re-arrangement done here isn't "pure" enough. Future development will tell.
-
- Feb 07, 2021
-
-
Dmitry Belyavskiy authored
-
Dmitry Belyavskiy authored
-
Dmitry Belyavskiy authored
-
- Jan 21, 2021
-
-
Dmitry Belyavskiy authored
-
- Jan 08, 2021
-
-
Vitaly Chikunov authored
All, excluding ppc64le/s390x/ar64 architectures, macOS, and Coverity run.
-
- Dec 06, 2020
-
-
Alexei A. Smekalkine authored
If at the input of the encryption function in the CFB mode we have an integer number of blocks, then in the main loop all blocks will be processed, except for the last one due to an incorrect border check. The last block will be fully processed as a "partial" remainder, but the initialization vector will not be updated. And, thus, the value of IV will always be incorrect in this case. This breaks stateless protocols due to an invalid initialization vector: all messages except the first cannot be decrypted. (Naturally, we are talking about a case with disabled key meshing, which does not allow context recovery due to an erroneous implementation.) It is worth noting here that the code for processing partial blocks (both at the input of the encryption functions and at the output) is a historically unnecessary artifact, since we do not set the EVP_CIPH_FLAG_CUSTOM_CIPHER flag and, as a result, OpenSSL processes partial blocks for us. This patch corrects the checking of the main loop boundary. A similar error is present in the code for the CNT mode, but there it does not manifest itself in any way, because the restoration of the state in this mode is impossible: even after disabling key meshing, we still have the state-dependent transformation of the IV. As an extra result of this fix, the code for processing partial blocks can be completely removed now. (cherry picked from commit cf402dd4)
-
- Nov 29, 2020
-
-
Igor Kirillov authored
Fixed bug when acpkm key meshing didn't apply at appropriate time during TLS secure exchange. Unify usage of 'num' variable of EVP_CIPHER_CTX for kuznetchik and magma.
-
Dmitry Belyavskiy authored
-
Dmitry Timoshkov authored
-
- Nov 20, 2020
-
-
Dmitry Belyavskiy authored
-
Dmitry Belyavskiy authored
-
- Nov 13, 2020
-
-
Igor Kirillov authored
modernize magma & kuznechik ctrl functions for EVP_CTRL_TLSTREE mode. add some minor updates to store master key for using in magma TLSTREE mode.
-
- Nov 05, 2020
-
-
Richard Levitte authored
OpenSSL 3.0 deprecates function codes and ERR_PUT_error() in favor of ERR_raise() and ERR_set_debug().
-
- Oct 29, 2020
-
-
Vitaly Chikunov authored
/root/rpmbuild/BUILD/openssl-gost-engine-1.1.1/CMakeFiles/CMakeTmp/src.c:4:14: warning: initialization of 'int *' from incompatible pointer type 'char *' [-Wincompatible-pointer-types] 4 | int *p = buf + 1; | ^~~ /root/rpmbuild/BUILD/openssl-gost-engine-1.1.1/CMakeFiles/CMakeTmp/src.c:5:14: warning: initialization of 'int *' from incompatible pointer type 'char *' [-Wincompatible-pointer-types] 5 | int *q = buf + 2; | ^~~ Reported-by: Ilya Shipitsin <https://github.com/chipitsine> Fixes: #288
-
- Oct 09, 2020
-
-
Wolfgang Beck authored
-
- Oct 04, 2020
-
-
Dmitry Belyavskiy authored
-
- Sep 27, 2020
-
-
Dmitry Belyavskiy authored
-
- Sep 24, 2020
-
-
Arseniy Ankudinov authored
-
- Sep 21, 2020
-
-
Vitaly Chikunov authored
Note, you will need to pass `-lsocket -lnsl` to the gcc for socketpair(3SOCKET) to link `test_tls'.
-
- Sep 18, 2020
-
-
Dmitry Belyavskiy authored
-
-