Unverified Commit 37407d97 authored by Steven Fackler's avatar Steven Fackler
Browse files

Merge remote-tracking branch 'origin/master' into hkdf-derive

parents b0c0c72f 14d93244
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ jobs:
      - uses: actions/checkout@v2
      - uses: sfackler/actions/rustup@master
        with:
          version: 1.36.0
          version: 1.48.0
      - run: echo "::set-output name=version::$(rustc --version)"
        id: rust-version
      - uses: actions/cache@v1
@@ -80,7 +80,6 @@ jobs:
    runs-on: windows-latest
    env:
      VCPKGRS_DYNAMIC: 1
      CARGO_LOG: cargo::core::compiler::fingerprint=trace
    steps:
      - uses: actions/checkout@v2
      - uses: sfackler/actions/rustup@master
@@ -128,10 +127,10 @@ jobs:
          path: ~/.cargo/registry/cache
          key: registry-${{ runner.os }}-${{ steps.rust-version.outputs.version }}-${{ hashFiles('Cargo.lock') }}
      - run: cargo fetch
      - uses: actions/cache@v1
        with:
          path: target
          key: target-${{ github.job }}-${{ steps.rust-version.outputs.version }}-${{ hashFiles('Cargo.lock') }}
      # - uses: actions/cache@v1
      #   with:
      #     path: target
      #     key: target-${{ github.job }}-${{ steps.rust-version.outputs.version }}-${{ hashFiles('Cargo.lock') }}
      - run: cargo run -p systest
      - run: cargo test -p openssl
      - run: cargo test -p openssl-errors
@@ -148,10 +147,10 @@ jobs:
            - name: openssl
              version: vendored
            - name: openssl
              version: 3.0.0-beta1
              version: 3.0.0
              dl-path: /
            - name: openssl
              version: 1.1.1k
              version: 1.1.1l
              dl-path: /
            - name: openssl
              version: 1.1.0l
@@ -170,7 +169,7 @@ jobs:
            - target: x86_64-unknown-linux-gnu
              library:
                name: libressl
                version: 3.3.3
                version: 3.4.1
      name: ${{ matrix.target }}-${{ matrix.library.name }}-${{ matrix.library.version }}
      runs-on: ubuntu-latest
      env:
@@ -203,7 +202,7 @@ jobs:
        - uses: actions/cache@v2
          with:
            path: /opt/openssl
            key: openssl-${{ matrix.target }}-${{ matrix.library.name }}-${{ matrix.library.version }}
            key: openssl-${{ matrix.target }}-${{ matrix.library.name }}-${{ matrix.library.version }}-2
          if: matrix.library.version != 'vendored'
          id: openssl-cache
        - name: Build OpenSSL
@@ -241,7 +240,7 @@ jobs:

            case "${{ matrix.library.name }}" in
            "openssl")
              ./Configure --prefix=$OPENSSL_DIR $OS_COMPILER -fPIC -g $OS_FLAGS no-shared
              ./Configure --prefix=$OPENSSL_DIR --libdir=lib $OS_COMPILER -fPIC -g $OS_FLAGS no-shared
              ;;
            "libressl")
              ./configure --prefix=$OPENSSL_DIR --disable-shared --with-pic
+1 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
members = [
    "openssl",
    "openssl-errors",
    "openssl-macros",
    "openssl-sys",
    "systest",
]
+12 −0
Original line number Diff line number Diff line
[package]
name = "openssl-macros"
version = "0.1.0"
edition = "2018"

[lib]
proc-macro = true

[dependencies]
proc-macro2 = "1"
quote = "1"
syn = { version = "1", features = ["full"] }
+30 −0
Original line number Diff line number Diff line
use proc_macro::TokenStream;
use proc_macro2::Ident;
use quote::quote;
use syn::{parse_macro_input, ItemFn};

#[proc_macro_attribute]
pub fn corresponds(attr: TokenStream, item: TokenStream) -> TokenStream {
    let function = parse_macro_input!(attr as Ident);
    let item = parse_macro_input!(item as ItemFn);

    let function = function.to_string();
    let line = format!(
        "This corresponds to [`{0}`](https://www.openssl.org/docs/manmaster/man3/{0}.html).",
        function
    );

    let attrs = item.attrs;
    let vis = item.vis;
    let sig = item.sig;
    let block = item.block;

    let out = quote! {
        #(#attrs)*
        #[doc = ""]
        #[doc = #line]
        #[doc(alias = #function)]
        #vis #sig #block
    };
    out.into()
}
+68 −1
Original line number Diff line number Diff line
@@ -2,6 +2,67 @@

## [Unreleased]

## [v0.9.71]

### Fixed

* Fixed linkage to static OpenSSL 3.0.0 libraries on some 32 bit Android targets.

### Added

* Added support for LibreSSL 3.4.1.
* Added `SSL_get_extms_support` and `SSL_CTRL_GET_EXTMS_SUPPORT`.
* Added `OBJ_create`.
* Added `EVP_CIPHER_CTX_get0_cipher`, `EVP_CIPHER_CTX_get_block_size`, `EVP_CIPHER_CTX_get_key_length`,
    `EVP_CIPHER_CTX_get_iv_length`, and `EVP_CIPHER_CTX_get_tag_length`.
* Added `EVP_CIPHER_free`.
* Added `EVP_CIPHER_CTX_rand_key`.
* Added `OSSL_LIB_CTX_new` and `OSSL_LIB_CTX_free`.
* Added `EVP_CIPHER_fetch`.
* Added `EVP_MD_fetch` and `EVP_MD_free`.
* Added `OPENSSL_malloc` and `OPENSSL_free`.
* Added `EVP_DigestSignUpdate` and `EVP_DigestVerifyUpdate`.

## [v0.9.70] - 2021-10-31

### Fixed

* Fixed linkage to static 3.0.0 OpenSSL libraries on some 32 bit architectures.

## [v0.9.69] - 2021-10-31

### Changed

* Upgraded the vendored OpenSSL to 3.0.0.

### Added

* Added support for automatic detection of Homebrew `openssl@3` installs.
* Added `EVP_PKEY_Q_keygen` and `EVP_EC_gen`.

## [v0.9.68] - 2021-10-27

### Added

* Added `BN_bn2binpad`.
* Added `i2d_X509_NAME` and `d2i_X509_NAME`.
* Added `BN_FLG_MALLOCED`, `BN_FLG_STATIC_DATA`, `BN_FLG_CONSTTIME`, and `BN_FLG_SECURE`.
* Added `BN_CTX_secure_new`, `BN_secure_new`, `BN_set_flags`, and `BN_get_flags`.

## [v0.9.67] - 2021-09-21

### Added

* Added support for LibreSSL 3.4.0

## [v0.9.66] - 2021-08-17

### Added

* Added `EVP_seed_cbc`, `EVP_seed_cfb128`, `EVP_seed_ecb`, and `EVP_seed_ofb`.
* Added `OBJ_length` and `OBJ_get0_data`.
* Added `i2d_PKCS8PrivateKey_bio`.

## [v0.9.65] - 2021-06-21

### Fixed
@@ -213,7 +274,13 @@
* Added `X509_verify` and `X509_REQ_verify`.
* Added `EVP_MD_type` and `EVP_GROUP_get_curve_name`.

[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.65...master
[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.71...master
[v0.9.71]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.70...openssl-sys-v0.9.71
[v0.9.70]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.69...openssl-sys-v0.9.70
[v0.9.69]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.68...openssl-sys-v0.9.69
[v0.9.68]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.67...openssl-sys-v0.9.68
[v0.9.67]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.66...openssl-sys-v0.9.67
[v0.9.66]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.65...openssl-sys-v0.9.66
[v0.9.65]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.64...openssl-sys-v0.9.65
[v0.9.64]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.63...openssl-sys-v0.9.64
[v0.9.63]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.62...openssl-sys-v0.9.63
Loading