Codebase list rpki-client / 3a62c38
New upstream version 6.7p0 Marco d'Itri 3 years ago
25 changed file(s) with 979 addition(s) and 540 deletion(s). Raw diff Collapse all Expand all
+0
-13
COPYING less more
0 /*
1 * Permission to use, copy, modify, and distribute this software for any
2 * purpose with or without fee is hereby granted, provided that the above
3 * copyright notice and this permission notice appear in all copies.
4 *
5 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
6 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
7 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
8 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
9 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
10 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
11 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
12 */
0 /*
1 * Permission to use, copy, modify, and distribute this software for any
2 * purpose with or without fee is hereby granted, provided that the above
3 * copyright notice and this permission notice appear in all copies.
4 *
5 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
6 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
7 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
8 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
9 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
10 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
11 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
12 */
1818 taldir = $(RPKI_TAL_DIR)
1919 tal_DATA = afrinic.tal apnic.tal lacnic.tal ripe.tal
2020
21 EXTRA_DIST = README.md VERSION $(tal_DATA)
21 EXTRA_DIST = README.md VERSION LICENSE $(tal_DATA)
2222
2323 install-data-hook:
2424 -@if [ ! -d "$(DESTDIR)$(RPKI_BASE_DIR)" ]; then \
25 $(INSTALL) -m 755 -o $(RPKI_USER) -d "$(DESTDIR)$(RPKI_BASE_DIR)"; \
25 if [ "`id -u`" = "0" ]; then \
26 $(INSTALL) -m 755 -o $(RPKI_USER) -d "$(DESTDIR)$(RPKI_BASE_DIR)"; \
27 else \
28 $(INSTALL) -m 755 -d "$(DESTDIR)$(RPKI_BASE_DIR)"; \
29 echo "Warning: Unprivileged permissions, remember to run" \
30 "'chown $(RPKI_USER) $(DESTDIR)$(RPKI_BASE_DIR)'"; \
31 fi \
2632 fi
2733 -@if [ ! -d "$(DESTDIR)$(RPKI_OUT_DIR)" ]; then \
28 $(INSTALL) -m 755 -o $(RPKI_USER) -d "$(DESTDIR)$(RPKI_OUT_DIR)"; \
34 if [ "`id -u`" = "0" ]; then \
35 $(INSTALL) -m 755 -o $(RPKI_USER) -d "$(DESTDIR)$(RPKI_OUT_DIR)"; \
36 else \
37 $(INSTALL) -m 755 -d "$(DESTDIR)$(RPKI_OUT_DIR)"; \
38 echo "Warning: Unprivileged permissions, remember to run" \
39 "'chown $(RPKI_USER) $(DESTDIR)$(RPKI_OUT_DIR)'"; \
40 fi \
2941 fi
0 # Makefile.in generated by automake 1.16.1 from Makefile.am.
0 # Makefile.in generated by automake 1.16.2 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
44
55 # This Makefile.in is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
202202 CTAGS = ctags
203203 CSCOPE = cscope
204204 DIST_SUBDIRS = $(SUBDIRS)
205 am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING INSTALL TODO \
206 compile config.guess config.sub depcomp install-sh ltmain.sh \
207 missing
205 am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS INSTALL TODO compile \
206 config.guess config.sub depcomp install-sh ltmain.sh missing
208207 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
209208 distdir = $(PACKAGE)-$(VERSION)
210209 top_distdir = $(distdir)
249248 distcleancheck_listfiles = find . -type f -print
250249 ACLOCAL = @ACLOCAL@
251250 AMTAR = @AMTAR@
251 AM_CFLAGS = @AM_CFLAGS@
252252 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
253 AM_LDFLAGS = @AM_LDFLAGS@
253254 AR = @AR@
254255 AUTOCONF = @AUTOCONF@
255256 AUTOHEADER = @AUTOHEADER@
293294 NMEDIT = @NMEDIT@
294295 OBJDUMP = @OBJDUMP@
295296 OBJEXT = @OBJEXT@
297 OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
298 OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
296299 OTOOL = @OTOOL@
297300 OTOOL64 = @OTOOL64@
298301 PACKAGE = @PACKAGE@
370373 ACLOCAL_AMFLAGS = -I m4
371374 taldir = $(RPKI_TAL_DIR)
372375 tal_DATA = afrinic.tal apnic.tal lacnic.tal ripe.tal
373 EXTRA_DIST = README.md VERSION $(tal_DATA)
376 EXTRA_DIST = README.md VERSION LICENSE $(tal_DATA)
374377 all: all-recursive
375378
376379 .SUFFIXES:
627630 tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
628631 $(am__post_remove_distdir)
629632
633 dist-zstd: distdir
634 tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
635 $(am__post_remove_distdir)
636
630637 dist-tarZ: distdir
631638 @echo WARNING: "Support for distribution archives compressed with" \
632639 "legacy program 'compress' is deprecated." >&2
669676 eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
670677 *.zip*) \
671678 unzip $(distdir).zip ;;\
679 *.tar.zst*) \
680 zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
672681 esac
673682 chmod -R a-w $(distdir)
674683 chmod u+w $(distdir)
851860 am--refresh check check-am clean clean-cscope clean-generic \
852861 clean-libtool cscope cscopelist-am ctags ctags-am dist \
853862 dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
854 dist-xz dist-zip distcheck distclean distclean-generic \
855 distclean-libtool distclean-tags distcleancheck distdir \
856 distuninstallcheck dvi dvi-am html html-am info info-am \
857 install install-am install-data install-data-am \
858 install-data-hook install-dvi install-dvi-am install-exec \
859 install-exec-am install-html install-html-am install-info \
860 install-info-am install-man install-pdf install-pdf-am \
861 install-ps install-ps-am install-strip install-talDATA \
862 installcheck installcheck-am installdirs installdirs-am \
863 maintainer-clean maintainer-clean-generic mostlyclean \
864 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
865 tags tags-am uninstall uninstall-am uninstall-talDATA
863 dist-xz dist-zip dist-zstd distcheck distclean \
864 distclean-generic distclean-libtool distclean-tags \
865 distcleancheck distdir distuninstallcheck dvi dvi-am html \
866 html-am info info-am install install-am install-data \
867 install-data-am install-data-hook install-dvi install-dvi-am \
868 install-exec install-exec-am install-html install-html-am \
869 install-info install-info-am install-man install-pdf \
870 install-pdf-am install-ps install-ps-am install-strip \
871 install-talDATA installcheck installcheck-am installdirs \
872 installdirs-am maintainer-clean maintainer-clean-generic \
873 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
874 ps ps-am tags tags-am uninstall uninstall-am uninstall-talDATA
866875
867876 .PRECIOUS: Makefile
868877
869878
870879 install-data-hook:
871880 -@if [ ! -d "$(DESTDIR)$(RPKI_BASE_DIR)" ]; then \
872 $(INSTALL) -m 755 -o $(RPKI_USER) -d "$(DESTDIR)$(RPKI_BASE_DIR)"; \
881 if [ "`id -u`" = "0" ]; then \
882 $(INSTALL) -m 755 -o $(RPKI_USER) -d "$(DESTDIR)$(RPKI_BASE_DIR)"; \
883 else \
884 $(INSTALL) -m 755 -d "$(DESTDIR)$(RPKI_BASE_DIR)"; \
885 echo "Warning: Unprivileged permissions, remember to run" \
886 "'chown $(RPKI_USER) $(DESTDIR)$(RPKI_BASE_DIR)'"; \
887 fi \
873888 fi
874889 -@if [ ! -d "$(DESTDIR)$(RPKI_OUT_DIR)" ]; then \
875 $(INSTALL) -m 755 -o $(RPKI_USER) -d "$(DESTDIR)$(RPKI_OUT_DIR)"; \
890 if [ "`id -u`" = "0" ]; then \
891 $(INSTALL) -m 755 -o $(RPKI_USER) -d "$(DESTDIR)$(RPKI_OUT_DIR)"; \
892 else \
893 $(INSTALL) -m 755 -d "$(DESTDIR)$(RPKI_OUT_DIR)"; \
894 echo "Warning: Unprivileged permissions, remember to run" \
895 "'chown $(RPKI_USER) $(DESTDIR)$(RPKI_OUT_DIR)'"; \
896 fi \
876897 fi
877898
878899 # Tell versions [3.59,3.63) of GNU make to not export all variables.
0 6.6p2
0 6.7p0
0 # generated automatically by aclocal 1.16.1 -*- Autoconf -*-
1
2 # Copyright (C) 1996-2018 Free Software Foundation, Inc.
0 # generated automatically by aclocal 1.16.2 -*- Autoconf -*-
1
2 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
33
44 # This file is free software; the Free Software Foundation
55 # gives unlimited permission to copy and/or distribute it,
1919 If you have problems, you may need to regenerate the build system entirely.
2020 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
2121
22 # Copyright (C) 2002-2018 Free Software Foundation, Inc.
22 # Copyright (C) 2002-2020 Free Software Foundation, Inc.
2323 #
2424 # This file is free software; the Free Software Foundation
2525 # gives unlimited permission to copy and/or distribute it,
3434 [am__api_version='1.16'
3535 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
3636 dnl require some minimum version. Point them to the right macro.
37 m4_if([$1], [1.16.1], [],
37 m4_if([$1], [1.16.2], [],
3838 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
3939 ])
4040
5050 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
5151 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
5252 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
53 [AM_AUTOMAKE_VERSION([1.16.1])dnl
53 [AM_AUTOMAKE_VERSION([1.16.2])dnl
5454 m4_ifndef([AC_AUTOCONF_VERSION],
5555 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
5656 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
5757
5858 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
5959
60 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
60 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
6161 #
6262 # This file is free software; the Free Software Foundation
6363 # gives unlimited permission to copy and/or distribute it,
109109
110110 # AM_CONDITIONAL -*- Autoconf -*-
111111
112 # Copyright (C) 1997-2018 Free Software Foundation, Inc.
112 # Copyright (C) 1997-2020 Free Software Foundation, Inc.
113113 #
114114 # This file is free software; the Free Software Foundation
115115 # gives unlimited permission to copy and/or distribute it,
140140 Usually this means the macro was only invoked conditionally.]])
141141 fi])])
142142
143 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
143 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
144144 #
145145 # This file is free software; the Free Software Foundation
146146 # gives unlimited permission to copy and/or distribute it,
331331
332332 # Generate code to set up dependency tracking. -*- Autoconf -*-
333333
334 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
334 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
335335 #
336336 # This file is free software; the Free Software Foundation
337337 # gives unlimited permission to copy and/or distribute it,
370370 done
371371 if test $am_rc -ne 0; then
372372 AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
373 for automatic dependency tracking. Try re-running configure with the
373 for automatic dependency tracking. If GNU make was not used, consider
374 re-running the configure script with MAKE="gmake" (or whatever is
375 necessary). You can also try re-running configure with the
374376 '--disable-dependency-tracking' option to at least be able to build
375377 the package (albeit without support for automatic dependency tracking).])
376378 fi
397399
398400 # Do all the work for Automake. -*- Autoconf -*-
399401
400 # Copyright (C) 1996-2018 Free Software Foundation, Inc.
402 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
401403 #
402404 # This file is free software; the Free Software Foundation
403405 # gives unlimited permission to copy and/or distribute it,
594596 done
595597 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
596598
597 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
599 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
598600 #
599601 # This file is free software; the Free Software Foundation
600602 # gives unlimited permission to copy and/or distribute it,
615617 fi
616618 AC_SUBST([install_sh])])
617619
618 # Copyright (C) 2003-2018 Free Software Foundation, Inc.
620 # Copyright (C) 2003-2020 Free Software Foundation, Inc.
619621 #
620622 # This file is free software; the Free Software Foundation
621623 # gives unlimited permission to copy and/or distribute it,
636638
637639 # Check to see how 'make' treats includes. -*- Autoconf -*-
638640
639 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
641 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
640642 #
641643 # This file is free software; the Free Software Foundation
642644 # gives unlimited permission to copy and/or distribute it,
679681
680682 # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
681683
682 # Copyright (C) 1997-2018 Free Software Foundation, Inc.
684 # Copyright (C) 1997-2020 Free Software Foundation, Inc.
683685 #
684686 # This file is free software; the Free Software Foundation
685687 # gives unlimited permission to copy and/or distribute it,
718720
719721 # Helper functions for option handling. -*- Autoconf -*-
720722
721 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
723 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
722724 #
723725 # This file is free software; the Free Software Foundation
724726 # gives unlimited permission to copy and/or distribute it,
747749 AC_DEFUN([_AM_IF_OPTION],
748750 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
749751
750 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
752 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
751753 #
752754 # This file is free software; the Free Software Foundation
753755 # gives unlimited permission to copy and/or distribute it,
794796 # For backward compatibility.
795797 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
796798
797 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
799 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
798800 #
799801 # This file is free software; the Free Software Foundation
800802 # gives unlimited permission to copy and/or distribute it,
813815
814816 # Check to make sure that the build environment is sane. -*- Autoconf -*-
815817
816 # Copyright (C) 1996-2018 Free Software Foundation, Inc.
818 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
817819 #
818820 # This file is free software; the Free Software Foundation
819821 # gives unlimited permission to copy and/or distribute it,
894896 rm -f conftest.file
895897 ])
896898
897 # Copyright (C) 2009-2018 Free Software Foundation, Inc.
899 # Copyright (C) 2009-2020 Free Software Foundation, Inc.
898900 #
899901 # This file is free software; the Free Software Foundation
900902 # gives unlimited permission to copy and/or distribute it,
954956 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
955957 ])
956958
957 # Copyright (C) 2001-2018 Free Software Foundation, Inc.
959 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
958960 #
959961 # This file is free software; the Free Software Foundation
960962 # gives unlimited permission to copy and/or distribute it,
982984 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
983985 AC_SUBST([INSTALL_STRIP_PROGRAM])])
984986
985 # Copyright (C) 2006-2018 Free Software Foundation, Inc.
987 # Copyright (C) 2006-2020 Free Software Foundation, Inc.
986988 #
987989 # This file is free software; the Free Software Foundation
988990 # gives unlimited permission to copy and/or distribute it,
10011003
10021004 # Check how to create a tarball. -*- Autoconf -*-
10031005
1004 # Copyright (C) 2004-2018 Free Software Foundation, Inc.
1006 # Copyright (C) 2004-2020 Free Software Foundation, Inc.
10051007 #
10061008 # This file is free software; the Free Software Foundation
10071009 # gives unlimited permission to copy and/or distribute it,
0 # Makefile.in generated by automake 1.16.1 from Makefile.am.
0 # Makefile.in generated by automake 1.16.2 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
44
55 # This Makefile.in is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
218218 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
219219 ACLOCAL = @ACLOCAL@
220220 AMTAR = @AMTAR@
221 AM_CFLAGS = @AM_CFLAGS@
221222 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
223 AM_LDFLAGS = @AM_LDFLAGS@
222224 AR = @AR@
223225 AUTOCONF = @AUTOCONF@
224226 AUTOHEADER = @AUTOHEADER@
262264 NMEDIT = @NMEDIT@
263265 OBJDUMP = @OBJDUMP@
264266 OBJEXT = @OBJEXT@
267 OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
268 OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
265269 OTOOL = @OTOOL@
266270 OTOOL64 = @OTOOL64@
267271 PACKAGE = @PACKAGE@
22
33 scriptversion=2018-03-07.03; # UTC
44
5 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
5 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
66 # Written by Tom Tromey <tromey@cygnus.com>.
77 #
88 # This program is free software; you can redistribute it and/or modify
5252 MINGW*)
5353 file_conv=mingw
5454 ;;
55 CYGWIN*)
55 CYGWIN* | MSYS*)
5656 file_conv=cygwin
5757 ;;
5858 *)
6666 mingw/*)
6767 file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
6868 ;;
69 cygwin/*)
69 cygwin/* | msys/*)
7070 file=`cygpath -m "$file" || echo "$file"`
7171 ;;
7272 wine/*)
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for rpki-client 6.6p2.
2 # Generated by GNU Autoconf 2.69 for rpki-client 6.7p0.
33 #
44 #
55 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
195195 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
196196 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
197197 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
198 test \$(( 1 + 1 )) = 2 || exit 1
198199
199200 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
200201 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
202203 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
203204 PATH=/empty FPATH=/empty; export PATH FPATH
204205 test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
205 || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
206 test \$(( 1 + 1 )) = 2 || exit 1"
206 || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
207207 if (eval "$as_required") 2>/dev/null; then :
208208 as_have_required=yes
209209 else
586586 # Identity of this package.
587587 PACKAGE_NAME='rpki-client'
588588 PACKAGE_TARNAME='rpki-client'
589 PACKAGE_VERSION='6.6p2'
590 PACKAGE_STRING='rpki-client 6.6p2'
589 PACKAGE_VERSION='6.7p0'
590 PACKAGE_STRING='rpki-client 6.7p0'
591591 PACKAGE_BUGREPORT=''
592592 PACKAGE_URL=''
593593
636636 RPKI_TAL_DIR
637637 RSYNC
638638 RPKI_USER
639 OPENSSL_LDFLAGS
640 OPENSSL_CFLAGS
639641 HAVE_UNVEIL_FALSE
640642 HAVE_UNVEIL_TRUE
641643 HAVE_PLEDGE_FALSE
656658 HAVE_RECALLOCARRAY_TRUE
657659 HAVE_REALLOCARRAY_FALSE
658660 HAVE_REALLOCARRAY_TRUE
661 AM_LDFLAGS
662 AM_CFLAGS
659663 CPP
660664 OTOOL64
661665 OTOOL
676680 FGREP
677681 EGREP
678682 GREP
683 LIBTOOL
679684 SED
680 LIBTOOL
681685 HOST_SOLARIS_FALSE
682686 HOST_SOLARIS_TRUE
683687 HOST_NETBSD_FALSE
790794 with_gnu_ld
791795 with_sysroot
792796 enable_libtool_lock
797 enable_warnings
798 with_openssl
799 with_openssl_cflags
800 with_openssl_ldflags
793801 with_user
794802 with_rsync
795803 with_tal_dir
13451353 # Omit some internal or obsolete options to make the list less imposing.
13461354 # This message is too long to be a string in the A/UX 3.1 sh.
13471355 cat <<_ACEOF
1348 \`configure' configures rpki-client 6.6p2 to adapt to many kinds of systems.
1356 \`configure' configures rpki-client 6.7p0 to adapt to many kinds of systems.
13491357
13501358 Usage: $0 [OPTION]... [VAR=VALUE]...
13511359
14151423
14161424 if test -n "$ac_init_help"; then
14171425 case $ac_init_help in
1418 short | recursive ) echo "Configuration of rpki-client 6.6p2:";;
1426 short | recursive ) echo "Configuration of rpki-client 6.7p0:";;
14191427 esac
14201428 cat <<\_ACEOF
14211429
14341442 --enable-fast-install[=PKGS]
14351443 optimize for fast installation [default=yes]
14361444 --disable-libtool-lock avoid locking (might break parallel builds)
1445 --disable-warnings enable compiler warnings [default=enabled]
14371446
14381447 Optional Packages:
14391448 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
14431452 --with-gnu-ld assume the C compiler uses GNU ld [default=no]
14441453 --with-sysroot=DIR Search for dependent libraries within DIR
14451454 (or the compiler's sysroot if not specified).
1455 --with-openssl=pkg-name Use pkg-config(1) pkg-name to find OpenSSL files
1456 --with-openssl-cflags=STRING
1457 Extra compiler flags to build with OpenSSL
1458 --with-openssl-ldflags=STRING
1459 Extra flags for linker to link with OpenSSL
1460 libraries
14461461 --with-user=user User for rpki-client to use when run as root
14471462 --with-rsync=command Rsync command to use
14481463 --with-tal-dir=path Path to the default TAL directory
15251540 test -n "$ac_init_help" && exit $ac_status
15261541 if $ac_init_version; then
15271542 cat <<\_ACEOF
1528 rpki-client configure 6.6p2
1543 rpki-client configure 6.7p0
15291544 generated by GNU Autoconf 2.69
15301545
15311546 Copyright (C) 2012 Free Software Foundation, Inc.
16231638
16241639 } # ac_fn_c_try_link
16251640
1626 # ac_fn_c_check_func LINENO FUNC VAR
1627 # ----------------------------------
1628 # Tests whether FUNC exists, setting the cache variable VAR accordingly
1629 ac_fn_c_check_func ()
1630 {
1631 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1632 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1633 $as_echo_n "checking for $2... " >&6; }
1634 if eval \${$3+:} false; then :
1635 $as_echo_n "(cached) " >&6
1636 else
1637 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1638 /* end confdefs.h. */
1639 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
1640 For example, HP-UX 11i <limits.h> declares gettimeofday. */
1641 #define $2 innocuous_$2
1642
1643 /* System header to define __stub macros and hopefully few prototypes,
1644 which can conflict with char $2 (); below.
1645 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1646 <limits.h> exists even on freestanding compilers. */
1647
1648 #ifdef __STDC__
1649 # include <limits.h>
1650 #else
1651 # include <assert.h>
1652 #endif
1653
1654 #undef $2
1655
1656 /* Override any GCC internal prototype to avoid an error.
1657 Use char because int might match the return type of a GCC
1658 builtin and then its argument prototype would still apply. */
1659 #ifdef __cplusplus
1660 extern "C"
1661 #endif
1662 char $2 ();
1663 /* The GNU C library defines this for functions which it implements
1664 to always fail with ENOSYS. Some functions are actually named
1665 something starting with __ and the normal name is an alias. */
1666 #if defined __stub_$2 || defined __stub___$2
1667 choke me
1668 #endif
1669
1670 int
1671 main ()
1672 {
1673 return $2 ();
1674 ;
1675 return 0;
1676 }
1677 _ACEOF
1678 if ac_fn_c_try_link "$LINENO"; then :
1679 eval "$3=yes"
1680 else
1681 eval "$3=no"
1682 fi
1683 rm -f core conftest.err conftest.$ac_objext \
1684 conftest$ac_exeext conftest.$ac_ext
1685 fi
1686 eval ac_res=\$$3
1687 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1688 $as_echo "$ac_res" >&6; }
1689 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1690
1691 } # ac_fn_c_check_func
1692
16931641 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
16941642 # -------------------------------------------------------
16951643 # Tests whether HEADER exists and can be compiled using the include files in
18001748
18011749 } # ac_fn_c_try_run
18021750
1751 # ac_fn_c_check_func LINENO FUNC VAR
1752 # ----------------------------------
1753 # Tests whether FUNC exists, setting the cache variable VAR accordingly
1754 ac_fn_c_check_func ()
1755 {
1756 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1757 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1758 $as_echo_n "checking for $2... " >&6; }
1759 if eval \${$3+:} false; then :
1760 $as_echo_n "(cached) " >&6
1761 else
1762 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1763 /* end confdefs.h. */
1764 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
1765 For example, HP-UX 11i <limits.h> declares gettimeofday. */
1766 #define $2 innocuous_$2
1767
1768 /* System header to define __stub macros and hopefully few prototypes,
1769 which can conflict with char $2 (); below.
1770 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1771 <limits.h> exists even on freestanding compilers. */
1772
1773 #ifdef __STDC__
1774 # include <limits.h>
1775 #else
1776 # include <assert.h>
1777 #endif
1778
1779 #undef $2
1780
1781 /* Override any GCC internal prototype to avoid an error.
1782 Use char because int might match the return type of a GCC
1783 builtin and then its argument prototype would still apply. */
1784 #ifdef __cplusplus
1785 extern "C"
1786 #endif
1787 char $2 ();
1788 /* The GNU C library defines this for functions which it implements
1789 to always fail with ENOSYS. Some functions are actually named
1790 something starting with __ and the normal name is an alias. */
1791 #if defined __stub_$2 || defined __stub___$2
1792 choke me
1793 #endif
1794
1795 int
1796 main ()
1797 {
1798 return $2 ();
1799 ;
1800 return 0;
1801 }
1802 _ACEOF
1803 if ac_fn_c_try_link "$LINENO"; then :
1804 eval "$3=yes"
1805 else
1806 eval "$3=no"
1807 fi
1808 rm -f core conftest.err conftest.$ac_objext \
1809 conftest$ac_exeext conftest.$ac_ext
1810 fi
1811 eval ac_res=\$$3
1812 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1813 $as_echo "$ac_res" >&6; }
1814 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1815
1816 } # ac_fn_c_check_func
1817
18031818 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
18041819 # -------------------------------------------------------
18051820 # Tests whether HEADER exists, giving a warning if it cannot be compiled using
18901905 This file contains any messages produced by compilers while
18911906 running configure, to aid debugging if configure makes a mistake.
18921907
1893 It was created by rpki-client $as_me 6.6p2, which was
1908 It was created by rpki-client $as_me 6.7p0, which was
18941909 generated by GNU Autoconf 2.69. Invocation command line was
18951910
18961911 $ $0 $@
28252840
28262841 # Define the identity of the package.
28272842 PACKAGE='rpki-client'
2828 VERSION='6.6p2'
2843 VERSION='6.7p0'
28292844
28302845
28312846 cat >>confdefs.h <<_ACEOF
38813896 fi
38823897
38833898
3884
3885 ac_fn_c_check_func "$LINENO" "dl_iterate_phdr" "ac_cv_func_dl_iterate_phdr"
3886 if test "x$ac_cv_func_dl_iterate_phdr" = xyes; then :
3887
3888 else
3889 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dl_iterate_phdr" >&5
3890 $as_echo_n "checking for library containing dl_iterate_phdr... " >&6; }
3891 if ${ac_cv_search_dl_iterate_phdr+:} false; then :
3899 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
3900 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
3901 if ${ac_cv_path_SED+:} false; then :
38923902 $as_echo_n "(cached) " >&6
38933903 else
3894 ac_func_search_save_LIBS=$LIBS
3895 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3896 /* end confdefs.h. */
3897
3898 /* Override any GCC internal prototype to avoid an error.
3899 Use char because int might match the return type of a GCC
3900 builtin and then its argument prototype would still apply. */
3901 #ifdef __cplusplus
3902 extern "C"
3903 #endif
3904 char dl_iterate_phdr ();
3905 int
3906 main ()
3907 {
3908 return dl_iterate_phdr ();
3909 ;
3910 return 0;
3911 }
3912 _ACEOF
3913 for ac_lib in '' dl; do
3914 if test -z "$ac_lib"; then
3915 ac_res="none required"
3916 else
3917 ac_res=-l$ac_lib
3918 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
3904 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
3905 for ac_i in 1 2 3 4 5 6 7; do
3906 ac_script="$ac_script$as_nl$ac_script"
3907 done
3908 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
3909 { ac_script=; unset ac_script;}
3910 if test -z "$SED"; then
3911 ac_path_SED_found=false
3912 # Loop through the user's path and test for each of PROGNAME-LIST
3913 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3914 for as_dir in $PATH
3915 do
3916 IFS=$as_save_IFS
3917 test -z "$as_dir" && as_dir=.
3918 for ac_prog in sed gsed; do
3919 for ac_exec_ext in '' $ac_executable_extensions; do
3920 ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
3921 as_fn_executable_p "$ac_path_SED" || continue
3922 # Check for GNU ac_path_SED and select it if it is found.
3923 # Check for GNU $ac_path_SED
3924 case `"$ac_path_SED" --version 2>&1` in
3925 *GNU*)
3926 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
3927 *)
3928 ac_count=0
3929 $as_echo_n 0123456789 >"conftest.in"
3930 while :
3931 do
3932 cat "conftest.in" "conftest.in" >"conftest.tmp"
3933 mv "conftest.tmp" "conftest.in"
3934 cp "conftest.in" "conftest.nl"
3935 $as_echo '' >> "conftest.nl"
3936 "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
3937 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3938 as_fn_arith $ac_count + 1 && ac_count=$as_val
3939 if test $ac_count -gt ${ac_path_SED_max-0}; then
3940 # Best one so far, save it but keep looking for a better one
3941 ac_cv_path_SED="$ac_path_SED"
3942 ac_path_SED_max=$ac_count
3943 fi
3944 # 10*(2^10) chars as input seems more than enough
3945 test $ac_count -gt 10 && break
3946 done
3947 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3948 esac
3949
3950 $ac_path_SED_found && break 3
3951 done
3952 done
3953 done
3954 IFS=$as_save_IFS
3955 if test -z "$ac_cv_path_SED"; then
3956 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
39193957 fi
3920 if ac_fn_c_try_link "$LINENO"; then :
3921 ac_cv_search_dl_iterate_phdr=$ac_res
3922 fi
3923 rm -f core conftest.err conftest.$ac_objext \
3924 conftest$ac_exeext
3925 if ${ac_cv_search_dl_iterate_phdr+:} false; then :
3926 break
3927 fi
3928 done
3929 if ${ac_cv_search_dl_iterate_phdr+:} false; then :
3930
3931 else
3932 ac_cv_search_dl_iterate_phdr=no
3933 fi
3934 rm conftest.$ac_ext
3935 LIBS=$ac_func_search_save_LIBS
3936 fi
3937 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dl_iterate_phdr" >&5
3938 $as_echo "$ac_cv_search_dl_iterate_phdr" >&6; }
3939 ac_res=$ac_cv_search_dl_iterate_phdr
3940 if test "$ac_res" != no; then :
3941 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
3942
3943 fi
3944
3945 fi
3946
3958 else
3959 ac_cv_path_SED=$SED
3960 fi
3961
3962 fi
3963 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
3964 $as_echo "$ac_cv_path_SED" >&6; }
3965 SED="$ac_cv_path_SED"
3966 rm -f conftest.sed
39473967
39483968 ac_ext=c
39493969 ac_cpp='$CPP $CPPFLAGS'
64766496 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
64776497 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
64786498 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
6499
64796500
64806501
64816502
1247512496
1247612497
1247712498
12478 save_cflags="$CFLAGS"
12479 CFLAGS=-Wno-pointer-sign
12480 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CC supports -Wno-pointer-sign" >&5
12499 # Check whether --enable-warnings was given.
12500 if test "${enable_warnings+set}" = set; then :
12501 enableval=$enable_warnings; case $enableval in
12502 yes) enable_warnings=yes;;
12503 no) enable_warnings=no;;
12504 *) enable_warnings=yes;; esac
12505 else
12506 enable_warnings=yes
12507 fi
12508
12509
12510 if test "$enable_warnings" = yes; then
12511 AM_CFLAGS="$AM_CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wsign-compare -Werror-implicit-function-declaration"
12512 #AC_SUBST(AM_CFLAGS, ["-Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wsign-compare -Werror-implicit-function-declaration"])
12513
12514 save_cflags="$CFLAGS"
12515 CFLAGS=-Wno-pointer-sign
12516 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CC supports -Wno-pointer-sign" >&5
1248112517 $as_echo_n "checking whether CC supports -Wno-pointer-sign... " >&6; }
12482 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12518 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1248312519 /* end confdefs.h. */
1248412520
1248512521 int
1249312529 if ac_fn_c_try_compile "$LINENO"; then :
1249412530 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
1249512531 $as_echo "yes" >&6; }
12496 AM_CFLAGS=-Wno-pointer-sign
12532 WARN_CFLAGS=-Wno-pointer-sign
1249712533 else
1249812534 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
1249912535 $as_echo "no" >&6; }
1250012536
1250112537 fi
1250212538 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12503 CFLAGS="$save_cflags $AM_CFLAGS"
12539 AM_CFLAGS="$AM_CFLAGS $WARN_CFLAGS"
12540 CFLAGS="$save_cflags"
12541 fi
1250412542
1250512543 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiling with clang" >&5
1250612544 $as_echo_n "checking if compiling with clang... " >&6; }
1252912567
1253012568 fi
1253112569 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12532 CFLAGS="$CFLAGS $CLANG_CFLAGS"
12533 LDFLAGS="$LDFLAGS $CLANG_FLAGS"
12570 AM_CFLAGS="$AM_CFLAGS $CLANG_FLAGS"
12571 AM_LDFLAGS="$LDFLAGS $CLANG_FLAGS"
12572
12573
1253412574
1253512575 # check functions that are expected to be in libc
1253612576 for ac_func in reallocarray recallocarray
1275712797 done
1275812798
1275912799
12800
12801 # Check whether --with-openssl was given.
12802 if test "${with_openssl+set}" = set; then :
12803 withval=$with_openssl; PKG_NAME="$withval"
12804
12805 fi
12806
12807 if test X"$PKG_NAME" != X; then
12808 OPENSSL_CFLAGS=`pkg-config --cflags-only-I $PKG_NAME 2>/dev/null`
12809 OPENSSL_LDFLAGS=`pkg-config --libs-only-L $PKG_NAME 2>/dev/null`
12810 fi
12811
12812
12813 # Check whether --with-openssl-cflags was given.
12814 if test "${with_openssl_cflags+set}" = set; then :
12815 withval=$with_openssl_cflags; OPENSSL_CFLAGS="$withval"
12816
12817 fi
12818
12819
12820 # Check whether --with-openssl-ldflags was given.
12821 if test "${with_openssl_ldflags+set}" = set; then :
12822 withval=$with_openssl_ldflags; OPENSSL_LDFLAGS="$withval"
12823
12824 fi
12825
12826
12827
12828
12829 CFLAGS="$CFLAGS $OPENSSL_CFLAGS"
12830 CPPFLAGS="$CPPFLAGS $OPENSSL_CFLAGS"
12831 LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
12832
1276012833 for ac_header in openssl/cms.h openssl/err.h openssl/evp.h openssl/ssl.h openssl/x509.h openssl/x509v3.h
1276112834 do :
1276212835 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
1276612839 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
1276712840 _ACEOF
1276812841
12842 else
12843 as_fn_error $? "OpenSSL headers required" "$LINENO" 5
1276912844 fi
1277012845
1277112846 done
12847
12848 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ASN1_STRING_get0_data in -lcrypto" >&5
12849 $as_echo_n "checking for ASN1_STRING_get0_data in -lcrypto... " >&6; }
12850 if ${ac_cv_lib_crypto_ASN1_STRING_get0_data+:} false; then :
12851 $as_echo_n "(cached) " >&6
12852 else
12853 ac_check_lib_save_LIBS=$LIBS
12854 LIBS="-lcrypto $LIBS"
12855 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12856 /* end confdefs.h. */
12857
12858 /* Override any GCC internal prototype to avoid an error.
12859 Use char because int might match the return type of a GCC
12860 builtin and then its argument prototype would still apply. */
12861 #ifdef __cplusplus
12862 extern "C"
12863 #endif
12864 char ASN1_STRING_get0_data ();
12865 int
12866 main ()
12867 {
12868 return ASN1_STRING_get0_data ();
12869 ;
12870 return 0;
12871 }
12872 _ACEOF
12873 if ac_fn_c_try_link "$LINENO"; then :
12874 ac_cv_lib_crypto_ASN1_STRING_get0_data=yes
12875 else
12876 ac_cv_lib_crypto_ASN1_STRING_get0_data=no
12877 fi
12878 rm -f core conftest.err conftest.$ac_objext \
12879 conftest$ac_exeext conftest.$ac_ext
12880 LIBS=$ac_check_lib_save_LIBS
12881 fi
12882 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_ASN1_STRING_get0_data" >&5
12883 $as_echo "$ac_cv_lib_crypto_ASN1_STRING_get0_data" >&6; }
12884 if test "x$ac_cv_lib_crypto_ASN1_STRING_get0_data" = xyes; then :
12885 cat >>confdefs.h <<_ACEOF
12886 #define HAVE_LIBCRYPTO 1
12887 _ACEOF
12888
12889 LIBS="-lcrypto $LIBS"
12890
12891 else
12892 as_fn_error $? "OpenSSL libraries required" "$LINENO" 5
12893 fi
12894
12895 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X509_up_ref in -lcrypto" >&5
12896 $as_echo_n "checking for X509_up_ref in -lcrypto... " >&6; }
12897 if ${ac_cv_lib_crypto_X509_up_ref+:} false; then :
12898 $as_echo_n "(cached) " >&6
12899 else
12900 ac_check_lib_save_LIBS=$LIBS
12901 LIBS="-lcrypto $LIBS"
12902 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12903 /* end confdefs.h. */
12904
12905 /* Override any GCC internal prototype to avoid an error.
12906 Use char because int might match the return type of a GCC
12907 builtin and then its argument prototype would still apply. */
12908 #ifdef __cplusplus
12909 extern "C"
12910 #endif
12911 char X509_up_ref ();
12912 int
12913 main ()
12914 {
12915 return X509_up_ref ();
12916 ;
12917 return 0;
12918 }
12919 _ACEOF
12920 if ac_fn_c_try_link "$LINENO"; then :
12921 ac_cv_lib_crypto_X509_up_ref=yes
12922 else
12923 ac_cv_lib_crypto_X509_up_ref=no
12924 fi
12925 rm -f core conftest.err conftest.$ac_objext \
12926 conftest$ac_exeext conftest.$ac_ext
12927 LIBS=$ac_check_lib_save_LIBS
12928 fi
12929 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_X509_up_ref" >&5
12930 $as_echo "$ac_cv_lib_crypto_X509_up_ref" >&6; }
12931 if test "x$ac_cv_lib_crypto_X509_up_ref" = xyes; then :
12932 cat >>confdefs.h <<_ACEOF
12933 #define HAVE_LIBCRYPTO 1
12934 _ACEOF
12935
12936 LIBS="-lcrypto $LIBS"
12937
12938 else
12939 as_fn_error $? "OpenSSL libraries required" "$LINENO" 5
12940 fi
1277212941
1277312942
1277412943
1351313682 # report actual input values of CONFIG_FILES etc. instead of their
1351413683 # values after options handling.
1351513684 ac_log="
13516 This file was extended by rpki-client $as_me 6.6p2, which was
13685 This file was extended by rpki-client $as_me 6.7p0, which was
1351713686 generated by GNU Autoconf 2.69. Invocation command line was
1351813687
1351913688 CONFIG_FILES = $CONFIG_FILES
1357013739 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1357113740 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1357213741 ac_cs_version="\\
13573 rpki-client config.status 6.6p2
13742 rpki-client config.status 6.7p0
1357413743 configured by $0, generated by GNU Autoconf 2.69,
1357513744 with options \\"\$ac_cs_config\\"
1357613745
1448214651 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
1448314652 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
1448414653 as_fn_error $? "Something went wrong bootstrapping makefile fragments
14485 for automatic dependency tracking. Try re-running configure with the
14654 for automatic dependency tracking. If GNU make was not used, consider
14655 re-running the configure script with MAKE=\"gmake\" (or whatever is
14656 necessary). You can also try re-running configure with the
1448614657 '--disable-dependency-tracking' option to at least be able to build
1448714658 the package (albeit without support for automatic dependency tracking).
1448814659 See \`config.log' for more details" "$LINENO" 5; }
5454 AM_CONDITIONAL([HOST_NETBSD], [test x$HOST_OS = xnetbsd])
5555 AM_CONDITIONAL([HOST_SOLARIS], [test x$HOST_OS = xsolaris])
5656
57 AC_CHECK_FUNC([dl_iterate_phdr],,
58 [AC_SEARCH_LIBS([dl_iterate_phdr],[dl])])
59
57 AC_PROG_SED
6058 AC_PROG_CC
6159 AC_PROG_CC_STDC
6260 AM_PROG_CC_C_O
6361 AC_PROG_LIBTOOL
6462
65 save_cflags="$CFLAGS"
66 CFLAGS=-Wno-pointer-sign
67 AC_MSG_CHECKING([whether CC supports -Wno-pointer-sign])
68 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
69 [AC_MSG_RESULT([yes])]
70 [AM_CFLAGS=-Wno-pointer-sign],
71 [AC_MSG_RESULT([no])]
72 )
73 CFLAGS="$save_cflags $AM_CFLAGS"
63 AC_ARG_ENABLE(warnings,
64 AS_HELP_STRING([--disable-warnings],
65 [ enable compiler warnings [default=enabled]]),
66 [case $enableval in
67 yes) enable_warnings=yes;;
68 no) enable_warnings=no;;
69 *) enable_warnings=yes;; esac],
70 enable_warnings=yes)
71
72 if test "$enable_warnings" = yes; then
73 AM_CFLAGS="$AM_CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wsign-compare -Werror-implicit-function-declaration"
74 #AC_SUBST(AM_CFLAGS, ["-Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wsign-compare -Werror-implicit-function-declaration"])
75
76 save_cflags="$CFLAGS"
77 CFLAGS=-Wno-pointer-sign
78 AC_MSG_CHECKING([whether CC supports -Wno-pointer-sign])
79 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
80 [AC_MSG_RESULT([yes])]
81 [WARN_CFLAGS=-Wno-pointer-sign],
82 [AC_MSG_RESULT([no])]
83 )
84 AM_CFLAGS="$AM_CFLAGS $WARN_CFLAGS"
85 CFLAGS="$save_cflags"
86 fi
7487
7588 AC_MSG_CHECKING([if compiling with clang])
7689 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
8295 [CLANG_FLAGS=-Qunused-arguments],
8396 [AC_MSG_RESULT([no])]
8497 )
85 CFLAGS="$CFLAGS $CLANG_CFLAGS"
86 LDFLAGS="$LDFLAGS $CLANG_FLAGS"
98 AM_CFLAGS="$AM_CFLAGS $CLANG_FLAGS"
99 AM_LDFLAGS="$LDFLAGS $CLANG_FLAGS"
100 AC_SUBST(AM_CFLAGS)
101 AC_SUBST(AM_LDFLAGS)
87102
88103 # check functions that are expected to be in libc
89104 AC_CHECK_FUNCS([reallocarray recallocarray])
109124
110125 AC_CHECK_HEADERS([err.h sha2.h])
111126
112 AC_CHECK_HEADERS([openssl/cms.h openssl/err.h openssl/evp.h openssl/ssl.h openssl/x509.h openssl/x509v3.h])
127 AC_ARG_WITH([openssl],
128 AS_HELP_STRING([--with-openssl=pkg-name],
129 [Use pkg-config(1) pkg-name to find OpenSSL files]),
130 PKG_NAME="$withval"
131 )
132 if test X"$PKG_NAME" != X; then
133 OPENSSL_CFLAGS=`pkg-config --cflags-only-I $PKG_NAME 2>/dev/null`
134 OPENSSL_LDFLAGS=`pkg-config --libs-only-L $PKG_NAME 2>/dev/null`
135 fi
136
137 AC_ARG_WITH([openssl-cflags],
138 AS_HELP_STRING([--with-openssl-cflags=STRING],
139 [Extra compiler flags to build with OpenSSL]),
140 OPENSSL_CFLAGS="$withval"
141 )
142 AC_ARG_WITH([openssl-ldflags],
143 AS_HELP_STRING([--with-openssl-ldflags=STRING],
144 [Extra flags for linker to link with OpenSSL libraries]),
145 OPENSSL_LDFLAGS="$withval"
146 )
147 AC_SUBST(OPENSSL_CFLAGS)
148 AC_SUBST(OPENSSL_LDFLAGS)
149
150 CFLAGS="$CFLAGS $OPENSSL_CFLAGS"
151 CPPFLAGS="$CPPFLAGS $OPENSSL_CFLAGS"
152 LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
153
154 AC_CHECK_HEADERS([openssl/cms.h openssl/err.h openssl/evp.h openssl/ssl.h openssl/x509.h openssl/x509v3.h], [], [AC_MSG_ERROR([OpenSSL headers required])])
155 AC_CHECK_LIB([crypto], [ASN1_STRING_get0_data], [], [AC_MSG_ERROR([OpenSSL libraries required])])
156 AC_CHECK_LIB([crypto], [X509_up_ref], [], [AC_MSG_ERROR([OpenSSL libraries required])])
113157
114158 AC_ARG_WITH([user],
115159 AS_HELP_STRING([--with-user=user],
22
33 scriptversion=2018-03-07.03; # UTC
44
5 # Copyright (C) 1999-2018 Free Software Foundation, Inc.
5 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
66
77 # This program is free software; you can redistribute it and/or modify
88 # it under the terms of the GNU General Public License as published by
0 # Makefile.in generated by automake 1.16.1 from Makefile.am.
0 # Makefile.in generated by automake 1.16.2 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
44
55 # This Makefile.in is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
143143 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
144144 ACLOCAL = @ACLOCAL@
145145 AMTAR = @AMTAR@
146 AM_CFLAGS = @AM_CFLAGS@
146147 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
148 AM_LDFLAGS = @AM_LDFLAGS@
147149 AR = @AR@
148150 AUTOCONF = @AUTOCONF@
149151 AUTOHEADER = @AUTOHEADER@
187189 NMEDIT = @NMEDIT@
188190 OBJDUMP = @OBJDUMP@
189191 OBJEXT = @OBJEXT@
192 OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
193 OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
190194 OTOOL = @OTOOL@
191195 OTOOL64 = @OTOOL64@
192196 PACKAGE = @PACKAGE@
450450 trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
451451
452452 # Copy the file name to the temp name.
453 (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
453 (umask $cp_umask &&
454 { test -z "$stripcmd" || {
455 # Create $dsttmp read-write so that cp doesn't create it read-only,
456 # which would cause strip to fail.
457 if test -z "$doit"; then
458 : >"$dsttmp" # No need to fork-exec 'touch'.
459 else
460 $doit touch "$dsttmp"
461 fi
462 }
463 } &&
464 $doit_exec $cpprog "$src" "$dsttmp") &&
454465
455466 # and set any options; do chmod last to preserve setuid bits.
456467 #
22
33 scriptversion=2018-03-07.03; # UTC
44
5 # Copyright (C) 1996-2018 Free Software Foundation, Inc.
5 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
66 # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
77
88 # This program is free software; you can redistribute it and/or modify
1818 ACLOCAL_AMFLAGS = -Im4
1919
2020 sbin_PROGRAMS = rpki-client
21 dist_man_MANS = rpki-client.8
21 man_MANS = rpki-client.8
2222
23 rpki_client_CFLAGS = $(CFLAGS)
23 EXTRA_DIST = rpki-client.8.in
24 CLEANFILES = rpki-client.8
25
26 rpki_client_CFLAGS = $(AM_CFLAGS)
2427 rpki_client_CFLAGS += -DRPKI_PATH_TAL_DIR=\"$(RPKI_TAL_DIR)\"
2528 rpki_client_CFLAGS += -DRPKI_PATH_BASE_DIR=\"$(RPKI_BASE_DIR)\"
2629 rpki_client_CFLAGS += -DRPKI_PATH_OUT_DIR=\"$(RPKI_OUT_DIR)\"
4952 rpki_client_SOURCES += validate.c
5053 rpki_client_SOURCES += x509.c
5154
55 rpki_client_DEPENDENCIES = rpki-client.8
56
5257 noinst_HEADERS = extern.h
58
59 rpki-client.8: rpki-client.8.in
60 $(SED) \
61 -e 's|@RPKI_TAL_DIR[@]|$(RPKI_TAL_DIR)|g' \
62 -e 's|@RPKI_BASE_DIR[@]|$(RPKI_BASE_DIR)|g' \
63 -e 's|@RPKI_OUT_DIR[@]|$(RPKI_OUT_DIR)|g' \
64 -e 's|@RSYNC[@]|$(RSYNC)|g' \
65 '$(srcdir)/rpki-client.8.in' >$@
0 # Makefile.in generated by automake 1.16.1 from Makefile.am.
0 # Makefile.in generated by automake 1.16.2 from Makefile.am.
11 # @configure_input@
22
3 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
44
55 # This Makefile.in is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
131131 rpki_client-rsync.$(OBJEXT) rpki_client-tal.$(OBJEXT) \
132132 rpki_client-validate.$(OBJEXT) rpki_client-x509.$(OBJEXT)
133133 rpki_client_OBJECTS = $(am_rpki_client_OBJECTS)
134 rpki_client_DEPENDENCIES = $(top_builddir)/compat/libcompat.la \
135 $(top_builddir)/compat/libcompatnoopt.la
136134 AM_V_lt = $(am__v_lt_@AM_V@)
137135 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
138136 am__v_lt_0 = --silent
225223 }
226224 man8dir = $(mandir)/man8
227225 NROFF = nroff
228 MANS = $(dist_man_MANS)
226 MANS = $(man_MANS)
229227 HEADERS = $(noinst_HEADERS)
230228 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
231229 # Read a list of newline-separated strings from the standard input,
246244 done | $(am__uniquify_input)`
247245 ETAGS = etags
248246 CTAGS = ctags
249 am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \
250 $(top_srcdir)/depcomp
247 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
251248 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
252249 ACLOCAL = @ACLOCAL@
253250 AMTAR = @AMTAR@
251 AM_CFLAGS = @AM_CFLAGS@
254252 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
253 AM_LDFLAGS = @AM_LDFLAGS@
255254 AR = @AR@
256255 AUTOCONF = @AUTOCONF@
257256 AUTOHEADER = @AUTOHEADER@
295294 NMEDIT = @NMEDIT@
296295 OBJDUMP = @OBJDUMP@
297296 OBJEXT = @OBJEXT@
297 OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
298 OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
298299 OTOOL = @OTOOL@
299300 OTOOL64 = @OTOOL64@
300301 PACKAGE = @PACKAGE@
370371 top_srcdir = @top_srcdir@
371372 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src
372373 ACLOCAL_AMFLAGS = -Im4
373 dist_man_MANS = rpki-client.8
374 rpki_client_CFLAGS = $(CFLAGS) -DRPKI_PATH_TAL_DIR=\"$(RPKI_TAL_DIR)\" \
374 man_MANS = rpki-client.8
375 EXTRA_DIST = rpki-client.8.in
376 CLEANFILES = rpki-client.8
377 rpki_client_CFLAGS = $(AM_CFLAGS) \
378 -DRPKI_PATH_TAL_DIR=\"$(RPKI_TAL_DIR)\" \
375379 -DRPKI_PATH_BASE_DIR=\"$(RPKI_BASE_DIR)\" \
376380 -DRPKI_PATH_OUT_DIR=\"$(RPKI_OUT_DIR)\"
377381 rpki_client_LDADD = $(PLATFORM_LDADD) $(PROG_LDADD) -lcrypto \
380384 rpki_client_SOURCES = as.c cert.c cms.c crl.c io.c ip.c log.c main.c \
381385 mft.c output.c output-bgpd.c output-bird.c output-csv.c \
382386 output-json.c roa.c rsync.c tal.c validate.c x509.c
387 rpki_client_DEPENDENCIES = rpki-client.8
383388 noinst_HEADERS = extern.h
384389 all: all-am
385390
795800
796801 clean-libtool:
797802 -rm -rf .libs _libs
798 install-man8: $(dist_man_MANS)
803 install-man8: $(man_MANS)
799804 @$(NORMAL_INSTALL)
800805 @list1=''; \
801 list2='$(dist_man_MANS)'; \
806 list2='$(man_MANS)'; \
802807 test -n "$(man8dir)" \
803808 && test -n "`echo $$list1$$list2`" \
804809 || exit 0; \
833838 @$(NORMAL_UNINSTALL)
834839 @list=''; test -n "$(man8dir)" || exit 0; \
835840 files=`{ for i in $$list; do echo "$$i"; done; \
836 l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
841 l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
837842 sed -n '/\.8[a-z]*$$/p'; \
838843 } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
839844 -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
953958 mostlyclean-generic:
954959
955960 clean-generic:
961 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
956962
957963 distclean-generic:
958964 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
10901096 .PRECIOUS: Makefile
10911097
10921098
1099 rpki-client.8: rpki-client.8.in
1100 $(SED) \
1101 -e 's|@RPKI_TAL_DIR[@]|$(RPKI_TAL_DIR)|g' \
1102 -e 's|@RPKI_BASE_DIR[@]|$(RPKI_BASE_DIR)|g' \
1103 -e 's|@RPKI_OUT_DIR[@]|$(RPKI_OUT_DIR)|g' \
1104 -e 's|@RSYNC[@]|$(RSYNC)|g' \
1105 '$(srcdir)/rpki-client.8.in' >$@
1106
10931107 # Tell versions [3.59,3.63) of GNU make to not export all variables.
10941108 # Otherwise a system limit (for SysV at least) may be exceeded.
10951109 .NOEXPORT:
0 /* $OpenBSD: extern.h,v 1.27 2020/04/01 14:15:49 claudio Exp $ */
0 /* $OpenBSD: extern.h,v 1.29 2020/04/30 13:46:39 deraadt Exp $ */
11 /*
22 * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
33 *
1717 #define EXTERN_H
1818
1919 #include <sys/tree.h>
20 #include <sys/time.h>
2021
2122 enum cert_as_type {
2223 CERT_AS_ID, /* single identifier */
241242 RTYPE_ROA,
242243 RTYPE_CER,
243244 RTYPE_CRL
245 };
246
247 /*
248 * Statistics collected during run-time.
249 */
250 struct stats {
251 size_t tals; /* total number of locators */
252 size_t mfts; /* total number of manifests */
253 size_t mfts_fail; /* failing syntactic parse */
254 size_t mfts_stale; /* stale manifests */
255 size_t certs; /* certificates */
256 size_t certs_fail; /* failing syntactic parse */
257 size_t certs_invalid; /* invalid resources */
258 size_t roas; /* route origin authorizations */
259 size_t roas_fail; /* failing syntactic parse */
260 size_t roas_invalid; /* invalid resources */
261 size_t repos; /* repositories */
262 size_t crls; /* revocation lists */
263 size_t vrps; /* total number of vrps */
264 size_t uniqs; /* number of unique vrps */
265 char *talnames;
266 struct timeval elapsed_time;
267 struct timeval user_time;
268 struct timeval system_time;
244269 };
245270
246271 /* global variables */
369394 #define FORMAT_JSON 0x08
370395 extern char* outputdir;
371396
372 int outputfiles(struct vrp_tree *v);
373 int output_bgpd(FILE *, struct vrp_tree *);
374 int output_bird1v4(FILE *, struct vrp_tree *);
375 int output_bird1v6(FILE *, struct vrp_tree *);
376 int output_bird2(FILE *, struct vrp_tree *);
377 int output_csv(FILE *, struct vrp_tree *);
378 int output_json(FILE *, struct vrp_tree *);
397 int outputfiles(struct vrp_tree *v, struct stats *);
398 int outputheader(FILE *, struct stats *);
399 int output_bgpd(FILE *, struct vrp_tree *, struct stats *);
400 int output_bird1v4(FILE *, struct vrp_tree *, struct stats *);
401 int output_bird1v6(FILE *, struct vrp_tree *, struct stats *);
402 int output_bird2(FILE *, struct vrp_tree *, struct stats *);
403 int output_csv(FILE *, struct vrp_tree *, struct stats *);
404 int output_json(FILE *, struct vrp_tree *, struct stats *);
379405
380406 void logx(const char *fmt, ...)
381407 __attribute__((format(printf, 1, 2)));
0 /* $OpenBSD: main.c,v 1.62 2020/04/16 11:25:43 claudio Exp $ */
0 /* $OpenBSD: main.c,v 1.69.4.1 2020/05/18 18:52:08 benno Exp $ */
11 /*
22 * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
33 *
4343
4444 #include <sys/queue.h>
4545 #include <sys/socket.h>
46 #include <sys/resource.h>
4647 #include <sys/stat.h>
4748 #include <sys/tree.h>
4849 #include <sys/types.h>
7677 #define TALSZ_MAX 8
7778
7879 /*
79 * Statistics collected during run-time.
80 */
81 struct stats {
82 size_t tals; /* total number of locators */
83 size_t mfts; /* total number of manifests */
84 size_t mfts_fail; /* failing syntactic parse */
85 size_t mfts_stale; /* stale manifests */
86 size_t certs; /* certificates */
87 size_t certs_fail; /* failing syntactic parse */
88 size_t certs_invalid; /* invalid resources */
89 size_t roas; /* route origin authorizations */
90 size_t roas_fail; /* failing syntactic parse */
91 size_t roas_invalid; /* invalid resources */
92 size_t repos; /* repositories */
93 size_t crls; /* revocation lists */
94 size_t vrps; /* total number of vrps */
95 size_t uniqs; /* number of unique vrps */
96 };
97
98 /*
9980 * An rsync repository.
10081 */
10182 struct repo {
159140
160141 int verbose;
161142
143 struct stats stats;
144
162145 /*
163146 * Log a message to stderr if and only if "verbose" is non-zero.
164147 * This uses the err(3) functionality.
267250
268251 i = rt->reposz - 1;
269252
270 logx("%s/%s: loading", rp->host, rp->module);
253 logx("%s/%s: pulling from network", rp->host, rp->module);
271254 io_simple_write(fd, &i, sizeof(size_t));
272255 io_str_write(fd, rp->host);
273256 io_str_write(fd, rp->module);
489472 if ((nfile = strdup(file)) == NULL)
490473 err(1, "strdup");
491474 buf = tal_read_file(file);
475
476 /* Record tal for later reporting */
477 if (stats.talnames == NULL)
478 stats.talnames = strdup(file);
479 else {
480 char *tmp;
481 asprintf(&tmp, "%s %s", stats.talnames, file);
482 free(stats.talnames);
483 stats.talnames = tmp;
484 }
492485
493486 /* Not in a repository, so directly add to queue. */
494487 entityq_add(fd, q, nfile, RTYPE_TAL, NULL, NULL, NULL, 0, buf, eid);
655648 * Then we respond to the parent.
656649 */
657650
658 if ((pid = waitpid(WAIT_ANY, &st, 0)) == -1)
651 while ((pid = waitpid(WAIT_ANY, &st, WNOHANG)) > 0) {
652 for (i = 0; i < idsz; i++)
653 if (ids[i].pid == pid)
654 break;
655 assert(i < idsz);
656
657 if (!WIFEXITED(st)) {
658 warnx("rsync %s terminated abnormally",
659 ids[i].uri);
660 rc = 1;
661 } else if (WEXITSTATUS(st) != 0) {
662 warnx("rsync %s failed", ids[i].uri);
663 }
664
665 io_simple_write(fd, &ids[i].id, sizeof(size_t));
666 free(ids[i].uri);
667 ids[i].uri = NULL;
668 ids[i].pid = 0;
669 ids[i].id = 0;
670 }
671 if (pid == -1 && errno != ECHILD)
659672 err(1, "waitpid");
660
661 for (i = 0; i < idsz; i++)
662 if (ids[i].pid == pid)
663 break;
664 assert(i < idsz);
665
666 if (!WIFEXITED(st)) {
667 warnx("rsync %s terminated abnormally",
668 ids[i].uri);
669 rc = 1;
670 } else if (WEXITSTATUS(st) != 0) {
671 warnx("rsync %s failed", ids[i].uri);
672 }
673
674 io_simple_write(fd, &ids[i].id, sizeof(size_t));
675 free(ids[i].uri);
676 ids[i].uri = NULL;
677 ids[i].pid = 0;
678 ids[i].id = 0;
679673 continue;
680674 }
681675
728722 err(1, "pledge");
729723 i = 0;
730724 args[i++] = (char *)prog;
731 args[i++] = "-rlt";
725 args[i++] = "-rt";
732726 args[i++] = "--delete";
733727 if (bind_addr != NULL) {
734728 args[i++] = "--address";
12461240 X509_STORE_free(store);
12471241
12481242 free(b);
1249
1250 EVP_cleanup();
1251 CRYPTO_cleanup_all_ex_data();
1252 ERR_remove_thread_state(NULL);
1253 ERR_free_strings();
12541243
12551244 exit(rc);
12561245 }
13881377 struct entity *ent;
13891378 struct pollfd pfd[2];
13901379 struct repotab rt;
1391 struct stats stats;
13921380 struct roa **out = NULL;
13931381 char *rsync_prog = RPKI_RSYNC_CMD;
13941382 char *bind_addr = NULL;
13951383 const char *cachedir = NULL;
13961384 const char *tals[TALSZ_MAX];
13971385 struct vrp_tree v = RB_INITIALIZER(&v);
1386 struct rusage ru;
1387 struct timeval start_time, now_time;
1388
1389 gettimeofday(&start_time, NULL);
13981390
13991391 /* If started as root, priv-drop to _rpki-client */
14001392 if (getuid() == 0) {
14021394
14031395 pw = getpwnam(RPKI_CLIENT_USER);
14041396 if (!pw)
1405 errx(1, "no _rpki-client user to revoke to");
1397 errx(1, "no %s user to revoke to", RPKI_CLIENT_USER);
14061398 if (setgroups(1, &pw->pw_gid) == -1 ||
14071399 setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) == -1 ||
14081400 setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid) == -1)
14091401 err(1, "unable to revoke privs");
14101402
1411 cachedir = RPKI_PATH_BASE_DIR;
1412 outputdir = RPKI_PATH_OUT_DIR;
1413 }
1403 }
1404 cachedir = RPKI_PATH_BASE_DIR;
1405 outputdir = RPKI_PATH_OUT_DIR;
14141406
14151407 if (pledge("stdio rpath wpath cpath fattr proc exec unveil", NULL) == -1)
14161408 err(1, "pledge");
14851477 err(1, "no TAL files found in %s", RPKI_PATH_TAL_DIR);
14861478
14871479 memset(&rt, 0, sizeof(struct repotab));
1488 memset(&stats, 0, sizeof(struct stats));
14891480 TAILQ_INIT(&q);
14901481
14911482 /*
16131604 assert(i < rt.reposz);
16141605 assert(!rt.repos[i].loaded);
16151606 rt.repos[i].loaded = 1;
1616 logx("%s/%s: loaded", rt.repos[i].host,
1607 logx("%s/%s: loaded from cache", rt.repos[i].host,
16171608 rt.repos[i].module);
16181609 stats.repos++;
16191610 entityq_flush(proc, &q, &rt.repos[i]);
16601651 rc = 1;
16611652 }
16621653
1663 if (outputfiles(&v))
1654 gettimeofday(&now_time, NULL);
1655 timersub(&now_time, &start_time, &stats.elapsed_time);
1656 if (getrusage(RUSAGE_SELF, &ru) == 0) {
1657 stats.user_time = ru.ru_utime;
1658 stats.system_time = ru.ru_stime;
1659 }
1660 if (getrusage(RUSAGE_CHILDREN, &ru) == 0) {
1661 timeradd(&stats.user_time, &ru.ru_utime, &stats.user_time);
1662 timeradd(&stats.system_time, &ru.ru_stime, &stats.system_time);
1663 }
1664
1665 if (outputfiles(&v, &stats))
16641666 rc = 1;
16651667
16661668 logx("Route Origin Authorizations: %zu (%zu failed parse, %zu invalid)",
16921694 fprintf(stderr,
16931695 "usage: rpki-client [-Bcfjnov] [-b sourceaddr] [-d cachedir]"
16941696 " [-e rsync_prog]\n"
1695 " [-T table] [-t tal] [outputdir]\n");
1697 " [-T table] [-t tal] [outputdir]\n");
16961698 return 1;
16971699 }
0 /* $OpenBSD: output-bgpd.c,v 1.16 2019/12/04 23:03:05 benno Exp $ */
0 /* $OpenBSD: output-bgpd.c,v 1.17 2020/04/28 13:41:35 deraadt Exp $ */
11 /*
22 * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
33 *
2020 #include "extern.h"
2121
2222 int
23 output_bgpd(FILE *out, struct vrp_tree *vrps)
23 output_bgpd(FILE *out, struct vrp_tree *vrps, struct stats *st)
2424 {
2525 char buf1[64], buf2[32];
2626 struct vrp *v;
27
28 if (outputheader(out, st) < 0)
29 return -1;
2730
2831 if (fprintf(out, "roa-set {\n") < 0)
2932 return -1;
0 /* $OpenBSD: output-bird.c,v 1.7 2020/03/06 17:36:42 benno Exp $ */
0 /* $OpenBSD: output-bird.c,v 1.9 2020/04/28 15:03:39 deraadt Exp $ */
11 /*
22 * Copyright (c) 2019 Claudio Jeker <claudio@openbsd.org>
33 * Copyright (c) 2020 Robert Scheck <robert@fedoraproject.org>
2121 #include "extern.h"
2222
2323 int
24 output_bird1v4(FILE *out, struct vrp_tree *vrps)
24 output_bird1v4(FILE *out, struct vrp_tree *vrps, struct stats *st)
2525 {
2626 extern const char *bird_tablename;
2727 char buf[64];
2828 struct vrp *v;
2929
30 if (fprintf(out, "roa table %s {\n", bird_tablename) < 0)
30 if (outputheader(out, st) < 0)
31 return -1;
32
33 if (fprintf(out, "\nroa table %s {\n", bird_tablename) < 0)
3134 return -1;
3235
3336 RB_FOREACH(v, vrp_tree, vrps) {
4548 }
4649
4750 int
48 output_bird1v6(FILE *out, struct vrp_tree *vrps)
51 output_bird1v6(FILE *out, struct vrp_tree *vrps, struct stats *st)
4952 {
5053 extern const char *bird_tablename;
5154 char buf[64];
5255 struct vrp *v;
5356
54 if (fprintf(out, "roa table %s {\n", bird_tablename) < 0)
57 if (outputheader(out, st) < 0)
58 return -1;
59
60 if (fprintf(out, "\nroa table %s {\n", bird_tablename) < 0)
5561 return -1;
5662
5763 RB_FOREACH(v, vrp_tree, vrps) {
6975 }
7076
7177 int
72 output_bird2(FILE *out, struct vrp_tree *vrps)
78 output_bird2(FILE *out, struct vrp_tree *vrps, struct stats *st)
7379 {
7480 extern const char *bird_tablename;
7581 char buf[64];
7682 struct vrp *v;
7783 time_t now = time(NULL);
7884
79 if (fprintf(out, "define force_roa_table_update = %lld;\n\n"
85 if (outputheader(out, st) < 0)
86 return -1;
87
88 if (fprintf(out, "\ndefine force_roa_table_update = %lld;\n\n"
8089 "roa4 table %s4;\nroa6 table %s6;\n\n"
8190 "protocol static {\n\troa4 { table %s4; };\n\n",
8291 (long long) now, bird_tablename, bird_tablename,
0 /* $OpenBSD: output-csv.c,v 1.6 2019/12/04 23:03:05 benno Exp $ */
0 /* $OpenBSD: output-csv.c,v 1.7 2020/04/28 13:41:35 deraadt Exp $ */
11 /*
22 * Copyright (c) 2019 Claudio Jeker <claudio@openbsd.org>
33 *
2020 #include "extern.h"
2121
2222 int
23 output_csv(FILE *out, struct vrp_tree *vrps)
23 output_csv(FILE *out, struct vrp_tree *vrps, struct stats *st)
2424 {
2525 char buf[64];
2626 struct vrp *v;
0 /* $OpenBSD: output-json.c,v 1.6 2019/12/04 23:03:05 benno Exp $ */
0 /* $OpenBSD: output-json.c,v 1.12 2020/05/03 20:24:02 deraadt Exp $ */
11 /*
22 * Copyright (c) 2019 Claudio Jeker <claudio@openbsd.org>
33 *
1515 */
1616
1717 #include <stdlib.h>
18 #include <unistd.h>
19 #include <time.h>
20 #include <netdb.h>
1821 #include <openssl/ssl.h>
1922
2023 #include "extern.h"
2124
25 static int
26 outputheader_json(FILE *out, struct stats *st)
27 {
28 char hn[NI_MAXHOST], tbuf[26];
29 struct tm *tp;
30 time_t t;
31
32 time(&t);
33 setenv("TZ", "UTC", 1);
34 tp = localtime(&t);
35 strftime(tbuf, sizeof tbuf, "%FT%TZ", tp);
36
37 gethostname(hn, sizeof hn);
38
39 if (fprintf(out,
40 "{\n\t\"metadata\": {\n"
41 "\t\t\"buildmachine\": \"%s\",\n"
42 "\t\t\"buildtime\": \"%s\",\n"
43 "\t\t\"elapsedtime\": \"%lld\",\n"
44 "\t\t\"usertime\": \"%lld\",\n"
45 "\t\t\"systemtime\": \"%lld\",\n"
46 "\t\t\"roas\": %zu,\n"
47 "\t\t\"failedroas\": %zu,\n"
48 "\t\t\"invalidroas\": %zu,\n"
49 "\t\t\"certificates\": %zu,\n"
50 "\t\t\"failcertificates\": %zu,\n"
51 "\t\t\"invalidcertificates\": %zu,\n"
52 "\t\t\"tals\": %zu,\n"
53 "\t\t\"talfiles\": \"%s\",\n"
54 "\t\t\"manifests\": %zu,\n"
55 "\t\t\"failedmanifests\": %zu,\n"
56 "\t\t\"stalemanifests\": %zu,\n"
57 "\t\t\"crls\": %zu,\n"
58 "\t\t\"repositories\": %zu,\n"
59 "\t\t\"vrps\": %zu,\n"
60 "\t\t\"uniquevrps\": %zu\n"
61 "\t},\n\n",
62 hn, tbuf, (long long)st->elapsed_time.tv_sec,
63 (long long)st->user_time.tv_sec, (long long)st->system_time.tv_sec,
64 st->roas, st->roas_fail, st->roas_invalid,
65 st->certs, st->certs_fail, st->certs_invalid,
66 st->tals, st->talnames,
67 st->mfts, st->mfts_fail, st->mfts_stale,
68 st->crls,
69 st->repos,
70 st->vrps, st->uniqs) < 0)
71 return -1;
72 return 0;
73 }
74
2275 int
23 output_json(FILE *out, struct vrp_tree *vrps)
76 output_json(FILE *out, struct vrp_tree *vrps, struct stats *st)
2477 {
2578 char buf[64];
2679 struct vrp *v;
2780 int first = 1;
2881
29 if (fprintf(out, "{\n\t\"roas\": [\n") < 0)
82 if (outputheader_json(out, st) < 0)
83 return -1;
84
85 if (fprintf(out, "\t\"roas\": [\n") < 0)
3086 return -1;
3187
3288 RB_FOREACH(v, vrp_tree, vrps) {
0 /* $OpenBSD: output.c,v 1.10 2020/04/11 15:23:23 benno Exp $ */
0 /* $OpenBSD: output.c,v 1.15 2020/05/03 20:24:02 deraadt Exp $ */
11 /*
22 * Copyright (c) 2019 Theo de Raadt <deraadt@openbsd.org>
33 *
1818
1919 #include <err.h>
2020 #include <fcntl.h>
21 #include <unistd.h>
22 #include <netdb.h>
2123 #include <signal.h>
2224 #include <string.h>
2325 #include <limits.h>
2426 #include <unistd.h>
27 #include <time.h>
2528
2629 #include <openssl/x509v3.h>
2730
3639 static const struct outputs {
3740 int format;
3841 char *name;
39 int (*fn)(FILE *, struct vrp_tree *);
42 int (*fn)(FILE *, struct vrp_tree *, struct stats *);
4043 } outputs[] = {
4144 { FORMAT_OPENBGPD, "openbgpd", output_bgpd },
4245 { FORMAT_BIRD, "bird1v4", output_bird1v4 },
5457 static void set_signal_handler(void);
5558
5659 int
57 outputfiles(struct vrp_tree *v)
60 outputfiles(struct vrp_tree *v, struct stats *st)
5861 {
5962 int i, rc = 0;
6063
7376 rc = 1;
7477 continue;
7578 }
76 if ((*outputs[i].fn)(fout, v) != 0) {
79 if ((*outputs[i].fn)(fout, v, st) != 0) {
7780 warn("output for %s format failed", outputs[i].name);
7881 fclose(fout);
7982 output_cleantmp();
166169 }
167170 }
168171 }
172
173 int
174 outputheader(FILE *out, struct stats *st)
175 {
176 char hn[NI_MAXHOST], tbuf[80];
177 struct tm *tp;
178 time_t t;
179
180 time(&t);
181 setenv("TZ", "UTC", 1);
182 tp = localtime(&t);
183 strftime(tbuf, sizeof tbuf, "%a %b %e %H:%M:%S %Z %Y", tp);
184
185 gethostname(hn, sizeof hn);
186
187 if (fprintf(out,
188 "# Generated on host %s at %s\n"
189 "# Processing time %lld seconds (%lld seconds user, %lld seconds system)\n"
190 "# Route Origin Authorizations: %zu (%zu failed parse, %zu invalid)\n"
191 "# Certificates: %zu (%zu failed parse, %zu invalid)\n"
192 "# Trust Anchor Locators: %zu (%s)\n"
193 "# Manifests: %zu (%zu failed parse, %zu stale)\n"
194 "# Certificate revocation lists: %zu\n"
195 "# Repositories: %zu\n"
196 "# VRP Entries: %zu (%zu unique)\n",
197 hn, tbuf, (long long)st->elapsed_time.tv_sec,
198 (long long)st->user_time.tv_sec, (long long)st->system_time.tv_sec,
199 st->roas, st->roas_fail, st->roas_invalid,
200 st->certs, st->certs_fail, st->certs_invalid,
201 st->tals, st->talnames,
202 st->mfts, st->mfts_fail, st->mfts_stale,
203 st->crls,
204 st->repos,
205 st->vrps, st->uniqs) < 0)
206 return -1;
207 return 0;
208 }
+0
-208
src/rpki-client.8 less more
0 .\" $OpenBSD: rpki-client.8,v 1.22 2020/03/06 22:22:31 job Exp $
1 .\"
2 .\" Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
3 .\"
4 .\" Permission to use, copy, modify, and distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
7 .\"
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 .\"
16 .Dd $Mdocdate: March 6 2020 $
17 .Dt RPKI-CLIENT 8
18 .Os
19 .Sh NAME
20 .Nm rpki-client
21 .Nd RPKI validator to support BGP Origin Validation in bgpd
22 .Sh SYNOPSIS
23 .Nm
24 .Op Fl Bcfjnov
25 .Op Fl b Ar sourceaddr
26 .Op Fl d Ar cachedir
27 .Op Fl e Ar rsync_prog
28 .Op Fl T Ar table
29 .Op Fl t Ar tal
30 .Op Ar outputdir
31 .Sh DESCRIPTION
32 The
33 .Nm
34 utility queries the RPKI repository system with
35 .Xr openrsync 1
36 to fetch all X.509 certificates, manifests, and revocation lists under a given
37 .Em Trust Anchor .
38 .Nm
39 subsequently validates each
40 .Em Route Origin Authorization Pq ROA
41 by constructing and verifying a certification path for the certificate
42 associated with the ROA (including checking relevant CRLs).
43 .Nm
44 produces lists of the
45 .Em Validated ROA Payloads Pq VRPs
46 in various formats.
47 .Pp
48 The options are as follows:
49 .Bl -tag -width Ds
50 .It Fl B
51 Create output in the file
52 .Pa bird
53 in the output directory which is suitable for the BIRD internet routing daemon.
54 .It Fl b Ar sourceaddr
55 Tell the rsync client to use
56 .Ar sourceaddr
57 as the source address for connections, which is useful on machines
58 with multiple interfaces.
59 .It Fl c
60 Create output in the file
61 .Pa csv
62 in the output directory as comma-separated values of the prefix in slash notation,
63 the maximum prefix length, the autonomous system number, and an abbreviation
64 for the trust anchor the entry is derived from.
65 .It Fl d Ar cachedir
66 The directory where
67 .Nm
68 will store the cached repository data.
69 Defaults to
70 .Pa /var/db/rpki-client/ .
71 .It Fl e Ar rsync_prog
72 Use
73 .Ar rsync_prog
74 instead of
75 .Xr openrsync 1
76 to fetch repositories.
77 It must accept the
78 .Fl rlt ,
79 .Fl -address
80 and
81 .Fl -delete
82 flags and connect with rsync-protocol locations.
83 .It Fl f
84 Accept out-of-date manifests.
85 This will still report if a manifest has expired.
86 .It Fl j
87 Create output in the file
88 .Pa json
89 in the output directory as JSON object.
90 This format is identical to that
91 produced by the RIPE NCC RPKI Validator and NLnet Labs routinator.
92 .It Fl n
93 Assume that all requested repositories exist: don't update.
94 .It Fl o
95 Create output in the file
96 .Pa openbgpd
97 in the output directory as
98 .Xr bgpd 8
99 compatible input.
100 If the
101 .Fl B ,
102 .Fl c ,
103 and
104 .Fl j
105 options are not specified this is the default.
106 .It Fl T Ar table
107 For BIRD output generated with the
108 .Fl B
109 option use
110 .Ar table
111 as roa table name instead of the default 'ROAS'.
112 .It Fl t Ar tal
113 Specify a
114 .Em Trust Anchor Location Pq TAL
115 file to be used.
116 This option can be used multiple times to load multiple TALs.
117 By default
118 .Nm
119 will load all TAL files in
120 .Pa /etc/rpki .
121 .It Fl v
122 Specified once, prints information about status.
123 Twice, prints each filename as it's processed.
124 .It Ar outputdir
125 The directory where
126 .Nm
127 will write the output files.
128 Defaults to
129 .Pa /var/db/rpki-client/ .
130 .El
131 .Pp
132 By default
133 .Nm
134 produces a list of unique
135 .Li roa-set
136 statements in
137 .Fl o
138 (OpenBGPD compatible) output.
139 .\" .Sh ENVIRONMENT
140 .\" For sections 1, 6, 7, and 8 only.
141 .Sh FILES
142 .Bl -tag -width "/var/db/rpki-client/openbgpd" -compact
143 .It Pa /etc/rpki/*.tal
144 default TAL files used unless
145 .Fl t Ar tal
146 is specified.
147 .It Pa /var/cache/rpki-client
148 cached repository data.
149 .It Pa /var/db/rpki-client/openbgpd
150 default roa-set output file.
151 .El
152 .Sh EXIT STATUS
153 .Ex -std
154 .\" For sections 1, 6, and 8 only.
155 .\" .Sh EXAMPLES
156 .\" .Sh DIAGNOSTICS
157 .\" For sections 1, 4, 6, 7, 8, and 9 printf/stderr messages only.
158 .Sh SEE ALSO
159 .Xr openrsync 1 ,
160 .Xr bgpd.conf 5
161 .Sh STANDARDS
162 The following standards are used or referenced in
163 .Nm :
164 .Bl -tag -width -Ds
165 .It RFC 3370
166 Cryptographic Message Syntax (CMS) Algorithms.
167 .It RFC 3779
168 X.509 Extensions for IP Addresses and AS Identifiers.
169 .It RFC 4291
170 IP Version 6 Addressing Architecture.
171 .It RFC 4631
172 Classless Inter-domain Routing (CIDR): The Internet Address Assignment
173 and Aggregation Plan.
174 .It RFC 5280
175 Internet X.509 Public Key Infrastructure Certificate and Certificate
176 Revocation List (CRL) Profile.
177 .It RFC 5652
178 Cryptographic Message Syntax (CMS).
179 .It RFC 5781
180 The rsync URI Scheme.
181 .It RFC 5952
182 A Recommendation for IPv6 Address Text Representation.
183 .It RFC 6480
184 An Infrastructure to Support Secure Internet Routing.
185 .It RFC 6482
186 A Profile for Route Origin Authorizations (ROAs).
187 .It RFC 6485
188 The Profile for Algorithms and Key Sizes for Use in the Resource Public Key
189 Infrastructure (RPKI).
190 .It RFC 6486
191 Manifests for the Resource Public Key Infrastructure (RPKI).
192 .It RFC 6487
193 A Profile for X.509 PKIX Resource Certificates.
194 .It RFC 6488
195 Signed Object Template for the Resource Public Key Infrastructure
196 (RPKI).
197 .It RFC 7730
198 Resource Public Key Infrastructure (RPKI) Trust Anchor Locator.
199 .El
200 .\" .Sh HISTORY
201 .Sh AUTHORS
202 The
203 .Nm
204 utility was written by
205 .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
206 .\" .Sh CAVEATS
207 .\" .Sh BUGS
0 .\" $OpenBSD: rpki-client.8,v 1.26 2020/04/21 05:36:04 jmc Exp $
1 .\"
2 .\" Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
3 .\"
4 .\" Permission to use, copy, modify, and distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
7 .\"
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 .\"
16 .Dd $Mdocdate: April 21 2020 $
17 .Dt RPKI-CLIENT 8
18 .Os
19 .Sh NAME
20 .Nm rpki-client
21 .Nd RPKI validator to support BGP Origin Validation
22 .Sh SYNOPSIS
23 .Nm
24 .Op Fl Bcfjnov
25 .Op Fl b Ar sourceaddr
26 .Op Fl d Ar cachedir
27 .Op Fl e Ar rsync_prog
28 .Op Fl T Ar table
29 .Op Fl t Ar tal
30 .Op Ar outputdir
31 .Sh DESCRIPTION
32 The
33 .Nm
34 utility queries the RPKI repository system with
35 .Xr @RSYNC@ 1
36 to fetch all X.509 certificates, manifests, and revocation lists under a given
37 .Em Trust Anchor .
38 .Nm
39 subsequently validates each
40 .Em Route Origin Authorization Pq ROA
41 by constructing and verifying a certification path for the certificate
42 associated with the ROA (including checking relevant CRLs).
43 .Nm
44 produces lists of the
45 .Em Validated ROA Payloads Pq VRPs
46 in various formats.
47 .Pp
48 The options are as follows:
49 .Bl -tag -width Ds
50 .It Fl B
51 Create output in the file
52 .Pa bird
53 in the output directory which is suitable for the BIRD internet routing daemon.
54 .It Fl b Ar sourceaddr
55 Tell the rsync client to use
56 .Ar sourceaddr
57 as the source address for connections, which is useful on machines
58 with multiple interfaces.
59 .It Fl c
60 Create output in the file
61 .Pa csv
62 in the output directory as comma-separated values of the prefix in slash notation,
63 the maximum prefix length, the autonomous system number, and an abbreviation
64 for the trust anchor the entry is derived from.
65 .It Fl d Ar cachedir
66 The directory where
67 .Nm
68 will store the cached repository data.
69 Defaults to
70 .Pa @RPKI_BASE_DIR@ .
71 .It Fl e Ar rsync_prog
72 Use
73 .Ar rsync_prog
74 instead of
75 .Xr @RSYNC@ 1
76 to fetch repositories.
77 It must accept the
78 .Fl rlt ,
79 .Fl -address
80 and
81 .Fl -delete
82 flags and connect with rsync-protocol locations.
83 .It Fl f
84 Accept out-of-date manifests.
85 This will still report if a manifest has expired.
86 .It Fl j
87 Create output in the file
88 .Pa json
89 in the output directory as JSON object.
90 This format is identical to that
91 produced by the RIPE NCC RPKI Validator and NLnet Labs routinator.
92 .It Fl n
93 Assume that all requested repositories exist: don't update.
94 .It Fl o
95 Create output in the file
96 .Pa openbgpd
97 in the output directory as
98 .Xr bgpd 8
99 compatible input.
100 If the
101 .Fl B ,
102 .Fl c ,
103 and
104 .Fl j
105 options are not specified this is the default.
106 .It Fl T Ar table
107 For BIRD output generated with the
108 .Fl B
109 option use
110 .Ar table
111 as roa table name instead of the default 'ROAS'.
112 .It Fl t Ar tal
113 Specify a
114 .Em Trust Anchor Location Pq TAL
115 file to be used.
116 This option can be used multiple times to load multiple TALs.
117 By default
118 .Nm
119 will load all TAL files in
120 .Pa @RPKI_TAL_DIR@ .
121 .It Fl v
122 Specified once, prints information about status.
123 Twice, prints each filename as it's processed.
124 .It Ar outputdir
125 The directory where
126 .Nm
127 will write the output files.
128 Defaults to
129 .Pa @RPKI_OUT_DIR@ .
130 .El
131 .Pp
132 By default
133 .Nm
134 produces a list of unique
135 .Li roa-set
136 statements in
137 .Fl o
138 (OpenBGPD compatible) output.
139 .Pp
140 .Nm
141 should be run hourly by
142 .Xr cron 8 :
143 use
144 .Xr crontab 1
145 to uncomment the entry in root's crontab.
146 .\" .Sh ENVIRONMENT
147 .\" For sections 1, 6, 7, and 8 only.
148 .Sh FILES
149 .Bl -tag -width "@RPKI_OUT_DIR@/openbgpd" -compact
150 .It Pa @RPKI_TAL_DIR@/*.tal
151 default TAL files used unless
152 .Fl t Ar tal
153 is specified.
154 .It Pa @RPKI_BASE_DIR@
155 cached repository data.
156 .It Pa @RPKI_OUT_DIR@/openbgpd
157 default roa-set output file.
158 .El
159 .Sh EXIT STATUS
160 .Ex -std
161 .\" For sections 1, 6, and 8 only.
162 .\" .Sh EXAMPLES
163 .\" .Sh DIAGNOSTICS
164 .\" For sections 1, 4, 6, 7, 8, and 9 printf/stderr messages only.
165 .Sh SEE ALSO
166 .Xr @RSYNC@ 1 ,
167 .Xr bgpd.conf 5
168 .Sh STANDARDS
169 The following standards are used or referenced in
170 .Nm :
171 .Bl -tag -width -Ds
172 .It RFC 3370
173 Cryptographic Message Syntax (CMS) Algorithms.
174 .It RFC 3779
175 X.509 Extensions for IP Addresses and AS Identifiers.
176 .It RFC 4291
177 IP Version 6 Addressing Architecture.
178 .It RFC 4631
179 Classless Inter-domain Routing (CIDR): The Internet Address Assignment
180 and Aggregation Plan.
181 .It RFC 5280
182 Internet X.509 Public Key Infrastructure Certificate and Certificate
183 Revocation List (CRL) Profile.
184 .It RFC 5652
185 Cryptographic Message Syntax (CMS).
186 .It RFC 5781
187 The rsync URI Scheme.
188 .It RFC 5952
189 A Recommendation for IPv6 Address Text Representation.
190 .It RFC 6480
191 An Infrastructure to Support Secure Internet Routing.
192 .It RFC 6482
193 A Profile for Route Origin Authorizations (ROAs).
194 .It RFC 6485
195 The Profile for Algorithms and Key Sizes for Use in the Resource Public Key
196 Infrastructure (RPKI).
197 .It RFC 6486
198 Manifests for the Resource Public Key Infrastructure (RPKI).
199 .It RFC 6487
200 A Profile for X.509 PKIX Resource Certificates.
201 .It RFC 6488
202 Signed Object Template for the Resource Public Key Infrastructure
203 (RPKI).
204 .It RFC 7730
205 Resource Public Key Infrastructure (RPKI) Trust Anchor Locator.
206 .El
207 .\" .Sh HISTORY
208 .Sh AUTHORS
209 The
210 .Nm
211 utility was written by
212 .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
213 .\" .Sh CAVEATS
214 .\" .Sh BUGS