Index: GIDs =================================================================== --- GIDs +++ GIDs @@ -821,7 +821,7 @@ # free: 878 # free: 879 # free: 880 -# free: 881 +_rpki-client:*:881: midpoint:*:882: ipfs-go:*:883: telegraf:*:884: Index: UIDs =================================================================== --- UIDs +++ UIDs @@ -826,7 +826,7 @@ # free: 878 # free: 879 # free: 880 -# free: 881 +_rpki-client:*:881:881::0:0:RPKI client non-priv user:/nonexistent:/usr/sbin/nologin midpoint:*:882:882::0:0:midPoint user:/var/db/midpoint:/usr/sbin/nologin ipfs-go:*:883:883::0:0:ipfs-go user:/var/db/ipfs-go:/bin/sh telegraf:*:884:884::0:0:telegraf user:/nonexistent:/usr/sbin/nologin Index: net/rpki-client/Makefile =================================================================== --- /dev/null +++ net/rpki-client/Makefile @@ -0,0 +1,36 @@ +# $FreeBSD$ + +PORTNAME= rpki-client +DISTVERSIONPREFIX= VERSION_ +DISTVERSION= 0_3_0 +CATEGORIES= net + +MAINTAINER= juraj@lutter.sk +COMMENT= RFC 6480 resource PKI client + +LICENSE= ISCL + +RUN_DEPENDS= rsync:net/rsync + +USES= ssl + +USE_GITHUB= yes +GH_ACCOUNT= kristapsdz +GH_PROJECT= rpki-client + +HAS_CONFIGURE= yes +CONFIGURE_ARGS= PREFIX="${PREFIX}" \ + CPPFLAGS="${CPPFLAGS} -I${OPENSSLINC}" \ + LDFLAGS="${LDFLAGS} -L${OPENSSLLIB} -lssl -lcrypto" + +USERS= _rpki-client +GROUPS= _rpki-client + +PLIST_FILES= bin/rpki-client \ + man/man8/rpki-client.8.gz + +post-patch: + ${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/main.c + ${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/rpki-client.8 + +.include Index: net/rpki-client/distinfo =================================================================== --- /dev/null +++ net/rpki-client/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1578345704 +SHA256 (kristapsdz-rpki-client-VERSION_0_3_0_GH0.tar.gz) = dd9a1caa89422030cbf47fb5eef3298763ba661fc0eefe3ab4bd76165d34d64c +SIZE (kristapsdz-rpki-client-VERSION_0_3_0_GH0.tar.gz) = 81002 Index: net/rpki-client/files/patch-compats.c =================================================================== --- /dev/null +++ net/rpki-client/files/patch-compats.c @@ -0,0 +1,23 @@ +--- compats.c.orig 2020-01-06 22:22:22 UTC ++++ compats.c +@@ -907,6 +907,7 @@ memrchr(const void *s, int c, size_t n) + static volatile sig_atomic_t readpassphrase_signo[_NSIG]; + #else + static volatile sig_atomic_t readpassphrase_signo[NSIG]; ++#define _NSIG NSIG + #endif + + static void +@@ -925,12 +926,7 @@ readpassphrase(const char *prompt, char *buf, size_t b + struct termios term, oterm; + struct sigaction sa, savealrm, saveint, savehup, savequit, saveterm; + struct sigaction savetstp, savettin, savettou, savepipe; +-/* If we don't have TCSASOFT define it so that ORing it it below is a no-op. */ +-#ifndef TCSASOFT + const int tcasoft = 0; +-#else +- const int tcasoft = TCASOFT; +-#endif + + /* I suppose we could alloc on demand in this case (XXX). */ + if (bufsiz == 0) { Index: net/rpki-client/files/patch-configure.local =================================================================== --- /dev/null +++ net/rpki-client/files/patch-configure.local @@ -0,0 +1,5 @@ +--- configure.local.orig 2020-01-06 21:57:33 UTC ++++ configure.local +@@ -0,0 +1,2 @@ ++HAVE_GETPROGNAME=1 ++RSYNC=rsync Index: net/rpki-client/files/patch-main.c =================================================================== --- /dev/null +++ net/rpki-client/files/patch-main.c @@ -0,0 +1,20 @@ +--- main.c.orig 2019-12-29 21:38:17 UTC ++++ main.c +@@ -1333,7 +1333,7 @@ entity_process(int proc, int rsync, struct stats *st, + static size_t + tal_load_default(const char *tals[], size_t max) + { +- static const char *confdir = "/etc/rpki"; ++ static const char *confdir = "%%PREFIX%%/etc/rpki"; + size_t s = 0; + char *path; + DIR *dirp; +@@ -1470,7 +1470,7 @@ main(int argc, char *argv[]) + if (talsz == 0) + talsz = tal_load_default(tals, TALSZ_MAX); + if (talsz == 0) +- err(1, "no TAL files found in %s", "/etc/rpki"); ++ err(1, "no TAL files found in %s", "%%PREFIX%%/etc/rpki"); + + memset(&rt, 0, sizeof(struct repotab)); + memset(&stats, 0, sizeof(struct stats)); Index: net/rpki-client/files/patch-rpki-client.8 =================================================================== --- /dev/null +++ net/rpki-client/files/patch-rpki-client.8 @@ -0,0 +1,11 @@ +--- rpki-client.8.orig 2020-01-06 22:41:30 UTC ++++ rpki-client.8 +@@ -117,7 +117,7 @@ This option can be used multiple times to load multipl + By default + .Nm + will load all TAL files in +-.Pa /etc/rpki . ++.Pa %%PREFIX%%/etc/rpki . + .It Fl v + Specified once, prints information about status. + Twice, prints each filename as it's processed. Index: net/rpki-client/pkg-descr =================================================================== --- /dev/null +++ net/rpki-client/pkg-descr @@ -0,0 +1,5 @@ +rpki-client is an implementation of RPKI (resource public key infrastructure) +described in RFC 6480. It implements the client side of RPKI, which is +responsible for downloading and validating route origin statements + +WWW: https://github.com/kristapsdz/rpki-client