oxidize: Add pub mod directives and run rustfmt

Makes all translated files part of the crate, and then runs rustfmt
on all of them, hopefully making them marginally more bearable.
This commit is contained in:
Tony Arcieri
2019-08-10 14:53:25 -07:00
parent 5e0e0fe0c2
commit 4cd59cb992
5 changed files with 4031 additions and 4101 deletions
+21 -23
View File
@@ -50,29 +50,28 @@ pub enum Enum2 {
#[derive(Copy)]
#[repr(C)]
pub struct Struct1 {
pub rc : Enum2,
pub name : *const u8,
pub description : *const u8,
pub rc: Enum2,
pub name: *const u8,
pub description: *const u8,
}
impl Clone for Struct1 {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
static mut errors
: *const Struct1
= Enum2::YKPIV_OK as (*const Struct1);
static mut errors: *const Struct1 = Enum2::YKPIV_OK as (*const Struct1);
#[no_mangle]
pub unsafe extern fn ykpiv_strerror(mut err : Enum2) -> *const u8 {
static mut unknown
: *const u8
= (*b"Unknown ykpiv error\0").as_ptr();
let mut p : *const u8;
if -(err as (i32)) < 0i32 || -(err as (i32)) >= ::std::mem::size_of::<*const Struct1>(
).wrapping_div(
::std::mem::size_of::<Struct1>()
) as (i32) {
pub unsafe extern "C" fn ykpiv_strerror(mut err: Enum2) -> *const u8 {
static mut unknown: *const u8 = (*b"Unknown ykpiv error\0").as_ptr();
let mut p: *const u8;
if -(err as (i32)) < 0i32
|| -(err as (i32))
>= ::std::mem::size_of::<*const Struct1>()
.wrapping_div(::std::mem::size_of::<Struct1>()) as (i32)
{
unknown
} else {
p = (*errors.offset(-(err as (i32)) as (isize))).description;
@@ -84,13 +83,12 @@ pub unsafe extern fn ykpiv_strerror(mut err : Enum2) -> *const u8 {
}
#[no_mangle]
pub unsafe extern fn ykpiv_strerror_name(
mut err : Enum2
) -> *const u8 {
if -(err as (i32)) < 0i32 || -(err as (i32)) >= ::std::mem::size_of::<*const Struct1>(
).wrapping_div(
::std::mem::size_of::<Struct1>()
) as (i32) {
pub unsafe extern "C" fn ykpiv_strerror_name(mut err: Enum2) -> *const u8 {
if -(err as (i32)) < 0i32
|| -(err as (i32))
>= ::std::mem::size_of::<*const Struct1>()
.wrapping_div(::std::mem::size_of::<Struct1>()) as (i32)
{
0i32 as (*mut ::std::os::raw::c_void) as (*const u8)
} else {
(*errors.offset(-(err as (i32)) as (isize))).name
+287 -304
View File
@@ -25,161 +25,157 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
extern {
extern "C" {
fn DES_ecb3_encrypt(
input : *mut [u8; 8],
output : *mut [u8; 8],
ks1 : *mut DES_ks,
ks2 : *mut DES_ks,
ks3 : *mut DES_ks,
enc : i32
);
fn DES_is_weak_key(key : *mut [u8; 8]) -> i32;
fn DES_set_key_unchecked(
key : *mut [u8; 8], schedule : *mut DES_ks
input: *mut [u8; 8],
output: *mut [u8; 8],
ks1: *mut DES_ks,
ks2: *mut DES_ks,
ks3: *mut DES_ks,
enc: i32,
);
fn DES_is_weak_key(key: *mut [u8; 8]) -> i32;
fn DES_set_key_unchecked(key: *mut [u8; 8], schedule: *mut DES_ks);
fn PKCS5_PBKDF2_HMAC_SHA1(
pass : *const u8,
passlen : i32,
salt : *const u8,
saltlen : i32,
iter : i32,
keylen : i32,
out : *mut u8
pass: *const u8,
passlen: i32,
salt: *const u8,
saltlen: i32,
iter: i32,
keylen: i32,
out: *mut u8,
) -> i32;
fn RAND_bytes(buf : *mut u8, num : i32) -> i32;
static mut _DefaultRuneLocale : Struct1;
fn __maskrune(arg1 : i32, arg2 : usize) -> i32;
fn __swbuf(arg1 : i32, arg2 : *mut __sFILE) -> i32;
fn __tolower(arg1 : i32) -> i32;
fn __toupper(arg1 : i32) -> i32;
fn fclose(arg1 : *mut __sFILE) -> i32;
fn feof(arg1 : *mut __sFILE) -> i32;
fn fgets(
arg1 : *mut u8, arg2 : i32, arg3 : *mut __sFILE
) -> *mut u8;
fn fopen(
__filename : *const u8, __mode : *const u8
) -> *mut __sFILE;
fn free(arg1 : *mut ::std::os::raw::c_void);
fn getenv(arg1 : *const u8) -> *mut u8;
fn malloc(__size : usize) -> *mut ::std::os::raw::c_void;
fn RAND_bytes(buf: *mut u8, num: i32) -> i32;
static mut _DefaultRuneLocale: Struct1;
fn __maskrune(arg1: i32, arg2: usize) -> i32;
fn __swbuf(arg1: i32, arg2: *mut __sFILE) -> i32;
fn __tolower(arg1: i32) -> i32;
fn __toupper(arg1: i32) -> i32;
fn fclose(arg1: *mut __sFILE) -> i32;
fn feof(arg1: *mut __sFILE) -> i32;
fn fgets(arg1: *mut u8, arg2: i32, arg3: *mut __sFILE) -> *mut u8;
fn fopen(__filename: *const u8, __mode: *const u8) -> *mut __sFILE;
fn free(arg1: *mut ::std::os::raw::c_void);
fn getenv(arg1: *const u8) -> *mut u8;
fn malloc(__size: usize) -> *mut ::std::os::raw::c_void;
fn memcpy(
__dst : *mut ::std::os::raw::c_void,
__src : *const ::std::os::raw::c_void,
__n : usize
__dst: *mut ::std::os::raw::c_void,
__src: *const ::std::os::raw::c_void,
__n: usize,
) -> *mut ::std::os::raw::c_void;
fn memset(
__b : *mut ::std::os::raw::c_void, __c : i32, __len : usize
__b: *mut ::std::os::raw::c_void,
__c: i32,
__len: usize,
) -> *mut ::std::os::raw::c_void;
fn snprintf(
__str : *mut u8, __size : usize, __format : *const u8, ...
) -> i32;
fn sscanf(arg1 : *const u8, arg2 : *const u8, ...) -> i32;
fn strcasecmp(arg1 : *const u8, arg2 : *const u8) -> i32;
fn strcmp(__s1 : *const u8, __s2 : *const u8) -> i32;
fn strlen(__s : *const u8) -> usize;
fn snprintf(__str: *mut u8, __size: usize, __format: *const u8, ...) -> i32;
fn sscanf(arg1: *const u8, arg2: *const u8, ...) -> i32;
fn strcasecmp(arg1: *const u8, arg2: *const u8) -> i32;
fn strcmp(__s1: *const u8, __s2: *const u8) -> i32;
fn strlen(__s: *const u8) -> usize;
}
enum Union6 {
}
enum Union6 {}
enum __sFILEX {
}
enum __sFILEX {}
#[no_mangle]
pub unsafe extern fn isascii(mut _c : i32) -> i32 {
pub unsafe extern "C" fn isascii(mut _c: i32) -> i32 {
(_c & !0x7fi32 == 0i32) as (i32)
}
#[derive(Copy)]
#[repr(C)]
pub struct Struct3 {
pub __min : i32,
pub __max : i32,
pub __map : i32,
pub __types : *mut u32,
pub __min: i32,
pub __max: i32,
pub __map: i32,
pub __types: *mut u32,
}
impl Clone for Struct3 {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
#[derive(Copy)]
#[repr(C)]
pub struct Struct2 {
pub __nranges : i32,
pub __ranges : *mut Struct3,
pub __nranges: i32,
pub __ranges: *mut Struct3,
}
impl Clone for Struct2 {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
#[derive(Copy)]
#[repr(C)]
pub struct Struct4 {
pub __name : [u8; 14],
pub __mask : u32,
pub __name: [u8; 14],
pub __mask: u32,
}
impl Clone for Struct4 {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
#[derive(Copy)]
#[repr(C)]
pub struct Struct1 {
pub __magic : [u8; 8],
pub __encoding : [u8; 32],
pub __sgetrune : unsafe extern fn(*const u8, usize, *mut *const u8) -> i32,
pub __sputrune : unsafe extern fn(i32, *mut u8, usize, *mut *mut u8) -> i32,
pub __invalid_rune : i32,
pub __runetype : [u32; 256],
pub __maplower : [i32; 256],
pub __mapupper : [i32; 256],
pub __runetype_ext : Struct2,
pub __maplower_ext : Struct2,
pub __mapupper_ext : Struct2,
pub __variable : *mut ::std::os::raw::c_void,
pub __variable_len : i32,
pub __ncharclasses : i32,
pub __charclasses : *mut Struct4,
pub __magic: [u8; 8],
pub __encoding: [u8; 32],
pub __sgetrune: unsafe extern "C" fn(*const u8, usize, *mut *const u8) -> i32,
pub __sputrune: unsafe extern "C" fn(i32, *mut u8, usize, *mut *mut u8) -> i32,
pub __invalid_rune: i32,
pub __runetype: [u32; 256],
pub __maplower: [i32; 256],
pub __mapupper: [i32; 256],
pub __runetype_ext: Struct2,
pub __maplower_ext: Struct2,
pub __mapupper_ext: Struct2,
pub __variable: *mut ::std::os::raw::c_void,
pub __variable_len: i32,
pub __ncharclasses: i32,
pub __charclasses: *mut Struct4,
}
impl Clone for Struct1 {
fn clone(&self) -> Self { *self }
}
#[no_mangle]
pub unsafe extern fn __istype(mut _c : i32, mut _f : usize) -> i32 {
if isascii(_c) != 0 {
!(_DefaultRuneLocale.__runetype[
_c as (usize)
] as (usize) & _f == 0) as (i32)
} else {
!(__maskrune(_c,_f) == 0) as (i32)
fn clone(&self) -> Self {
*self
}
}
#[no_mangle]
pub unsafe extern fn __isctype(mut _c : i32, mut _f : usize) -> i32 {
pub unsafe extern "C" fn __istype(mut _c: i32, mut _f: usize) -> i32 {
if isascii(_c) != 0 {
!(_DefaultRuneLocale.__runetype[_c as (usize)] as (usize) & _f == 0) as (i32)
} else {
!(__maskrune(_c, _f) == 0) as (i32)
}
}
#[no_mangle]
pub unsafe extern "C" fn __isctype(mut _c: i32, mut _f: usize) -> i32 {
if _c < 0i32 || _c >= 256i32 {
0i32
} else {
!(_DefaultRuneLocale.__runetype[
_c as (usize)
] as (usize) & _f == 0) as (i32)
!(_DefaultRuneLocale.__runetype[_c as (usize)] as (usize) & _f == 0) as (i32)
}
}
#[no_mangle]
pub unsafe extern fn __wcwidth(mut _c : i32) -> i32 {
let mut _x : u32;
pub unsafe extern "C" fn __wcwidth(mut _c: i32) -> i32 {
let mut _x: u32;
if _c == 0i32 {
0i32
} else {
_x = __maskrune(_c,0xe0000000usize | 0x40000usize) as (u32);
_x = __maskrune(_c, 0xe0000000usize | 0x40000usize) as (u32);
(if _x as (usize) & 0xe0000000usize != 0usize {
((_x as (usize) & 0xe0000000usize) >> 30i32) as (i32)
} else if _x as (usize) & 0x40000usize != 0usize {
@@ -191,161 +187,170 @@ pub unsafe extern fn __wcwidth(mut _c : i32) -> i32 {
}
#[no_mangle]
pub unsafe extern fn isalnum(mut _c : i32) -> i32 {
__istype(_c,(0x100isize | 0x400isize) as (usize))
pub unsafe extern "C" fn isalnum(mut _c: i32) -> i32 {
__istype(_c, (0x100isize | 0x400isize) as (usize))
}
#[no_mangle]
pub unsafe extern fn isalpha(mut _c : i32) -> i32 {
__istype(_c,0x100usize)
pub unsafe extern "C" fn isalpha(mut _c: i32) -> i32 {
__istype(_c, 0x100usize)
}
#[no_mangle]
pub unsafe extern fn isblank(mut _c : i32) -> i32 {
__istype(_c,0x20000usize)
pub unsafe extern "C" fn isblank(mut _c: i32) -> i32 {
__istype(_c, 0x20000usize)
}
#[no_mangle]
pub unsafe extern fn iscntrl(mut _c : i32) -> i32 {
__istype(_c,0x200usize)
pub unsafe extern "C" fn iscntrl(mut _c: i32) -> i32 {
__istype(_c, 0x200usize)
}
#[no_mangle]
pub unsafe extern fn isdigit(mut _c : i32) -> i32 {
__isctype(_c,0x400usize)
pub unsafe extern "C" fn isdigit(mut _c: i32) -> i32 {
__isctype(_c, 0x400usize)
}
#[no_mangle]
pub unsafe extern fn isgraph(mut _c : i32) -> i32 {
__istype(_c,0x800usize)
pub unsafe extern "C" fn isgraph(mut _c: i32) -> i32 {
__istype(_c, 0x800usize)
}
#[no_mangle]
pub unsafe extern fn islower(mut _c : i32) -> i32 {
__istype(_c,0x1000usize)
pub unsafe extern "C" fn islower(mut _c: i32) -> i32 {
__istype(_c, 0x1000usize)
}
#[no_mangle]
pub unsafe extern fn isprint(mut _c : i32) -> i32 {
__istype(_c,0x40000usize)
pub unsafe extern "C" fn isprint(mut _c: i32) -> i32 {
__istype(_c, 0x40000usize)
}
#[no_mangle]
pub unsafe extern fn ispunct(mut _c : i32) -> i32 {
__istype(_c,0x2000usize)
pub unsafe extern "C" fn ispunct(mut _c: i32) -> i32 {
__istype(_c, 0x2000usize)
}
#[no_mangle]
pub unsafe extern fn isspace(mut _c : i32) -> i32 {
__istype(_c,0x4000usize)
pub unsafe extern "C" fn isspace(mut _c: i32) -> i32 {
__istype(_c, 0x4000usize)
}
#[no_mangle]
pub unsafe extern fn isupper(mut _c : i32) -> i32 {
__istype(_c,0x8000usize)
pub unsafe extern "C" fn isupper(mut _c: i32) -> i32 {
__istype(_c, 0x8000usize)
}
#[no_mangle]
pub unsafe extern fn isxdigit(mut _c : i32) -> i32 {
__isctype(_c,0x10000usize)
pub unsafe extern "C" fn isxdigit(mut _c: i32) -> i32 {
__isctype(_c, 0x10000usize)
}
#[no_mangle]
pub unsafe extern fn toascii(mut _c : i32) -> i32 { _c & 0x7fi32 }
#[no_mangle]
pub unsafe extern fn tolower(mut _c : i32) -> i32 { __tolower(_c) }
#[no_mangle]
pub unsafe extern fn toupper(mut _c : i32) -> i32 { __toupper(_c) }
#[no_mangle]
pub unsafe extern fn digittoint(mut _c : i32) -> i32 {
__maskrune(_c,0xfusize)
pub unsafe extern "C" fn toascii(mut _c: i32) -> i32 {
_c & 0x7fi32
}
#[no_mangle]
pub unsafe extern fn ishexnumber(mut _c : i32) -> i32 {
__istype(_c,0x10000usize)
pub unsafe extern "C" fn tolower(mut _c: i32) -> i32 {
__tolower(_c)
}
#[no_mangle]
pub unsafe extern fn isideogram(mut _c : i32) -> i32 {
__istype(_c,0x80000usize)
pub unsafe extern "C" fn toupper(mut _c: i32) -> i32 {
__toupper(_c)
}
#[no_mangle]
pub unsafe extern fn isnumber(mut _c : i32) -> i32 {
__istype(_c,0x400usize)
pub unsafe extern "C" fn digittoint(mut _c: i32) -> i32 {
__maskrune(_c, 0xfusize)
}
#[no_mangle]
pub unsafe extern fn isphonogram(mut _c : i32) -> i32 {
__istype(_c,0x200000usize)
pub unsafe extern "C" fn ishexnumber(mut _c: i32) -> i32 {
__istype(_c, 0x10000usize)
}
#[no_mangle]
pub unsafe extern fn isrune(mut _c : i32) -> i32 {
__istype(_c,0xfffffff0usize)
pub unsafe extern "C" fn isideogram(mut _c: i32) -> i32 {
__istype(_c, 0x80000usize)
}
#[no_mangle]
pub unsafe extern fn isspecial(mut _c : i32) -> i32 {
__istype(_c,0x100000usize)
pub unsafe extern "C" fn isnumber(mut _c: i32) -> i32 {
__istype(_c, 0x400usize)
}
#[no_mangle]
pub unsafe extern "C" fn isphonogram(mut _c: i32) -> i32 {
__istype(_c, 0x200000usize)
}
#[no_mangle]
pub unsafe extern "C" fn isrune(mut _c: i32) -> i32 {
__istype(_c, 0xfffffff0usize)
}
#[no_mangle]
pub unsafe extern "C" fn isspecial(mut _c: i32) -> i32 {
__istype(_c, 0x100000usize)
}
#[derive(Copy)]
#[repr(C)]
pub struct __sbuf {
pub _base : *mut u8,
pub _size : i32,
pub _base: *mut u8,
pub _size: i32,
}
impl Clone for __sbuf {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
#[derive(Copy)]
#[repr(C)]
pub struct __sFILE {
pub _p : *mut u8,
pub _r : i32,
pub _w : i32,
pub _flags : i16,
pub _file : i16,
pub _bf : __sbuf,
pub _lbfsize : i32,
pub _cookie : *mut ::std::os::raw::c_void,
pub _close : unsafe extern fn(*mut ::std::os::raw::c_void) -> i32,
pub _read : unsafe extern fn(*mut ::std::os::raw::c_void, *mut u8, i32) -> i32,
pub _seek : unsafe extern fn(*mut ::std::os::raw::c_void, isize, i32) -> isize,
pub _write : unsafe extern fn(*mut ::std::os::raw::c_void, *const u8, i32) -> i32,
pub _ub : __sbuf,
pub _extra : *mut __sFILEX,
pub _ur : i32,
pub _ubuf : [u8; 3],
pub _nbuf : [u8; 1],
pub _lb : __sbuf,
pub _blksize : i32,
pub _offset : isize,
pub _p: *mut u8,
pub _r: i32,
pub _w: i32,
pub _flags: i16,
pub _file: i16,
pub _bf: __sbuf,
pub _lbfsize: i32,
pub _cookie: *mut ::std::os::raw::c_void,
pub _close: unsafe extern "C" fn(*mut ::std::os::raw::c_void) -> i32,
pub _read: unsafe extern "C" fn(*mut ::std::os::raw::c_void, *mut u8, i32) -> i32,
pub _seek: unsafe extern "C" fn(*mut ::std::os::raw::c_void, isize, i32) -> isize,
pub _write: unsafe extern "C" fn(*mut ::std::os::raw::c_void, *const u8, i32) -> i32,
pub _ub: __sbuf,
pub _extra: *mut __sFILEX,
pub _ur: i32,
pub _ubuf: [u8; 3],
pub _nbuf: [u8; 1],
pub _lb: __sbuf,
pub _blksize: i32,
pub _offset: isize,
}
impl Clone for __sFILE {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
#[no_mangle]
pub unsafe extern fn __sputc(
mut _c : i32, mut _p : *mut __sFILE
) -> i32 {
pub unsafe extern "C" fn __sputc(mut _c: i32, mut _p: *mut __sFILE) -> i32 {
if {
(*_p)._w = (*_p)._w - 1;
(*_p)._w
} >= 0i32 || (*_p)._w >= (*_p)._lbfsize && (_c as (u8) as (i32) != b'\n' as (i32)) {
} >= 0i32
|| (*_p)._w >= (*_p)._lbfsize && (_c as (u8) as (i32) != b'\n' as (i32))
{
({
let _rhs = _c;
let _lhs
= &mut *{
let _lhs = &mut *{
let _old = (*_p)._p;
(*_p)._p = (*_p)._p.offset(1isize);
_old
@@ -354,14 +359,12 @@ pub unsafe extern fn __sputc(
*_lhs
}) as (i32)
} else {
__swbuf(_c,_p)
__swbuf(_c, _p)
}
}
#[no_mangle]
pub static mut szLOG_SOURCE
: *const u8
= (*b"YubiKey PIV Library\0").as_ptr();
pub static mut szLOG_SOURCE: *const u8 = (*b"YubiKey PIV Library\0").as_ptr();
#[derive(Clone, Copy)]
#[repr(i32)]
@@ -376,37 +379,41 @@ pub enum Enum5 {
#[derive(Copy)]
#[repr(C)]
pub struct DES_ks {
pub ks : [Union6; 16],
pub ks: [Union6; 16],
}
impl Clone for DES_ks {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
#[derive(Copy)]
#[repr(C)]
pub struct des_key {
pub ks1 : DES_ks,
pub ks2 : DES_ks,
pub ks3 : DES_ks,
pub ks1: DES_ks,
pub ks2: DES_ks,
pub ks3: DES_ks,
}
impl Clone for des_key {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
#[no_mangle]
pub unsafe extern fn des_import_key(
type_ : i32,
mut keyraw : *const u8,
keyrawlen : usize,
mut key : *mut *mut des_key
pub unsafe extern "C" fn des_import_key(
type_: i32,
mut keyraw: *const u8,
keyrawlen: usize,
mut key: *mut *mut des_key,
) -> Enum5 {
let mut _currentBlock;
let mut rc : Enum5 = Enum5::DES_OK;
let mut cb_expectedkey : usize = (8i32 * 3i32) as (usize);
let mut key_tmp : [u8; 8];
let mut cb_keysize : usize = 8usize;
let mut rc: Enum5 = Enum5::DES_OK;
let mut cb_expectedkey: usize = (8i32 * 3i32) as (usize);
let mut key_tmp: [u8; 8];
let mut cb_keysize: usize = 8usize;
if type_ == 1i32 {
cb_expectedkey = (8i32 * 3i32) as (usize);
cb_keysize = 8usize;
@@ -425,46 +432,44 @@ pub unsafe extern fn des_import_key(
} else if {
*key = malloc(::std::mem::size_of::<des_key>()) as (*mut des_key);
*key
}.is_null(
) {
}
.is_null()
{
rc = Enum5::DES_MEMORY_ERROR;
_currentBlock = 15;
} else {
memset(
*key as (*mut ::std::os::raw::c_void),
0i32,
::std::mem::size_of::<des_key>()
::std::mem::size_of::<des_key>(),
);
memcpy(
key_tmp.as_mut_ptr() as (*mut ::std::os::raw::c_void),
keyraw as (*const ::std::os::raw::c_void),
cb_keysize
cb_keysize,
);
DES_set_key_unchecked(
&mut key_tmp as (*mut [u8; 8]),
&mut (**key).ks1 as (*mut DES_ks)
&mut (**key).ks1 as (*mut DES_ks),
);
memcpy(
key_tmp.as_mut_ptr() as (*mut ::std::os::raw::c_void),
keyraw.offset(
cb_keysize as (isize)
) as (*const ::std::os::raw::c_void),
cb_keysize
keyraw.offset(cb_keysize as (isize)) as (*const ::std::os::raw::c_void),
cb_keysize,
);
DES_set_key_unchecked(
&mut key_tmp as (*mut [u8; 8]),
&mut (**key).ks2 as (*mut DES_ks)
&mut (**key).ks2 as (*mut DES_ks),
);
memcpy(
key_tmp.as_mut_ptr() as (*mut ::std::os::raw::c_void),
keyraw.offset(
2usize.wrapping_mul(cb_keysize) as (isize)
) as (*const ::std::os::raw::c_void),
cb_keysize
keyraw.offset(2usize.wrapping_mul(cb_keysize) as (isize))
as (*const ::std::os::raw::c_void),
cb_keysize,
);
DES_set_key_unchecked(
&mut key_tmp as (*mut [u8; 8]),
&mut (**key).ks3 as (*mut DES_ks)
&mut (**key).ks3 as (*mut DES_ks),
);
_currentBlock = 17;
}
@@ -482,7 +487,7 @@ pub unsafe extern fn des_import_key(
}
#[no_mangle]
pub unsafe extern fn des_destroy_key(mut key : *mut des_key) -> Enum5 {
pub unsafe extern "C" fn des_destroy_key(mut key: *mut des_key) -> Enum5 {
if !key.is_null() {
free(key as (*mut ::std::os::raw::c_void));
}
@@ -490,16 +495,15 @@ pub unsafe extern fn des_destroy_key(mut key : *mut des_key) -> Enum5 {
}
#[no_mangle]
pub unsafe extern fn des_encrypt(
mut key : *mut des_key,
mut in_ : *const u8,
inlen : usize,
mut out : *mut u8,
mut outlen : *mut usize
pub unsafe extern "C" fn des_encrypt(
mut key: *mut des_key,
mut in_: *const u8,
inlen: usize,
mut out: *mut u8,
mut outlen: *mut usize,
) -> Enum5 {
let mut rc : Enum5 = Enum5::DES_OK;
if key.is_null() || outlen.is_null(
) || *outlen < inlen || in_.is_null() || out.is_null() {
let mut rc: Enum5 = Enum5::DES_OK;
if key.is_null() || outlen.is_null() || *outlen < inlen || in_.is_null() || out.is_null() {
rc = Enum5::DES_INVALID_PARAMETER;
} else {
DES_ecb3_encrypt(
@@ -508,23 +512,22 @@ pub unsafe extern fn des_encrypt(
&mut (*key).ks1 as (*mut DES_ks),
&mut (*key).ks2 as (*mut DES_ks),
&mut (*key).ks3 as (*mut DES_ks),
1i32
1i32,
);
}
rc
}
#[no_mangle]
pub unsafe extern fn des_decrypt(
mut key : *mut des_key,
mut in_ : *const u8,
inlen : usize,
mut out : *mut u8,
mut outlen : *mut usize
pub unsafe extern "C" fn des_decrypt(
mut key: *mut des_key,
mut in_: *const u8,
inlen: usize,
mut out: *mut u8,
mut outlen: *mut usize,
) -> Enum5 {
let mut rc : Enum5 = Enum5::DES_OK;
if key.is_null() || outlen.is_null(
) || *outlen < inlen || in_.is_null() || out.is_null() {
let mut rc: Enum5 = Enum5::DES_OK;
if key.is_null() || outlen.is_null() || *outlen < inlen || in_.is_null() || out.is_null() {
rc = Enum5::DES_INVALID_PARAMETER;
} else {
DES_ecb3_encrypt(
@@ -533,16 +536,14 @@ pub unsafe extern fn des_decrypt(
&mut (*key).ks1 as (*mut DES_ks),
&mut (*key).ks2 as (*mut DES_ks),
&mut (*key).ks3 as (*mut DES_ks),
0i32
0i32,
);
}
rc
}
#[no_mangle]
pub unsafe extern fn yk_des_is_weak_key(
mut key : *const u8, cb_key : usize
) -> bool {
pub unsafe extern "C" fn yk_des_is_weak_key(mut key: *const u8, cb_key: usize) -> bool {
cb_key;
DES_is_weak_key(key as (*mut [u8; 8])) != 0
}
@@ -555,11 +556,9 @@ pub enum Enum7 {
}
#[no_mangle]
pub unsafe extern fn _ykpiv_prng_generate(
mut buffer : *mut u8, cb_req : usize
) -> Enum7 {
let mut rc : Enum7 = Enum7::PRNG_OK;
if -1i32 == RAND_bytes(buffer,cb_req as (i32)) {
pub unsafe extern "C" fn _ykpiv_prng_generate(mut buffer: *mut u8, cb_req: usize) -> Enum7 {
let mut rc: Enum7 = Enum7::PRNG_OK;
if -1i32 == RAND_bytes(buffer, cb_req as (i32)) {
rc = Enum7::PRNG_GENERAL_ERROR;
}
rc
@@ -573,16 +572,16 @@ pub enum Enum8 {
}
#[no_mangle]
pub unsafe extern fn pkcs5_pbkdf2_sha1(
mut password : *const u8,
cb_password : usize,
mut salt : *const u8,
cb_salt : usize,
mut iterations : usize,
mut key : *const u8,
cb_key : usize
pub unsafe extern "C" fn pkcs5_pbkdf2_sha1(
mut password: *const u8,
cb_password: usize,
mut salt: *const u8,
cb_salt: usize,
mut iterations: usize,
mut key: *const u8,
cb_key: usize,
) -> Enum8 {
let mut rc : Enum8 = Enum8::PKCS5_OK;
let mut rc: Enum8 = Enum8::PKCS5_OK;
PKCS5_PBKDF2_HMAC_SHA1(
password,
cb_password as (i32),
@@ -590,17 +589,17 @@ pub unsafe extern fn pkcs5_pbkdf2_sha1(
cb_salt as (i32),
iterations as (i32),
cb_key as (i32),
key as (*mut u8)
key as (*mut u8),
);
rc
}
#[no_mangle]
pub unsafe extern fn _strip_ws(mut sz : *mut u8) -> *mut u8 {
let mut psz_head : *mut u8 = sz;
let mut psz_tail
: *mut u8
= sz.offset(strlen(sz as (*const u8)) as (isize)).offset(-1isize);
pub unsafe extern "C" fn _strip_ws(mut sz: *mut u8) -> *mut u8 {
let mut psz_head: *mut u8 = sz;
let mut psz_tail: *mut u8 = sz
.offset(strlen(sz as (*const u8)) as (isize))
.offset(-1isize);
'loop1: loop {
if isspace(*psz_head as (i32)) == 0 {
break;
@@ -631,39 +630,38 @@ pub enum _setting_source_t {
#[derive(Copy)]
#[repr(C)]
pub struct _setting_bool_t {
pub value : bool,
pub source : _setting_source_t,
pub value: bool,
pub source: _setting_source_t,
}
impl Clone for _setting_bool_t {
fn clone(&self) -> Self { *self }
fn clone(&self) -> Self {
*self
}
}
#[no_mangle]
pub unsafe extern fn _get_bool_config(
mut sz_setting : *const u8
) -> _setting_bool_t {
pub unsafe extern "C" fn _get_bool_config(mut sz_setting: *const u8) -> _setting_bool_t {
let mut _currentBlock;
let mut setting
: _setting_bool_t
= _setting_bool_t {
let mut setting: _setting_bool_t = _setting_bool_t {
value: false,
source: _setting_source_t::SETTING_SOURCE_DEFAULT
source: _setting_source_t::SETTING_SOURCE_DEFAULT,
};
let mut sz_line : [u8; 256];
let mut psz_name : *mut u8 = 0i32 as (*mut u8);
let mut psz_value : *mut u8 = 0i32 as (*mut u8);
let mut sz_line: [u8; 256];
let mut psz_name: *mut u8 = 0i32 as (*mut u8);
let mut psz_value: *mut u8 = 0i32 as (*mut u8);
let mut sz_name = [0u8; 256];
let mut sz_value = [0u8; 256];
let mut pf : *mut __sFILE = 0i32 as (*mut __sFILE);
let mut pf: *mut __sFILE = 0i32 as (*mut __sFILE);
if !{
pf = fopen(
(*b"/etc/yubico/yubikeypiv.conf\0").as_ptr(),
(*b"r\0").as_ptr()
(*b"r\0").as_ptr(),
);
pf
}.is_null(
) {
}
.is_null()
{
_currentBlock = 1;
} else {
_currentBlock = 10;
@@ -674,9 +672,10 @@ pub unsafe extern fn _get_bool_config(
if fgets(
sz_line.as_mut_ptr(),
::std::mem::size_of::<[u8; 256]>() as (i32),
pf
).is_null(
) {
pf,
)
.is_null()
{
_currentBlock = 1;
continue;
}
@@ -696,25 +695,21 @@ pub unsafe extern fn _get_bool_config(
sz_line.as_mut_ptr() as (*const u8),
(*b"%255[^=]=%255s\0").as_ptr(),
sz_name.as_mut_ptr(),
sz_value.as_mut_ptr()
) == 2i32) {
sz_value.as_mut_ptr(),
) == 2i32)
{
_currentBlock = 1;
continue;
}
psz_name = _strip_ws(sz_name.as_mut_ptr());
if !(strcasecmp(psz_name as (*const u8),sz_setting) == 0) {
if !(strcasecmp(psz_name as (*const u8), sz_setting) == 0) {
_currentBlock = 1;
continue;
}
psz_value = _strip_ws(sz_value.as_mut_ptr());
setting.source = _setting_source_t::SETTING_SOURCE_ADMIN;
setting.value = strcmp(
psz_value as (*const u8),
(*b"1\0").as_ptr()
) == 0 || strcasecmp(
psz_value as (*const u8),
(*b"true\0").as_ptr()
) == 0;
setting.value = strcmp(psz_value as (*const u8), (*b"1\0").as_ptr()) == 0
|| strcasecmp(psz_value as (*const u8), (*b"true\0").as_ptr()) == 0;
}
fclose(pf);
_currentBlock = 10;
@@ -725,49 +720,37 @@ pub unsafe extern fn _get_bool_config(
}
#[no_mangle]
pub unsafe extern fn _get_bool_env(
mut sz_setting : *const u8
) -> _setting_bool_t {
let mut setting
: _setting_bool_t
= _setting_bool_t {
pub unsafe extern "C" fn _get_bool_env(mut sz_setting: *const u8) -> _setting_bool_t {
let mut setting: _setting_bool_t = _setting_bool_t {
value: false,
source: _setting_source_t::SETTING_SOURCE_DEFAULT
source: _setting_source_t::SETTING_SOURCE_DEFAULT,
};
let mut psz_value
: *mut u8
= 0i32 as (*mut ::std::os::raw::c_void) as (*mut u8);
let mut psz_value: *mut u8 = 0i32 as (*mut ::std::os::raw::c_void) as (*mut u8);
let mut sz_name = [0u8; 256];
snprintf(
sz_name.as_mut_ptr(),
::std::mem::size_of::<[u8; 256]>().wrapping_sub(1usize),
(*b"%s%s\0").as_ptr(),
(*b"YUBIKEY_PIV_\0").as_ptr(),
sz_setting
sz_setting,
);
psz_value = getenv(sz_name.as_mut_ptr() as (*const u8));
if !psz_value.is_null() {
setting.source = _setting_source_t::SETTING_SOURCE_USER;
setting.value = strcmp(
psz_value as (*const u8),
(*b"1\0").as_ptr()
) == 0 || strcasecmp(
psz_value as (*const u8),
(*b"true\0").as_ptr()
) == 0;
setting.value = strcmp(psz_value as (*const u8), (*b"1\0").as_ptr()) == 0
|| strcasecmp(psz_value as (*const u8), (*b"true\0").as_ptr()) == 0;
}
setting
}
#[no_mangle]
pub unsafe extern fn setting_get_bool(
mut sz_setting : *const u8, mut def : bool
pub unsafe extern "C" fn setting_get_bool(
mut sz_setting: *const u8,
mut def: bool,
) -> _setting_bool_t {
let mut setting
: _setting_bool_t
= _setting_bool_t {
let mut setting: _setting_bool_t = _setting_bool_t {
value: def,
source: _setting_source_t::SETTING_SOURCE_DEFAULT
source: _setting_source_t::SETTING_SOURCE_DEFAULT,
};
setting = _get_bool_config(sz_setting);
if setting.source as (i32) == _setting_source_t::SETTING_SOURCE_DEFAULT as (i32) {
+1070 -1080
View File
File diff suppressed because it is too large Load Diff
+1065 -1103
View File
File diff suppressed because it is too large Load Diff
+39 -42
View File
@@ -25,38 +25,36 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
extern {
fn strcmp(__s1 : *const u8, __s2 : *const u8) -> i32;
fn strcspn(__s : *const u8, __charset : *const u8) -> usize;
fn strncmp(__s1 : *const u8, __s2 : *const u8, __n : usize) -> i32;
fn strspn(__s : *const u8, __charset : *const u8) -> usize;
extern "C" {
fn strcmp(__s1: *const u8, __s2: *const u8) -> i32;
fn strcspn(__s: *const u8, __charset: *const u8) -> usize;
fn strncmp(__s1: *const u8, __s2: *const u8, __n: usize) -> i32;
fn strspn(__s: *const u8, __charset: *const u8) -> usize;
}
unsafe extern fn my_strverscmp(
mut s1 : *const u8, mut s2 : *const u8
) -> i32 {
unsafe extern "C" fn my_strverscmp(mut s1: *const u8, mut s2: *const u8) -> i32 {
let mut _currentBlock;
static mut digits : *const u8 = (*b"0123456789\0").as_ptr();
let mut p1 : usize;
let mut p2 : usize;
p1 = strcspn(s1,digits);
p2 = strcspn(s2,digits);
static mut digits: *const u8 = (*b"0123456789\0").as_ptr();
let mut p1: usize;
let mut p2: usize;
p1 = strcspn(s1, digits);
p2 = strcspn(s2, digits);
'loop1: loop {
if !(p1 == p2 && (*s1.offset(
p1 as (isize)
) as (i32) != b'\0' as (i32)) && (*s2.offset(
p2 as (isize)
) as (i32) != b'\0' as (i32))) {
if !(p1 == p2
&& (*s1.offset(p1 as (isize)) as (i32) != b'\0' as (i32))
&& (*s2.offset(p2 as (isize)) as (i32) != b'\0' as (i32)))
{
_currentBlock = 2;
break;
}
let mut ret : i32;
let mut lz1 : i32;
let mut lz2 : i32;
let mut ret: i32;
let mut lz1: i32;
let mut lz2: i32;
if {
ret = strncmp(s1,s2,p1);
ret = strncmp(s1, s2, p1);
ret
} != 0i32 {
} != 0i32
{
_currentBlock = 37;
break;
}
@@ -92,8 +90,8 @@ unsafe extern fn my_strverscmp(
s2 = s2.offset(1isize);
_currentBlock = 11;
} else {
p1 = strspn(s1,digits);
p2 = strspn(s2,digits);
p1 = strspn(s1, digits);
p2 = strspn(s2, digits);
if p1 == 0usize && (p2 > 0usize) {
_currentBlock = 33;
break 'loop1;
@@ -102,7 +100,10 @@ unsafe extern fn my_strverscmp(
_currentBlock = 32;
break 'loop1;
}
if *s1 as (i32) != *s2 as (i32) && (*s1 as (i32) != b'0' as (i32)) && (*s2 as (i32) != b'0' as (i32)) {
if *s1 as (i32) != *s2 as (i32)
&& (*s1 as (i32) != b'0' as (i32))
&& (*s2 as (i32) != b'0' as (i32))
{
if p1 < p2 {
_currentBlock = 31;
break 'loop1;
@@ -115,9 +116,9 @@ unsafe extern fn my_strverscmp(
}
} else {
if p1 < p2 {
ret = strncmp(s1,s2,p1);
ret = strncmp(s1, s2, p1);
} else if p1 > p2 {
ret = strncmp(s1,s2,p2);
ret = strncmp(s1, s2, p2);
}
if ret != 0i32 {
_currentBlock = 20;
@@ -128,8 +129,8 @@ unsafe extern fn my_strverscmp(
}
}
} else {
p1 = strspn(s1,digits);
p2 = strspn(s2,digits);
p1 = strspn(s1, digits);
p2 = strspn(s2, digits);
if p1 < p2 {
_currentBlock = 29;
break 'loop1;
@@ -143,19 +144,20 @@ unsafe extern fn my_strverscmp(
break;
}
if {
ret = strncmp(s1,s2,p1);
ret = strncmp(s1, s2, p1);
ret
} != 0i32 {
} != 0i32
{
_currentBlock = 27;
break;
}
s1 = s1.offset(p1 as (isize));
s2 = s2.offset(p2 as (isize));
p1 = strcspn(s1,digits);
p2 = strcspn(s2,digits);
p1 = strcspn(s1, digits);
p2 = strcspn(s2, digits);
}
if _currentBlock == 2 {
strcmp(s1,s2)
strcmp(s1, s2)
} else if _currentBlock == 20 {
ret
} else if _currentBlock == 27 {
@@ -182,13 +184,8 @@ unsafe extern fn my_strverscmp(
}
#[no_mangle]
pub unsafe extern fn ykpiv_check_version(
mut req_version : *const u8
) -> *const u8 {
if req_version.is_null() || my_strverscmp(
req_version,
(*b"@VERSION@\0").as_ptr()
) <= 0i32 {
pub unsafe extern "C" fn ykpiv_check_version(mut req_version: *const u8) -> *const u8 {
if req_version.is_null() || my_strverscmp(req_version, (*b"@VERSION@\0").as_ptr()) <= 0i32 {
(*b"@VERSION@\0").as_ptr()
} else {
0i32 as (*mut ::std::os::raw::c_void) as (*const u8)