642 Commits

Author SHA1 Message Date
dependabot[bot]
a46c9337dc chore(deps): bump clap from 4.4.6 to 4.4.7 (#320)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.6 to 4.4.7.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.7)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:25:43 +08:00
dependabot[bot]
d7850e609d chore(deps): bump regex from 1.10.1 to 1.10.2 (#325)
Bumps [regex](https://github.com/rust-lang/regex) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.10.1...1.10.2)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:25:09 +08:00
dependabot[bot]
14a469b550 chore(deps): bump thiserror from 1.0.49 to 1.0.50 (#323)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.49 to 1.0.50.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.49...1.0.50)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:24:37 +08:00
dependabot[bot]
624ce926a9 chore(deps): bump http_req from 0.10.0 to 0.10.1 (#324)
Bumps [http_req](https://github.com/jayjamesjay/http_req) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/jayjamesjay/http_req/releases)
- [Commits](https://github.com/jayjamesjay/http_req/compare/v0.10.0...v0.10.1)

---
updated-dependencies:
- dependency-name: http_req
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:24:28 +08:00
dependabot[bot]
c15d6c3eab chore(deps): bump clap-verbosity-flag from 2.0.1 to 2.1.0 (#326)
Bumps [clap-verbosity-flag](https://github.com/clap-rs/clap-verbosity-flag) from 2.0.1 to 2.1.0.
- [Changelog](https://github.com/clap-rs/clap-verbosity-flag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap-verbosity-flag/compare/v2.0.1...v2.1.0)

---
updated-dependencies:
- dependency-name: clap-verbosity-flag
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:24:17 +08:00
cyqsimon
aef30c9bee Log unresolved processes in more detail + general refactor (#318)
* Refactor & reorganisation of `get_proc_name`

* Log both src & dst when we fail to resolve connection to process

- Per recommendation in https://github.com/imsnif/bandwhich/issues/196#issuecomment-1763278674
2023-11-01 01:44:27 +08:00
cyqsimon
62c0fbf128 Fix vague CLI option documentation; closes #314 (#316) 2023-10-29 21:25:49 +08:00
cyqsimon
2c49b0fc12 Use once_cell::sync::Lazy to make regex usage more ergonomic (#313) 2023-10-26 14:59:42 +08:00
cyqsimon
34713f699b Minor code style improvements (#312)
- Build regex only once using `once_cell::sync::Lazy`
- Reduce code duplication
2023-10-26 11:52:35 +08:00
cyqsimon
879e5676df Cargo.toml manifest cleanup (#311)
* Sort Cargo.toml according to style guide

- See https://doc.rust-lang.org/stable/style-guide/cargo.html

* Format `cfg` strings in Cargo.toml

* Narrow down `regex` dependency to more specific targets
2023-10-26 11:44:35 +08:00
cyqsimon
de791a1f62 Reset clippy levels
- Also denies `enum_glob_use`
2023-10-21 22:35:04 +08:00
cyqsimon
6fa77d2991 Refactor OsInputOutput (combine interfaces & frames into single Vec) (#310)
* Refactor `OsInputOutput` (combine interfaces & frames into single Vec)

* Add note on handling a separate failure case

* Reduce code duplication
2023-10-21 22:14:46 +08:00
cyqsimon
89e1140bea Make logging race-free using a global lock & macro (#309)
* Make logging race-free using a global lock & macro

* Fix clippy complaint

* Fix import for MacOS

* Make `mt_log` expand to an expression
2023-10-20 19:25:27 +08:00
cyqsimon
0c4987aa86 Table formatting logic overhaul (#305)
* Table formatting logic overhaul

- Columns now auto-expand and auto-shrink proportionally
- Data column selection logic is now set per-table
- Necessary boilerplate added to allow tables with more (or fewer) columns in the future

* Better naming: `TableLayout` -> `DisplayLayout`

* Fix clippy complaints

* Optimise layout cutoff widths

- These values are pretty much arbitrary. I'm open to further optimising them in the future.

* Updated test snapshots to match new layout settings

* Remove unnecessary logging

* Correct `debug_fn` impl for `column_selector`

* Further optimise bandwidth column display

* Update test snapshots

* Layout width preset minor adjustment
2023-10-19 16:55:04 +08:00
cyqsimon
d9cc84b373 Partially fix flaky tests (#308)
* Minor code style changes

* Disable rendering of timestamps in tests

* Update test snapshots

* Test everything with insta macros (no more `assert(_eq)?`)

- This has the benefit of creating snapshots for everything, allowing for later diffing

* Don't use `assert_debug_snapshot` for large string outputs

- This makes snapshots more human-inspectable

* Code style improvement on two tests

- `pause_by_space`
- `rearranged_by_tab`

* Minor code style improvements
2023-10-17 16:29:47 +08:00
cyqsimon
5d2ee96900 CI: amend #306
- I only installed npcap, but forgot to run the actual tests 🤦
2023-10-16 17:06:00 +08:00
cyqsimon
df171725cc CI: allow Windows tests to run if PR source is own repo (#306) 2023-10-16 16:37:44 +08:00
cyqsimon
f987636f78 Bump version to 0.21.1 v0.21.1 2023-10-16 09:27:28 +08:00
cyqsimon
6e923a785a Bump all dependencies (#304) 2023-10-16 09:24:36 +08:00
cyqsimon
bd007dc08d ... and I forgot to keep changelog again 2023-10-16 09:18:10 +08:00
cyqsimon
bc10c0789c Bump rustix dependencies
- Fixes #284
- See https://github.com/bytecodealliance/rustix/security/advisories/GHSA-c827-hfw6-qwvm
2023-10-16 08:13:32 +08:00
cyqsimon
b82383dc58 Set known orphan connections max size 2023-10-12 20:43:14 +08:00
cyqsimon
76956cfade Handle IPv4-mapped IPv6 addresses when resolving connection owner 2023-10-12 19:40:23 +08:00
cyqsimon
ea3e0d675f Reduce logging noise by omitting known orphan connections 2023-10-12 19:03:52 +08:00
cyqsimon
b1726fc1cc Forgot to allow write access to log file 2023-10-12 17:46:19 +08:00
cyqsimon
a9c199f812 Add logging when the process name fails to resolve 2023-10-12 17:35:43 +08:00
cyqsimon
1c996c38f4 Ignore connections that fail parsing instead of panicking on BSD (#288)
* Ignore connections that fail parsing instead of panicking on BSD

- Tentative fix for #217

* Log when a connection fails parsing

- I actually love unreadable code

* Fix clippy complaint
2023-10-11 19:45:48 +08:00
cyqsimon
3703c676f2 Fix clippy complaints 2023-10-11 19:12:37 +08:00
cyqsimon
94ada5db8a Add logging infrastructure (#302)
* Add logging dependencies

* Initialise logging
2023-10-11 18:16:56 +08:00
cyqsimon
5cb09cca19 Reduce repitition using default Opts 2023-10-11 17:42:06 +08:00
cyqsimon
5884c7322f Never use &Option in function signature 2023-10-11 17:20:14 +08:00
cyqsimon
b353c51ae8 Minor refactor of main.rs (#301)
* Move CLI structs to their own file

* `main` returns `Result` directly

* Slightly reduced nesting
2023-10-11 17:02:41 +08:00
cyqsimon
4a27da5d56 CI: upload binaries as long as build step succeeds 2023-10-09 01:47:01 +08:00
cyqsimon
6989ce222a CI: allow manual triggering 2023-10-09 01:26:19 +08:00
cyqsimon
8c6be282a5 CI: make insta generate new snapshots in CI
See https://github.com/mitsuhiko/insta/issues/411
2023-10-08 10:25:54 +08:00
cyqsimon
18721fcef6 CI: set --color=never for cargo-insta 2023-10-08 02:30:04 +08:00
cyqsimon
138af25943 CI: test using cargo-insta 2023-10-08 01:19:16 +08:00
cyqsimon
96cbe63a97 Explicitly name layout-* tests as so 2023-10-08 01:02:28 +08:00
cyqsimon
471aa62a95 Migrate all tests to using cargo-insta 2023-10-08 00:54:40 +08:00
cyqsimon
47158ac3c7 CI: override default run condition for failed test snapshots upload step 2023-10-07 23:52:03 +08:00
cyqsimon
53f6feae17 CI: upload failed test snapshots 2023-10-07 23:43:19 +08:00
cyqsimon
4d1f62b46a CI: Use checkout v4 2023-10-07 23:18:56 +08:00
cyqsimon
e618fea18e CI: Auto fetch MSRV from Cargo.toml (#300)
* CI: Auto fetch MSRV from Cargo.toml

* CI: Forgot to checkout before fetching MSRV
2023-10-07 23:16:51 +08:00
cyqsimon
72b04c82ae Compact tests using rstest 2023-10-07 22:35:35 +08:00
cyqsimon
f1b49254c2 Rm old, unused test snapshots 2023-10-07 21:56:17 +08:00
cyqsimon
d75de8e948 Update table of contents 2023-10-07 17:46:14 +08:00
cyqsimon
dc4104215e chore: cargo update 2023-10-07 16:51:14 +08:00
dependabot[bot]
59583531dd chore(deps): bump clap from 4.4.4 to 4.4.6 (#299)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.4 to 4.4.6.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.4.4...v4.4.6)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-06 21:23:13 +08:00
dependabot[bot]
47d9968b78 chore(deps): bump regex from 1.9.5 to 1.9.6 (#298)
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.5 to 1.9.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.5...1.9.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-06 21:22:53 +08:00
dependabot[bot]
265db62804 chore(deps): bump insta from 1.32.0 to 1.33.0 (#297)
Bumps [insta](https://github.com/mitsuhiko/insta) from 1.32.0 to 1.33.0.
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/insta/compare/1.32.0...1.33.0)

---
updated-dependencies:
- dependency-name: insta
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-06 21:22:37 +08:00