Update packaging metadata for 2.4.0-beta

- Note that the debian changelog has its '*' bullets removed. This is
  intentional as Debian inserts its own bullets (per dpkg-parsechanges).
- References to the cbcrc(4) manpage has been restored.

Change-Id: I77cbbaa601cb8755c4657692535e9c111810cf80
Reviewed-on: http://review.couchbase.org/39336
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Remove lcb_server_t name. Use only mc_SERVER

Change-Id: I24071eab1c396c88f08ae7df0270c167e49453b8
Reviewed-on: http://review.couchbase.org/39382
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Remove lcb_error_handler. Invoke callback directly

We only use this in one place now, so remove the extra cruft in error.c

Change-Id: Iab0419e51cc8cb1230713d0eacae460ab1580d0d
Reviewed-on: http://review.couchbase.org/39383
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Split t_mock into relevant categories

This command splits the file into:

* mock-unit-test.cc (for the base class)
* t_netfail.cc (for tests which test failure/topology change paths)
* t_misc.cc (for various non-failure tests)
* t_regression.cc (move some regression tests in there)

Build files do not need to be modified since they are automatically
globbed during configure/generation

Change-Id: Idbf7306c279bf511ab791cee9655acad6cdbdb31
Reviewed-on: http://review.couchbase.org/39456
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Add detailed lcb_cntl tests

We've just changed some of the handlers to become macros - we need tests
for this in case something silly happens.

Change-Id: I1bd4ac2323323bb87382c569d46a77fd6a20301e
Reviewed-on: http://review.couchbase.org/39457
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Remove tests/test.h (unused)

Change-Id: I00df164d66bf817cff92567436cc4e56bd5543a0
Reviewed-on: http://review.couchbase.org/39460
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
cntl.c: Add common macros for definitions

This makes the file smaller and easier to read by cutting out the
boilerplate prototype

These changes somewhat deviate from the normal style in the rest of our
code, however since this file is mainly repetitive, it's best to keep
the boilerplate to a minimum so that we can easily add to this file and
analyze it later on -- paying more attention to those handlers which
actually do something special, rather than simple getters/settings/basic
error handling.

Change-Id: Ifd78a93d7dab95a4d30c12e987ab20be7d2f3221
Reviewed-on: http://review.couchbase.org/39390
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
.gitignore: remove generated manpage entries

Change-Id: I61460337f8fd79c99765589ed67a973ada7a7d74
Reviewed-on: http://review.couchbase.org/39391
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
CCBC-477: Be more careful with failing providers

- bc_cccp should cancel its timeout upon receipt of a successful config
- confmon should not switch to the next provider upon failure unless a
  refresh has been requested.

Change-Id: Ic29b68925e2ea2a6f0884f61834d38aa9ce102d9
Reviewed-on: http://review.couchbase.org/39392
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Move genhash to contrib

This isn't part of the core

Change-Id: Ida0a40df2c811de05e4ee9b6cd8811b3ef5bc4eb
Reviewed-on: http://review.couchbase.org/39385
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
instance.c: Remove extraneous comments

These comments were added long ago when we didn't have actual
documentation. Now they just add line noise

Change-Id: I00e3ea08220c485841f624c0ccb511455d46b768
Reviewed-on: http://review.couchbase.org/39386
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-475: Add SSL error codes and messages

This commit introduces a bit more correctness when returning SSL-related
errors to users.

Two new error codes have been introduced:
- LCB_SSL_ERROR: Returned when initialization of SSL fails
- LCB_SSL_CANTVERFIY: Returned when the server's certificate cannot be
  verified.

LCB_PROTOCOL_ERROR is now returned when it seems we are not talking to
an SSL host.

Unfortunately openssl's error codes are not very well documented so it
is still likely for other cases to slip through the cracks in this
commit.

Change-Id: Ie85ba2a555224cc43cdd27764e79cfada9c79ecc
Reviewed-on: http://review.couchbase.org/39320
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
cntl: Change newer ctls to accept int rather than enum

Enum types in C do not have a fixed underlying type; thus if we add new
values to the enum we risk potentially breaking ABI. Additionally,
accepting int allows more flexibility when dynamically wrapping ctl
operations like some SDKs do.

Change-Id: I9b52d97aab22ab76af4ab0d4cb4acb9ece48b793
Reviewed-on: http://review.couchbase.org/39453
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
cntl.h: SSL options are read-only currently

Change-Id: I5491489f462ad82ac8937019b18a794807316aa6
Reviewed-on: http://review.couchbase.org/39454
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
RPM: Add %{dist} to output name

This helps us identify the particular release an RPM was built for.

Change-Id: I8dc497411e09c51bd0e81e078cf4ae81aad8f687
Section out internal ctls into a different file

These settings are internal and are not needed by normal users. They are
in the public API because they are used by some SDKs for various reasons
and thus are not unsupported or deprecated; however it is unhelpful to
have them in the listing among the settings a user might actually care
about.

Change-Id: I3a1b4ab5aca1a7a54b957dd88077746ce57606c9
check-all: don't ignore -j option

Change-Id: I669213ae20862f9e5d7798386339c9530872ad6a
Delete unused win32/inttypes.h file

This file didn't do anything anyway

Change-Id: Ie7f608a45f0d257b57b32ead6658b4425797a33a
SSL Build fixups

- Fix noop definition of lcbio_ssl_new() [ was modified for the CCBC-475
  commit]
- Declare lcbio_ssl_check and lcbio_ssl_get_error to be exported via
  LCB_INTERNAL_API. This is needed as these functions are now used in
  ctx.c which is itself tested from within sock-tests

Change-Id: I34fbc58fdf319df77149b1824b2b9b624407c5ad
autotools: disable distcleancheck

distcheck is a very helpful way to verify the distribution files are in
tact and that the package is configured correctly. However by design we
leave some files in the source tree (specifically, ones we've
downloaded) to avoid re-downloading them in the event of make distclean
&& ./config/autorun.sh && ./configure - which is a good way to clean and
rebuild the distribution.

This file disables the distcleancheck rule which would otherwise return
an error code because those downloaded files are present.

See
http://www.gnu.org/software/automake/manual/html_node/Checking-the-Distribution.html
for more information

Change-Id: Ieaca5d4ae0d2c82ea1a9a1c342019747e6c8d7cb