From c498cee4db2bbfb5a72e4a4ffd82c3ef44bccdf2 Mon Sep 17 00:00:00 2001 From: Tim Taubert Date: Wed, 17 May 2017 16:10:48 +0200 Subject: [PATCH] Clean up public API exposed by the u2fhid module --- src/lib.rs | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 8be55f1..d71ba91 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -36,7 +36,7 @@ pub use manager::U2FManager as U2FManager; // Trait for representing U2F HID Devices. Requires getters/setters for the // channel ID, created during device initialization. -pub trait U2FDevice { +trait U2FDevice { fn get_cid(&self) -> [u8; 4]; fn set_cid(&mut self, cid: &[u8; 4]); } @@ -114,7 +114,7 @@ fn from_u8_array(arr: &[u8]) -> &T { unsafe { &*(arr.as_ptr() as *const T) } } -pub fn set_data(data: &mut [u8], itr: &mut std::slice::Iter, max: usize) +fn set_data(data: &mut [u8], itr: &mut std::slice::Iter, max: usize) { let take_amount; let count = itr.size_hint().0; @@ -133,7 +133,7 @@ pub fn set_data(data: &mut [u8], itr: &mut std::slice::Iter, max: usize) // Device Commands //////////////////////////////////////////////////////////////////////// -pub fn init_device(dev: &mut T) -> io::Result<()> +fn init_device(dev: &mut T) -> io::Result<()> where T: U2FDevice + Read + Write { let mut nonce = [0u8; 8]; @@ -149,7 +149,7 @@ pub fn init_device(dev: &mut T) -> io::Result<()> Ok(()) } -pub fn ping_device(dev: &mut T) -> io::Result<()> +fn ping_device(dev: &mut T) -> io::Result<()> where T: U2FDevice + Read + Write { let mut random = [0u8; 8]; @@ -175,7 +175,7 @@ fn status_word_to_error(status_word_high: u8, status_word_low: u8) -> Option(dev: &mut T) -> io::Result +fn u2f_version(dev: &mut T) -> io::Result where T: U2FDevice + Read + Write { let mut version_resp = try!(send_apdu(dev, U2F_VERSION, 0x00, &vec![])); @@ -188,7 +188,7 @@ pub fn u2f_version(dev: &mut T) -> io::Result } } -pub fn u2f_version_is_v2(dev: &mut T) -> io::Result<()> +fn u2f_version_is_v2(dev: &mut T) -> io::Result<()> where T: U2FDevice + Read + Write { let version_string = try!(u2f_version(dev)); @@ -199,7 +199,7 @@ pub fn u2f_version_is_v2(dev: &mut T) -> io::Result<()> Ok(()) } -pub fn u2f_register(dev: &mut T, challenge: &Vec, application: &Vec) -> io::Result> +fn u2f_register(dev: &mut T, challenge: &Vec, application: &Vec) -> io::Result> where T: U2FDevice + Read + Write { if challenge.len() != PARAMETER_SIZE || application.len() != PARAMETER_SIZE { @@ -225,7 +225,7 @@ pub fn u2f_register(dev: &mut T, challenge: &Vec, application: &Vec) } } -pub fn u2f_sign(dev: &mut T, challenge: &Vec, application: &Vec, key_handle: &Vec) -> io::Result> +fn u2f_sign(dev: &mut T, challenge: &Vec, application: &Vec, key_handle: &Vec) -> io::Result> where T: U2FDevice + Read + Write { if challenge.len() != PARAMETER_SIZE || application.len() != PARAMETER_SIZE { @@ -256,7 +256,7 @@ pub fn u2f_sign(dev: &mut T, challenge: &Vec, application: &Vec, key_ } } -pub fn u2f_is_keyhandle_valid(dev: &mut T, challenge: &Vec, application: &Vec, key_handle: &Vec) -> io::Result +fn u2f_is_keyhandle_valid(dev: &mut T, challenge: &Vec, application: &Vec, key_handle: &Vec) -> io::Result where T: U2FDevice + Read + Write { if challenge.len() != PARAMETER_SIZE || @@ -286,9 +286,7 @@ pub fn u2f_is_keyhandle_valid(dev: &mut T, challenge: &Vec, application: // Device Communication Functions //////////////////////////////////////////////////////////////////////// -pub fn sendrecv(dev: &mut T, - cmd: u8, - send: &[u8]) -> io::Result> +fn sendrecv(dev: &mut T, cmd: u8, send: &[u8]) -> io::Result> where T: U2FDevice + Read + Write { let mut sequence: u8 = 0; // Start at 0 @@ -397,10 +395,7 @@ struct U2FAPDUHeader { lc : [u8; 3] } -pub fn send_apdu(dev: &mut T, - cmd: u8, - p1: u8, - send: &Vec) -> io::Result> +fn send_apdu(dev: &mut T, cmd: u8, p1: u8, send: &Vec) -> io::Result> where T: U2FDevice + Read + Write { // TODO: Check send length to make sure it's < 2^16