diff --git a/modules/events_stream/events_stream.go b/modules/events_stream/events_stream.go index 76529cf9..c52828fc 100644 --- a/modules/events_stream/events_stream.go +++ b/modules/events_stream/events_stream.go @@ -222,15 +222,15 @@ func NewEventsStream(s *session.Session) *EventsStream { return mod } -func (mod EventsStream) Name() string { +func (mod *EventsStream) Name() string { return "events.stream" } -func (mod EventsStream) Description() string { +func (mod *EventsStream) Description() string { return "Print events as a continuous stream." } -func (mod EventsStream) Author() string { +func (mod *EventsStream) Author() string { return "Simone Margaritelli " } diff --git a/modules/syn_scan/dns_grabber.go b/modules/syn_scan/dns_grabber.go index 91d9f72f..85ffa33a 100644 --- a/modules/syn_scan/dns_grabber.go +++ b/modules/syn_scan/dns_grabber.go @@ -13,7 +13,7 @@ func grabChaos(addr string, q string) string { c := new(dns.Client) m := new(dns.Msg) m.Question = make([]dns.Question, 1) - m.Question[0] = dns.Question{q, dns.TypeTXT, dns.ClassCHAOS} + m.Question[0] = dns.Question{Name: q, Qtype: dns.TypeTXT, Qclass: dns.ClassCHAOS} if in, _, _ := c.Exchange(m, addr); in != nil && len(in.Answer) > 0 { s := in.Answer[0].String() if match := chaosParser.FindStringSubmatch(s); len(match) > 0 { diff --git a/session/command_handler.go b/session/command_handler.go index 7fad33fa..f505f38e 100644 --- a/session/command_handler.go +++ b/session/command_handler.go @@ -1,13 +1,14 @@ package session import ( - "github.com/bettercap/readline" "regexp" "sync" + + "github.com/bettercap/readline" ) type CommandHandler struct { - sync.Mutex + *sync.Mutex Name string Description string Completer *readline.PrefixCompleter @@ -17,6 +18,7 @@ type CommandHandler struct { func NewCommandHandler(name string, expr string, desc string, exec func(args []string, s *Session) error) CommandHandler { return CommandHandler{ + Mutex: &sync.Mutex{}, Name: name, Description: desc, Completer: nil, diff --git a/session/events.go b/session/events.go index 31564f25..21f973f0 100644 --- a/session/events.go +++ b/session/events.go @@ -38,7 +38,7 @@ func (e Event) Label() string { } type EventPool struct { - sync.Mutex + *sync.Mutex debug bool silent bool @@ -48,6 +48,7 @@ type EventPool struct { func NewEventPool(debug bool, silent bool) *EventPool { return &EventPool{ + Mutex: &sync.Mutex{}, debug: debug, silent: silent, events: make([]Event, 0), diff --git a/session/events_test.go b/session/events_test.go index a4f96fab..b5649e22 100644 --- a/session/events_test.go +++ b/session/events_test.go @@ -82,7 +82,7 @@ func TestNewEventPool(t *testing.T) { func TestEventPool_SetSilent(t *testing.T) { type fields struct { - Mutex sync.Mutex + Mutex *sync.Mutex debug bool silent bool events []Event @@ -98,32 +98,32 @@ func TestEventPool_SetSilent(t *testing.T) { }{ { name: "Set silent on non-silent event pool", - fields: fields{silent: false, debug: false}, + fields: fields{silent: false, debug: false, Mutex: &sync.Mutex{}}, args: args{s: true}, }, { name: "Set silent on silent event pool", - fields: fields{silent: true, debug: false}, + fields: fields{silent: true, debug: false, Mutex: &sync.Mutex{}}, args: args{s: true}, }, { name: "Set non-silent on non-silent event pool", - fields: fields{silent: false, debug: false}, + fields: fields{silent: false, debug: false, Mutex: &sync.Mutex{}}, args: args{s: false}, }, { name: "Set silent on silent event pool", - fields: fields{silent: true, debug: false}, + fields: fields{silent: true, debug: false, Mutex: &sync.Mutex{}}, args: args{s: false}, }, { name: "Set silent on non-silent and debug event pool", - fields: fields{silent: false, debug: true}, + fields: fields{silent: false, debug: true, Mutex: &sync.Mutex{}}, args: args{s: true}, }, { name: "Set non-silent on non-silent and debug event pool", - fields: fields{silent: false, debug: true}, + fields: fields{silent: false, debug: true, Mutex: &sync.Mutex{}}, args: args{s: false}, }, } @@ -146,7 +146,7 @@ func TestEventPool_SetSilent(t *testing.T) { func TestEventPool_SetDebug(t *testing.T) { type fields struct { - Mutex sync.Mutex + Mutex *sync.Mutex debug bool silent bool events []Event @@ -164,32 +164,32 @@ func TestEventPool_SetDebug(t *testing.T) { }{ { name: "Set debug on non-debug event pool", - fields: fields{silent: false, debug: false}, + fields: fields{silent: false, debug: false, Mutex: &sync.Mutex{}}, args: args{s: true}, }, { name: "Set debug on debug event pool", - fields: fields{silent: false, debug: true}, + fields: fields{silent: false, debug: true, Mutex: &sync.Mutex{}}, args: args{s: true}, }, { name: "Set non-debug on non-debug event pool", - fields: fields{silent: false, debug: false}, + fields: fields{silent: false, debug: false, Mutex: &sync.Mutex{}}, args: args{s: false}, }, { name: "Set non-debug on debug event pool", - fields: fields{silent: false, debug: true}, + fields: fields{silent: false, debug: true, Mutex: &sync.Mutex{}}, args: args{s: false}, }, { name: "Set silent on non-silent and debug event pool", - fields: fields{silent: false, debug: true}, + fields: fields{silent: false, debug: true, Mutex: &sync.Mutex{}}, args: args{s: true}, }, { name: "Set non-silent on non-silent and debug event pool", - fields: fields{silent: false, debug: true}, + fields: fields{silent: false, debug: true, Mutex: &sync.Mutex{}}, args: args{s: true}, }, } @@ -212,7 +212,7 @@ func TestEventPool_SetDebug(t *testing.T) { func TestEventPool_Clear(t *testing.T) { type fields struct { - Mutex sync.Mutex + Mutex *sync.Mutex debug bool silent bool events []Event @@ -225,11 +225,11 @@ func TestEventPool_Clear(t *testing.T) { }{ { name: "Clear events on empty list", - fields: fields{debug: false, silent: false, events: []Event{}}, + fields: fields{debug: false, silent: false, events: []Event{}, Mutex: &sync.Mutex{}}, }, { name: "Clear events", - fields: fields{debug: false, silent: false, events: []Event{{Tag: "meh", Data: "something", Time: time.Now()}}}, + fields: fields{debug: false, silent: false, events: []Event{{Tag: "meh", Data: "something", Time: time.Now()}}, Mutex: &sync.Mutex{}}, }, } for _, tt := range tests { @@ -251,7 +251,7 @@ func TestEventPool_Clear(t *testing.T) { func TestEventPool_Add(t *testing.T) { type fields struct { - Mutex sync.Mutex + Mutex *sync.Mutex debug bool silent bool events []Event @@ -268,12 +268,12 @@ func TestEventPool_Add(t *testing.T) { }{ { name: "Add event with nil data on empty event list", - fields: fields{debug: false, silent: false, events: []Event{}}, + fields: fields{debug: false, silent: false, events: []Event{}, Mutex: &sync.Mutex{}}, args: args{tag: "tag with empty data", data: nil}, }, { name: "Add event with nil data", - fields: fields{debug: false, silent: false, events: []Event{{Tag: "meh", Data: "something", Time: time.Now()}}}, + fields: fields{debug: false, silent: false, events: []Event{{Tag: "meh", Data: "something", Time: time.Now()}}, Mutex: &sync.Mutex{}}, args: args{tag: "tag with empty data", data: nil}, }, } diff --git a/session/module_handler.go b/session/module_handler.go index d8c8aa9e..71abca59 100644 --- a/session/module_handler.go +++ b/session/module_handler.go @@ -19,7 +19,7 @@ const ( ) type ModuleHandler struct { - sync.Mutex + *sync.Mutex Name string Description string @@ -30,6 +30,7 @@ type ModuleHandler struct { func NewModuleHandler(name string, expr string, desc string, exec func(args []string) error) ModuleHandler { h := ModuleHandler{ + Mutex: &sync.Mutex{}, Name: name, Description: desc, Parser: nil,