mirror of
https://github.com/KumoCorp/kumomta.git
synced 2026-08-18 16:01:07 +00:00
4b84181479
Removes the deref to str as this is now a fallible operation that can panic. Process the fanout of this change, which is dealing with more possibility that things might be binary in more places. There are some transitional APIs introduced as deprecated so that I'm nagged to remove them already: I want to get the bulk of the code aware of the possibility of binary sorted before I tackle adjusting the message parser for that, so that that particular commit is more self-contained.
111 lines
3.9 KiB
Makefile
111 lines
3.9 KiB
Makefile
# pick up env vars from an optional .make-env file.
|
|
# On ubuntu you probably want ROCKSDB_LIB_DIR=/usr/lib/x86_64-linux-gnu
|
|
# in .make-env to make it faster to build the rocksdb crate
|
|
-include .make-env
|
|
export $(shell test -f .make-env && sed 's/=.*//' .make-env)
|
|
|
|
check:
|
|
cargo check
|
|
|
|
build:
|
|
cargo build $(BUILD_OPTS) -p kumod
|
|
cargo build $(BUILD_OPTS) -p tsa-daemon
|
|
cargo build $(BUILD_OPTS) -p kcli
|
|
cargo build $(BUILD_OPTS) -p validate-shaping
|
|
cargo build $(BUILD_OPTS) -p proxy-server
|
|
cargo build $(BUILD_OPTS) -p spool-util
|
|
cargo build $(BUILD_OPTS) -p tailer
|
|
cargo build $(BUILD_OPTS) -p traffic-gen
|
|
cargo build $(BUILD_OPTS) -p toml2jsonc
|
|
cargo build $(BUILD_OPTS) -p tls-probe
|
|
|
|
# Check compilation with all possible feature combinations
|
|
# Requires: cargo install --locked cargo-feature-combinations
|
|
fc:
|
|
RUSTFLAGS="--cfg tokio_unstable -D warnings" cargo fc check --fail-fast
|
|
|
|
test-lua:
|
|
cargo run -p run-lua-tests
|
|
|
|
test: build test-lua
|
|
./docs/update-openapi.sh
|
|
RUST_BACKTRACE=1 cargo nextest run --no-fail-fast
|
|
|
|
int-test: build
|
|
RUST_BACKTRACE=1 cargo nextest run --no-fail-fast
|
|
|
|
test-adhoc: build
|
|
cargo nextest run --no-fail-fast --no-capture -p integration-tests -- mx_list_refresh
|
|
|
|
test-kumod:
|
|
cargo nextest run --no-fail-fast -p kumod
|
|
|
|
expand-kumod:
|
|
cargo expand -p kumod metrics_helper
|
|
|
|
macro-kumod:
|
|
RUSTFLAGS="-Z macro-backtrace --cfg tokio_unstable" cargo +nightly check -p kumod
|
|
|
|
clippy:
|
|
cargo clippy -- \
|
|
-A clippy::assertions_on_constants \
|
|
-A clippy::upper_case_acronyms \
|
|
-A clippy::collapsible_if \
|
|
-A clippy::comparison_chain \
|
|
-A clippy::drop_non_drop \
|
|
-A clippy::if_same_then_else \
|
|
-A clippy::inherent_to_string \
|
|
-A clippy::int_plus_one \
|
|
-A clippy::len_without_is_empty \
|
|
-A clippy::manual_c_str_literals \
|
|
-A clippy::manual_flatten \
|
|
-A clippy::manual_strip \
|
|
-A clippy::match_like_matches_macro \
|
|
-A clippy::multiple_bound_locations \
|
|
-A clippy::module_inception \
|
|
-A clippy::needless_bool \
|
|
-A clippy::needless_borrow \
|
|
-A clippy::needless_lifetimes \
|
|
-A clippy::needless_option_as_deref \
|
|
-A clippy::needless_range_loop \
|
|
-A clippy::needless_return \
|
|
-A clippy::option_map_unit_fn \
|
|
-A clippy::redundant_closure \
|
|
-A clippy::redundant_guards \
|
|
-A clippy::self_named_constructors \
|
|
-A clippy::single_match \
|
|
-A clippy::to_string_trait_impl \
|
|
-A clippy::too_many_arguments \
|
|
-A clippy::type_complexity \
|
|
-A clippy::unnecessary_map_or \
|
|
-A clippy::unnecessary_mut_passed \
|
|
-A clippy::unnecessary_to_owned \
|
|
-A clippy::useless_format \
|
|
-A clippy::while_let_on_iterator \
|
|
-A clippy::wrong_self_convention \
|
|
|
|
fmt:
|
|
cargo +nightly fmt
|
|
cd crates/mod-smtp-response-normalize/codegen && cargo +nightly fmt
|
|
stylua --config-path stylua.toml .
|
|
black docs/generate-toc.py docs/update-metrics.py assets/ci/build-builder-images.py assets/ci/emit-builder-dockerfile.py assets/bt assets/log-filter.py
|
|
|
|
sink: unsink
|
|
sudo iptables -t nat -A OUTPUT -p tcp \! -d 192.168.1.0/24 --dport 25 -j DNAT --to-destination 127.0.0.1:2026
|
|
sudo iptables -t nat -L -n
|
|
KUMO_NODE_ID=906fd326-34e6-4405-a086-971017bf0f10 ./target/release/kumod --user `id -un` --policy sink.lua
|
|
#smtp-sink 127.0.0.1:2026 2000 || exit 0
|
|
|
|
smartsink: unsink
|
|
sudo iptables -t nat -A OUTPUT -p tcp \! -d 192.168.1.0/24 --dport 25 -j DNAT --to-destination 127.0.0.1:2026
|
|
sudo iptables -t nat -L -n
|
|
KUMO_NODE_ID=053227a3-8663-4f4e-97f4-a91e9bcd022b SINK_PORT=2026 SINK_HTTP=8002 SINK_SPOOL=/tmp/kumo-sink SINK_DATA=`pwd`/examples/smart-sink-docker/policy/responses.toml ./target/release/kumod --user `id -un` --policy `pwd`/examples/smart-sink-docker/policy/init.lua
|
|
|
|
hugesink: unsink
|
|
sudo iptables -t nat -A OUTPUT -p tcp \! -d 192.168.1.0/24 --dport 25 -j DNAT --to-destination 192.168.1.54:2026
|
|
sudo iptables -t nat -L -n
|
|
#smtp-sink 127.0.0.1:2026 2000 || exit 0
|
|
|
|
unsink: # float?
|
|
while sudo iptables -t nat -D OUTPUT -p tcp \! -d 192.168.1.0/24 --dport 25 -j DNAT --to-destination 127.0.0.1:2026 ; do true ; done
|