aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-couchbase.c
AgeCommit message (Collapse)AuthorFilesLines
2017-09-14couchbase: detect XERROR responses and dissect them as JSONSergey Avseyev1-1/+10
Change-Id: Ia2565090f8dc30e17cd6a16614136d237577d282 Reviewed-on: https://code.wireshark.org/review/23535 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-09-05Fix unitialized variable warnings that popped up with -OgJoão Valverde1-1/+1
Using GCC version 7.1.1. Change-Id: I7447a48fc97efb1eb15a016a29165f69d37f40a6 Reviewed-on: https://code.wireshark.org/review/23399 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
2017-09-02couchbase: fix full-doc commands of subdocSergey Avseyev1-5/+7
They do not have path, so the min_spec_size should be smaller Change-Id: I5a77bcf742be5f8a00f0cf7a215f386a845673fa Reviewed-on: https://code.wireshark.org/review/23349 Petri-Dish: Anders Broman <a.broman58@gmail.com> Reviewed-by: Dave Rigby <daver@couchbase.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-08-25couchbase: update HELLO featuresSergey Avseyev1-7/+12
Change-Id: Icff1932cd41334fcf04016f3616a99ac4293ebef Reviewed-on: https://code.wireshark.org/review/23198 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-08-18couchbase: update status codesSergey Avseyev1-1/+40
Change-Id: I7f0950d82c50c8f019d844d726ffe7a0015618c5 Reviewed-on: https://code.wireshark.org/review/23117 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-08-14Couchbase: Add doc flag support to dissectorolivermd1-11/+64
This patch makes required changes to be able to dissect packets that use the new subdoc doc flags. This involved modifying the existing subdoc flags, creating the new docs flags and modifying the extras dissector. Change-Id: Iaaf5e58d778ca5f54f76c9d27680df68eee8b7bd Reviewed-on: https://code.wireshark.org/review/23032 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2017-08-10Couchbase: Add get error map cmdolivermd1-0/+13
Change-Id: I9ca47fa0f77edd0ce94d2fe4cb098b5ff2786749 Reviewed-on: https://code.wireshark.org/review/23030 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2017-07-13couchbase: fix decoding last lookup specSergey Avseyev1-1/+1
Change-Id: I96ae6225adee6875adad9e45c0543b9664b96e8a Reviewed-on: https://code.wireshark.org/review/22605 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-02-21couchbase: Fix Dead Store (Dead assignement/Dead increment) Warning found by ↵Alexis La Goutte1-2/+1
Clang Change-Id: I9f5f91925607582f40855ca1a08875e83d62f4eb Reviewed-on: https://code.wireshark.org/review/20205 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-02-21Couchbase: Add SSL supportolivermd1-6/+23
Change-Id: I468f92c20184a6e5f5bd1f07d94c0b605c0593dc Reviewed-on: https://code.wireshark.org/review/20149 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-02-16Couchbase: Add support for XATTRsOliver Downard1-11/+141
Please see https://issues.couchbase.com/browse/MB-22004 Alters subdoc dissecting to support XATTRs Accomodates for the addition of the XATTR HELLO flag Changes SET_WITH_META to support XATTRs Changes DCP mutation/deletion to support XATTRs Change-Id: I4ff6e498b96c329d51167daf58a6d85c1f0c77c4 Reviewed-on: https://code.wireshark.org/review/20062 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-02-06Couchbase: Add decoding for create_bucket configOliver Downard1-2/+71
Change-Id: I7d84e67723196d9b39f6007950ec8fb95fe9a50e Reviewed-on: https://code.wireshark.org/review/19934 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2017-02-03Add support for Couchbase LWW *_with_meta commandsolivermd1-0/+87
Decodes the options and meta length fields added with LWW for {set,del}_with_meta request commands. Decodes get_meta responses extra field. Please see https://issues.couchbase.com/browse/MB-22003 Change-Id: Ie5205e8188a32d59145c4f9c499b16c7a7997274 Reviewed-on: https://code.wireshark.org/review/19928 Reviewed-by: Dave Rigby <daver@couchbase.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2017-01-10Rename tvb_new_subset() to tvb_new_subset_length_caplen().Guy Harris1-4/+4
This emphasizes that there is no such thing as *the* routine to construct a subset tvbuff; you need to choose one of tvb_new_subset_remaining() (if you want a new tvbuff that contains everything past a certain point in an existing tvbuff), tvb_new_subset_length() (if you want a subset that contains everything past a certain point, for some number of bytes, in an existing tvbuff), and tvb_new_subset_length_caplen() (for all other cases). Many of the calls to tvb_new_subset_length_caplen() should really be calling one of the other routines; that's the next step. (This also makes it easier to find the calls that need fixing.) Change-Id: Ieb3d676d8cda535451c119487d7cd3b559221f2b Reviewed-on: https://code.wireshark.org/review/19597 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-10-08Combine Decode As and port preferences for tcp.port dissector table.Michael Mann1-25/+2
This patch introduces new APIs to allow dissectors to have a preference for a (TCP) port, but the underlying data is actually part of Decode As functionality. For now the APIs are intentionally separate from the regular APIs that register a dissector within a dissector table. It may be possible to eventually combine the two so that all dissectors that register with a dissector table have an opportunity to "automatically" have a preference to adjust the "table value" through the preferences dialog. The tcp.port dissector table was used as the guinea pig. This will eventually be expanded to other dissector tables as well (most notably UDP ports). Some dissectors that "shared" a TCP/UDP port preference were also converted. It also removed the need for some preference callback functions (mostly when the callback function was the proto_reg_handoff function) so there is cleanup around that. Dissectors that has a port preference whose default was 0 were switched to using the dissector_add_for_decode_as_with_preference API rather than dissector_add_uint_with_preference Also added comments for TCP ports used that aren't IANA registered. Change-Id: I99604f95d426ad345f4b494598d94178b886eb67 Reviewed-on: https://code.wireshark.org/review/17724 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-09-29packet-couchbase.c: dissect body of DCP_FAILOVER_LOG responseSergey Avseyev1-1/+1
Change-Id: Icbadcc83b5fedea4373d4c65a11700d73b3dc32e Reviewed-on: https://code.wireshark.org/review/17972 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-07-08couchbase: Fix Dead Store (Dead assignement/Dead increment) Warning found by ↵Alexis La Goutte1-1/+0
Clang Change-Id: Ie1e3b071388b3527bba1088af69d76dcb8d6981a Reviewed-on: https://code.wireshark.org/review/16333 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-07-06packet-couchbase.c: describe observe-seqno (0x91)Sergey Avseyev1-2/+70
Change-Id: I6018a57a8ae947ee68aa35901398d504d35b99c7 Reviewed-on: https://code.wireshark.org/review/16312 Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
2016-03-20Manually add protocol dependencies derived from find_dissector.Michael Mann1-1/+1
Started by grepping call_dissector_with_data, call_dissector_only and call_dissector and traced the handles passed into them to a find_dissector within the dissector. Then replaced find_dissector with find_dissector_add_dependency and added the protocol id from the dissector. "data" dissector was not considered to be a dependency. Change-Id: I15d0d77301306587ef8e7af5876e74231816890d Reviewed-on: https://code.wireshark.org/review/14509 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-02-20Couchbase: Dissect optional expiry in subdoc mutation requestsDave Rigby1-13/+38
Add support for dissecting the optional 4-byte expiry field in sub-document API request packets. This is permitted for any single-path mutation request; increasing the length of the extras section from 3 to 7 bytes. Change-Id: I0609dbc6f6a8e62028cd20a28609fc3016e44910 Reviewed-on: https://code.wireshark.org/review/14004 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-02-05couchbase: Fix Dead Store (Dead assignement/Dead increment) Warning found by ↵Alexis La Goutte1-2/+2
Clang Change-Id: Ifee6ba30761cd22a7437f099cbef3764759fe985 Reviewed-on: https://code.wireshark.org/review/13724 Reviewed-by: Dave Rigby <daver@couchbase.com> Reviewed-by: Dario Lombardo <lomato@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-02-05couchbase: Use some unused hf (and remove unused hf...)Alexis La Goutte1-4/+2
Change-Id: I767a334c82c27b06be7e72461b7f3e3d961784b4 Reviewed-on: https://code.wireshark.org/review/13725 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Dave Rigby <daver@couchbase.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-02-04Couchbase: Dissect multi-path mutation responsesDave Rigby1-20/+53
Multi-path mutation responses can have a variable number of values encoded in them: - Successful requests have 0..N values, one for each mutation which wishes to return a value (e.g. SUBDOC_COUNTER) - Unsuccessful requests have 1 value, specifying the index and status of the first failing mutation Add support for decoding a variable number of response values. Change-Id: Ia1f682f7f701829bd808a44ee142ffe912095e15 Reviewed-on: https://code.wireshark.org/review/13688 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-12-09new_create_dissector_handle -> create_dissector_handle for dissector directory.Michael Mann1-1/+1
Some of the ASN.1 dissectors still generate a new_create_dissector_handle from the tool itself, so leave those for now. Change-Id: Ic6e5803b1444d7ac24070949f5fd557909a5641f Reviewed-on: https://code.wireshark.org/review/12484 Petri-Dish: Anders Broman <a.broman58@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-30couchbase: implement comand 0x48 to get vbucket seqnosSergey Avseyev1-1/+74
Also add missing extras definition for DCP buffer acknowledgement Change-Id: I29cd1e4751b92f119627e42329b2dcfdd7c378df Reviewed-on: https://code.wireshark.org/review/11419 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-08-21Couchbase: dissect sub-document commandsDave Rigby1-11/+338
Add support for dissecting Couchbase sub-document commands (those which operate on a subset of a whole document). Example pcap file: https://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=couchbase_subdoc_multi.pcap Change-Id: I5394a6f86c036ebd339574bac4e52f7d0821e4bf Reviewed-on: https://code.wireshark.org/review/10151 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-27Lua: Expose tcp_dissect_pdus() to LuaHadriel Kaplan1-1/+2
Provide a way for Lua-based dissectors to invoke tcp_dissect_pdus() to make TCP-based dissection easier. Bug: 9851 Change-Id: I91630ebf1f1fc1964118b6750cc34238e18a8ad3 Reviewed-on: https://code.wireshark.org/review/6778 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com> Tested-by: Hadriel Kaplan <hadrielk@yahoo.com>
2014-12-22packet-couchbase.c: remove field which does not existsSergey Avseyev1-2/+0
Change-Id: Ia4a2a6127edbb6a92becf22cd6ee689e5e2a7966 Reviewed-on: https://code.wireshark.org/review/5981 Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-12-21Cleanup use of #includes in non-generated epan/dissector/*.cBill Meier1-2/+0
Specifically: - Set packet.h to be the first wireshark #include after config.h and "system" #includes. packet.h added as an #include in some cases when missing. - Remove some #includes included (directly/indirectly) in packet.h. E.g., glib.h. (Done only for those files including packet.h). - As needed, move "system" #includes to be after config.h and before wireshark #includes. - Rework various #include file specifications for consistency. - Misc. Change-Id: Ifaa1a14b50b69fbad38ea4838a49dfe595c54c95 Reviewed-on: https://code.wireshark.org/review/5923 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-12-10packet-couchbase.c: dissect more DCP commandsSergey Avseyev1-1/+97
Change-Id: I0e06c89cdda3c1f8e98412fd20737ff6afd26666 Reviewed-on: https://code.wireshark.org/review/5694 Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-12-02Couchbase: fix missing comma...Alexis La Goutte1-1/+1
Change-Id: Ic86e07b434e693d2f0fbd9518a23ed49cf49f24d Reviewed-on: https://code.wireshark.org/review/5572 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-12-02Couchbase: fix Extended value string 'opcode_vals' forced to fall back to ↵Alexis La Goutte1-9/+10
linear search entry 85, value 128 [0x80] < previous entry, value 245 [0xf5] Change-Id: I14bbe276eef5fdaa70561764ac4e6f2e174ceabe Reviewed-on: https://code.wireshark.org/review/5570 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-12-02Update Couchbase dissectorSergey Avseyev1-118/+300
* Include DCP port to the list default ports * Parse payloads for DCP commands: * OPEN_CONNECTION * ADD_STREAM * STREAM_REQUEST * Reorganize if conditions to cases * Update list of known commands Change-Id: Id37b5c61f0d1084628c6286fd6e4ad722e1d6d99 Reviewed-on: https://code.wireshark.org/review/5388 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-11-18Update Couchbase dissector:Sergey Avseyev1-0/+9
* Register new commands: * 0x5c: DCP_NOOP * 0x5d: DCP_BUFFER_ACKNOWLEDGEMENT * 0x5e: DCP_CONTROL * 0x5f: DCP_RESERVED4 Change-Id: I22d8eb8f6628e07b2e2ab2bc137688329eead1be Reviewed-on: https://code.wireshark.org/review/5385 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-10-28Couchbase: fix no previous prototype for ... [-Wmissing-prototypes]Alexis La Goutte1-0/+3
Change-Id: Ieaefb9d50bf0224f4e90585d138867d0b88d5814 Reviewed-on: https://code.wireshark.org/review/4956 Reviewed-by: Evan Huus <eapache@gmail.com>
2014-10-22Couchbase: fix some warnings found by the pre-commit hookPascal Quantin1-5/+1
Change-Id: I16c8f5690973465728071abdf85c0f275433951e Reviewed-on: https://code.wireshark.org/review/4913 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-10-22Couchbase: fix FSF address and reorder opcode_vals arrayPascal Quantin1-14/+14
Change-Id: I41448f9a111dde24c29984d8e4f053fc2a668c9e Reviewed-on: https://code.wireshark.org/review/4912 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-10-22Add Couchbase dissector (binary protocol)Sergey Avseyev1-0/+1132
Include new Couchbase Server 3.0 DCP support Change-Id: I38d0edd7d135a92c130a60dab650aef0ab1205be Reviewed-on: https://code.wireshark.org/review/2956 Reviewed-by: Michael Mann <mmann78@netscape.net>