No other taskd users willing to test this upgrade?  :(

In that case, any porters willing to review the diff & give me an ok to
commit?  I've been running this locally on amd64 for about a week with
no issues, sync'ing with clients on both OpenBSD and Linux.  The
generate.ca patch below was already merged upstream, and fixes the
generated CA cert so that the example pki scripts work out of the box.

On Fri, Jan 22, 2016 at 10:23:31AM -0600, Kent R. Spillner wrote:
> On Wed, Jan 20, 2016 at 01:57:43PM -0600, Kent R. Spillner wrote:
> > Below is a new diff.  We finally tracked down the certificate validation
> > bug with help from viq and upstream, and the new patch for that has
> > already been merged upstream (along with several of our other patches
> > which can all go away when v1.2.0 is released).  In this version of the
> > diff I've updated the README and also take MAINTAINER.
> > 
> > Ok?
> 
> bump
> 
> I'm not sure how many people use taskd but it'd be nice to get some test
> reports for i386 and other architectures.  I've been running this on
> amd64 for the past several days, sync'ing with taskwarrior on OpenBSD as
> well as Linux.  If anyone uses other clients, or runs taskwarrior on
> other OS x, such test reports would be great, too.
> 
> Index: Makefile
> ===================================================================
> RCS file: /work/cvsroot/ports/productivity/taskd/Makefile,v
> retrieving revision 1.4
> diff -p -u -r1.4 Makefile
> --- Makefile  25 Aug 2015 07:30:30 -0000      1.4
> +++ Makefile  20 Jan 2016 19:41:51 -0000
> @@ -2,23 +2,27 @@
>  
>  COMMENT =    lightweight server providing access to task data
>  
> -DISTNAME =   taskd-1.0.0
> +DISTNAME =   taskd-1.1.0
>  CATEGORIES = productivity net
> -REVISION =   1
>  
>  HOMEPAGE =   http://www.taskwarrior.org/
>  
> +MAINTAINER = Kent R. Spillner <kspill...@openbsd.org>
> +
>  MASTER_SITES =       ${HOMEPAGE}/download/
>  
>  # MIT
>  PERMIT_PACKAGE_CDROM =               Yes
>  
> -MODULES =            devel/cmake
> +MODULES =            gcc4 \
> +                     devel/cmake
> +
> +MODGCC4_LANGS =              c++
> +MODGCC4_ARCHS =              *
>  
> -WANTLIB += c gnutls m pthread stdc++ uuid
> +WANTLIB += c gnutls m pthread
>  
> -LIB_DEPENDS =        security/gnutls \
> -             sysutils/e2fsprogs>=1.42.7
> +LIB_DEPENDS =        security/gnutls
>  
>  CONFIGURE_STYLE =    cmake
>  
> @@ -33,10 +37,11 @@ NO_TEST =         Yes
>  
>  post-install:
>       ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/taskd/pki/
> -     ${INSTALL_SCRIPT} ${WRKSRC}/pki/!(*.orig) \
> +     ${INSTALL_SCRIPT} ${WRKSRC}/pki/generate!(*.orig) \
> +             ${PREFIX}/share/examples/taskd/pki/
> +     ${INSTALL_DATA} ${WRKSRC}/pki/README \
>               ${PREFIX}/share/examples/taskd/pki/
>       ${SUBST_DATA} ${FILESDIR}/config \
>               ${PREFIX}/share/examples/taskd/config
> -     ${INSTALL_DATA} ${FILESDIR}/vars.dist 
> ${PREFIX}/share/examples/taskd/pki/
>  
>  .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /work/cvsroot/ports/productivity/taskd/distinfo,v
> retrieving revision 1.1.1.1
> diff -p -u -r1.1.1.1 distinfo
> --- distinfo  12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ distinfo  10 Nov 2015 21:12:00 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (taskd-1.0.0.tar.gz) = Fi7x7sSPgUWHDvDb4BIbeKbamYFbwYr3feB/uwq+AtA=
> -SIZE (taskd-1.0.0.tar.gz) = 128191
> +SHA256 (taskd-1.1.0.tar.gz) = e4SI5oeXGuVnKf9OLlIJ/4gGz4zVdxi/1+UhvhMGIbQ=
> +SIZE (taskd-1.1.0.tar.gz) = 120115
> Index: files/config
> ===================================================================
> RCS file: /work/cvsroot/ports/productivity/taskd/files/config,v
> retrieving revision 1.1.1.1
> diff -p -u -r1.1.1.1 config
> --- files/config      12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ files/config      14 Jan 2016 19:56:20 -0000
> @@ -1,12 +1,12 @@
>  confirmation=1
>  extensions=${TRUEPREFIX}/libexec/taskd
>  log=/var/log/taskd/taskd.log
> -log=/var/log/taskd/taskd.log
>  pid.file=/var/run/taskd/taskd.pid
>  queue.size=10
>  request.limit=1048576
>  root=/var/taskd
> -server=*:53589
> +server=127.0.0.1:53589
> +trust=strict
>  verbose=1
>  client.cert=/var/taskd/client.cert.pem
>  client.key=/var/taskd/client.key.pem
> @@ -14,4 +14,3 @@ server.cert=/var/taskd/server.cert.pem
>  server.key=/var/taskd/server.key.pem
>  server.crl=/var/taskd/server.crl.pem
>  ca.cert=/var/taskd/ca.cert.pem
> -client.allow=^task [2-9]
> Index: files/vars.dist
> ===================================================================
> RCS file: files/vars.dist
> diff -N files/vars.dist
> --- files/vars.dist   12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,9 +0,0 @@
> -#dnsnames="example.com example.net"
> -#ipaddrs="10.11.12.13 10.20.30.40"
> -bits=4096
> -expiration_days=365
> -organization="Göteborg Bit Factory"
> -cn="Göteborg Bit Factory"
> -country=SE
> -state="Västra Götaland"
> -locality="Göteborg"
> Index: patches/patch-CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-CMakeLists_txt
> diff -N patches/patch-CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-CMakeLists_txt      10 Nov 2015 21:48:36 -0000
> @@ -0,0 +1,25 @@
> +$OpenBSD$
> +--- CMakeLists.txt.orig      Tue Nov 10 15:44:28 2015
> ++++ CMakeLists.txt   Tue Nov 10 15:44:54 2015
> +@@ -115,10 +115,10 @@ if (GNUTLS_FOUND)
> + endif (GNUTLS_FOUND)
> + 
> + message ("-- Looking for libuuid")
> +-if (DARWIN OR FREEBSD)
> ++if (DARWIN OR FREEBSD OR OPENBSD)
> +   # Apple and FreeBSD include the uuid functions in their libc, rather than 
> libuuid
> +   check_function_exists (uuid_unparse_lower HAVE_UUID_UNPARSE_LOWER)
> +-else (DARWIN OR FREEBSD)
> ++else (DARWIN OR FREEBSD OR OPENBSD)
> +   find_path    (UUID_INCLUDE_DIR   uuid/uuid.h)
> +   find_library (UUID_LIBRARY NAMES uuid)
> +   if (UUID_INCLUDE_DIR AND UUID_LIBRARY)
> +@@ -131,7 +131,7 @@ else (DARWIN OR FREEBSD)
> +   else (UUID_INCLUDE_DIR AND UUID_LIBRARY)
> +     message (FATAL_ERROR "-- libuuid not found.")
> +   endif (UUID_INCLUDE_DIR AND UUID_LIBRARY)
> +-endif (DARWIN OR FREEBSD)
> ++endif (DARWIN OR FREEBSD OR OPENBSD)
> + 
> + if (HAVE_UUID_UNPARSE_LOWER)
> +   message ("-- Found libuuid")
> Index: patches/patch-pki_README
> ===================================================================
> RCS file: /work/cvsroot/ports/productivity/taskd/patches/patch-pki_README,v
> retrieving revision 1.1.1.1
> diff -p -u -r1.1.1.1 patch-pki_README
> --- patches/patch-pki_README  12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ patches/patch-pki_README  10 Nov 2015 21:35:18 -0000
> @@ -1,6 +1,6 @@
>  $OpenBSD: patch-pki_README,v 1.1.1.1 2014/07/12 22:08:35 landry Exp $
> ---- pki/README.orig  Fri Jun 20 22:26:36 2014
> -+++ pki/README       Fri Jun 20 22:27:24 2014
> +--- pki/README.orig  Sun May 10 16:35:22 2015
> ++++ pki/README       Tue Nov 10 15:35:03 2015
>  @@ -21,7 +21,7 @@ and cert will not be trusted by anyone, for good reaso
>   
>   Note, you can inspect any cert with the command:
> @@ -10,3 +10,10 @@ $OpenBSD: patch-pki_README,v 1.1.1.1 201
>   
>   There is a 'generate' script here that will perform the above steps.  Take a
>   look at it to see the individual steps it takes to generate the proper set 
> of
> +@@ -32,5 +32,5 @@ chosen parameters.
> + 
> + VAlidate a certificate with:
> + 
> +-  $ gnutls-certtool --verify --infile client.cert.pem --load-ca-certificate 
> ca.cert.pem
> ++  $ certtool --verify --infile client.cert.pem --load-ca-certificate 
> ca.cert.pem
> + 
> Index: patches/patch-pki_generate
> ===================================================================
> RCS file: patches/patch-pki_generate
> diff -N patches/patch-pki_generate
> --- patches/patch-pki_generate        12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,9 +0,0 @@
> -$OpenBSD: patch-pki_generate,v 1.1.1.1 2014/07/12 22:08:35 landry Exp $
> ---- pki/generate.orig        Fri Jun 20 22:26:36 2014
> -+++ pki/generate     Fri Jun 20 21:52:57 2014
> -@@ -1,4 +1,4 @@
> --#!/bin/bash
> -+#!/bin/sh
> - 
> - # For a public or production server, purchase a cert from a known CA, and 
> skip
> - # the next step.
> Index: patches/patch-pki_generate_ca
> ===================================================================
> RCS file: 
> /work/cvsroot/ports/productivity/taskd/patches/patch-pki_generate_ca,v
> retrieving revision 1.1.1.1
> diff -p -u -r1.1.1.1 patch-pki_generate_ca
> --- patches/patch-pki_generate_ca     12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ patches/patch-pki_generate_ca     20 Jan 2016 15:46:08 -0000
> @@ -1,41 +1,16 @@
> -$OpenBSD: patch-pki_generate_ca,v 1.1.1.1 2014/07/12 22:08:35 landry Exp $
> ---- pki/generate.ca.orig     Fri Jun 20 22:26:36 2014
> -+++ pki/generate.ca  Fri Jun 20 21:59:50 2014
> -@@ -1,27 +1,30 @@
> --#!/bin/bash
> -+#!/bin/sh
> - 
> - # Take the correct binary to create the certificates
> --CERTTOOL=$(which gnutls-certtool || which certtool)
> -+CERTTOOL=$(which certtool)
> - if [[ -z "${CERTTOOL}" ]]
> - then
> -   echo "ERROR: No certtool found" >&2
> -   exit 1
> - fi
> - 
> -+. ./vars
> -+
> - # Create a CA key.
> - ${CERTTOOL} \
> -   --generate-privkey \
> -+  --bits=$bits \
> -   --outfile ca.key.pem
> - 
> - chmod 600 ca.key.pem
> - 
> - # Sign a CA cert.
> - cat <<EOF >ca.info
> --organization = Göteborg Bit Factory
> --cn = Göteborg Bit Factory
> --country = SE
> --state = Västra Götaland
> --locality = Göteborg
> -+organization = $organization
> -+cn = $cn
> -+country = $country
> -+state = $state
> -+locality = $locality
> +$OpenBSD$
> +
> +Fix CA certificate generation for GNUTLS v3.3.20 and later.
> +When this option was present clients failed to validate the
> +server's certificate when trust=strict with "certificate
> +violates signer's constraints" errors.
> +--- pki/generate.ca.orig     Wed Jan 20 09:43:57 2016
> ++++ pki/generate.ca  Wed Jan 20 09:44:09 2016
> +@@ -26,7 +26,6 @@ country = $COUNTRY
> + state = $STATE
> + locality = $LOCALITY
>   ca
> - cert_signing_key
> +-cert_signing_key
>   EOF
> + 
> + $CERTTOOL \
> Index: patches/patch-pki_generate_client
> ===================================================================
> RCS file: patches/patch-pki_generate_client
> diff -N patches/patch-pki_generate_client
> --- patches/patch-pki_generate_client 12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,39 +0,0 @@
> -$OpenBSD: patch-pki_generate_client,v 1.1.1.1 2014/07/12 22:08:35 landry Exp 
> $
> ---- pki/generate.client.orig Fri Jun 20 22:26:36 2014
> -+++ pki/generate.client      Fri Jun 20 22:00:23 2014
> -@@ -1,4 +1,4 @@
> --#!/bin/bash
> -+#!/bin/sh
> - 
> - NAME=client
> - if [ $# -gt 0 ] ; then
> -@@ -6,23 +6,26 @@ if [ $# -gt 0 ] ; then
> - fi
> - 
> - # Take the correct binary to create the certificates
> --CERTTOOL=$(which gnutls-certtool || which certtool)
> -+CERTTOOL=$(which certtool)
> - if [[ -z "${CERTTOOL}" ]]
> - then
> -   echo "ERROR: No certtool found" >&2
> -   exit 1
> - fi
> - 
> -+. ./vars
> -+
> - # Create a client key.
> - ${CERTTOOL} \
> -   --generate-privkey \
> -+  --bits=$bits \
> -   --outfile ${NAME}.key.pem
> - 
> - # Sign a client cert with the key.
> - chmod 600 ${NAME}.key.pem
> - cat <<EOF >client.info
> --organization = Göteborg Bit Factory
> --cn = Göteborg Bit Factory
> -+organization = $organization
> -+cn = $cn
> - tls_www_client
> - encryption_key
> - signing_key
> Index: patches/patch-pki_generate_crl
> ===================================================================
> RCS file: patches/patch-pki_generate_crl
> diff -N patches/patch-pki_generate_crl
> --- patches/patch-pki_generate_crl    12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,21 +0,0 @@
> -$OpenBSD: patch-pki_generate_crl,v 1.1.1.1 2014/07/12 22:08:35 landry Exp $
> ---- pki/generate.crl.orig    Fri Jun 20 22:26:36 2014
> -+++ pki/generate.crl Fri Jun 20 22:00:47 2014
> -@@ -1,12 +1,14 @@
> --#!/bin/bash
> -+#!/bin/sh
> - 
> -+. ./vars
> -+
> - # CRL - Certificate Revocation List
> - cat <<EOF >crl.info
> --expiration_days = 365
> -+expiration_days = $expiration_days
> - EOF
> - 
> - # Take the correct binary to create the certificates
> --CERTTOOL=$(which gnutls-certtool || which certtool)
> -+CERTTOOL=$(which certtool)
> - if [[ -z "${CERTTOOL}" ]]
> - then
> -   echo "ERROR: No certtool found" >&2
> Index: patches/patch-pki_generate_server
> ===================================================================
> RCS file: patches/patch-pki_generate_server
> diff -N patches/patch-pki_generate_server
> --- patches/patch-pki_generate_server 12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,48 +0,0 @@
> -$OpenBSD: patch-pki_generate_server,v 1.1.1.1 2014/07/12 22:08:35 landry Exp 
> $
> ---- pki/generate.server.orig Wed Jan 15 23:47:49 2014
> -+++ pki/generate.server      Tue Jun 24 11:25:44 2014
> -@@ -1,26 +1,38 @@
> --#!/bin/bash
> -+#!/bin/sh
> - 
> - # Take the correct binary to create the certificates
> --CERTTOOL=$(which gnutls-certtool || which certtool)
> -+CERTTOOL=$(which certtool)
> - if [[ -z "${CERTTOOL}" ]]
> - then
> -   echo "ERROR: No certtool found" >&2
> -   exit 1
> - fi
> - 
> -+dnsnames="`hostname`"
> -+ipaddrs=$(for ip in `ifconfig -A | awk '/inet/ {print $2}' | egrep -v 
> '(^::1$|^fe80:|^127\.)'` ; do
> -+        echo -n "$ip "
> -+done)
> -+
> -+. ./vars
> -+
> - # Create a server key.
> - ${CERTTOOL} \
> -   --generate-privkey \
> -+  --bits=$bits \
> -   --outfile server.key.pem
> - 
> - chmod 600 server.key.pem
> - 
> - # Sign a server cert using the key.
> - cat <<EOF >server.info
> --organization = Göteborg Bit Factory
> --cn = Göteborg Bit Factory
> --dns_name = "tasktools.org"
> --ip_address = "97.107.141.107"
> -+organization = $organization
> -+cn = $cn
> -+$(for host in $dnsnames ; do
> -+    echo dns_name = $host
> -+done)
> -+$(for ip in $ipaddrs ; do
> -+    echo ip_address = $ip
> -+done)
> - tls_www_server
> - encryption_key
> - signing_key
> Index: patches/patch-src_util_cpp
> ===================================================================
> RCS file: patches/patch-src_util_cpp
> diff -N patches/patch-src_util_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_util_cpp        10 Nov 2015 21:48:30 -0000
> @@ -0,0 +1,12 @@
> +$OpenBSD$
> +--- src/util.cpp.orig        Tue Nov 10 15:46:44 2015
> ++++ src/util.cpp     Tue Nov 10 15:47:54 2015
> +@@ -136,7 +136,7 @@ int autoComplete (
> + // representation is always lowercase anyway.
> + // For the implementation details, refer to
> + // http://svnweb.freebsd.org/base/head/sys/kern/kern_uuid.c
> +-#ifdef FREEBSD
> ++#if defined(FREEBSD) || defined(OPENBSD)
> + const std::string uuid ()
> + {
> +   uuid_t id;
> Index: patches/patch-src_util_h
> ===================================================================
> RCS file: patches/patch-src_util_h
> diff -N patches/patch-src_util_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_util_h  10 Nov 2015 21:48:27 -0000
> @@ -0,0 +1,12 @@
> +$OpenBSD$
> +--- src/util.h.orig  Tue Nov 10 15:46:30 2015
> ++++ src/util.h       Tue Nov 10 15:45:58 2015
> +@@ -29,7 +29,7 @@
> + 
> + #include <string>
> + #include <vector>
> +-#ifdef FREEBSD
> ++#if defined(FREEBSD) || defined(OPENBSD)
> + #include <uuid.h>
> + #else
> + #include <uuid/uuid.h>
> Index: pkg/PLIST
> ===================================================================
> RCS file: /work/cvsroot/ports/productivity/taskd/pkg/PLIST,v
> retrieving revision 1.2
> diff -p -u -r1.2 PLIST
> --- pkg/PLIST 25 Aug 2015 07:30:30 -0000      1.2
> +++ pkg/PLIST 20 Jan 2016 19:41:36 -0000
> @@ -16,6 +16,7 @@
>  @bin bin/taskd
>  bin/taskdctl
>  @man man/man1/taskd.1
> +@man man/man1/taskdctl.1
>  @man man/man5/taskdrc.5
>  share/examples/taskd/
>  share/examples/taskd/config
> @@ -34,7 +35,6 @@ share/examples/taskd/pki/generate.ca
>  share/examples/taskd/pki/generate.client
>  share/examples/taskd/pki/generate.crl
>  share/examples/taskd/pki/generate.server
> -share/examples/taskd/pki/vars.dist
>  @sample share/examples/taskd/pki/vars
>  share/taskd/
>  share/taskd/AUTHORS
> Index: pkg/README
> ===================================================================
> RCS file: /work/cvsroot/ports/productivity/taskd/pkg/README,v
> retrieving revision 1.2
> diff -p -u -r1.2 README
> --- pkg/README        18 Jul 2015 21:13:41 -0000      1.2
> +++ pkg/README        20 Jan 2016 19:30:38 -0000
> @@ -4,29 +4,33 @@ $OpenBSD: README,v 1.2 2015/07/18 21:13:
>  | Running ${FULLPKGNAME} on OpenBSD
>  +-----------------------------------------------------------------------
>  
> +NOTE:
> +=====
> +When running the taskd commands below you must either append the command
> +line argument '--data /var/taskd' to every taskd command, or else export
> +the TASKDDATA environment variable:
> +
> +  # export TASKDDATA=/var/taskd
> +
> +
>  Generate certificates
>  =====================
>  Before starting taskd you need to generate certificates for it to use.
> -The procedure is described at
> -http://taskwarrior.org/docs/server_configure.html but has been somewhat
> -simplified on OpenBSD:
> +This procedure is described at:
> +
> +http://taskwarrior.org/docs/taskserver/configure.html
>  
>  Generate certificate files
>  --------------------------
> -In ${PREFIX}/share/examples/taskd/pki/ is a set of scripts that can be
> -used to generate necessary files. Copy that directory somewhere safe and
> -adjust vars to your liking.
> -generate.server will automatically generate certificate with the
> -hostname and IPs of machine it is ran on, adjust the vars file to
> -override this.
> -Once you're satisfied with settings, run:
> +Copy everything under ${PREFIX}/share/examples/taskd/pki to a directory
> +where you have write permission, edit the contents of the var file to
> +match your needs, and then run the generate script:
>  
>    $ ./generate
>  
> -
>  Copy certificates in place
>  --------------------------
> -Copy resulting certificates into taskd's directory:
> +Copy the following certificate files and keys to /var/taskd:
>  
>    # cp {client,server}.{cert,key}.pem server.crl.pem ca.cert.pem \
>        /var/taskd
> @@ -35,96 +39,110 @@ Copy resulting certificates into taskd's
>  
>  Running taskd
>  =============
> -taskd by default listens on all interfaces on port 53589. You can change
> -this with a command like:
> +taskd by default listens on 127.0.0.1 port 53589. You can change this
> +by editing /var/taskd/config, or with a command like:
>  
>    # su -m _taskd -c \
>       "taskd config --force server localhost:12345 --data /var/taskd"
>  
> -To enable automatic startup on boot for taskd, add it to pkg_scripts
> -in ${BASESYSCONFDIR}/rc.conf.local, for example:
> -
> -   pkg_scripts="${pkg_scripts} taskd"
> -
> -To start taskd, reboot or start it manually:
> +taskd comes with an rc.d script that can be used to start it manually,
> +or enable it to start automatically on boot.
>  
> -   # rcctl restart taskd
> +  # rcctl start taskd
> +  # rcctl enable taskd
>  
>  
>  Adding users
>  ============
> -As described at http://taskwarrior.org/docs/server_user.html
> -
> -For most operations here you'll either have to
> -  # export TASKDDATA=/var/taskd
> +Before you can sync with the server you must create at least one user
> +and organization.  This procedure is described at:
>  
> -or run taskd with '--data /var/taskd' appended to it's options.
> +http://taskwarrior.org/docs/taskserver/user.html
>  
> -Create organization and user
> -----------------------------
> -First you need to create an organization to put user(s) into:
> +Create organization
> +-------------------
> +First, you must create an organization (in this example it is named
> +Public):
>  
>    # su -m _taskd -c "taskd add org Public --data /var/taskd"
>  
> -  Created organization 'Public'
> +Create user
> +-----------
> +Next, create a user as part of that organization:
>  
> +  # su -m _taskd -c \
> +     "taskd add user Public 'First Last' --data /var/taskd"
>  
> -Then you can proceed with creating a user:
> -
> -  # su -m _taskd -c "taskd add user 'Public' 'First Last' --data /var/taskd"
> -  New user key: cf31f287-ee9e-43a8-843e-e8bbd5de4294
> -  Created user 'First Last' for organization 'Public'
> -
> +Be sure to remember the user key mentioned in the output of that
> +command.  It is required by the client configuration later in order
> +to authenticate with the server.
>  
>  Create user certificate
>  -----------------------
> -Go again to the directory where you copied the pki scripts, and run:
> +Finally, you must generate a certificate for that user.  Go back to the
> +directory where you copied everything from
> +${PREFIX}/share/examples/taskd/pki and run (replacing first_last with
> +the filename you want for this user's certificate and key):
>  
>    $ ./generate.client first_last
>  
> -This will generate a new key and cert, named first_last.cert.pem and
> -first_last.key.pem. It is not important that 'first_last' was used here,
> -just that it is something unique, and valid for use in a file name.
> -
>  
>  Configure taskwarrior
>  =====================
> -As described at http://taskwarrior.org/docs/server_taskwarrior.html
> +Now taskwarrior must be configured to connect to this taskd server and
> +authenticate as this user.  This procedure is described at:
> +
> +http://taskwarrior.org/docs/taskserver/taskwarrior.html
>  
> -You will need following information from above processes:
> -  CA ca.cert.pem
> -  Client certificate: first_last.cert.pem
> -  Client key: first_last.key.pem
> -  User key (yours will be different): cf31f287-ee9e-43a8-843e-e8bbd5de4294
> -  Organization: Public
> -  Account name: First Last
> -  Server:port host.domain:53589
> +Copy the ca.cert.pem file and user certificate and key files
> +(first_last.cert.pem and first_last.key.pem in the example above) that
> +you just generated to the users' local task directory, ~./task:
>  
>    $ cp first_last.cert.pem ~/.task
>    $ cp first_last.key.pem  ~/.task
>    $ cp ca.cert.pem         ~/.task
> +
> +Configure taskwarrior to use these certificates and connect to this
> +server by either editing ~/.taskrc, or with commands like:
> +
>    $ task config taskd.certificate ~/.task/first_last.cert.pem
>    $ task config taskd.key         ~/.task/first_last.key.pem
>    $ task config taskd.ca          ~/.task/ca.cert.pem
>    $ task config taskd.server      host.domain:53589
> -  $ task config taskd.credentials 'Public/First 
> Last/cf31f287-ee9e-43a8-843e-e8bbd5de4294'
> +
> +Finally, configure taskwarrior to authenticate as the user created
> +above, replacing "Public" with the name of the organization you created,
> +"First Last" with the name of the user, and "cf31f287-..." with the
> +value of the user key that you remembered from the output of the "taskd
> +add user" command:
> +
> +  $ task config taskd.credentials \
> +     'Public/First Last/cf31f287-ee9e-43a8-843e-e8bbd5de4294'
>  
>  
>  Syncing Taskwarrior
>  ===================
> -As described at http://taskwarrior.org/docs/server_sync.html
> +You should now be able to sync with this taskd server.  This procedure
> +is described at: http://taskwarrior.org/docs/taskserver/sync.html
>  
> -First time sync is special, and needs to be done only once:
> +Very first sync
> +---------------
> +The very first sync is special, but only needs to be done once:
>  
>    $ task sync init
> -  Please confirm that you wish to upload all your pending tasks to the
> -  Task Server (yes/no) yes
> -  Syncing with host.domain:53589
> -  Sync successful.  2 changes uploaded.
>  
> +This will prompt you to confirm that you want to sync your existing
> +tasks with this server.
>  
> -Afterwards you simply run:
> +Subsequent syncs
> +----------------
> +After the very first sync you can sync again at any time by simply
> +running:
>  
>    $ task sync
> -  Syncing with :
> -  Sync successful.  1 changes uploaded.
> +
> +Troubleshooting
> +---------------
> +If you encounter any problems syncing with this taskd server you
> +should check if your problem is already described at
> +http://taskwarrior.org/docs/taskserver/troubleshooting-sync.html
> Index: pkg/taskd.rc
> ===================================================================
> RCS file: /work/cvsroot/ports/productivity/taskd/pkg/taskd.rc,v
> retrieving revision 1.1.1.1
> diff -p -u -r1.1.1.1 taskd.rc
> --- pkg/taskd.rc      12 Jul 2014 22:08:35 -0000      1.1.1.1
> +++ pkg/taskd.rc      15 Jan 2016 15:19:47 -0000
> @@ -7,4 +7,8 @@ daemon_user="_taskd"
>  
>  . /etc/rc.d/rc.subr
>  
> +rc_pre() {
> +        install -d -o _taskd /var/run/taskd
> +}
> +
>  rc_cmd $1
> 

Reply via email to