MCPcopy
hub / github.com/bettercap/bettercap / Configure

Method Configure

modules/can/can_recon.go:13–57  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

11)
12
13func (mod *CANModule) Configure() error {
14 var err error
15 var parseOBD bool
16
17 if mod.Running() {
18 return session.ErrAlreadyStarted(mod.Name())
19 } else if err, mod.deviceName = mod.StringParam("can.device"); err != nil {
20 return err
21 } else if err, mod.dumpName = mod.StringParam("can.dump"); err != nil {
22 return err
23 } else if err, mod.dumpInject = mod.BoolParam("can.dump.inject"); err != nil {
24 return err
25 } else if err, parseOBD = mod.BoolParam("can.parse.obd2"); err != nil {
26 return err
27 } else if err, mod.transport = mod.StringParam("can.transport"); err != nil {
28 return err
29 } else if mod.transport != "can" && mod.transport != "udp" {
30 return errors.New("invalid transport")
31 } else if err, mod.filter = mod.StringParam("can.filter"); err != nil {
32 return err
33 }
34
35 mod.obd2.Enable(parseOBD)
36
37 if mod.filter != "" {
38 if mod.filterExpr, err = bexpr.CreateEvaluator(mod.filter); err != nil {
39 return err
40 }
41 mod.Warning("filtering frames with expression %s", tui.Bold(mod.filter))
42 }
43
44 if mod.conn, err = socketcan.Dial(mod.transport, mod.deviceName); err != nil {
45 return err
46 }
47 mod.recv = socketcan.NewReceiver(mod.conn)
48 mod.send = socketcan.NewTransmitter(mod.conn)
49
50 if mod.dumpName != "" {
51 if err = mod.startDumpReader(); err != nil {
52 return err
53 }
54 }
55
56 return nil
57}
58
59func (mod *CANModule) isFilteredOut(frame can.Frame, msg Message) bool {
60 // if we have an active filter

Callers 1

StartMethod · 0.95

Calls 8

NameMethod · 0.95
startDumpReaderMethod · 0.95
ErrAlreadyStartedFunction · 0.92
StringParamMethod · 0.80
BoolParamMethod · 0.80
RunningMethod · 0.65
EnableMethod · 0.45
WarningMethod · 0.45

Tested by

no test coverage detected