diff --git a/core/options.go b/core/options.go index c596a6bd..d19001e9 100644 --- a/core/options.go +++ b/core/options.go @@ -1,6 +1,8 @@ package core -import "flag" +import ( + "flag" +) type Options struct { InterfaceName *string @@ -18,6 +20,7 @@ type Options struct { MemProfile *string CapletsPath *string Script *string + PcapBufSize *int } func ParseOptions() (Options, error) { @@ -37,6 +40,7 @@ func ParseOptions() (Options, error) { MemProfile: flag.String("mem-profile", "", "Write memory profile to `file`."), CapletsPath: flag.String("caplets-path", "", "Specify an alternative base path for caplets."), Script: flag.String("script", "", "Load a session script."), + PcapBufSize: flag.Int("pcap-buf-size", -1, "PCAP buffer size, leave to 0 for the default value."), } flag.Parse() diff --git a/modules/wifi/wifi.go b/modules/wifi/wifi.go index 411739cd..148e3493 100644 --- a/modules/wifi/wifi.go +++ b/modules/wifi/wifi.go @@ -568,7 +568,7 @@ func (mod *WiFiModule) Configure() error { if mod.handle, err = network.CaptureWithOptions(ifName, opts); err == nil { // we're done break - } else if retry == 0 /* && err.Error() == ErrIfaceNotUp */ { + } else if retry == 0 && err.Error() == ErrIfaceNotUp { // try to bring interface up and try again mod.Info("interface %s is down, bringing it up ...", ifName) if err := network.ActivateInterface(ifName); err != nil { diff --git a/session/session.go b/session/session.go index fc921d1b..dc0a6f3c 100644 --- a/session/session.go +++ b/session/session.go @@ -127,6 +127,10 @@ func New() (*Session, error) { } } + if bufSize := *s.Options.PcapBufSize; bufSize != -1 { + network.CAPTURE_DEFAULTS.Bufsize = bufSize + } + if s.Env, err = NewEnvironment(*s.Options.EnvFile); err != nil { return nil, err }