From c3f57f01215a02c2e4d153d5af8975fae7a7860c Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Tue, 9 Jun 2020 12:07:00 +0200 Subject: [PATCH 1/5] implements the AuthenticatorSelection command --- src/ctap/command.rs | 15 +++++++++++++++ src/ctap/mod.rs | 14 +++++++++++++- src/ctap/response.rs | 11 +++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/ctap/command.rs b/src/ctap/command.rs index d6dd0fa..ba44147 100644 --- a/src/ctap/command.rs +++ b/src/ctap/command.rs @@ -37,6 +37,8 @@ pub enum Command { AuthenticatorClientPin(AuthenticatorClientPinParameters), AuthenticatorReset, AuthenticatorGetNextAssertion, + #[cfg(feature = "with_ctap2_1")] + AuthenticatorSelection, // TODO(kaczmarczyck) implement FIDO 2.1 commands (see below consts) } @@ -101,6 +103,11 @@ impl Command { // Parameters are ignored. Ok(Command::AuthenticatorGetNextAssertion) } + #[cfg(feature = "with_ctap2_1")] + Command::AUTHENTICATOR_SELECTION => { + // Parameters are ignored. + Ok(Command::AuthenticatorSelection) + } _ => Err(Ctap2StatusCode::CTAP1_ERR_INVALID_COMMAND), } } @@ -484,4 +491,12 @@ mod test { let command = Command::deserialize(&cbor_bytes); assert_eq!(command, Ok(Command::AuthenticatorGetNextAssertion)); } + + #[cfg(feature = "with_ctap2_1")] + #[test] + fn test_deserialize_selection() { + let cbor_bytes = [Command::AUTHENTICATOR_SELECTION]; + let command = Command::deserialize(&cbor_bytes); + assert_eq!(command, Ok(Command::AuthenticatorSelection)); + } } diff --git a/src/ctap/mod.rs b/src/ctap/mod.rs index a52798b..d554994 100644 --- a/src/ctap/mod.rs +++ b/src/ctap/mod.rs @@ -368,8 +368,10 @@ where Command::AuthenticatorGetInfo => self.process_get_info(), Command::AuthenticatorClientPin(params) => self.process_client_pin(params), Command::AuthenticatorReset => self.process_reset(cid), + #[cfg(feature = "with_ctap2_1")] + Command::AuthenticatorSelection => self.process_selection(cid), // TODO(kaczmarczyck) implement GetNextAssertion and FIDO 2.1 commands - _ => unimplemented!(), + _ => self.process_unknown_command(), }; #[cfg(feature = "debug_ctap")] writeln!(&mut Console::new(), "Sending response: {:#?}", response).unwrap(); @@ -1094,6 +1096,16 @@ where Ok(ResponseData::AuthenticatorReset) } + #[cfg(feature = "with_ctap2_1")] + fn process_selection(&self, cid: ChannelID) -> Result { + (self.check_user_presence)(cid)?; + Ok(ResponseData::AuthenticatorSelection) + } + + fn process_unknown_command(&self) -> Result { + Err(Ctap2StatusCode::CTAP1_ERR_INVALID_COMMAND) + } + pub fn generate_auth_data(&self, rp_id_hash: &[u8], flag_byte: u8) -> Vec { let mut auth_data = vec![]; auth_data.extend(rp_id_hash); diff --git a/src/ctap/response.rs b/src/ctap/response.rs index 2a33a6d..0a4548d 100644 --- a/src/ctap/response.rs +++ b/src/ctap/response.rs @@ -31,6 +31,8 @@ pub enum ResponseData { AuthenticatorGetInfo(AuthenticatorGetInfoResponse), AuthenticatorClientPin(Option), AuthenticatorReset, + #[cfg(feature = "with_ctap2_1")] + AuthenticatorSelection, } impl From for Option { @@ -43,6 +45,8 @@ impl From for Option { ResponseData::AuthenticatorClientPin(Some(data)) => Some(data.into()), ResponseData::AuthenticatorClientPin(None) => None, ResponseData::AuthenticatorReset => None, + #[cfg(feature = "with_ctap2_1")] + ResponseData::AuthenticatorSelection => None, } } } @@ -372,4 +376,11 @@ mod test { let response_cbor: Option = ResponseData::AuthenticatorReset.into(); assert_eq!(response_cbor, None); } + + #[cfg(feature = "with_ctap2_1")] + #[test] + fn test_selection_into_cbor() { + let response_cbor: Option = ResponseData::AuthenticatorSelection.into(); + assert_eq!(response_cbor, None); + } } From e12cf542e9d3d23c204b107985d4a6993e9f8cf4 Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Mon, 15 Jun 2020 23:03:26 +0200 Subject: [PATCH 2/5] adds a unit test for unknown commands --- src/ctap/mod.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ctap/mod.rs b/src/ctap/mod.rs index d554994..35bc487 100644 --- a/src/ctap/mod.rs +++ b/src/ctap/mod.rs @@ -1714,6 +1714,18 @@ mod test { ); } + #[test] + fn test_process_unknown_command() { + let mut rng = ThreadRng256 {}; + let user_immediately_present = |_| Ok(()); + let mut ctap_state = CtapState::new(&mut rng, user_immediately_present); + + // This command does not exist. + let reset_reponse = ctap_state.process_command(&[0xDF], DUMMY_CHANNEL_ID); + let expected_response = vec![Ctap2StatusCode::CTAP1_ERR_INVALID_COMMAND as u8]; + assert_eq!(reset_reponse, expected_response); + } + #[test] fn test_encrypt_decrypt_credential() { let mut rng = ThreadRng256 {}; From 6f705f0e006c6e6f4b5a70e433b53b1bad418471 Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 18 Jun 2020 15:30:25 +0200 Subject: [PATCH 3/5] updates reproducible binary hashes --- reproducible/reference_binaries_macos-10.15.sha256sum | 10 +++++----- reproducible/reference_binaries_ubuntu-18.04.sha256sum | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/reproducible/reference_binaries_macos-10.15.sha256sum b/reproducible/reference_binaries_macos-10.15.sha256sum index fce6c5d..3672ed1 100644 --- a/reproducible/reference_binaries_macos-10.15.sha256sum +++ b/reproducible/reference_binaries_macos-10.15.sha256sum @@ -1,9 +1,9 @@ 1003863864e06553e730eec6df4bf8d30c99f697ef9380efdc35eba679b4db78 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840dk.bin -022268c93fa8bbd9e54e082982b87c10a0e7c0486704de8219d1bb374304636a target/nrf52840dk_merged.hex +93559510b03cd811bbdcf2963e5dd7e9acdc13cf47d2ad1b9e7bd2e210644a2b target/nrf52840dk_merged.hex 052eec0ae526038352b9f7573468d0cf7fb5ec331d4dc1a2df75fdbd514ea5ca third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_dongle.bin -d2373ac9df2ba8feff88f19e67ec87a58e635b94f0a0f759b6fcf4c750b256c9 target/nrf52840_dongle_merged.hex +f976e2975d908567398456afd9996fd60639f0a5e55d0bd5a96768a7cb7797c2 target/nrf52840_dongle_merged.hex 908d7f4f40936d968b91ab6e19b2406612fe8c2c273d9c0b71ef1f55116780e0 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_dongle_dfu.bin -3c6f18ad1e1ceedeb622f39cd00ae3328ea5ad1557a9042c1b4bf831d5e1fb0d target/nrf52840_dongle_dfu_merged.hex +ff13439347688a8c9ab53391fd4006e9e944743c47ea754e6ae348998f7b8048 target/nrf52840_dongle_dfu_merged.hex 34ecbecaebf1188277f2310fe769c8c60310d8576493242712854deb4ba1036e third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_mdk_dfu.bin -d1320adfcec35099ade04988111a947c05d14c43851fc5800d17d7a83bdba033 target/nrf52840_mdk_dfu_merged.hex -c2cbcc28b835934be4c3d3e3c5bdaba642a5811d760c1d2cb73d26b6474e4219 target/tab/ctap2.tab +f76f9fe06b0db3bdf361ae8eb79f1ac9b75c376914142341e1a77c836d1bfe42 target/nrf52840_mdk_dfu_merged.hex +e3d20aa71a70d721b66bb704767db1b8ee9b3fb8fb508937f42bdf6816a61c90 target/tab/ctap2.tab diff --git a/reproducible/reference_binaries_ubuntu-18.04.sha256sum b/reproducible/reference_binaries_ubuntu-18.04.sha256sum index b1ef07f..0e7ea05 100644 --- a/reproducible/reference_binaries_ubuntu-18.04.sha256sum +++ b/reproducible/reference_binaries_ubuntu-18.04.sha256sum @@ -1,9 +1,9 @@ c182bb4902fff51b2f56810fc2a27df3646cd66ba21359162354d53445623ab8 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840dk.bin -d8b62ece387a77cc21f2c10a5f5d65d0d57bf4739b47fd86d2c9ecdd90fbfd7e target/nrf52840dk_merged.hex +5e49a0d46c9a122f847228784c0c0bfc8309be5ae56aea2241911bc9d61dce55 target/nrf52840dk_merged.hex 30f239390ae9bef0825731e4c82d40470fc5e9bded2bf0d942e92dbb5d4faba1 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_dongle.bin -c9349bd480b30e28214bb8d58d10938889050b92d34fbeb70e3110919b3a2601 target/nrf52840_dongle_merged.hex +e3e9dd3a633a0ceb4b971bcd82e3cd02dd37ccaca486e44f136ce79e4a5a407a target/nrf52840_dongle_merged.hex e3acf15d5ae3a22aecff6cc58db5fc311f538f47328d348b7ad7db7f9ab5e72c third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_dongle_dfu.bin -08f3ca1bb79e13e83149324244929b68f8d7583630d9a62a8ffdedb710c95d8b target/nrf52840_dongle_dfu_merged.hex +fba2fb9f4fdd40ded014a7b77d387d867808281d7d751a08eafb999a360e9e3f target/nrf52840_dongle_dfu_merged.hex cae312a26a513ada6c198fdc59b2bba3860c51726b817a9fd17a4331ee12c882 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_mdk_dfu.bin -849c67c811da8d359d4e55d81d2587b3efa2f6065d72e4db09c3e571af8fef94 target/nrf52840_mdk_dfu_merged.hex -40b413a8b645b4b47fae62a4311acb12cb0c57faff2757e45c18d9e5d441e52d target/tab/ctap2.tab +7f9773fa345ee47e5c344bd4ce4929d93a0b036087cb1bec427c275077bbe389 target/nrf52840_mdk_dfu_merged.hex +f4f734bb9a0681f5cad0edc0c23bb30f2790ab2f7029dda5f152cee6d68d90c7 target/tab/ctap2.tab From ef446eaa852a18ab65702dc75bb09442d766c6c2 Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 18 Jun 2020 16:20:19 +0200 Subject: [PATCH 4/5] updates reproducible binary sizes --- reproducible/reference_elf2tab_macos-10.15.txt | 16 ++++++++-------- reproducible/reference_elf2tab_ubuntu-18.04.txt | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/reproducible/reference_elf2tab_macos-10.15.txt b/reproducible/reference_elf2tab_macos-10.15.txt index 94273d9..3d875e4 100644 --- a/reproducible/reference_elf2tab_macos-10.15.txt +++ b/reproducible/reference_elf2tab_macos-10.15.txt @@ -5,8 +5,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 175636 (0x2ae14) bytes. - Adding .stack section. Offset: 175764 (0x2ae94). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 175524 (0x2ada4) bytes. + Adding .stack section. Offset: 175652 (0x2ae24). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -24,8 +24,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 175636 (0x2ae14) bytes. - Adding .stack section. Offset: 175764 (0x2ae94). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 175524 (0x2ada4) bytes. + Adding .stack section. Offset: 175652 (0x2ae24). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -43,8 +43,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 175636 (0x2ae14) bytes. - Adding .stack section. Offset: 175764 (0x2ae94). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 175524 (0x2ada4) bytes. + Adding .stack section. Offset: 175652 (0x2ae24). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -62,8 +62,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 175636 (0x2ae14) bytes. - Adding .stack section. Offset: 175764 (0x2ae94). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 175524 (0x2ada4) bytes. + Adding .stack section. Offset: 175652 (0x2ae24). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 diff --git a/reproducible/reference_elf2tab_ubuntu-18.04.txt b/reproducible/reference_elf2tab_ubuntu-18.04.txt index fd00e16..f9e5fcb 100644 --- a/reproducible/reference_elf2tab_ubuntu-18.04.txt +++ b/reproducible/reference_elf2tab_ubuntu-18.04.txt @@ -5,8 +5,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 175252 (0x2ac94) bytes. - Adding .stack section. Offset: 175380 (0x2ad14). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 174820 (0x2aae4) bytes. + Adding .stack section. Offset: 174948 (0x2ab64). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -24,8 +24,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 175252 (0x2ac94) bytes. - Adding .stack section. Offset: 175380 (0x2ad14). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 174820 (0x2aae4) bytes. + Adding .stack section. Offset: 174948 (0x2ab64). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -43,8 +43,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 175252 (0x2ac94) bytes. - Adding .stack section. Offset: 175380 (0x2ad14). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 174820 (0x2aae4) bytes. + Adding .stack section. Offset: 174948 (0x2ab64). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -62,8 +62,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 175252 (0x2ac94) bytes. - Adding .stack section. Offset: 175380 (0x2ad14). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 174820 (0x2aae4) bytes. + Adding .stack section. Offset: 174948 (0x2ab64). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 From 491e74357eb16d35513b009137ce99c4170c5113 Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Mon, 22 Jun 2020 17:19:23 +0200 Subject: [PATCH 5/5] updates reproducible binary hashes and sizes --- .../reference_binaries_macos-10.15.sha256sum | 10 +++++----- .../reference_binaries_ubuntu-18.04.sha256sum | 10 +++++----- reproducible/reference_elf2tab_macos-10.15.txt | 16 ++++++++-------- reproducible/reference_elf2tab_ubuntu-18.04.txt | 16 ++++++++-------- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/reproducible/reference_binaries_macos-10.15.sha256sum b/reproducible/reference_binaries_macos-10.15.sha256sum index 83e63ba..ee54c1f 100644 --- a/reproducible/reference_binaries_macos-10.15.sha256sum +++ b/reproducible/reference_binaries_macos-10.15.sha256sum @@ -1,9 +1,9 @@ 0b54df6d548849e24d67b9b022ca09cb33c51f078ce85d0c9c4635ffc69902e1 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840dk.bin -e93f56b4b6bb602ab37cf967f1c3fd3d253e05ccc85d4718762f68216c35d68c target/nrf52840dk_merged.hex +136480e054c13cb3502a78f47b6496f0488adc001a568508f6fbb0bb92715317 target/nrf52840dk_merged.hex 052eec0ae526038352b9f7573468d0cf7fb5ec331d4dc1a2df75fdbd514ea5ca third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_dongle.bin -8cff9a4d513be338ba6a3fd91d3d4cfdd63bc066e8bf9dc22f64176114da08b8 target/nrf52840_dongle_merged.hex +21602fe8f25e329e80989e97c637ec8a2f1b02d2a88de636a06632465012a9c9 target/nrf52840_dongle_merged.hex 908d7f4f40936d968b91ab6e19b2406612fe8c2c273d9c0b71ef1f55116780e0 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_dongle_dfu.bin -94452673fb0022a07ac886d4ab74576f067c2d727aed30ed368f4e5af382238f target/nrf52840_dongle_dfu_merged.hex +40d176b43006dc3b2aaabfffab6210153d99641d9835e953cb48769f58d4cc48 target/nrf52840_dongle_dfu_merged.hex 34ecbecaebf1188277f2310fe769c8c60310d8576493242712854deb4ba1036e third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_mdk_dfu.bin -414aaf7fcc3a0121ab02b1222d508ae503e268cb7da0df5795a6d6a01aeed345 target/nrf52840_mdk_dfu_merged.hex -212698e7c7919fa4542e1263d56f601632902f86bdf3d48cf6300b96ad452cb1 target/tab/ctap2.tab +a3cf456e2f8e8216be891d7d4153c72535029c538612395a843bee65e573f8ba target/nrf52840_mdk_dfu_merged.hex +9fcc808b6df7d773cbe8740fbe33fa6522011991a9ed777656ba0ae67d6e8767 target/tab/ctap2.tab diff --git a/reproducible/reference_binaries_ubuntu-18.04.sha256sum b/reproducible/reference_binaries_ubuntu-18.04.sha256sum index 9f5f433..bed5f19 100644 --- a/reproducible/reference_binaries_ubuntu-18.04.sha256sum +++ b/reproducible/reference_binaries_ubuntu-18.04.sha256sum @@ -1,9 +1,9 @@ 29382e72d0f3c6a72ce9517211952ff29ea270193d7f0ddc48ca69009ee29925 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840dk.bin -4d5165d8ff46148a585ade23d3030c8a95928a158d283ccd7c93e14902452b6f target/nrf52840dk_merged.hex +0c2732e9051d2a920a1b0c8ef1094d920145e34a169af24b25109685b913ba6a target/nrf52840dk_merged.hex 30f239390ae9bef0825731e4c82d40470fc5e9bded2bf0d942e92dbb5d4faba1 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_dongle.bin -8204a87c9e93909ed79907f2d7b655d07397161ecd64bd213bc483630a38e8c9 target/nrf52840_dongle_merged.hex +d99d216f5c231b87e50b193dcb2cbdd8e09c5cee605abd72456da905832fece3 target/nrf52840_dongle_merged.hex e3acf15d5ae3a22aecff6cc58db5fc311f538f47328d348b7ad7db7f9ab5e72c third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_dongle_dfu.bin -b937eaeea7ae9ca3c26bee082cb5af596942947c84171cb4d03cc66bc31d35da target/nrf52840_dongle_dfu_merged.hex +56845828e90e595388a0a219b5a9a5eda6f768d0e5cc7e2b1712ce5b4b2f848d target/nrf52840_dongle_dfu_merged.hex cae312a26a513ada6c198fdc59b2bba3860c51726b817a9fd17a4331ee12c882 third_party/tock/target/thumbv7em-none-eabi/release/nrf52840_mdk_dfu.bin -6d125877a207744a73b0b315152188a85329d31e8f85e8205ac6033e46056931 target/nrf52840_mdk_dfu_merged.hex -e6dbbc68daa1b5269dce5ddbc91ea00169f9c8ed8d94a574dac1524e63c21b18 target/tab/ctap2.tab +7028d2253d30e5a809f4d3c2deb4cb46953a9de31978834f01a3b1392da38291 target/nrf52840_mdk_dfu_merged.hex +f96c01efac9382c001d0e277247ff20f9b17b0bb34b98a38f0e4e9cc5c3c0b90 target/tab/ctap2.tab diff --git a/reproducible/reference_elf2tab_macos-10.15.txt b/reproducible/reference_elf2tab_macos-10.15.txt index dd0b0b2..1972223 100644 --- a/reproducible/reference_elf2tab_macos-10.15.txt +++ b/reproducible/reference_elf2tab_macos-10.15.txt @@ -5,8 +5,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 179204 (0x2bc04) bytes. - Adding .stack section. Offset: 179332 (0x2bc84). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 179172 (0x2bbe4) bytes. + Adding .stack section. Offset: 179300 (0x2bc64). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -24,8 +24,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 179204 (0x2bc04) bytes. - Adding .stack section. Offset: 179332 (0x2bc84). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 179172 (0x2bbe4) bytes. + Adding .stack section. Offset: 179300 (0x2bc64). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -43,8 +43,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 179204 (0x2bc04) bytes. - Adding .stack section. Offset: 179332 (0x2bc84). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 179172 (0x2bbe4) bytes. + Adding .stack section. Offset: 179300 (0x2bc64). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -62,8 +62,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 179204 (0x2bc04) bytes. - Adding .stack section. Offset: 179332 (0x2bc84). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 179172 (0x2bbe4) bytes. + Adding .stack section. Offset: 179300 (0x2bc64). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 diff --git a/reproducible/reference_elf2tab_ubuntu-18.04.txt b/reproducible/reference_elf2tab_ubuntu-18.04.txt index 6b3b7a2..2571f3b 100644 --- a/reproducible/reference_elf2tab_ubuntu-18.04.txt +++ b/reproducible/reference_elf2tab_ubuntu-18.04.txt @@ -5,8 +5,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 179236 (0x2bc24) bytes. - Adding .stack section. Offset: 179364 (0x2bca4). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 178740 (0x2ba34) bytes. + Adding .stack section. Offset: 178868 (0x2bab4). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -24,8 +24,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 179236 (0x2bc24) bytes. - Adding .stack section. Offset: 179364 (0x2bca4). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 178740 (0x2ba34) bytes. + Adding .stack section. Offset: 178868 (0x2bab4). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -43,8 +43,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 179236 (0x2bc24) bytes. - Adding .stack section. Offset: 179364 (0x2bca4). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 178740 (0x2ba34) bytes. + Adding .stack section. Offset: 178868 (0x2bab4). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2 @@ -62,8 +62,8 @@ Min RAM size from sections in ELF: 16 bytes Number of writeable flash regions: 0 Adding .crt0_header section. Offset: 64 (0x40). Length: 64 (0x40) bytes. Entry point is in .text section - Adding .text section. Offset: 128 (0x80). Length: 179236 (0x2bc24) bytes. - Adding .stack section. Offset: 179364 (0x2bca4). Length: 16384 (0x4000) bytes. + Adding .text section. Offset: 128 (0x80). Length: 178740 (0x2ba34) bytes. + Adding .stack section. Offset: 178868 (0x2bab4). Length: 16384 (0x4000) bytes. Searching for .rel.X sections to add. TBF Header: version: 2 0x2