From 56cb376b3c05b3d6b8c6867838fadbc5207813f8 Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Fri, 12 Aug 2016 14:46:13 +0200 Subject: [PATCH] drop ykcs11_check_version() that was never used or exported --- ykcs11/Makefile.am | 2 +- ykcs11/version.c | 143 ------------------------------------- ykcs11/ykcs11-version.h.in | 3 - 3 files changed, 1 insertion(+), 147 deletions(-) delete mode 100644 ykcs11/version.c diff --git a/ykcs11/Makefile.am b/ykcs11/Makefile.am index 74bde9f..662c06b 100644 --- a/ykcs11/Makefile.am +++ b/ykcs11/Makefile.am @@ -33,7 +33,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/lib -I$(top_builddir)/lib lib_LTLIBRARIES = libykcs11.la -libykcs11_la_SOURCES = ykcs11.c version.c ykcs11.pc.in ykcs11.map +libykcs11_la_SOURCES = ykcs11.c ykcs11.pc.in ykcs11.map libykcs11_la_SOURCES += ykcs11.h debug.h libykcs11_la_SOURCES += vendors.c vendors.h vendor_ids.h libykcs11_la_SOURCES += slot_vendors.c slot_vendors.h diff --git a/ykcs11/version.c b/ykcs11/version.c deleted file mode 100644 index 989d8fb..0000000 --- a/ykcs11/version.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (c) 2015 Yubico AB - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include "ykcs11-version.h" - -#include - -#include - -/* From http://article.gmane.org/gmane.os.freebsd.devel.hackers/23606 */ -static int my_strverscmp (const char *s1, const char *s2) -{ - static const char *digits = "0123456789"; - size_t p1, p2; - - p1 = strcspn (s1, digits); - p2 = strcspn (s2, digits); - while (p1 == p2 && s1[p1] != '\0' && s2[p2] != '\0') { - int ret, lz1, lz2; - /* Different prefix */ - if ((ret = strncmp (s1, s2, p1)) != 0) - return ret; - - s1 += p1; - s2 += p2; - - lz1 = lz2 = 0; - if (*s1 == '0') - lz1 = 1; - if (*s2 == '0') - lz2 = 1; - - if (lz1 > lz2) - return -1; - else if (lz1 < lz2) - return 1; - else if (lz1 == 1) { - /* - * If the common prefix for s1 and s2 consists only of zeros, then the - * "longer" number has to compare less. Otherwise the comparison needs - * to be numerical (just fallthrough). See - * http://refspecs.freestandards.org/LSB_2.0.1/LSB-generic/ - * LSB-generic/baselib-strverscmp.html - */ - while (*s1 == '0' && *s2 == '0') { - ++s1; - ++s2; - } - - p1 = strspn (s1, digits); - p2 = strspn (s2, digits); - - /* Catch empty strings */ - if (p1 == 0 && p2 > 0) - return 1; - else if (p2 == 0 && p1 > 0) - return -1; - - /* Prefixes are not same */ - if (*s1 != *s2 && *s1 != '0' && *s2 != '0') { - if (p1 < p2) - return 1; - else if (p1 > p2) - return -1; - } else { - if (p1 < p2) - ret = strncmp (s1, s2, p1); - else if (p1 > p2) - ret = strncmp (s1, s2, p2); - if (ret != 0) - return ret; - } - } - - p1 = strspn (s1, digits); - p2 = strspn (s2, digits); - - if (p1 < p2) - return -1; - else if (p1 > p2) - return 1; - else if ((ret = strncmp (s1, s2, p1)) != 0) - return ret; - - /* Numbers are equal or not present, try with next ones. */ - s1 += p1; - s2 += p2; - p1 = strcspn (s1, digits); - p2 = strcspn (s2, digits); - } - - return strcmp (s1, s2); -} - -/** - * ykcs11_check_version: - * @req_version: Required version number, or NULL. - * - * Check that the version of the library is at minimum the requested - * one and return the version string; return NULL if the condition is - * not satisfied. If a NULL is passed to this function, no check is - * done, but the version string is simply returned. - * - * See %YKCS11_VERSION_STRING for a suitable @req_version string. - * - * Return value: Version string of run-time library, or NULL if the - * run-time library does not meet the required version number. - */ -const char * ykcs11_check_version (const char *req_version) -{ - if (!req_version - || my_strverscmp (req_version, YKCS11_VERSION_STRING) <= 0) - return YKCS11_VERSION_STRING; - - return NULL; -} diff --git a/ykcs11/ykcs11-version.h.in b/ykcs11/ykcs11-version.h.in index 37ca896..44c6b74 100644 --- a/ykcs11/ykcs11-version.h.in +++ b/ykcs11/ykcs11-version.h.in @@ -82,9 +82,6 @@ extern "C" */ #define YKCS11_VERSION_PATCH @YKCS11_VERSION_PATCH@ - const char *ykcs11_check_version (const char *req_version); - - #ifdef __cplusplus } #endif