Skip to content

Commit

Permalink
security/kdbxviewer: update to 0.1.9 and unbreak with -fno-common
Browse files Browse the repository at this point in the history
Summary:
- Unbreak this port by adding an extern keyword in the right place.
- Fix ANSI color setting on abort()
- Upstream has moved to a new github account
  (https://github.com/luelista/kdbxviewer) but appears to have abandoned the
  project.  Move upstream to a fork which appears to have continued development
  on the project.  Upstream does not tag releases but periodically changes the
  README to indicate a new release.
- Remove dead WWW and replace it with upstream repository.
- Set MAINTAINER to reporter

Differential Revision: https://reviews.freebsd.org/D32822
  • Loading branch information
clausecker authored and jurajlutter committed Nov 3, 2021
1 parent 181166b commit 890021e
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 14 deletions.
16 changes: 6 additions & 10 deletions security/kdbxviewer/Makefile
@@ -1,37 +1,33 @@
# Created by: Ben Woods <woodsb02@FreeBSD.org>

PORTNAME= kdbxviewer
PORTVERSION= 0.1
PORTVERSION= 0.1.9
DISTVERSIONPREFIX=v
CATEGORIES= security

MAINTAINER= ports@FreeBSD.org
COMMENT= ncurses GUI and command-line tool for KeePass2 Database files
MAINTAINER= fuz@fuz.su
COMMENT= Ncurses UI and command-line tool for KeePass2 Database files

LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING

BROKEN_FreeBSD_13= ld: error: duplicate symbol: trail
BROKEN_FreeBSD_14= ld: error: duplicate symbol: trail

LIB_DEPENDS= libexpat.so:textproc/expat2 \
libgcrypt.so:security/libgcrypt \
libstfl.so:devel/stfl

USES= ncurses
USE_GITHUB= yes
GH_ACCOUNT= max-weller
GH_ACCOUNT= pepa65

USES= ncurses
ALL_TARGET= kdbxviewer
CFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
PLIST_FILES= bin/kdbxviewer
ALL_TARGET=

post-patch:
${REINPLACE_CMD} -e 's|gcc|${CC} ${CFLAGS} ${LDFLAGS}|' ${WRKSRC}/Makefile

do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bin/kdbxviewer ${STAGEDIR}${PREFIX}/bin/
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/kdbxviewer

.include <bsd.port.mk>
6 changes: 3 additions & 3 deletions security/kdbxviewer/distinfo
@@ -1,3 +1,3 @@
TIMESTAMP = 1575987926
SHA256 (max-weller-kdbxviewer-v0.1_GH0.tar.gz) = 4a9406232ff440e7453d34bb450b44c715ebefc4bd4c98c305d4d0af9aee4ecf
SIZE (max-weller-kdbxviewer-v0.1_GH0.tar.gz) = 142765
TIMESTAMP = 1635946423
SHA256 (pepa65-kdbxviewer-v0.1.9_GH0.tar.gz) = ab9c26971be2e5fdf623e795173a7f6604fe96615b186db1033b09dcd76334d5
SIZE (pepa65-kdbxviewer-v0.1.9_GH0.tar.gz) = 140205
70 changes: 70 additions & 0 deletions security/kdbxviewer/files/patch-src_main.c
@@ -0,0 +1,70 @@
--- src/main.c.orig 2021-10-10 14:14:08 UTC
+++ src/main.c
@@ -198,7 +198,7 @@ int main(int argc, char **argv) {
case 'i':
case 'h':
case 'V':
- if (command != 0) abort(-1, "%sMultiple commands not allowed\n", ERRC);
+ if (command != 0) abort(-1, "%sMultiple commands not allowed%s\n", ERRC, NORMAL);
command = opt;
break;
case 'v':
@@ -215,15 +215,15 @@ int main(int argc, char **argv) {
searchall = TRUE;
case 's':
if (search != NULL)
- abort(-2, "%sSuperfluous search term: %s\n", ERRC, optarg);
+ abort(-2, "%sSuperfluous search term: %s%s\n", ERRC, optarg, NORMAL);
search = optarg;
break;
case 'd':
if ((kdbxfile = fopen(optarg, "r")) == NULL)
- abort(-3, "%sCan't open database file: %s\n", ERRC, optarg);
+ abort(-3, "%sCan't open database file: %s%s\n", ERRC, optarg, NORMAL);
kdbxfilename = optarg;
default:
- abort(-4, "%sUnrecognized argument -%s\n", ERRC, argv[optind]);
+ abort(-4, "%sUnrecognized argument -%s%s\n", ERRC, argv[optind], NORMAL);
}
}

@@ -238,10 +238,10 @@ int main(int argc, char **argv) {

if (optind < argc) // Must be [-s] argument, unless already given
if (search == NULL) search = argv[optind++];
- else abort(-5, "%sSuperfluous argument: %s\n", ERRC, argv[optind]);
+ else abort(-5, "%sSuperfluous argument: %s%s\n", ERRC, argv[optind], NORMAL);

if (optind < argc)
- abort(-6, "%sSuperfluous argument: %s\n", ERRC, argv[optind]);
+ abort(-6, "%sSuperfluous argument: %s%s\n", ERRC, argv[optind], NORMAL);

if (*kdbxfilename == 0) { // Try configfile for database filename
*filename = 0;
@@ -253,22 +253,22 @@ int main(int argc, char **argv) {
*filename = 0;
}
if (*kdbxfilename == 0)
- abort(-7, "%sNo database specified on commandline or in configfile\n",
- ERRC);
+ abort(-7, "%sNo database specified on commandline or in configfile%s\n",
+ ERRC, NORMAL);
else strcpy(filename, kdbxfilename);
}

// Set default mode depending on search
if (search != NULL) { // Search requested
if (command == 'i' || command == 'x')
- abort(-8, "%sCannot Search with -i/--interactive or -x/--xml\n", ERRC);
+ abort(-8, "%sCannot Search with -i/--interactive or -x/--xml%s\n", ERRC, NORMAL);
if (command == 0) command = 't';
} else { // No search
if (command == 0) command = 'i';
}

// Open the database
- warn("%skdbxviewer", RESET);
+ warn("%skdbxviewer", NORMAL);
if (password == NULL) {
warn(" - Opening KDBX database %s%s\n%sPassword: %s", FIELD, kdbxfilename, PWC, NORMAL);
password = getpass("");
11 changes: 11 additions & 0 deletions security/kdbxviewer/files/patch-src_tui.c
@@ -0,0 +1,11 @@
--- src/tui.c.orig 2021-10-04 12:08:30 UTC
+++ src/tui.c
@@ -13,7 +13,7 @@
#include <locale.h>
#include "helper.h"

-int unmask;
+extern int unmask;
#define WIDE(str) stfl_ipool_towc(ipool, str)
#define MAXFIELDLEN 32768

2 changes: 1 addition & 1 deletion security/kdbxviewer/pkg-descr
Expand Up @@ -7,4 +7,4 @@ Features:
- Display tree structure with de-obscured (=readable) passwords
- Get tab-separated (TSV/CSV) password list

WWW: https://max-weller.github.io/kdbx-viewer/
WWW: https://github.com/pepa65/kdbxviewer

0 comments on commit 890021e

Please sign in to comment.