From 56eb89dcf5f7d2c3b4ea92490a3b4df6f85713c0 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sat, 19 Sep 2020 23:05:35 +0200 Subject: Update to libnitrokey v3.6 This patch updates libnitrokey from version 3.5 to version 3.6, causing these changes: - New constants: - `NK_device_model_NK_LIBREM` (`NK_device_model` enum) - New structures: - `NK_config` - New functions: - `NK_device_serial_number_as_u32` - `NK_write_config_struct` - `NK_free_config` - `NK_read_config_struct` - `NK_free_password_safe_slot_status` - Deprecated functions: - `NK_set_unencrypted_read_only` - `NK_set_unencrypted_read_write` --- libnitrokey-v3.5/misc.cc | 123 ----------------------------------------------- 1 file changed, 123 deletions(-) delete mode 100644 libnitrokey-v3.5/misc.cc (limited to 'libnitrokey-v3.5/misc.cc') diff --git a/libnitrokey-v3.5/misc.cc b/libnitrokey-v3.5/misc.cc deleted file mode 100644 index 59185f3..0000000 --- a/libnitrokey-v3.5/misc.cc +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) 2015-2018 Nitrokey UG - * - * This file is part of libnitrokey. - * - * libnitrokey is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * any later version. - * - * libnitrokey is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with libnitrokey. If not, see . - * - * SPDX-License-Identifier: LGPL-3.0 - */ - -#include -#include -#include "misc.h" -#include "inttypes.h" -#include -#include -#include "LibraryException.h" -#include - -namespace nitrokey { -namespace misc { - - - -::std::vector hex_string_to_byte(const char* hexString){ - const size_t big_string_size = 257; //arbitrary 'big' number - const size_t s_size = strnlen(hexString, big_string_size); - const size_t d_size = s_size/2; - if (s_size%2!=0 || s_size>=big_string_size){ - throw InvalidHexString(0); - } - auto data = ::std::vector(); - data.reserve(d_size); - - char buf[3]; - buf[2] = '\0'; - for(size_t i=0; i -::std::string hexdump(const uint8_t *p, size_t size, bool print_header, - bool print_ascii, bool print_empty) { - ::std::stringstream out; - char formatbuf[128]; - const uint8_t *pstart = p; - - for (const uint8_t *pend = p + size; p < pend;) { - if (print_header){ - snprintf(formatbuf, 128, "%04x\t", static_cast (p - pstart)); - out << formatbuf; - } - - const uint8_t* pp = p; - for (const uint8_t *le = p + 16; p < le; p++) { - if (p < pend){ - snprintf(formatbuf, 128, "%02x ", uint8_t(*p)); - out << formatbuf; - } else { - if(print_empty) - out << "-- "; - } - - } - if(print_ascii){ - out << " "; - for (const uint8_t *le = pp + 16; pp < le && pp < pend; pp++) { - if (std::isgraph(*pp)) - out << uint8_t(*pp); - else - out << '.'; - } - } - out << ::std::endl; - } - return out.str(); -} - -static uint32_t _crc32(uint32_t crc, uint32_t data) { - int i; - crc = crc ^ data; - - for (i = 0; i < 32; i++) { - if (crc & 0x80000000) - crc = (crc << 1) ^ 0x04C11DB7; // polynomial used in STM32 - else - crc = (crc << 1); - } - - return crc; -} - -uint32_t stm_crc32(const uint8_t *data, size_t size) { - uint32_t crc = 0xffffffff; - const uint32_t *pend = (const uint32_t *)(data + size); - for (const uint32_t *p = (const uint32_t *)(data); p < pend; p++) - crc = _crc32(crc, *p); - return crc; -} -} -} -- cgit v1.2.1