From 4615f5ecf96ef4637d814a4dfeab9c404b4a3667 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Mon, 10 Dec 2018 12:42:48 +0000 Subject: Update to libnitrokey v3.4 Besides the changes listed in the changelog, this patch also changes the build system to be able to generate the version.cc file containing the library version. --- libnitrokey-v3.3/misc.cc | 123 ----------------------------------------------- 1 file changed, 123 deletions(-) delete mode 100644 libnitrokey-v3.3/misc.cc (limited to 'libnitrokey-v3.3/misc.cc') diff --git a/libnitrokey-v3.3/misc.cc b/libnitrokey-v3.3/misc.cc deleted file mode 100644 index 59185f3..0000000 --- a/libnitrokey-v3.3/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