Added MSVC_CRT_STATIC option. Defaults to off. Should help with linking
against protobuf or other situations.
Added BUILD_STATIC_LIB and BUILD_SHARED_LIB options. (Fixes issue #191)
I think I probably also need to add an option to build the cert tool
and maybe package it up, too (issue #186) but that isn't included
in this change.
* Fixed installation with WebRTC is enabled
* Added vcpkg feature option for webrtc
* Try to detect abseil before using our own submodule copy (means we can use the one from vcpkg)
* Fixed standalone example build
* Shaved down abseil dependencies and use properly namespaced names
- Added support for using libsodium for encryption rather than OpenSSL
- Removed AES-GCM tests with keys shorter than 256; libsodium only supports 256
- Added a build with libsodium to the CI matrix
Signed-off-by: Andrew Simpson <andy@aiusepsi.co.uk>
steven@ edited and rebased:
- integrated with new USE_CRYPTO/USE_CRYPTO25519 options in CMake/meson
- separated using libsodium for ed25519/curve25519 and AES/SHA256.
- ensured libsodium simple crypto tests run on all builders instead of
a single isolated builder.
- prevented building with -DUSE_CRYPTO=libsodium for non-x86 hardware,
as libsodium's AES implementation depends on AES-NI. it is still
possible to configure with -DUSE_CRYPTO25519=libsodium on arbitrary
hardware targets.
Fixes#88.
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
There's really no good fix for these other than doing something like
memcpy, and they are effectively just noisy for no good reason right
now.
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
It was a good experiment to show that our reference code for
ed25519/curve25519 was slow. Now we just need to move to OpenSSL for
25519.
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
This offers a pretty nice performance boost: 3.7x throughput and 0.26x the
latency for ed25519, and 0.38x the latency for curve25519 key exchange.
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
Ensure that we disable C++ exceptions and RTTI for both static and
dynamic libraries. Also only enable LTCG for the DLL (since it makes the
unlinked static library rather large).
Signed-off-by: Steven Noonan <steven@valvesoftware.com>