Lines Matching +full:openssl +full:- +full:version
1 //! Bindings to OpenSSL
3 //! This crate provides a safe interface to the popular OpenSSL cryptography library. OpenSSL versi…
8 //! Both OpenSSL libraries and headers are required to build this crate. There are multiple options…
9 //! OpenSSL.
13 //! If the `vendored` Cargo feature is enabled, the `openssl-src` crate will be used to compile and…
14 //! a copy of OpenSSL. The build process requires a C compiler, perl (and perl-core), and make. The…
15 //! the newest OpenSSL release, and changes to the version are *not* considered breaking changes.
19 //! openssl = { version = "0.10", features = ["vendored"] }
23 //! `openssl-probe` crate can be used to do that instead.
27 //! The `openssl-sys` crate will automatically detect OpenSSL installations via Homebrew on macOS a…
28 //! Additionally, it will use `pkg-config` on Unix-like systems to find the system installation.
32 //! $ brew install openssl@3
35 //! $ sudo port install openssl
38 //! $ sudo pkgin install openssl
41 //! $ sudo pacman -S pkg-config openssl
44 //! $ sudo apt-get install pkg-config libssl-dev
47 //! $ sudo dnf install pkg-config perl-FindBin openssl-devel
50 //! $ apk add pkgconfig openssl-dev
53 //! $ sudo zypper in libopenssl-devel
58 //! A set of environment variables can be used to point `openssl-sys` towards an OpenSSL installati…
61 //! * `OPENSSL_DIR` - If specified, the directory of an OpenSSL installation. The directory should …
63 …/! * `OPENSSL_LIB_DIR` and `OPENSSL_INCLUDE_DIR` - If specified, the directories containing the Op…
64 //! headers respectively. This can be used if the OpenSSL installation is split in a nonstandar…
65 //! * `OPENSSL_STATIC` - If set, the crate will statically link to OpenSSL rather than dynamically …
66 //! * `OPENSSL_LIBS` - If set, a `:`-separated list of library names to link to (e.g. `ssl:crypto`)…
68 //! * `OPENSSL_NO_VENDOR` - If set, always find OpenSSL in the system, even if the `vendored` featu…
70 //! Additionally, these variables can be prefixed with the upper-cased target architecture (e.g.
75 //! APIs have been added to and removed from the various supported OpenSSL versions, and this libra…
76 //! functionality available in the version being linked against. This means that methods, constants…
77 //! will be present when building against one version of OpenSSL but not when building against anot…
78 //! document any version-specific availability restrictions.
80 … A build script can be used to detect the OpenSSL or LibreSSL version at compile time if needed. T…
81 //! crate propagates the version via the `DEP_OPENSSL_VERSION_NUMBER` and `DEP_OPENSSL_LIBRESSL_VER…
82 … environment variables to build scripts. The version format is a hex-encoding of the OpenSSL relea…
83 //! `0xMNNFFPPS`. For example, version 1.0.2g's encoding is `0x1_00_02_07_0`.
86 //! against OpenSSL versions that don't support TLSv1.3:
92 //! openssl-sys = "0.9"
93 //! openssl = "0.10"
103 //! let version = u64::from_str_radix(&v, 16).unwrap();
105 //! if version >= 0x1_01_01_00_0 {
106 //! println!("cargo:rustc-cfg=openssl111");
115 //! use openssl::ssl::{SslConnector, SslMethod};
119 //! // set_ciphersuites was added in OpenSSL 1.1.1, so we can only call it when linking against tha…
123 #![doc(html_root_url = "https://docs.rs/openssl/0.10")]
196 pub mod version; module
210 fn cvt_p<T>(r: *mut T) -> Result<*mut T, ErrorStack> { in cvt_p()
219 fn cvt_p_const<T>(r: *const T) -> Result<*const T, ErrorStack> { in cvt_p_const()
228 fn cvt(r: c_int) -> Result<c_int, ErrorStack> { in cvt()
236 // cvt_long is currently only used in functions that require openssl >= 3.0.0,
238 // compiling with openssl < 3.0.0
241 fn cvt_long(r: c_long) -> Result<c_long, ErrorStack> { in cvt_long()
250 fn cvt_n(r: c_int) -> Result<c_int, ErrorStack> { in cvt_n()