Skip to content

Commit c5784c5

Browse files
committed
Add name field to Yubikey
1 parent 39d0d29 commit c5784c5

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/lib.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ type Result<T> = ::std::result::Result<T, YubicoError>;
3838

3939
#[derive(Clone, Debug, PartialEq)]
4040
pub struct Yubikey {
41+
pub name: String,
4142
pub product_id: u16,
4243
pub vendor_id: u16,
4344
pub bus_id: u8,
@@ -60,13 +61,20 @@ impl Yubico {
6061
for device in self.context.devices().unwrap().iter() {
6162
let descr = device.device_descriptor().unwrap();
6263
if descr.vendor_id() == VENDOR_ID {
63-
let device = Yubikey {
64+
let name = device
65+
.open()
66+
.unwrap()
67+
.read_product_string_ascii(&descr)
68+
.unwrap();
69+
let yubikey = Yubikey {
70+
name: name,
6471
product_id: descr.product_id(),
6572
vendor_id: descr.vendor_id(),
6673
bus_id: device.bus_number(),
6774
address_id: device.address(),
6875
};
69-
return Ok(device);
76+
77+
return Ok(yubikey);
7078
}
7179
}
7280

@@ -78,7 +86,13 @@ impl Yubico {
7886
for device in self.context.devices().unwrap().iter() {
7987
let descr = device.device_descriptor().unwrap();
8088
if descr.vendor_id() == VENDOR_ID {
89+
let name = device
90+
.open()
91+
.unwrap()
92+
.read_product_string_ascii(&descr)
93+
.unwrap();
8194
let device = Yubikey {
95+
name: name,
8296
product_id: descr.product_id(),
8397
vendor_id: descr.vendor_id(),
8498
bus_id: device.bus_number(),

0 commit comments

Comments
 (0)