mirror of
https://github.com/bettercap/bettercap
synced 2025-08-21 05:53:20 -07:00
fix: added a mutex to write ops in the hid module
This commit is contained in:
parent
e0e1f4e6df
commit
d21f3b447a
4 changed files with 11 additions and 0 deletions
|
@ -23,6 +23,7 @@ type HIDRecon struct {
|
|||
lastPing time.Time
|
||||
useLNA bool
|
||||
sniffLock *sync.Mutex
|
||||
writeLock *sync.Mutex
|
||||
sniffAddrRaw []byte
|
||||
sniffAddr string
|
||||
pingPayload []byte
|
||||
|
@ -47,6 +48,7 @@ func NewHIDRecon(s *session.Session) *HIDRecon {
|
|||
SessionModule: session.NewSessionModule("hid", s),
|
||||
waitGroup: &sync.WaitGroup{},
|
||||
sniffLock: &sync.Mutex{},
|
||||
writeLock: &sync.Mutex{},
|
||||
hopPeriod: 100 * time.Millisecond,
|
||||
pingPeriod: 100 * time.Millisecond,
|
||||
sniffPeriod: 500 * time.Millisecond,
|
||||
|
|
|
@ -81,6 +81,9 @@ func (mod *HIDRecon) prepInjection() (error, *network.HIDDevice, []*Command) {
|
|||
}
|
||||
|
||||
func (mod *HIDRecon) doInjection() {
|
||||
mod.writeLock.Lock()
|
||||
defer mod.writeLock.Unlock()
|
||||
|
||||
err, dev, cmds := mod.prepInjection()
|
||||
if err != nil {
|
||||
mod.Error("%v", err)
|
||||
|
|
|
@ -7,6 +7,9 @@ import (
|
|||
)
|
||||
|
||||
func (mod *HIDRecon) doHopping() {
|
||||
mod.writeLock.Lock()
|
||||
defer mod.writeLock.Unlock()
|
||||
|
||||
if mod.inPromMode == false {
|
||||
if err := mod.dongle.EnterPromiscMode(); err != nil {
|
||||
mod.Error("error entering promiscuous mode: %v", err)
|
||||
|
|
|
@ -40,6 +40,9 @@ func (mod *HIDRecon) setSniffMode(mode string) error {
|
|||
}
|
||||
|
||||
func (mod *HIDRecon) doPing() {
|
||||
mod.writeLock.Lock()
|
||||
defer mod.writeLock.Unlock()
|
||||
|
||||
if mod.inSniffMode == false {
|
||||
if err := mod.dongle.EnterSnifferModeFor(mod.sniffAddrRaw); err != nil {
|
||||
mod.Error("error entering sniffer mode for %s: %v", mod.sniffAddr, err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue