aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-http.c
AgeCommit message (Collapse)AuthorFilesLines
2017-08-08We really only need one range_foreach routine.Guy Harris1-4/+4
Rename range_foreach_r() to range_foreach(), getting rid of the old range_foreach(). If your callback doesn't require an additional argument, just pass NULL when calling range_foreach(), and declare the argument as unused. Change-Id: I49a56f90610e39cf2ddc398c9e30ed11a6ca90db Reviewed-on: https://code.wireshark.org/review/23025 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-06-21http: fix handling of HTTP responses followed by proxy responsesPeter Wu1-1/+1
Reused TCP connections with multiple HTTP requests/responses (in particular: HTTP request/response and HTTP proxy request/response) exhibit the following problem: the first response sets "startframe" such that the proxy response accidentally assumes that the proxy response starts in that first response. Fix this by only setting startframe if there is actually a transport upgrade. Tested with original capture and the Websocket dissection still works while Christian's capture has no longer the reported problem. Change-Id: I8a7878b9a2a98878a9e5be4f680d4f109fd8ab55 Fixes: 94ae27661e80 ("WebSocket dissector improvements") Reported-by: Christian Landström Reviewed-on: https://code.wireshark.org/review/22294 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-04-23HTTP: Add status code descriptionUli Heilmeier1-4/+22
This commit adds the IANA status code description to the tree. Furthermore it updates the registered status codes s. https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml Change-Id: I6ec57569b784a137b57532a092c8781dec545039 Reviewed-on: https://code.wireshark.org/review/21162 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-03-08http: Check for valid tcpinfo pointerStig Bjørlykke1-1/+2
In dissect_http_tcp() the data pointer may be NULL so ensure we check for this before dereferencing it. Bug: 13457 Change-Id: I84f4a0e3b416a2829998f20fe59da8770a34e564 Reviewed-on: https://code.wireshark.org/review/20438 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2017-02-26HTTP: do not call g_path_get_basename with a NULL pointerPascal Quantin1-1/+1
If the HTTP request was not found / captured, the request_uri pointer in conversation data is set to NULL. Do not call g_path_get_basename in that case. Bug: 13441 Change-Id: I86eef2072ad4932e8e415580e3144d1d95796c4f Reviewed-on: https://code.wireshark.org/review/20289 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: Michael Mann <mmann78@netscape.net>
2017-01-31format_text_wmem -> format_textMichael Mann1-7/+7
All cases of the "original" format_text have been handled to add the proper wmem allocator scope. Remove the "original" format_text and replace it with one that has a wmem allocator as a parameter. Change-Id: I278b93bcb4a17ff396413b75cd332f5fc2666719 Reviewed-on: https://code.wireshark.org/review/19884 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-01-31Add format_text_wmem.Michael Mann1-7/+7
This allows for a wmem_allocator for users of format_text who want it (dissectors for wmem_packet_scope()). This lessens the role of current format_text functionality in hopes that it will eventually be replaced. Change-Id: I970557a65e32aa79634a3fcc654ab641b871178e Reviewed-on: https://code.wireshark.org/review/19855 Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-01-12uat: add a reset callback.Dario Lombardo1-0/+1
This function will free the resources allocated by the caller. Change-Id: Ib486c14e4fd3c321662fb71f7fd06733ce9a64a4 Reviewed-on: https://code.wireshark.org/review/19375 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-01-10Rename tvb_new_subset() to tvb_new_subset_length_caplen().Guy Harris1-2/+2
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>
2017-01-07Convert range API to always use wmem memory.Michael Mann1-9/+6
This is mostly to address memory leaks in range preferences (the biggest user of range functionality) on shutdown. Now range preferences must use epan scoped memory when referencing internal preference structures to keep consistency. Change-Id: Idc644f59b5b42fa1d46891542b53ff13ea754157 Reviewed-on: https://code.wireshark.org/review/19387 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-12-13Adjust proto_tree_add_uint_format_value calls to use unit stringMichael Mann1-5/+5
Several calls to proto_tree_add_uint_format_value could be better served using BASE_UNIT_STRING with a "unit string" in hf_ field. There also a few cases where proto_tree_add_uint_format_value could just be proto_tree_add_uint. Added a few more "common" unit string values to unit_strings.[ch] Change-Id: Iaedff82c515269c9c31ab9100dff19f5563c932d Reviewed-on: https://code.wireshark.org/review/19242 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-12-02Enable exporting objects with tsharkMoshe Kaplan1-1/+30
A new "--export-object <protocol>,<destdir>" option is added to tshark. This required refactoring Export Object behavior in all GUIs to give the export object handling to the dissector, rather than the ui layer. Included in the refactoring was fixing some serious memory leaks in Qt Export Object dialog, crash due to memory scope issues in GTK Export Object dialog, and addition sorting column feature in Qt dialog (set up by creating a widget to manage the items that were previously leaking memory) Bug: 9319 Ping-Bug: 13174 Change-Id: I515d7662fa1f150f672b1476716f347ec27deb9b Reviewed-on: https://code.wireshark.org/review/18927 Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Tested-by: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-11-22Add prefs_get_uint_value and prefs_get_range_valueMichael Mann1-3/+2
This allows dissectors to not need to know about the internal preference structure. Change-Id: I1ae67248cd0b0132aefc225ea0a9befaf9afdde2 Reviewed-on: https://code.wireshark.org/review/18864 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-10-18Ensure http_tcp_range gets initialized through preference callback.Michael Mann1-0/+4
Bug: 13016 Change-Id: I814c901898790045be0e2003ebe5a8000704b8af Reviewed-on: https://code.wireshark.org/review/18273 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-10-13Convert most UDP dissectors to use "auto" preferences.Michael Mann1-1/+1
Similar to the "tcp.port" changes in I99604f95d426ad345f4b494598d94178b886eb67, convert dissectors that use "udp.port". More cleanup done on dissectors that use both TCP and UDP dissector tables, so that less preference callbacks exist. Change-Id: If07be9b9e850c244336a7069599cd554ce312dd3 Reviewed-on: https://code.wireshark.org/review/18120 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-10-08Combine Decode As and port preferences for tcp.port dissector table.Michael Mann1-13/+19
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-19http: add spdy Upgrade supportPeter Wu1-0/+9
Not found in any specification, but it appears to be implemented by kubernetes (using "SPDY/3.1" value). Ping-Bug: 12874 Change-Id: I9fc7ad2f657a739b415f6801fe0f43f6ef75ca70 Reviewed-on: https://code.wireshark.org/review/17786 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>
2016-09-04ssl,http: rename http-over-ssl to http-over-tlsPeter Wu1-1/+1
This name is displayed in the SSL prototcol tree (Application Data Protocol: http-over-tls), rename to avoid possible user confusion. Modify the SSL dissector such that both "http" and "http-over-tls" invoke the same dissector function. Change-Id: I2d52890a8ec8fa88b6390b133a11df607a5ec3dc Reviewed-on: https://code.wireshark.org/review/17481 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2016-08-31Don't do any Decode As stuff for dissector tables not used with Decode As.Guy Harris1-2/+2
Have all dissector tables have a "supports Decode As" flag, which defaults to FALSE, and which is set to TRUE if a register_decode_as() refers to it. When adding a dissector to a dissector table with a given key, only add it for Decode As if the dissector table supports it. For non-FT_STRING dissector tables, always check for multiple entries for the same protocol with different dissectors, and report an error if we found them. This means there's no need for the creator of a dissector table to specify whether duplicates of that sort should be allowed - we always do the check when registering something for "Decode As" (in a non-FT_STRING dissector table), and just don't bother registering anything for "Decode As" if the dissector table doesn't support "Decode As", so there's no check done for those dissector tables. Change-Id: I4a1fdea3bddc2af27a65cfbca23edc99b26c0eed Reviewed-on: https://code.wireshark.org/review/17402 Petri-Dish: Guy Harris <guy@alum.mit.edu> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-22Pass an HTTP message type to all HTTP subdissectors.Guy Harris1-15/+10
This gets complicated, because those subdissectors might be called by other dissectors as well. We need a better way of passing that sort of out-of-bound information. Pull some routines used for processing Content-Type parameters into common code; we can't guarantee that the media parameters passed in would be writable (passing it as *the* data hid that; passing a structure with that *and* the HTTP message type revealed it), so don't convert it to lower-case in place. Use that information, if available, to determine whether an IPP message is a requet or a response. Change-Id: I4bccc9f05cd0b14ad445be7ab37b3d884d841325 Reviewed-on: https://code.wireshark.org/review/17216 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-22Loosen HTTP token sting requirements so HTTP 1.0 can be included.Tom1-1/+1
Bug: 12770 Change-Id: I5f71072231a752ce6cdedf6f22ce8931a61c39c7 Reviewed-on: https://code.wireshark.org/review/17214 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>
2016-07-22Convert more glib memory to wmem pinfo poolPascal Quantin1-2/+1
Change-Id: I4cc23bc19a6bd8c6a8e0389eaf939dbb60fe0ca3 Reviewed-on: https://code.wireshark.org/review/16562 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>
2016-07-12HTTP: Add request/response arrowsD. Ulis1-2/+2
HTTP has multiple related packets, so seeing which are the actual request/response (related to the current selected packet) is helpful. Change-Id: I833f4f620cfe8bfe9b1d7518c4e28fbd41b64e29 Reviewed-on: https://code.wireshark.org/review/16385 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> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-23Squelch some 64-bit-to-32-bit-shortening warnings.Guy Harris1-4/+8
Change-Id: I64f833abd11d3b2511c235bb353cb5fb7b813b7f Reviewed-on: https://code.wireshark.org/review/16085 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-06-23HTTP: Split URI into path and query. Tokenize parameters.Uli Heilmeier1-3/+40
Split a HTTP URI into path and query. Tokenize the parameters of a query. Bug: 12514 Change-Id: I9892914eba9737c9751936ce62e63497aba61c61 Reviewed-on: https://code.wireshark.org/review/15971 Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-05Initialize all header_field_info membersPascal Quantin1-2/+2
Change-Id: Id86d17f1e321b8cc73fb732aaf674e1420a0a745 Reviewed-on: https://code.wireshark.org/review/15737 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: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-05-31If we've seen HTTP in this conversation mark the frame as being HTTP.Jeff Morriss1-24/+56
... Even if it doesn't look like HTTP. When TCP desegmentation is turned off the dissector will be called with frames that don't look like HTTP--but it's (almost certainly) still HTTP. This adjusts the changes I9f1c736baaeb86f9fab61601d79e79b4e3a16c38 and I2617d1e49030bd5ad85b0e818c48c01dc6fae075--hopefully without breaking the intent of either. Bug: 10335 Change-Id: I925d53d4f82a01aeffa5d129e53100cc4f488561 Reviewed-on: https://code.wireshark.org/review/15136 Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2016-04-17Get rid of trailing white space.Guy Harris1-1/+1
Change-Id: I48754b57693276cffd3a89d70c019878014623fe Reviewed-on: https://code.wireshark.org/review/14945 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-04-17Don't assume the HTTP dissector is being called from the TCP dissector.Guy Harris1-54/+132
It's not - it could be called from the SSL dissector or the SCTP dissector. Create separate dissectors for all of them; they can, if passed appropriate metadata in the "data" argument, process it appropriately for the type of metadata the calling tissector supplies. Bug: 12344 Change-Id: I8d9a2f3173e6de42b31993bbb6c81d161f68bf8c Reviewed-on: https://code.wireshark.org/review/14944 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-04-13HTTP: treat request_uri and file_data as Unicode.Jeff Morriss1-2/+2
These strings were pulled from the TVB using tvb_get_string_enc() (as ASCII) so any non-printable characters have already been replaced with the unicode replacement character. So display the strings as Unicode, not ASCII. Bug: 10681 Change-Id: I64cf51aafcca921c6f9257a2ebd577c599f20883 Reviewed-on: https://code.wireshark.org/review/14899 Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-04-12Add support for HTTP/SCTP.Michael Tuexen1-0/+14
Initially use SCTP port 80, which has been assigned by IANA for HTTP/SCTP. Change-Id: I0f153371b68a15485f8c43e77cbffee8055775b4 Reviewed-on: https://code.wireshark.org/review/14895 Petri-Dish: Michael Tüxen <tuexen@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Tüxen <tuexen@wireshark.org>
2016-04-04Rename "libz" to "zlib"João Valverde1-2/+2
Change-Id: I12f92c983d587c2a4751428cdf299635090c9f0b Reviewed-on: https://code.wireshark.org/review/14748 Reviewed-by: João Valverde <j@v6e.pt> Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-04-01http: set conv dissector from when heuristics succeededPeter Wu1-1/+1
When a conversation starts with SSL (Client Hello) but gets a HTTP response back, then the first SSL request should be preserved. Bug: 12132 Change-Id: I3f9b5c8828bc5c6680945d7cf71740584dd463ab Reviewed-on: https://code.wireshark.org/review/14726 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-03-27Add dissector table for negotiated WebSocket protocolGregor Jasny1-1/+8
This adds the possibility to filter on the negotiated WebSocket protocol from the upgrade response as well as on a specific TCP port Bug: 12298 Change-Id: I8e0b785cec0b8c71ec558b74ac07c81194268b38 Signed-off-by: Gregor Jasny <gjasny@googlemail.com> Reviewed-on: https://code.wireshark.org/review/14645 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-03-20Create call_data_dissector() to call data dissector.Michael Mann1-13/+7
This saves many dissectors the need to find the data dissector and store a handle to it. There were also some that were finding it, but not using it. For others this was the only reason for their handoff function, so it could be eliminated. Change-Id: I5d3f951ee1daa3d30c060d21bd12bbc881a8027b Reviewed-on: https://code.wireshark.org/review/14530 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-03-20Manually add protocol dependencies derived from find_dissector.Michael Mann1-5/+5
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-03-17Associate dissector tables and heuristic subdissector lists with a protocol.Michael Mann1-3/+3
This will make it easier to determine protocol dependencies. Some LLC OUI dissector tables didn't have an associated protocol, so they were left without one (-1 used) Change-Id: I6339f16476510ef3f393d6fb5d8946419bfb4b7d Reviewed-on: https://code.wireshark.org/review/14446 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-02-26HTTP: Fix full_uri when using a ProxyUli Heilmeier1-3/+10
When the HTTP request is transmitted to a Proxy the URI is already a "full URI". Bug was reported by Thomas Baudelet. Bug: 12176 Change-Id: I83f6bdef6fa96233792c6bbe54caad38df0f5fb6 Reviewed-on: https://code.wireshark.org/review/14142 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-01-25Move the proto data stuff out of frame_data.[ch].Guy Harris1-0/+2
It's not tied to the frame_data structure any more, so it belongs by itself. Clean up some #includes while we're at it; in particular, frame_data.h doesn't use anything related to tvbuffs, so don't have it gratuitiously include tvbuff.h. Change-Id: Ic32922d4a3840bac47007c5d4c546b8842245e0c Reviewed-on: https://code.wireshark.org/review/13518 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-24Add the packet number to the packet_info structure, and use it.Guy Harris1-12/+12
That removes most of the uses of the frame number field in the frame_data structure. Change-Id: Ie22e4533e87f8360d7c0a61ca6ffb796cc233f22 Reviewed-on: https://code.wireshark.org/review/13509 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-23Add more fields to packet_info structure and use them.Guy Harris1-2/+2
Add fields for the absolute time stamp (and another field for a presence flag for the absolute time stamp) and the packet encapsulation for the packet. This lets us remove the field for the packet encapsulation in the frame_data structure; do so. Change-Id: Ifb910a9a192414e2a53086f3f7b97f39ed36aa39 Reviewed-on: https://code.wireshark.org/review/13499 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-20HTTP: fix Control flow issues (UNREACHABLE) reported by Coverity ( CID 1348060)Alexis La Goutte1-1/+0
Change-Id: I1e9b32e30844438419c9aa839b3fcd6c0c88835d Reviewed-on: https://code.wireshark.org/review/13459 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>
2016-01-15Add http.file_data string field to store decompressed HTTP data.David Morsberger1-1/+10
Change-Id: I6031ae6f9b31447665236098c87ffed97e4b8a2d Reviewed-on: https://code.wireshark.org/review/13275 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-01-13Do not filter on "http" when Following HTTP streams.Michael Mann1-25/+1
Change-Id: I5be0ce9168e987e8fd5ba404338111c8b8706c9f Reviewed-on: https://code.wireshark.org/review/13243 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> 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-01-12Refactor "Follow Stream" functionality on all GUI interfaces.Michael Mann1-1/+28
Create a "registration" system for Follow functionality so most of the work can be abstracted into a dissector and GUI can just be responsible for "display". This also removes the global variables in follow.c to open up multithreading possibilities. TCP, UDP and HTTP all have the same "tap interface" for Follow functionality (passing a tvb with byte data to "follow"). SSL still has it's own behavior, so Follow structures have to take that into account. TShark through the Follow registration now has support for HTTP. The only thing possibly missing is dynamic menu generation to further reduce explicit knowledge of Follow "type" (and rely on registration) Bug: 11988 Change-Id: I559d9ee1312406ad0986d4dce9fa67ea2103b339 Reviewed-on: https://code.wireshark.org/review/13161 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-06Have all TCP flags in the structure that is passed to subdissectors.Michael Mann1-1/+1
Have subdissectors do the bit math checking for particular flag bits. Change-Id: Ie6350e316f79af879be9fc512ce215f24449a7e5 Reviewed-on: https://code.wireshark.org/review/13071 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>
2016-01-06Use TCP FIN bit to help determine desegmentation in HTTP dissector.Michael Mann1-7/+8
Have the TCP dissector pass FIN bit to subdissectors (HTTP only one currently using it) so subdissector can use information to determine that no more segments are coming. Bug: 9848 Change-Id: I4aebb5141f41d99598e4776bf25e74101016f5d1 Reviewed-on: https://code.wireshark.org/review/12984 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-01-03Add HTTP Follow streamMichael Mann1-0/+14
This automatically detects and decompresses HTTP along a TCP stream through the use of taps. Bug: 3528 Change-Id: I8ab832d509700d0da8eabf3c3e514d8511c598d3 Reviewed-on: https://code.wireshark.org/review/13009 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-09new_register_dissector -> register_dissector for dissector directory.Michael Mann1-1/+1
Change-Id: Ie39ef054a4a942687bd079f3a4d8c2cc55d5f22c Reviewed-on: https://code.wireshark.org/review/12485 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-09new_create_dissector_handle -> create_dissector_handle for dissector directory.Michael Mann1-2/+2
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>