Commit b821f00a authored by Bernd Krietenstein's avatar Bernd Krietenstein
Browse files

Fixed review comments.

parent 920ec61a
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -10,11 +10,8 @@ pub struct ASN1_ENCODING {

extern "C" {
    pub fn ASN1_OBJECT_free(x: *mut ASN1_OBJECT);
    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> c_int;
}

pub enum ASN1_OBJECT {}

stack!(stack_st_ASN1_OBJECT);

#[repr(C)]
@@ -42,10 +39,6 @@ pub union ASN1_TYPE_value {
    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
    pub visiblestring: *mut ASN1_VISIBLESTRING,
    pub utf8string: *mut ASN1_UTF8STRING,
    /*
     * set and sequence are left complete and still contain the set or
     * sequence bytes
     */
    pub set: *mut ASN1_STRING,
    pub sequence: *mut ASN1_STRING,
    pub asn1_value: *mut ASN1_VALUE,
+1 −0
Original line number Diff line number Diff line
@@ -27,4 +27,5 @@ extern "C" {
    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> libc::size_t;
    #[cfg(ossl111)]
    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const c_uchar;
    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> c_int;
}
+15 −3
Original line number Diff line number Diff line
use libc::*;
use *;

// use x509::stack_st_X509;
// use x509_attr::stack_st_X509_ATTRIBUTE;

#[cfg(ossl300)]
#[repr(C)]
pub struct PKCS7_CTX {
@@ -106,6 +103,9 @@ extern "C" {
    pub fn PKCS7_SIGN_ENVELOPE_free(info: *mut PKCS7_SIGN_ENVELOPE);
    pub fn PKCS7_DIGEST_free(info: *mut PKCS7_DIGEST);
    pub fn PKCS7_SIGNER_INFO_free(info: *mut PKCS7_SIGNER_INFO);
    pub fn PKCS7_ENCRYPT_free(enc: *mut PKCS7_ENCRYPT);
    pub fn PKCS7_ISSUER_AND_SERIAL_free(ias: *mut PKCS7_ISSUER_AND_SERIAL);
    pub fn PKCS7_RECIP_INFO_free(info: *mut PKCS7_RECIP_INFO);
}

cfg_if! {
@@ -189,6 +189,18 @@ cfg_if! {
}

stack!(stack_st_PKCS7_SIGNER_INFO);

#[repr(C)]
pub struct PKCS7_RECIP_INFO {
    pub version: *mut ASN1_INTEGER, /* version 0 */
    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
    pub key_enc_algor: *mut X509_ALGOR,
    pub enc_key: *mut ASN1_OCTET_STRING,
    pub cert: *mut X509, /* get the pub-key from this */
    #[cfg(ossl300)]
    pub ctx: *const PKCS7_CTX,
}

stack!(stack_st_PKCS7_RECIP_INFO);

extern "C" {
+5 −4
Original line number Diff line number Diff line
@@ -3,16 +3,18 @@ use libc::*;
#[allow(unused_imports)]
use *;

#[derive(Copy, Clone)]
pub enum ASN1_BOOLEAN {}
pub enum ASN1_OBJECT {}
pub enum ASN1_VALUE {}

pub type ASN1_BOOLEAN = c_int;
pub enum ASN1_ENUMERATED {}
pub enum ASN1_INTEGER {}
pub enum ASN1_GENERALIZEDTIME {}
pub enum ASN1_STRING {}
pub enum ASN1_BIT_STRING {}
pub enum ASN1_TIME {}
pub enum ASN1_OBJECT {}
pub enum ASN1_OCTET_STRING {}
pub enum ASN1_NULL {}
pub enum ASN1_PRINTABLESTRING {}
pub enum ASN1_T61STRING {}
pub enum ASN1_IA5STRING {}
@@ -22,7 +24,6 @@ pub enum ASN1_UNIVERSALSTRING {}
pub enum ASN1_UTCTIME {}
pub enum ASN1_VISIBLESTRING {}
pub enum ASN1_UTF8STRING {}
pub enum ASN1_VALUE {}

pub enum bio_st {} // FIXME remove
cfg_if! {
+67 −3
Original line number Diff line number Diff line
@@ -15,6 +15,10 @@ pub enum X509_EXTENSION {}

stack!(stack_st_X509_EXTENSION);

pub enum X509_ATTRIBUTE {}

stack!(stack_st_X509_ATTRIBUTE);

cfg_if! {
    if #[cfg(any(ossl110, libressl350))] {
        pub enum X509_REQ_INFO {}
@@ -269,8 +273,6 @@ extern "C" {

    pub fn X509_EXTENSION_free(ext: *mut X509_EXTENSION);

    pub fn X509_ATTRIBUTE_free(attr: *mut ::X509_ATTRIBUTE);

    pub fn X509_NAME_ENTRY_free(x: *mut X509_NAME_ENTRY);

    pub fn X509_NAME_new() -> *mut X509_NAME;
@@ -689,6 +691,68 @@ pub struct X509_PURPOSE {
const_ptr_api! {
    extern "C" {
        pub fn X509_PURPOSE_get_by_sname(sname: #[const_ptr_if(any(ossl110, libressl280))] c_char) -> c_int;
    }
}
extern "C" {
    pub fn X509_PURPOSE_get0(idx: c_int) -> *mut X509_PURPOSE;
}

extern "C" {
    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
    pub fn X509_ATTRIBUTE_free(attr: *mut ::X509_ATTRIBUTE);
    pub fn X509_ATTRIBUTE_create(
        nid: c_int,
        atrtype: c_int,
        value: *mut c_void,
    ) -> *mut X509_ATTRIBUTE;
    pub fn X509_ATTRIBUTE_create_by_NID(
        attr: *mut *mut X509_ATTRIBUTE,
        nid: c_int,
        atrtype: c_int,
        data: *const c_void,
        len: c_int,
    ) -> *mut X509_ATTRIBUTE;
    pub fn X509_ATTRIBUTE_create_by_OBJ(
        attr: *mut *mut X509_ATTRIBUTE,
        obj: *const ASN1_OBJECT,
        atrtype: c_int,
        data: *const c_void,
        len: c_int,
    ) -> *mut X509_ATTRIBUTE;
    pub fn X509_ATTRIBUTE_create_by_txt(
        attr: *mut *mut X509_ATTRIBUTE,
        atrname: *const c_char,
        atrtype: c_int,
        bytes: *const c_uchar,
        len: c_int,
    ) -> *mut X509_ATTRIBUTE;
    pub fn X509_ATTRIBUTE_set1_object(attr: *mut X509_ATTRIBUTE, obj: *const ASN1_OBJECT) -> c_int;
    pub fn X509_ATTRIBUTE_set1_data(
        attr: *mut X509_ATTRIBUTE,
        attrtype: c_int,
        data: *const c_void,
        len: c_int,
    ) -> c_int;
    pub fn X509_ATTRIBUTE_get0_data(
        attr: *mut X509_ATTRIBUTE,
        idx: c_int,
        atrtype: c_int,
        data: *mut c_void,
    ) -> *mut c_void;
    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
    pub fn X509_ATTRIBUTE_get0_type(attr: *mut X509_ATTRIBUTE, idx: c_int) -> *mut ASN1_TYPE;
    pub fn d2i_X509_ATTRIBUTE(
        a: *mut *mut X509_ATTRIBUTE,
        pp: *mut *const c_uchar,
        length: c_long,
    ) -> *mut X509_ATTRIBUTE;
}
const_ptr_api! {
    extern "C" {
        pub fn X509_ATTRIBUTE_count(
            attr: #[const_ptr_if(any(ossl110, libressl280))] X509_ATTRIBUTE // const since OpenSSL v1.1.0
        ) -> c_int;
        pub fn i2d_X509_ATTRIBUTE(x: #[const_ptr_if(ossl300)] X509_ATTRIBUTE, buf: *mut *mut u8) -> c_int;
        pub fn X509_ATTRIBUTE_dup(x: #[const_ptr_if(ossl300)] X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
    }
}
Loading