Document versions for interfaces and features

Add version and compatibility information to all manual pages.
Command-line and configuration options, ACL methods, environment
variables, client library APIs, and other major features are now
annotated with the version of remctl in which they were added.

Change-Id: I739e0d1fbb60f4c02cf309bb5d81561fa494bdad
Reviewed-on: https://gerrit.stanford.edu/1429
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Clean up various bugs and wording issues in protocol specs

Make sure that the protocol documents are consistent in how they
refer to various protocol versions.  Warn that the permitted behavior
of splitting argument size across MESSAGE_COMMAND continuations is
not guaranteed to continue to be supported.  Fix documentation that
said MESSAGE_NOOP couldn't be sent by the client.  Fix various other
minor issues and wording problems.

Change-Id: I0f77f5adb780632aa990b376593fad9472662731
Reviewed-on: https://gerrit.stanford.edu/1431
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Add TODO item to not allow weird MESSAGE_COMMAND splitting

Change-Id: Ib7ec05e75af9a8be8e7a57b283909719e11f4500
Reviewed-on: https://gerrit.stanford.edu/1432
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Reset SIGPIPE before running processes

Reset the SIGPIPE signal handler before running a command.  The server
sets SIGPIPE to SIG_IGN, which unlike all other signal handlers is
inherited across an exec.  Reset the handler to SIG_DFL so that
commands get default SIGPIPE handling.

Change-Id: Id8ac960ca1d53bbeafd03142a4b34bb3b3d088db
Reviewed-on: https://gerrit.stanford.edu/1433
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Increase buffer size for timeout tests

Linux has apparently increased the amount of data it's willing to
buffer on network writes, so increase our data size to 8MB from 4MB
to force a timeout.

Change-Id: Iad69b496eece9b543aa77aa4ec9c2e1f98b6e06d
Reviewed-on: https://gerrit.stanford.edu/1477
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Update module versions for the new package version

Change-Id: I591aa7c606f8afe7f87c65e56fa15cefa7973fc8
Reviewed-on: https://gerrit.stanford.edu/1478
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Update to rra-c-util 5.4

* Use Lancaster Consensus environment variables to control tests.
* Work around perltidy bug that leaves behind stray log files.

Change-Id: I2b41884f3bedfd899b202ee277bcad90e44c379f
Reviewed-on: https://gerrit.stanford.edu/1479
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Add more stopwords in the POD documentation

Change-Id: I7b6ea2acfb3e3e6e9cd463cfe2c81208205c52bf
Reviewed-on: https://gerrit.stanford.edu/1480
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Increase the buffer size on timeout tests

* Add upstream patch to increase the buffer size on timeout tests.
  Linux has apparently increased the size of network writes it is
  willing to buffer internally, so we now have to write more data to
  force a timeout.  (Closes: #743991)

Change-Id: Iadb0be1c5398d506bcd0f0fccebcc47f66341730
Use gem2deb to build the Ruby module

* Use gem2deb to build and install the Ruby module.  This will
  automatically use the current supported Ruby versions, avoiding the
  need for sourceful uploads for new Ruby releases.  Thanks to Christian
  Hofstaedtler for the patch.

Change-Id: I6b584abb92de359f1873b30466aec2e1eeec7db5
Remove now-unneeded Lintian override for the upstream signing key

Change-Id: Iba64ba2490007f53de2dd19c33508220aa4ca963
Ignore stray Ruby remctl module

Ignore the Ruby module installed by the upstream build system, since
gem2deb will take care of building the module repeatedly and
installing it in an appropriate location.

Change-Id: I52b4371a34dec333d009d2e7c0f48de776f0882e
Fix new Ruby build method

dh_ruby --install has to be called explicitly.  The debhelper
add-on doesn't do that automatically since it assumes that Ruby
will be detected as the top-level debhelper build system.  Also
add the Pre-Depends and XB-Ruby-Versions debian/control fields
that use the dh_ruby substvars.

Change-Id: I39185a8b6e548023b0a5ada91881d959681776e9
Add a Lintian override for the dual-licensed protocol specification

Change-Id: Idb20e8cf7b411d46d40537fe1900ddf36f72a936
Finalize changes for 3.8-2

Change-Id: Ib23712589ad8410760ef528f80a0f83d1f551d7f
Tighten build dependency on gem2deb

* Build-Depend on the version of gem2deb with working multi-binary
  package support for native extensions.

Change-Id: I2328d58c71d161c68cc7376fd167e20157234c31
Fix exclusion rule to ignore the local Ruby module

* Fix the exclusion rule for dh_install --fail-missing to ignore the
  Ruby module under both the 2.0 and 1.9.1 paths.  (dh_ruby --install
  will go back and install the module in the correct locations.)  Should
  fix FTBFS in Ubuntu, which still has Ruby 1.9.1.

Change-Id: I5e16acae77fc6755d812de6f780ab93e41d0ade2
Finalize changes for 3.8-3

Change-Id: I5a1d0ace13547b9f920cdcc0e6ac6a70eb00714c
Fix Upstream-Contact email address in debian/copyright

Change-Id: I9dd04b7ebcf62a49d145f75fc6581da31bf53bae
Update to rra-c-util 5.5 and C TAP Harness 3.1

Update to rra-c-util 5.5:

* Use calloc or reallocarray for protection against integer overflows.
* Suppress warnings from Kerberos headers in non-system paths.

Update to C TAP Harness 3.1:

* Add breallocarray API for error-checked reallocarray in tests.
* Check for integer overflow on memory allocations.

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