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