MITRECND / bro-http2

Plugin for Zeek/Bro which provides http2 decoder/analyzer
Other
30 stars 22 forks source link

Zeek 3.2 compatibility #9

Closed eric-ooi closed 3 years ago

eric-ooi commented 3 years ago

Zeek v3.2 was just released -- https://zeek.org/2020/08/10/zeek-3-2-released

I tried installing the package for Zeek 3.2 and got the following errors (looks like quite a bit was changed in this release):

=== STDERR ===
make: [Makefile:12: build-it] Error 1 (ignored)
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_HeaderStorage.h:6,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Stream.h:10,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:19,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/zeek-3.2.0/src/BroString.h:1:2: warning: #warning "BroString.h is deprecated and will be removed in v4.1. Use ZeekString.h instead." [-Wcpp]
    1 | #warning "BroString.h is deprecated and will be removed in v4.1. Use ZeekString.h instead."
      |  ^~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:13:39: warning: ‘using Configuration = class zeek::plugin::Configuration’ is deprecated: Remove in v4.1. Use zeek::plugin::Configuration instead [-Wdeprecated-declarations]
   13 |     plugin::Configuration Configure() override;
      |                                       ^~~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/home/zeek/zeek-3.2.0/src/plugin/Plugin.h:902:7: note: declared here
  902 | using Configuration [[deprecated("Remove in v4.1. Use zeek::plugin::Configuration instead")]] = zeek::plugin::Configuration;
      |       ^~~~~~~~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_FrameReassembler.h:6,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:18,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:152:23: error: ‘pair’ was not declared in this scope; did you mean ‘std::pair’?
  152 |     const std::vector<pair<uint16_t, uint32_t>>& getUnrecognizedSettings(void){return (this->unrec_settings);};
      |                       ^~~~
      |                       std::pair
In file included from /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_algobase.h:64,
                 from /opt/rh/devtoolset-9/root/usr/include/c++/9/list:60,
                 from /home/zeek/zeek-3.2.0/src/plugin/Plugin.h:5,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_pair.h:208:12: note: ‘std::pair’ declared here
  208 |     struct pair
      |            ^~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_FrameReassembler.h:6,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:18,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:152:38: error: template argument 1 is invalid
  152 |     const std::vector<pair<uint16_t, uint32_t>>& getUnrecognizedSettings(void){return (this->unrec_settings);};
      |                                      ^~~~~~~~
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:152:46: error: expected unqualified-id before ‘>’ token
  152 |     const std::vector<pair<uint16_t, uint32_t>>& getUnrecognizedSettings(void){return (this->unrec_settings);};
      |                                              ^~
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:170:17: error: ‘pair’ was not declared in this scope; did you mean ‘std::pair’?
  170 |     std::vector<pair<uint16_t, uint32_t>> unrec_settings;
      |                 ^~~~
      |                 std::pair
In file included from /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_algobase.h:64,
                 from /opt/rh/devtoolset-9/root/usr/include/c++/9/list:60,
                 from /home/zeek/zeek-3.2.0/src/plugin/Plugin.h:5,
:
=== STDERR ===
make: [Makefile:12: build-it] Error 1 (ignored)
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_HeaderStorage.h:6,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Stream.h:10,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:19,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/zeek-3.2.0/src/BroString.h:1:2: warning: #warning "BroString.h is deprecated and will be removed in v4.1. Use ZeekString.h instead." [-Wcpp]
    1 | #warning "BroString.h is deprecated and will be removed in v4.1. Use ZeekString.h instead."
      |  ^~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:13:39: warning: ‘using Configuration = class zeek::plugin::Configuration’ is deprecated: Remove in v4.1. Use zeek::plugin::Configuration instead [-Wdeprecated-declarations]
   13 |     plugin::Configuration Configure() override;
      |                                       ^~~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/home/zeek/zeek-3.2.0/src/plugin/Plugin.h:902:7: note: declared here
  902 | using Configuration [[deprecated("Remove in v4.1. Use zeek::plugin::Configuration instead")]] = zeek::plugin::Configuration;
      |       ^~~~~~~~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_FrameReassembler.h:6,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:18,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:152:23: error: ‘pair’ was not declared in this scope; did you mean ‘std::pair’?
  152 |     const std::vector<pair<uint16_t, uint32_t>>& getUnrecognizedSettings(void){return (this->unrec_settings);};
      |                       ^~~~
      |                       std::pair
In file included from /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_algobase.h:64,
                 from /opt/rh/devtoolset-9/root/usr/include/c++/9/list:60,
                 from /home/zeek/zeek-3.2.0/src/plugin/Plugin.h:5,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_pair.h:208:12: note: ‘std::pair’ declared here
  208 |     struct pair
      |            ^~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_FrameReassembler.h:6,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:18,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:152:38: error: template argument 1 is invalid
  152 |     const std::vector<pair<uint16_t, uint32_t>>& getUnrecognizedSettings(void){return (this->unrec_settings);};
      |                                      ^~~~~~~~
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:152:46: error: expected unqualified-id before ‘>’ token
  152 |     const std::vector<pair<uint16_t, uint32_t>>& getUnrecognizedSettings(void){return (this->unrec_settings);};
      |                                              ^~
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:170:17: error: ‘pair’ was not declared in this scope; did you mean ‘std::pair’?
  170 |     std::vector<pair<uint16_t, uint32_t>> unrec_settings;
      |                 ^~~~
      |                 std::pair
In file included from /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_algobase.h:64,
                 from /opt/rh/devtoolset-9/root/usr/include/c++/9/list:60,
                 from /home/zeek/zeek-3.2.0/src/plugin/Plugin.h:5,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/opt/rh/devtoolset-9/root/usr/include/c++/9/bits/stl_pair.h:208:12: note: ‘std::pair’ declared here
  208 |     struct pair
      |            ^~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_FrameReassembler.h:6,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:18,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:170:32: error: template argument 1 is invalid
  170 |     std::vector<pair<uint16_t, uint32_t>> unrec_settings;
      |                                ^~~~~~~~
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Frame.h:170:40: error: expected unqualified-id before ‘>’ token
  170 |     std::vector<pair<uint16_t, uint32_t>> unrec_settings;
      |                                        ^~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Stream.h:10,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:19,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_HeaderStorage.h:78:53: warning: ‘using RecordVal = class zeek::RecordVal’ is deprecated: Remove in v4.1. Use zeek::RecordVal instead. [-Wdeprecated-declarations]
   78 |     RecordVal* BuildHeaderVal(HTTP2_HeaderStorage& h);
      |                                                     ^
In file included from /home/zeek/zeek-3.2.0/src/NetVar.h:5,
                 from /home/zeek/zeek-3.2.0/src/bro-bif.h:5,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/build/events.bif.h:7,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:12,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/zeek-3.2.0/src/Val.h:1441:7: note: declared here
 1441 | using RecordVal [[deprecated("Remove in v4.1. Use zeek::RecordVal instead.")]] = zeek::RecordVal;
      |       ^~~~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_Stream.h:10,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:19,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2_HeaderStorage.h:86:36: warning: ‘using TableVal = class zeek::TableVal’ is deprecated: Remove in v4.1. Use zeek::TableVal instead. [-Wdeprecated-declarations]
   86 |     TableVal* BuildHeaderTable(void);
      |                                    ^
In file included from /home/zeek/zeek-3.2.0/src/plugin/Plugin.h:9,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/home/zeek/zeek-3.2.0/src/Stats.h:15:33: note: declared here
   15 | ZEEK_FORWARD_DECLARE_NAMESPACED(TableVal, zeek);
      |                                 ^~~~~~~~
/home/zeek/zeek-3.2.0/build/zeek-config.h:281:8: note: in definition of macro ‘ZEEK_FORWARD_DECLARE_NAMESPACED’
  281 |  using cls [[deprecated("Remove in v4.1. Use " #ns "::" #cls " instead.")]] = ns::cls;
      |        ^~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:109:39: warning: ‘using BroString = class zeek::String’ is deprecated: Remove in v4.1. Use zeek::String instead. [-Wdeprecated-declarations]
  109 |                        bool push=false);
      |                                       ^
In file included from /home/zeek/zeek-3.2.0/src/NetVar.h:5,
                 from /home/zeek/zeek-3.2.0/src/bro-bif.h:5,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/build/events.bif.h:7,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:12,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/zeek-3.2.0/src/Val.h:33:7: note: declared here
   33 | using BroString [[deprecated("Remove in v4.1. Use zeek::String instead.")]] = zeek::String;
      |       ^~~~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:146:66: warning: ‘using RecordVal = class zeek::RecordVal’ is deprecated: Remove in v4.1. Use zeek::RecordVal instead. [-Wdeprecated-declarations]
  146 |     void HTTP2_StreamEnd(unsigned stream, RecordVal* stream_stats);
      |                                                                  ^
In file included from /home/zeek/zeek-3.2.0/src/NetVar.h:5,
                 from /home/zeek/zeek-3.2.0/src/bro-bif.h:5,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/build/events.bif.h:7,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:12,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/zeek-3.2.0/src/Val.h:1441:7: note: declared here
 1441 | using RecordVal [[deprecated("Remove in v4.1. Use zeek::RecordVal instead.")]] = zeek::RecordVal;
      |       ^~~~~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:172:70: warning: ‘using TableVal = class zeek::TableVal’ is deprecated: Remove in v4.1. Use zeek::TableVal instead. [-Wdeprecated-declarations]
  172 |     void HTTP2_AllHeaders(bool orig, unsigned stream, TableVal* hlist);
      |                                                                      ^
In file included from /home/zeek/zeek-3.2.0/src/plugin/Plugin.h:9,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/home/zeek/zeek-3.2.0/src/Stats.h:15:33: note: declared here
   15 | ZEEK_FORWARD_DECLARE_NAMESPACED(TableVal, zeek);
      |                                 ^~~~~~~~
/home/zeek/zeek-3.2.0/build/zeek-config.h:281:8: note: in definition of macro ‘ZEEK_FORWARD_DECLARE_NAMESPACED’
  281 |  using cls [[deprecated("Remove in v4.1. Use " #ns "::" #cls " instead.")]] = ns::cls;
      |        ^~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:303:84: warning: ‘using RecordVal = class zeek::RecordVal’ is deprecated: Remove in v4.1. Use zeek::RecordVal instead. [-Wdeprecated-declarations]
  303 |     void HTTP2_Settings_Event(bool orig, uint32_t stream, RecordVal* settingsRecord);
      |                                                                                    ^
In file included from /home/zeek/zeek-3.2.0/src/NetVar.h:5,
                 from /home/zeek/zeek-3.2.0/src/bro-bif.h:5,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/build/events.bif.h:7,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/HTTP2.h:12,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:2:
/home/zeek/zeek-3.2.0/src/Val.h:1441:7: note: declared here
 1441 | using RecordVal [[deprecated("Remove in v4.1. Use zeek::RecordVal instead.")]] = zeek::RecordVal;
      |       ^~~~~~~~~
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:9:41: warning: ‘using Configuration = class zeek::plugin::Configuration’ is deprecated: Remove in v4.1. Use zeek::plugin::Configuration instead [-Wdeprecated-declarations]
    9 | plugin::Configuration Plugin::Configure()
      |                                         ^
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/home/zeek/zeek-3.2.0/src/plugin/Plugin.h:902:7: note: declared here
  902 | using Configuration [[deprecated("Remove in v4.1. Use zeek::plugin::Configuration instead")]] = zeek::plugin::Configuration;
      |       ^~~~~~~~~~~~~
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc: In member function ‘virtual plugin::Configuration plugin::mitrecnd_HTTP2::Plugin::Configure()’:
/home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:13:27: warning: ‘using Configuration = class zeek::plugin::Configuration’ is deprecated: Remove in v4.1. Use zeek::plugin::Configuration instead [-Wdeprecated-declarations]
   13 |     plugin::Configuration config;
      |                           ^~~~~~
In file included from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.h:4,
                 from /home/zeek/.zkg/testing/bro-http2/clones/bro-http2/src/Plugin.cc:1:
/home/zeek/zeek-3.2.0/src/plugin/Plugin.h:902:7: note: declared here
  902 | using Configuration [[deprecated("Remove in v4.1. Use zeek::plugin::Configuration instead")]] = zeek::plugin::Configuration;
      |       ^~~~~~~~~~~~~
make[3]: *** [CMakeFiles/mitrecnd-HTTP2.linux-x86_64.dir/build.make:91: CMakeFiles/mitrecnd-HTTP2.linux-x86_64.dir/src/Plugin.cc.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:293: CMakeFiles/mitrecnd-HTTP2.linux-x86_64.dir/all] Error 2
make[1]: *** [Makefile:137: all] Error 2
make: *** [Makefile:13: build-it] Error 2
=== STDOUT ===
Build Directory        : build
Zeek Source Directory   : /home/zeek/zeek-3.2.0
-- The C compiler identification is GNU 9.3.1
-- The CXX compiler identification is GNU 9.3.1
-- Check for working C compiler: /opt/rh/devtoolset-9/root/usr/bin/cc
-- Check for working C compiler: /opt/rh/devtoolset-9/root/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /opt/rh/devtoolset-9/root/usr/bin/c++
-- Check for working CXX compiler: /opt/rh/devtoolset-9/root/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test cxx17_already_works
-- Performing Test cxx17_already_works - Failed
-- Performing Test cxx17_works
-- Performing Test cxx17_works - Success
-- Zeek executable      :
-- Zeek source          : /home/zeek/zeek-3.2.0
-- Zeek build           : /home/zeek/zeek-3.2.0/build
-- Zeek install prefix  : /opt/zeek
-- Zeek plugin directory: /opt/zeek/lib/zeek/plugins
-- Zeek debug mode      : false
-- Found LibNGHTTP2: /usr/lib64/libnghttp2.so (found version "1.33.0")
-- Found LibBROTLI: /usr/local/lib/libbrotlidec.so
-- ---------------------
-- LibBROTLI ROOT DIR  : /usr/local
-- LibBROTLI INC DIR   : /usr/local/include/brotli
-- LibBROTLI LIB DIR   : /usr/local/lib/libbrotlidec.so
-- ---------------------
-- LibNGHTTP2 ROOT DIR : /usr
-- LibNGHTTP2 INC DIR  : /usr/include/nghttp2
-- LibNGHTTP2 LIB DIR  : /usr/lib64/libnghttp2.so
-- Configuring done
-- Generating done

Thanks for looking into this.

cioban commented 3 years ago

I've solve this issue by adding using namespace std; on the file src/HTTP2_Frame.h

I've added right after util.h:

  #include "util.h"
  using namespace std;
Mraoul commented 3 years ago

Good catch -- looks like a pair was left un-namespaced, guessing the original code had a namespace declaration that allowed it to work.

I'll need to properly scope/namespace that and address the other deprecation issues, but I probably won't be able to address this until later this week or next.

eric-ooi commented 3 years ago

Thanks! I figured it was something like that given the error log, but I wasn't savvy enough to figure out what to add and where. :P.

I will patiently wait until this is updated. Hoping to write about this awesome plugin in my next Zeek blog, so I greatly appreciate your efforts! :)

Mraoul commented 3 years ago

I took at stab at addressing the issues and it looks like the deprecation list is extensive. While some of these are simple changes just requiring scoping changes, some of these will require rewriting some code and ensuring compatibility with 3.0.x and 3.1.x. I don't think any developer docs have been written, so I'll probably have to read the Zeek source, again, to be able to get rid of the warnings. Luckily it doesn't look like there's a rush (the warnings indicated Zeek 4.0.x as the target version), so, I'm going to cut an update that gets it compiling and figure out how to get rid of the deprecation warnings at a later time. I've pushed the support-zeek-32 branch, this compiles and works fine with Zeek 3.2 in my limited tests. I'm going to poke at it a bit more and make sure I didn't miss anything but assuming no issues can cut a new release next week.

If you'd like to test it yourself, you can install that branch via zkg doing:

zkg install zeek/mitrecnd/bro-http2 --version support-zeek-32

eric-ooi commented 3 years ago

Thanks @Mraoul! Just tried it and it compiled without errors and so far it looks to be successfully generating http2.log again. Awesome work, thanks again!