Skip to content

Commit 0ed91d2

Browse files
committed
fix incompatibilities with older openssl versions
1 parent cd0bf42 commit 0ed91d2

File tree

1 file changed

+37
-14
lines changed

1 file changed

+37
-14
lines changed

openssl/src/x509/mod.rs

+37-14
Original file line numberDiff line numberDiff line change
@@ -1852,18 +1852,25 @@ impl X509Crl {
18521852
pub fn new(issuer_cert: &X509) -> Result<Self, ErrorStack> {
18531853
unsafe {
18541854
let crl = cvt_p(ffi::X509_CRL_new())?;
1855-
cvt(ffi::X509_CRL_set_version(
1856-
crl,
1857-
issuer_cert.version() as c_long,
1858-
))?;
1855+
#[cfg(ossl110)]
1856+
{
1857+
cvt(ffi::X509_CRL_set_version(
1858+
crl,
1859+
issuer_cert.version() as c_long,
1860+
))?;
1861+
}
18591862
cvt(ffi::X509_CRL_set_issuer_name(
18601863
crl,
18611864
issuer_cert.issuer_name().as_ptr(),
18621865
))?;
1863-
cvt(ffi::X509_CRL_set1_lastUpdate(
1864-
crl,
1865-
Asn1Time::now()?.as_ptr(),
1866-
))?;
1866+
1867+
cfg_if!(
1868+
if #[cfg(any(ossl110, libressl270))] {
1869+
unsafe { cvt(ffi::X509_CRL_set1_lastUpdate(crl, Asn1Time::now()?.as_ptr())).map(|_| ()) }
1870+
} else {
1871+
unsafe { cvt(ffi::X509_CRL_set_lastUpdate(crl, Asn1Time::now()?.as_ptr())).map(|_| ()) }
1872+
}
1873+
);
18671874

18681875
Ok(Self(crl))
18691876
}
@@ -1872,17 +1879,33 @@ impl X509Crl {
18721879
/// use a negative value to set a time before 'now'
18731880
pub fn set_last_update(&mut self, seconds_from_now: Option<i32>) -> Result<(), ErrorStack> {
18741881
let time = Asn1Time::seconds_from_now(seconds_from_now.unwrap_or(0) as c_long)?;
1875-
unsafe { cvt(ffi::X509_CRL_set1_lastUpdate(self.as_ptr(), time.as_ptr())).map(|_| ()) }
1882+
cfg_if!(
1883+
if #[cfg(any(ossl110, libressl270))] {
1884+
unsafe { cvt(ffi::X509_CRL_set1_lastUpdate(self.as_ptr(), time.as_ptr())).map(|_| ()) }
1885+
} else {
1886+
unsafe { cvt(ffi::X509_CRL_set_lastUpdate(self.as_ptr(), time.as_ptr())).map(|_| ()) }
1887+
}
1888+
)
18761889
}
18771890

18781891
// Note: u32 seconds is more than enough for this;
18791892
pub fn set_next_update_from_now(&mut self, seconds_from_now: u32) -> Result<(), ErrorStack> {
18801893
unsafe {
1881-
cvt(ffi::X509_CRL_set1_nextUpdate(
1882-
self.as_ptr(),
1883-
Asn1Time::seconds_from_now(seconds_from_now as c_long)?.as_ptr(),
1884-
))
1885-
.map(|_| ())
1894+
cfg_if!(
1895+
if #[cfg(any(ossl110, libressl270))] {
1896+
cvt(ffi::X509_CRL_set1_nextUpdate(
1897+
self.as_ptr(),
1898+
Asn1Time::seconds_from_now(seconds_from_now as c_long)?.as_ptr(),
1899+
))
1900+
.map(|_| ())
1901+
} else {
1902+
cvt(ffi::X509_CRL_set_nextUpdate(
1903+
self.as_ptr(),
1904+
Asn1Time::seconds_from_now(seconds_from_now as c_long)?.as_ptr(),
1905+
))
1906+
.map(|_| ())
1907+
}
1908+
)
18861909
}
18871910
}
18881911

0 commit comments

Comments
 (0)