Bug 187033 - New port: sysutils/tlsdate - Secure parasitic rdate replacement
Summary: New port: sysutils/tlsdate - Secure parasitic rdate replacement
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Pawel Pekala
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-25 13:40 UTC by Fabian Keil
Modified: 2014-03-23 10:50 UTC (History)
0 users

See Also:


Attachments
file.shar (5.15 KB, text/plain)
2014-02-25 13:40 UTC, Fabian Keil
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Keil 2014-02-25 13:40:00 UTC
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

---

Redports logs are available at:
https://redports.org/buildarchive/20140225105224-68617/

Fix: Patch attached with submission follows:
Comment 1 Pawel Pekala freebsd_committer freebsd_triage 2014-03-23 10:14:16 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pawel

I'll take it.
Comment 2 dfilter service freebsd_committer freebsd_triage 2014-03-23 10:41:06 UTC
Author: pawel
Date: Sun Mar 23 10:41:00 2014
New Revision: 348850
URL: http://svnweb.freebsd.org/changeset/ports/348850
QAT: https://qat.redports.org/buildarchive/r348850/

Log:
  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>

Added:
  head/sysutils/tlsdate/
  head/sysutils/tlsdate/Makefile   (contents, props changed)
  head/sysutils/tlsdate/distinfo   (contents, props changed)
  head/sysutils/tlsdate/files/
  head/sysutils/tlsdate/files/patch-src-include.am   (contents, props changed)
  head/sysutils/tlsdate/pkg-descr   (contents, props changed)
  head/sysutils/tlsdate/pkg-plist   (contents, props changed)
Modified:
  head/sysutils/Makefile

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Sun Mar 23 10:32:45 2014	(r348849)
+++ head/sysutils/Makefile	Sun Mar 23 10:41:00 2014	(r348850)
@@ -920,6 +920,7 @@
     SUBDIR += timemon
     SUBDIR += titlefix
     SUBDIR += tkdvd
+    SUBDIR += tlsdate
     SUBDIR += tm
     SUBDIR += tmpreaper
     SUBDIR += tmpwatch

Added: head/sysutils/tlsdate/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/tlsdate/Makefile	Sun Mar 23 10:41:00 2014	(r348850)
@@ -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>

Added: head/sysutils/tlsdate/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/tlsdate/distinfo	Sun Mar 23 10:41:00 2014	(r348850)
@@ -0,0 +1,2 @@
+SHA256 (ioerror-tlsdate-0.0.7-44fa3b7.tar.gz) = 7a1a7f7c64b830c71783df38af4ce10fe0732e83526b6459c3a6e5db4340e309
+SIZE (ioerror-tlsdate-0.0.7-44fa3b7.tar.gz) = 239975

Added: head/sysutils/tlsdate/files/patch-src-include.am
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/tlsdate/files/patch-src-include.am	Sun Mar 23 10:41:00 2014	(r348850)
@@ -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
+

Added: head/sysutils/tlsdate/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/tlsdate/pkg-descr	Sun Mar 23 10:41:00 2014	(r348850)
@@ -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

Added: head/sysutils/tlsdate/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/tlsdate/pkg-plist	Sun Mar 23 10:41:00 2014	(r348850)
@@ -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
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Pawel Pekala freebsd_committer freebsd_triage 2014-03-23 10:41:23 UTC
State Changed
From-To: open->closed

Committed, with minor changes. Thanks!