Update to rra-c-util 4.8 and C TAP Harness 2.0

Update to rra-c-util 4.8:

* Improve Perl module tests.
* Cleanly passes clang --analyze.

Update to C TAP Harness 2.0:

* runtests now treats the command line as a list of tests by default.
* The full test executable path can now be passed to runtests -o.
* Improved harness output for tests with lazy plans.
* Improved harness output to a terminal for some abort cases.
* Flush harness output after each test even when not on a terminal.

Copy the Test::RRA::* libraries into the perl directory rather than
retaining two copies.  Add synopsis testing.  Update the Perl manifest
for the current state of the world.  Fix various issues with the clean
and distclean targets not handling the Perl directory properly.

Change-Id: I75d733331d1d28f8a9976f7629239640cff17756
Reviewed-on: https://gerrit.stanford.edu/946
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Add additional clean targets for the Perl module build

Have it clean up its own cover_db file and generated test scripts.

Change-Id: I9486b88b9c7ceb652a46c8d0af4e6441a2b9714f
Reviewed-on: https://gerrit.stanford.edu/947
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Diagnose empty commands in remctl_command

Return an error if an empty command is passed into remctl_command
rather than attempting to malloc zero bytes.

Change-Id: I92c52be3ae737cc906acc3385c2b4b9d6474f7a4
Reviewed-on: https://gerrit.stanford.edu/948
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Avoid passing uninitialized GSS-API statuses to error reporting

Caught by clang --analyze in the client open code.  This shouldn't
matter since the error code wouldn't be TOKEN_FAIL_GSSAPI, but be
clean anyway.

Change-Id: I4c8c82f3d53603c06720b2e1d00ff8a559529879
Reviewed-on: https://gerrit.stanford.edu/949
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Remove dead store in the server code

Found by clang --analyze.

Change-Id: I1124369a979105c7a04feccb2160fadc04417e5b
Reviewed-on: https://gerrit.stanford.edu/950
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Correctly handle NULL pointers in the test suite

Add conditionals or calls to bail() in the test suite when remctl
API calls could return NULL.  Caught by clang --analyze.

Change-Id: Iacd20576a3836b4d5409d3ab48cb4b9fc753ff42
Reviewed-on: https://gerrit.stanford.edu/951
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Add NEWS entry for Net::Remctl::Backend

Change-Id: I175f0b4803ac5c5cfaae9f58aa3de8ccf9a3ed56
Reviewed-on: https://gerrit.stanford.edu/952
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Release 3.4

Change-Id: I7bbf8565621cc87d2d9af740bdf38e6b586a2a04
Reviewed-on: https://gerrit.stanford.edu/953
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Update the version number of Net::Remctl::Backend

Track the version number of remctl itself.

Change-Id: Ib979ba49f73b2ed3317c35dadbc9c18c3583f327
Reviewed-on: https://gerrit.stanford.edu/954
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Add new files to the distribution

Change-Id: I4adad38bb1d667466febfdd16e784b7435dd708b
Reviewed-on: https://gerrit.stanford.edu/955
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
In tests/runtests, test for each suffix in every file path

We can't have the base file path be the outer loop, since then we
find the xmalloc helper binary in build rather than the xmalloc-t
test in source.  Instead, search all the bases for a given suffix
before moving to the next suffix.

Change-Id: Iff0fb41094e722c3923c6b9307def7fc619a44b3
Reviewed-on: https://gerrit.stanford.edu/956
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Add missing Perl files to PERL_FILES in Makefile.am

Change-Id: Ie34b054e2effc341782fd54df5c596135320e084
Reviewed-on: https://gerrit.stanford.edu/957
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Further cleanup to runtests test script finding

Fix a bug introduced in the previous commit and use the ARRAY_SIZE
macros for loop bounds.

Change-Id: I52c1e6efaef52534b88bedb2923769a5efc783bc
Reviewed-on: https://gerrit.stanford.edu/958
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Remove a Kerberos v5 reference from README

Change-Id: Ia36630cfddc10a1a5c46f2f5504eb1b34925694c
Reviewed-on: https://gerrit.stanford.edu/966
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Update remctl 3.4 release date

Change-Id: I98ed62161634bf70a0cb72cdd178ba8a757ba889
Reviewed-on: https://gerrit.stanford.edu/967
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
remctl 3.4 is actually synchronized with C TAP Harness 2.1

Update the version number in NEWS.

Change-Id: Id8c4ee601592b8eb4b6057365588ae487fbd2fda
Reviewed-on: https://gerrit.stanford.edu/968
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Don't copy nonexistent test configuration to Perl tests

The Kerberos test configuration files are optional.  Don't
unconditionally try to copy them into the Perl test suite, since
this will fail if the user hasn't set them up.  Instead, make the
copies conditional on the existence of the files.

Change-Id: Ica734b137cc4411af90da2e9adf7b201d98141e1
Reviewed-on: https://gerrit.stanford.edu/969
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Resynchronize README against my web pages

Add some additional dependency information for the Perl test suite
and update wording with some details from my web pages.

Change-Id: I0a2155fc732f72b5828ccd312835a8d492da1dac
Reviewed-on: https://gerrit.stanford.edu/970
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>