Fix x64 Windows build on VS 2010

This fixes a rather odd issue caused by including the resource file in the
static library. See http://public.kitware.com/Bug/view.php?id=11240 for
more information.

Change-Id: Ibe0b0b82f85defb8ad2da37e26889a5e1bc4374c
Reviewed-on: http://review.couchbase.org/42143
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
fix typo in couchbaseS target

LCB_CORE_CFLAGS, not LCB_CORE_FLAGS

Change-Id: I1a616b7b481bd0c066917a6c3d86117186afa5bc
Reviewed-on: http://review.couchbase.org/42144
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
cbc: Hide datatype/snappy features

The server doesn't use them currently, so we shouldn't display them in
the CBC output.

Change-Id: Ie34e73c795a9d4c6ebbbb0d4b7e2437ac7d8fa5e
Reviewed-on: http://review.couchbase.org/42132
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Add the various pillowfight changes to the release notes

Change-Id: I0f520907da7558f6bc7b1c31495284c76793937d
Reviewed-on: http://review.couchbase.org/42133
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Add string cntl for http poolsize

Change-Id: Ie70e84f89098a545194e728a9ea000bee1e58802
Reviewed-on: http://review.couchbase.org/42166
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Allow console logger to log to alternate FILE

This allows the console logger to log somewhere other than stderr. This
may be controlled by a (currently undocumented) environment variable
`LCB_LOGFILE`.

Change-Id: I916321bbe8bb137da8c521851fa7d7b6b6b72f55
Reviewed-on: http://review.couchbase.org/42167
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CONLOGGER_LEVEL should exit if already configured

This seemed to have already been the intention in the code, but we
shouldn't override this if already present.

Change-Id: I751c227949a71d8424c1aaa33b1c83360602b3eb
Reviewed-on: http://review.couchbase.org/42168
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Make http subsystem more chatty on errors

This lets us see various issues in the logs

Change-Id: I634d8b9718de345f82db1af67f157695ae495e6e
Reviewed-on: http://review.couchbase.org/42169
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Only send out request body on PUT/POST

While technically the HTTP spec allows a request body with requests
other than `GET` (or more specifically, it does not explicitly disallow
it), it still causes confusion in ns_nserver with rather odd to debug
behavior.

Rather than propagate this behavior up the stack, let's ignore it and
try to do the right thing.

Change-Id: Ifaeb5c66bd9bd9826bb56f211387a177dc27325b
Reviewed-on: http://review.couchbase.org/42170
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-523: Disable support for SSLv3

This disables the usage of SSLv3 and by extension disables being
affected by the 'POODLE' attack.

This patch also will log to the screen with information about the
current SSL version and cipher being used.

Note that while the name of this method is SSLv23_client_method,
this actually allows support for all versions of the SSL protocol. We
explicitly disable support for SSLv2 and SSLv3 later on.

Change-Id: I08cb31a112b5ecf2c41f24c116fed0843c1a50b4
Reviewed-on: http://review.couchbase.org/42172
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
cbc: make cbc cat more consistent with newlines and values

Most values do not have newlines. We should still take care to clear the
terminal in such a scenario.

Change-Id: Idee48870637744717f11644d1e5e39f9960509a8
Reviewed-on: http://review.couchbase.org/42185
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
cbc: print size of items

Change-Id: Ic36a409fd9c5cc7d797b4336c611f9c7c9ccae55
Reviewed-on: http://review.couchbase.org/42186
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
pillowfight: Histogram dump fixups

- Always dump histogram at end of workload
- Use cleaner printf rather than C++ 'iostream' interface
- Use proper header if in "Run" or "Populate" phase.

Change-Id: I8bf129780218c4306fea860d993671a4807f8b58
Reviewed-on: http://review.couchbase.org/42184
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Fix segfault when SSL is disabled

This would previously revert to using a macro which did not properly
initialize the error variable (leaving it as random garbage). Depending
on the contents of the uninitialized memory, this would either yield an
`LCB_SUCCESS` or something else that was odd.

This fix explicitly uses a different implementation of lcbio_ssl_new()
which ensures that a proper (new) error code is returned if SSL is not
built into the client library.

Change-Id: Ibab8729e2a75ccc4a42593c42f3828f994f2643f
Reviewed-on: http://review.couchbase.org/42241
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Include <arpa/inet.h> when checking for htonll

Otherwise we clobber htonll in OS X Yosemite

Change-Id: Ica6b24e6752e7f4d68974ea613d460d8b94bacea
CCBC-527: Durability timer fixes

Change-Id: I1d0a9138f1018b1408fc8e89b452fbbbcbe0dbc5
Never retry node-specific commands

Items placed in the retry queue are rerouted based on their vbucket.
Commands which have no vbucket and thus may be sent to any server; or
commands which are forwarded to a specific server should never be
retried.

Change-Id: I1d6417e541dbcb0591a8bcdb2faa40d818e4aaa4
mcreq_dump_packet: Provide string interpretations of flags

Change-Id: I9049ec7065ac4338899977d0014fab00b55c47e0
CCBC-528: Fix potential buffer corruption if observe body > 512b

If a single observe command exceeds 512 bytes, we might end up in a
situation where the values are silently discarded away.

This patch fixes this by replacing the ringbuffer system with the newer
and more straight-forward lcb_string (we don't need an erasable buffer).

Change-Id: I6d4ccd39659713af8c13e75abaa74038e75ae98a