Wireshark mailing list archives
[Lua workaround] gRPC dissector does not start Protobuf sub-dissector when capture is incomplete
From: Alexander Petrossian <paf () yandex ru>
Date: Thu, 23 Dec 2021 13:49:35 +0300
Friends, currently when gRPC plugin fails to get content-type header value it stops and does not invoke Protobuf
dissector, which makes me sad:
http2_content_type = http2_get_header_value(pinfo, HTTP2_HEADER_CONTENT_TYPE, FALSE);
if (http2_content_type == NULL || http2_path == NULL) {
return; /* not continue if there is not enough grpc information */
}
Thing is, traces are more often recorded without start of communication.
And even when gRPC body is there, content-type field was compressed and can not be decompressed =
http2_get_header_value returns NULL.
Could one do some workaround in Lua right now?
Somehow force gRPC hand to invoke Protobuf dissector even without content-type: application/grpc.
I’m thinking of wedging between dissectors and provide some default value of content-type or some such. But that
approach seems vague. Any ideas on it or other?
Thanks in advance!
PAF
P.S. I’ve suggested a seemingly trivial untested workaround in C here
https://gitlab.com/wireshark/wireshark/-/issues/17793
Right now I’m interested in some Lua approach that we could employ without recompilings...
___________________________________________________________________________
Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives: https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- [Lua workaround] gRPC dissector does not start Protobuf sub-dissector when capture is incomplete Alexander Petrossian (Dec 23)
- <Possible follow-ups>
- [Lua workaround] gRPC dissector does not start Protobuf sub-dissector when capture is incomplete Alexander Petrossian (Dec 23)
- Re: [Lua workaround] gRPC dissector does not start Protobuf sub-dissector when capture is incomplete Alexander Petrossian (Dec 23)
