tlsdate sets the local clock by securely connecting with TLS to remote

servers and extracting the remote time out of the secure handshake. Unlike
ntpdate, tlsdate uses TCP, for instance connecting to a remote HTTPS or TLS
enabled service, and provides some protection against adversaries that try to
feed you malicious time information.

WWW: https://github.com/ioerror/tlsdate

PR:		ports/187033
Submitted by:	Fabian Keil <fk@fabiankeil.de>
This commit is contained in:
Pawel Pekala 2014-03-23 10:41:00 +00:00
parent 5db75f5d5d
commit b388cf7a7e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=348850
6 changed files with 122 additions and 0 deletions

View File

@ -920,6 +920,7 @@
SUBDIR += timemon
SUBDIR += titlefix
SUBDIR += tkdvd
SUBDIR += tlsdate
SUBDIR += tm
SUBDIR += tmpreaper
SUBDIR += tmpwatch

36
sysutils/tlsdate/Makefile Normal file
View File

@ -0,0 +1,36 @@
# $FreeBSD$
PORTNAME= tlsdate
PORTVERSION= 0.0.7
CATEGORIES= sysutils
DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${PORTVERSION}-${GH_COMMIT}
MAINTAINER= fk@fabiankeil.de
COMMENT= Secure parasitic rdate replacement
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
USE_GITHUB= yes
GH_ACCOUNT= ioerror
# Technically tlsdate 0.0.7 is 004f6f6, but a couple of follow-up
# commits are required to fix the build on FreeBSD.
GH_COMMIT= 44fa3b7
GH_TAGNAME= ${GH_COMMIT}
USE_AUTOTOOLS= autoconf aclocal automake libtool
USES= pkgconfig
OPTIONS_DEFINE= DOCS
post-patch:
# Required for FreeBSD 8.4
@${REINPLACE_CMD} -e 's@AC_MSG_ERROR(\[M@AC_MSG_WARN([M@' ${WRKSRC}/configure.ac
pre-configure:
@(cd ${WRKSRC} && ./autogen.sh)
regression-test: build
@cd ${WRKSRC} && make test
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (ioerror-tlsdate-0.0.7-44fa3b7.tar.gz) = 7a1a7f7c64b830c71783df38af4ce10fe0732e83526b6459c3a6e5db4340e309
SIZE (ioerror-tlsdate-0.0.7-44fa3b7.tar.gz) = 239975

View File

@ -0,0 +1,64 @@
From 5eb482ca5657a91b7641b97ec503ade881889d49 Mon Sep 17 00:00:00 2001
From: Fabian Keil <fk@fabiankeil.de>
Date: Sat, 11 Jan 2014 21:58:37 +0100
Subject: [PATCH] Use fmemopen reimplementation on FreeBSD systems that need it
Apparently FreeBSD 8.4 does.
---
src/include.am | 7 +++++++
1 file changed, 7 insertions(+)
diff --git src/include.am src/include.am
index 259d618..6f230d7 100644
--- src/include.am
+++ src/include.am
@@ -231,6 +231,13 @@ endif
check_PROGRAMS+= src/proxy-bio_unittest
noinst_PROGRAMS+= src/proxy-bio_unittest
endif
+# XXX This conditional should apply for any system where we're building
+# conf_unittest, but I don't know how to tell that to automake.
+if !HAVE_FMEMOPEN
+if HAVE_FUNOPEN
+src_conf_unittest_SOURCES+= src/common/fmemopen-funopen.c
+endif
+endif
endif
if TARGET_NETBSD
--
1.8.5.2
From ebfa24395c046e3e732d5be4475f412165bef679 Mon Sep 17 00:00:00 2001
From: Fabian Keil <fk@fabiankeil.de>
Date: Sun, 12 Jan 2014 21:02:37 +0100
Subject: [PATCH] Only compile event_unittest when targetting GNU/Linux
It tests code that currently doesn't compile on FreeBSD and
it looks like it won't compile on the other non-GNU/Linux
targets either.
---
src/include.am | 2 ++
1 file changed, 2 insertions(+)
diff --git src/include.am src/include.am
index 6f230d7..c164627 100644
--- src/include.am
+++ src/include.am
@@ -439,11 +439,13 @@ endif
endif
endif
+if TARGET_LINUX
src_event_unittest_SOURCES = src/event.c
src_event_unittest_SOURCES+= src/event-unittest.c
src_event_unittest_SOURCES+= src/routeup.c
src_event_unittest_SOURCES+= src/util.c
check_PROGRAMS+= src/event_unittest
+endif
if !TARGET_OSX
check_PROGRAMS+= src/test/proxy-override src/test/return-argc \
--
1.8.5.2

View File

@ -0,0 +1,7 @@
tlsdate sets the local clock by securely connecting with TLS to remote
servers and extracting the remote time out of the secure handshake. Unlike
ntpdate, tlsdate uses TCP, for instance connecting to a remote HTTPS or TLS
enabled service, and provides some protection against adversaries that try to
feed you malicious time information.
WWW: https://github.com/ioerror/tlsdate

View File

@ -0,0 +1,12 @@
bin/tlsdate
bin/tlsdate-helper
etc/tlsdate/ca-roots/tlsdate-ca-roots.conf
man/man1/tlsdate-helper.1.gz
man/man1/tlsdate.1.gz
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/TODO
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrmtry etc/tlsdate/ca-roots
@dirrmtry etc/tlsdate