Clarify SCD command size limitation comment and naming.

This commit is contained in:
Heiko Schaefer 2021-11-12 18:53:13 +01:00
parent 90ae9398ed
commit c84561d5e8
No known key found for this signature in database
GPG key ID: 4A849A1904CCBD7D

View file

@ -39,7 +39,7 @@ const ASSUAN_LINELENGTH: usize = 1000;
/// ///
/// Each command byte gets sent via Assuan as a two-character hex string. /// Each command byte gets sent via Assuan as a two-character hex string.
/// ///
/// 18 characters are used to send "APDU --exlen=abcd " /// 22 characters are used to send "SCD APDU --exlen=abcd "
/// (So, as a defensive limit, 25 characters are subtracted). /// (So, as a defensive limit, 25 characters are subtracted).
/// ///
/// In concrete terms, this limit means that some commands (with big /// In concrete terms, this limit means that some commands (with big
@ -47,7 +47,7 @@ const ASSUAN_LINELENGTH: usize = 1000;
/// command chaining (like the floss-shop "OpenPGP Smart Card 3.4"). /// command chaining (like the floss-shop "OpenPGP Smart Card 3.4").
/// ///
/// In particular, uploading rsa4096 keys fails via scdaemon, with such cards. /// In particular, uploading rsa4096 keys fails via scdaemon, with such cards.
const CMD_SIZE_MAX: usize = ASSUAN_LINELENGTH / 2 - 25; const APDU_CMD_BYTES_MAX: usize = (ASSUAN_LINELENGTH - 25) / 2;
pub struct ScdClient { pub struct ScdClient {
agent: Agent, agent: Agent,
@ -252,6 +252,6 @@ impl CardClient for ScdClient {
/// Return limit for APDU command size via scdaemon (based on Assuan /// Return limit for APDU command size via scdaemon (based on Assuan
/// maximum line length) /// maximum line length)
fn max_cmd_len(&self) -> Option<usize> { fn max_cmd_len(&self) -> Option<usize> {
Some(CMD_SIZE_MAX) Some(APDU_CMD_BYTES_MAX)
} }
} }