mitre / sandcat

A CALDERA plugin
https://caldera.mitre.org/
Apache License 2.0
61 stars 36 forks source link

Outdated gocat revision linked #360

Closed Warfley closed 3 years ago

Warfley commented 3 years ago

Describe the bug Building errors when including proxy_receiver_http.go occur.

To be a little bit more precise, here is a list of all errors I encountered when compiling gocat:

# github.com/mitre/gocat/proxy
proxy/proxy_receiver_http.go:52:37: cannot use &HttpReceiver{} (type *HttpReceiver) as type P2pReceiver in assignment:
        *HttpReceiver does not implement P2pReceiver (wrong type for InitializeReceiver method)
                have InitializeReceiver(*string, *contact.Contact, *sync.WaitGroup) error
                want InitializeReceiver(string, contact.Contact, *sync.WaitGroup) error
proxy/proxy_receiver_http.go:308:18: undefined: GetLocalIPv4Addresses
# github.com/mitre/gocat/proxy
proxy/proxy_receiver_http.go:52:37: cannot use &HttpReceiver{} (type *HttpReceiver) as type P2pReceiver in assignment:
        *HttpReceiver does not implement P2pReceiver (wrong type for InitializeReceiver method)
                have InitializeReceiver(*string, *contact.Contact, *sync.WaitGroup) error
                want InitializeReceiver(string, contact.Contact, *sync.WaitGroup) error
# github.com/mitre/gocat/proxy
proxy/proxy_receiver_http.go:52:37: cannot use &HttpReceiver{} (type *HttpReceiver) as type P2pReceiver in assignment:
        *HttpReceiver does not implement P2pReceiver (missing UpdateUpstreamComs method)
# github.com/mitre/gocat/proxy
proxy/proxy_receiver_http.go:52:37: cannot use &HttpReceiver{} (type *HttpReceiver) as type P2pReceiver in assignment:
        *HttpReceiver does not implement P2pReceiver (missing UpdateUpstreamServer method)

And when looking into these lines, I found that the changes the buildsystem complains about were pretty recent in the following commit https://github.com/mitre/sandcat/commit/e736a5d8a8a456c852718a90d5004912e0ed3efe

But the linked version of gocat is on commit https://github.com/mitre/gocat/commit/1b4b19cd96627eedea00792d27c8d77a6abb4a7b which is older. So I just checked out master for the gocat repository and it works like a charm.

As I installed caldera with the plugins as suggested in the documentation, via a recursive git clone, master branch of sandcat is checked out, but as it stands the gocat extensions are is not aligned with the state of the code in the gocat repository in the revision referenced.

To Reproduce Steps to reproduce the behavior:

  1. clone sandcat repository (I did so as part of recursively cloning caldera 3.1.0) on branch master
  2. copy gocat-extensions/proxy/proxy_receiver_http.go to gocat/proxy
  3. build gocat using go build

Expected behavior Successful compilation

Suggested Solution Reference a newer commit of the gocat repository. OR: Reference an older commit of the sandcat repository in the caldera repository

System:

wbooth commented 3 years ago

thanks I'll take a look and correct

wbooth commented 3 years ago

will be fixed going forward, thanks