Skip to content

Commit bff0db7

Browse files
committed
Make X509_PURPOSE opaque for LibreSSL >= 3.9
1 parent 772b0b1 commit bff0db7

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

openssl-sys/src/handwritten/x509.rs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -687,16 +687,22 @@ extern "C" {
687687
pub fn X509_REQ_print(bio: *mut BIO, req: *mut X509_REQ) -> c_int;
688688
}
689689

690-
#[repr(C)]
691-
pub struct X509_PURPOSE {
692-
pub purpose: c_int,
693-
pub trust: c_int, // Default trust ID
694-
pub flags: c_int,
695-
pub check_purpose:
696-
Option<unsafe extern "C" fn(*const X509_PURPOSE, *const X509, c_int) -> c_int>,
697-
pub name: *mut c_char,
698-
pub sname: *mut c_char,
699-
pub usr_data: *mut c_void,
690+
cfg_if! {
691+
if #[cfg(libressl390)] {
692+
pub enum X509_PURPOSE {}
693+
} else {
694+
#[repr(C)]
695+
pub struct X509_PURPOSE {
696+
pub purpose: c_int,
697+
pub trust: c_int, // Default trust ID
698+
pub flags: c_int,
699+
pub check_purpose:
700+
Option<unsafe extern "C" fn(*const X509_PURPOSE, *const X509, c_int) -> c_int>,
701+
pub name: *mut c_char,
702+
pub sname: *mut c_char,
703+
pub usr_data: *mut c_void,
704+
}
705+
}
700706
}
701707

702708
const_ptr_api! {

0 commit comments

Comments
 (0)