mirror of
https://github.com/mailscope/kumomta.git
synced 2026-08-20 03:18:18 +00:00
7fffccf410
This commit adds some plumbing to facilitate generation of RFC 3464 non-delivery reports and some corresponding glue to enable calling it from lua. Examples in the docs that are also added.
101 lines
3.5 KiB
Makefile
101 lines
3.5 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
|
|
|
|
test-adhoc: build
|
|
cargo nextest run --no-fail-fast --no-capture -p integration-tests -- queue_ndr
|
|
|
|
test-kumod:
|
|
cargo nextest run --no-fail-fast -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
|
|
stylua --config-path stylua.toml .
|
|
black docs/generate-toc.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
|
|
./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
|
|
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
|