git: bc2ac7558455 - main - Add security/hyperhotp: Programmer for the HOTP feature of hyperFIDO USB security keys

From: Li-Wen Hsu <lwhsu_at_FreeBSD.org>
Date: Sat, 22 Oct 2022 09:57:45 UTC
The branch main has been updated by lwhsu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bc2ac7558455e8f6d0c7ccf60ccf91ccbe5f752e

commit bc2ac7558455e8f6d0c7ccf60ccf91ccbe5f752e
Author:     Robert Clausecker <fuz@fuz.su>
AuthorDate: 2022-10-20 10:20:31 +0000
Commit:     Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2022-10-22 09:56:59 +0000

    Add security/hyperhotp: Programmer for the HOTP feature of hyperFIDO USB security keys
    
    HyperHOTP is an open re-implementation of the programming software for
    the HOTP feature of the hyperFIDO security keys. It's based on reverse-
    engineering the Windows-based programmer available on Hypersecu's
    website.
    
    WWW: https://github.com/casept/hyperhotp
    
    PR:             267223
---
 security/Makefile                                     |  1 +
 security/hyperhotp/Makefile                           | 19 +++++++++++++++++++
 security/hyperhotp/distinfo                           |  3 +++
 security/hyperhotp/files/patch-cmake_FindLibusb.cmake | 19 +++++++++++++++++++
 security/hyperhotp/files/patch-src_core_hyperhotp.c   | 10 ++++++++++
 security/hyperhotp/files/patch-src_core_hyperhotp.h   | 10 ++++++++++
 security/hyperhotp/files/patch-src_core_log.c         |  8 ++++++++
 security/hyperhotp/files/patch-src_core_log.h         | 10 ++++++++++
 security/hyperhotp/files/patch-src_core_u2fhid.c      | 10 ++++++++++
 security/hyperhotp/files/patch-src_core_u2fhid.h      | 10 ++++++++++
 security/hyperhotp/files/patch-src_core_usb.c         | 10 ++++++++++
 security/hyperhotp/files/patch-src_core_usb.h         | 10 ++++++++++
 security/hyperhotp/files/patch-src_gui_main.c         |  9 +++++++++
 security/hyperhotp/pkg-descr                          |  4 ++++
 14 files changed, 133 insertions(+)

diff --git a/security/Makefile b/security/Makefile
index 8bd8b76d2f0d..d032b972b3ff 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -215,6 +215,7 @@
     SUBDIR += hpenc
     SUBDIR += hs-cryptol
     SUBDIR += hydra
+    SUBDIR += hyperhotp
     SUBDIR += i2p
     SUBDIR += i2pd
     SUBDIR += iaikpkcs11wrapper
diff --git a/security/hyperhotp/Makefile b/security/hyperhotp/Makefile
new file mode 100644
index 000000000000..05a68e54fb8b
--- /dev/null
+++ b/security/hyperhotp/Makefile
@@ -0,0 +1,19 @@
+PORTNAME=	hyperhotp
+DISTVERSION=	g20211005
+CATEGORIES=	security comms
+
+MAINTAINER=	fuz@fuz.su
+COMMENT=	Programmer for the HOTP feature of hyperFIDO USB security keys
+WWW=		https://github.com/casept/hyperhotp
+
+LICENSE=	GPLv3
+
+USES=		cmake pkgconfig
+USE_GITHUB=	yes
+GH_ACCOUNT=	casept
+#GH_PROJECT=	hyperhotp
+GH_TAGNAME=	ad1f71d0e4669e7b693ae0fd794186204b1941e8
+
+PLIST_FILES=	bin/hyperhotp
+
+.include <bsd.port.mk>
diff --git a/security/hyperhotp/distinfo b/security/hyperhotp/distinfo
new file mode 100644
index 000000000000..910c8ea4a91f
--- /dev/null
+++ b/security/hyperhotp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1666202596
+SHA256 (casept-hyperhotp-g20211005-ad1f71d0e4669e7b693ae0fd794186204b1941e8_GH0.tar.gz) = 42f522de25252a78a92460651845aece35dfe6da827ce3bbd9a27c6f42d8fabd
+SIZE (casept-hyperhotp-g20211005-ad1f71d0e4669e7b693ae0fd794186204b1941e8_GH0.tar.gz) = 29308
diff --git a/security/hyperhotp/files/patch-cmake_FindLibusb.cmake b/security/hyperhotp/files/patch-cmake_FindLibusb.cmake
new file mode 100644
index 000000000000..6a1c4fadafbf
--- /dev/null
+++ b/security/hyperhotp/files/patch-cmake_FindLibusb.cmake
@@ -0,0 +1,19 @@
+--- cmake/FindLibusb.cmake.orig	2022-10-19 18:04:24 UTC
++++ cmake/FindLibusb.cmake
+@@ -12,14 +12,14 @@ mark_as_advanced(Libusb_VERSION)
+ # Find header path
+ find_path(
+   Libusb_INCLUDE_DIR
+-  NAMES libusb-1.0/libusb.h
++  NAMES libusb.h
+   HINTS ${PC_Libusb_INCLUDE_DIRS})
+ mark_as_advanced(Libusb_INCLUDE_DIR)
+ 
+ # Find lib path
+ find_library(
+   Libusb_LIBRARIES
+-  NAMES usb-1.0
++  NAMES usb
+   HINTS ${PC_Libusb_LIBRARY_DIRS})
+ mark_as_advanced(Libusb_LIBRARIES)
+ 
diff --git a/security/hyperhotp/files/patch-src_core_hyperhotp.c b/security/hyperhotp/files/patch-src_core_hyperhotp.c
new file mode 100644
index 000000000000..ecdaa53d8380
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_core_hyperhotp.c
@@ -0,0 +1,10 @@
+--- src/core/hyperhotp.c.orig	2021-10-05 10:43:22 UTC
++++ src/core/hyperhotp.c
+@@ -1,6 +1,6 @@
+ #include "hyperhotp.h"
+ 
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <stdbool.h>
+ #include <stdint.h>
+ #include <string.h>
diff --git a/security/hyperhotp/files/patch-src_core_hyperhotp.h b/security/hyperhotp/files/patch-src_core_hyperhotp.h
new file mode 100644
index 000000000000..9b39ee3600da
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_core_hyperhotp.h
@@ -0,0 +1,10 @@
+--- src/core/hyperhotp.h.orig	2021-10-05 10:43:22 UTC
++++ src/core/hyperhotp.h
+@@ -1,6 +1,6 @@
+ #pragma once
+ 
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <stdbool.h>
+ 
+ #include "u2fhid.h"
diff --git a/security/hyperhotp/files/patch-src_core_log.c b/security/hyperhotp/files/patch-src_core_log.c
new file mode 100644
index 000000000000..6be4ce656086
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_core_log.c
@@ -0,0 +1,8 @@
+--- src/core/log.c.orig	2021-10-05 10:43:22 UTC
++++ src/core/log.c
+@@ -1,4 +1,4 @@
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <memory.h>
+ #include <stdbool.h>
+ #include <stdint.h>
diff --git a/security/hyperhotp/files/patch-src_core_log.h b/security/hyperhotp/files/patch-src_core_log.h
new file mode 100644
index 000000000000..2e80eae4f101
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_core_log.h
@@ -0,0 +1,10 @@
+--- src/core/log.h.orig	2021-10-05 10:43:22 UTC
++++ src/core/log.h
+@@ -1,6 +1,6 @@
+ #pragma once
+ 
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <stddef.h>
+ 
+ void log_fatal(const char* msg);
diff --git a/security/hyperhotp/files/patch-src_core_u2fhid.c b/security/hyperhotp/files/patch-src_core_u2fhid.c
new file mode 100644
index 000000000000..288996dea31c
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_core_u2fhid.c
@@ -0,0 +1,10 @@
+--- src/core/u2fhid.c.orig	2021-10-05 10:43:22 UTC
++++ src/core/u2fhid.c
+@@ -1,6 +1,6 @@
+ #include "u2fhid.h"
+ 
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <string.h>
diff --git a/security/hyperhotp/files/patch-src_core_u2fhid.h b/security/hyperhotp/files/patch-src_core_u2fhid.h
new file mode 100644
index 000000000000..76a6ea5ebf14
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_core_u2fhid.h
@@ -0,0 +1,10 @@
+--- src/core/u2fhid.h.orig	2021-10-05 10:43:22 UTC
++++ src/core/u2fhid.h
+@@ -1,6 +1,6 @@
+ #pragma once
+ 
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <stdbool.h>
+ #include <stdint.h>
+ 
diff --git a/security/hyperhotp/files/patch-src_core_usb.c b/security/hyperhotp/files/patch-src_core_usb.c
new file mode 100644
index 000000000000..41f0df850149
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_core_usb.c
@@ -0,0 +1,10 @@
+--- src/core/usb.c.orig	2021-10-05 10:43:22 UTC
++++ src/core/usb.c
+@@ -1,6 +1,6 @@
+ #include "usb.h"
+ 
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/security/hyperhotp/files/patch-src_core_usb.h b/security/hyperhotp/files/patch-src_core_usb.h
new file mode 100644
index 000000000000..dacee1d53911
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_core_usb.h
@@ -0,0 +1,10 @@
+--- src/core/usb.h.orig	2021-10-05 10:43:22 UTC
++++ src/core/usb.h
+@@ -1,6 +1,6 @@
+ #pragma once
+ 
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ 
+ /*
+  * Initialize the hyperFIDO usb device's libusb handle.
diff --git a/security/hyperhotp/files/patch-src_gui_main.c b/security/hyperhotp/files/patch-src_gui_main.c
new file mode 100644
index 000000000000..ecf6c37be410
--- /dev/null
+++ b/security/hyperhotp/files/patch-src_gui_main.c
@@ -0,0 +1,9 @@
+--- src/gui/main.c.orig	2021-10-05 10:43:22 UTC
++++ src/gui/main.c
+@@ -1,5 +1,5 @@
+ #include <gtk/gtk.h>
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <pthread.h>
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/security/hyperhotp/pkg-descr b/security/hyperhotp/pkg-descr
new file mode 100644
index 000000000000..56aa3440563f
--- /dev/null
+++ b/security/hyperhotp/pkg-descr
@@ -0,0 +1,4 @@
+HyperHOTP is an open re-implementation of the programming software for
+the HOTP feature of the hyperFIDO security keys. It's based on reverse-
+engineering the Windows-based programmer available on Hypersecu's
+website.