Skip to content

Commit

Permalink
Expose Poly1305 bindings on libressl and boringssl
Browse files Browse the repository at this point in the history
  • Loading branch information
facutuesca committed Jul 19, 2023
1 parent 50787ed commit d900a18
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 0 deletions.
4 changes: 4 additions & 0 deletions openssl-sys/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## [Unreleased]

### Added

* Expose `poly1305_state`, `CRYPTO_poly1305_init`, `CRYPTO_poly1305_update`, and `CRYPTO_poly1305_finish` on BoringSSL and LibreSSL.

## [v0.9.90] - 2023-06-20

### Fixed
Expand Down
4 changes: 4 additions & 0 deletions openssl-sys/build/run_bindgen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ const INCLUDES: &str = "
#if OPENSSL_VERSION_NUMBER >= 0x30000000
#include <openssl/provider.h>
#endif
#if defined(LIBRESSL_VERSION_NUMBER) || defined(OPENSSL_IS_BORINGSSL)
#include <openssl/poly1305.h>
#endif
";

#[cfg(feature = "bindgen")]
Expand Down
4 changes: 4 additions & 0 deletions openssl-sys/src/handwritten/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ pub use self::ocsp::*;
pub use self::pem::*;
pub use self::pkcs12::*;
pub use self::pkcs7::*;
#[cfg(libressl)]
pub use self::poly1305::*;
pub use self::provider::*;
pub use self::rand::*;
pub use self::rsa::*;
Expand Down Expand Up @@ -52,6 +54,8 @@ mod ocsp;
mod pem;
mod pkcs12;
mod pkcs7;
#[cfg(libressl)]
mod poly1305;
mod provider;
mod rand;
mod rsa;
Expand Down
23 changes: 23 additions & 0 deletions openssl-sys/src/handwritten/poly1305.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
use super::super::*;
use libc::*;

cfg_if! {
if #[cfg(libressl)] {
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct poly1305_context {
pub aligner: usize,
pub opaque: [::libc::c_uchar; 136usize],
}
pub type poly1305_state = poly1305_context;
extern "C" {
pub fn CRYPTO_poly1305_init(ctx: *mut poly1305_context, key: *const ::libc::c_uchar);
pub fn CRYPTO_poly1305_update(
ctx: *mut poly1305_context,
in_: *const ::libc::c_uchar,
len: usize,
);
pub fn CRYPTO_poly1305_finish(ctx: *mut poly1305_context, mac: *mut ::libc::c_uchar);
}
}
}

0 comments on commit d900a18

Please sign in to comment.