| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
| |
This removes unnecessary allocations per packet handling.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* github: download and extract WinDivert before running build
* build: add check for WinDivert path existence and fail early
* build: stop on missing distribution files instead of skipping
The release workflow failed because WinDivert binaries were not
present, and the build script continued execution even when cargo
build failed.
Ensure WinDivert is downloaded in CI and explicitly check its path
before packaging. Also, make the build script exit immediately on
missing files or build errors.
Reported-by: dilluti0n <[email protected]>
Link: https://github.com/dilluti0n/dpibreak/issues/1
Fixes: #1
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`make install` used to fail when run from a release tarball because
$(PROG) were depend on $(TARGET) but recipie for $(TARGET) were not
there. Decoupling build and installation by removing that dependancy.
Additionaly, there was verbose error messages Cargo.toml and git
metadata were not available on release tarball. Reorganized execution
order so that install/uninstall target no longer depends on cargo or
git.
Reported-by: dilluti0n <[email protected]>
Link: https://github.com/dilluti0n/dpibreak/issues/4
Fixes: #4
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
When installing, build should not happen both inside of release
tarball and repository (cargo build with root user is kinda
complexed).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Introduce: `splash!` macro in `log.rs` to print startup messages
conditionally, based on `--no-splash` flag.
* Move: `NO_SPLASH` management into `log.rs` with helper
functions: (`set_no_splash`, `no_splash`).
* Remove: old `splash()` function in `main.rs` and replace with
`splash!` macro usage.
* Set: default `LogLevel` according to build profile (Debug → Debug,
Release → Warning).
* Print: unified startup messages across Linux and Windows, including
`MESSAGE_AT_RUN`.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
pandoc -f man -t gfm --shift-heading-level-by=1 dpibreak.1 -o dpibreak.1.md
|
| | |
|
| |
|
|
|
| |
The binary size is about 3MB before stripping anyway, so whether it’s
built with musl or glibc doesn’t really make a difference.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
* Use: Cargo.toml inside on program
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Introduce: `DEFAULT_LOG_LEVEL` and `LOG_LEVEL_OVERRIDE` (OnceLock)
in log.rs.
* Add: `set_log_level()` and `current_log_level()`; gate defaults by
`debug_assertions`.
* Implement: `FromStr` for `LogLevel` with a proper error
type (`ParseLogLevelError`).
* Update: `log_println!` to respect `current_log_level()` and use
`format_args!`.
* Extend: CLI: `--loglevel <debug|info|warning|error>` and reflect it
in `usage()`.
* Replace: ad-hoc prints with `log_println!` and plumb parsed level
into `set_log_level`.
|
| |
|
|
|
|
| |
* Remove: unused `Fatal` variant from `LogLevel`.
* Update: comment on `Error` to indicate it represents unrecoverable
errors.
|
| |
|
|
|
|
|
|
|
| |
* Set: `LOG_LEVEL` to `Debug` in debug builds and `Warning` in release
builds via `#[cfg(debug_assertions)]`.
* Replace: direct `println!` calls with `log_println!` for packet
handling, warning messages, and argument parsing errors.
* Ensures: consistent log formatting and respects the global log level
configuration across the codebase.
|
| |
|
|
|
|
|
|
|
| |
Introduce `EnsureCleanup` struct with a `Drop` implementation that
calls `platform::cleanup()`. This guarantees cleanup is always
performed after a successful bootstrap, regardless of how execution
exits. Error handling is centralized in `main()`, where errors are
logged once with their cause chain, and the process exits with the
appropriate status code.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Define the TCP:443 outbound filter as a constant and reuse it in
WinDivert::network. Add a log message when the handle is successfully
constructed for better visibility during runtime.
|