feat: add support for rust_http_proxy #7
clippy macos-latest
23 warnings
Details
Results
Message level | Amount |
---|---|
Internal compiler error | 0 |
Error | 0 |
Warning | 23 |
Note | 0 |
Help | 0 |
Versions
- rustc 1.80.1 (3f5fd8dd4 2024-08-06)
- cargo 1.80.1 (376290515 2024-07-16)
- clippy 0.1.80 (3f5fd8dd 2024-08-06)
Annotations
Check warning on line 172 in crates/shadowsocks-service/src/local/tun/tcp.rs
github-actions / clippy macos-latest
transmute used without annotations
warning: transmute used without annotations
--> crates/shadowsocks-service/src/local/tun/tcp.rs:172:38
|
172 | let recv_buf = unsafe { mem::transmute::<_, &mut [u8]>(buf.unfilled_mut()) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider adding missing annotations: `transmute::<&mut [std::mem::MaybeUninit<u8>], &mut [u8]>`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
= note: `#[warn(clippy::missing_transmute_annotations)]` on by default
Check warning on line 117 in crates/shadowsocks-service/src/local/socks/server/mod.rs
github-actions / clippy macos-latest
unnecessary closure used to substitute value for `Option::None`
warning: unnecessary closure used to substitute value for `Option::None`
--> crates/shadowsocks-service/src/local/socks/server/mod.rs:114:46
|
114 | let udp_associate_addr: ServerAddr = self
| ______________________________________________^
115 | | .udp_associate_addr
116 | | .as_ref()
117 | | .or_else(|| self.udp_bind_addr.as_ref())
| |______________--------------------------------------^
| |
| help: use `or(..)` instead: `or(self.udp_bind_addr.as_ref())`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations
Check warning on line 118 in crates/shadowsocks-service/src/local/socks/server/mod.rs
github-actions / clippy macos-latest
unnecessary closure used to substitute value for `Option::None`
warning: unnecessary closure used to substitute value for `Option::None`
--> crates/shadowsocks-service/src/local/socks/server/mod.rs:114:46
|
114 | let udp_associate_addr: ServerAddr = self
| ______________________________________________^
115 | | .udp_associate_addr
116 | | .as_ref()
117 | | .or_else(|| self.udp_bind_addr.as_ref())
118 | | .unwrap_or_else(|| &self.client_config)
| |______________-------------------------------------^
| |
| help: use `unwrap_or(..)` instead: `unwrap_or(&self.client_config)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations
= note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default
Check warning on line 66 in crates/shadowsocks-service/src/local/redir/udprelay/sys/unix/macos.rs
github-actions / clippy macos-latest
this `match` can be collapsed into the outer `if let`
warning: this `match` can be collapsed into the outer `if let`
--> crates/shadowsocks-service/src/local/redir/udprelay/sys/unix/macos.rs:58:21
|
58 | / match errno {
59 | | libc::ENOPROTOOPT => {
60 | | trace!("failed to set SO_REUSEPORT, error: {}", err);
61 | | }
... |
65 | | }
66 | | }
| |_____________________^
|
help: the outer pattern can be modified to include the inner pattern
--> crates/shadowsocks-service/src/local/redir/udprelay/sys/unix/macos.rs:57:29
|
57 | if let Some(errno) = err.raw_os_error() {
| ^^^^^ replace this binding
58 | match errno {
59 | libc::ENOPROTOOPT => {
| ^^^^^^^^^^^^^^^^^ with this pattern
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match
= note: `#[warn(clippy::collapsible_match)]` on by default
Check warning on line 97 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
this expression creates a reference which is immediately dereferenced by the compiler
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:97:23
|
97 | wait_response(&mut stream).await?;
| ^^^^^^^^^^^ help: change this to: `stream`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
Check warning on line 49 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
current MSRV (Minimum Supported Rust Version) is `1.74.0` but this item is stable since `1.80.0`
warning: current MSRV (Minimum Supported Rust Version) is `1.74.0` but this item is stable since `1.80.0`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:49:44
|
49 | static CONNECTOR: LazyLock<TlsConnector> = LazyLock::new(|| {
| ^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
= note: `#[warn(clippy::incompatible_msrv)]` on by default
Check warning on line 191 in crates/shadowsocks-service/src/local/loadbalancing/server_stat.rs
github-actions / clippy macos-latest
casting the result of `i32::abs()` to u32
warning: casting the result of `i32::abs()` to u32
--> crates/shadowsocks-service/src/local/loadbalancing/server_stat.rs:191:30
|
191 | .map(|s| (*s as i32 - self.data.latency_median as i32).abs() as u32)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(*s as i32 - self.data.latency_median as i32).unsigned_abs()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned
= note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default
Check warning on line 69 in crates/shadowsocks-service/src/local/loadbalancing/server_data.rs
github-actions / clippy macos-latest
using `clone` on type `ServerStatData` which implements the `Copy` trait
warning: using `clone` on type `ServerStatData` which implements the `Copy` trait
--> crates/shadowsocks-service/src/local/loadbalancing/server_data.rs:69:9
|
69 | self.stat_data.lock().await.data().clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.stat_data.lock().await.data()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
Check warning on line 56 in crates/shadowsocks-service/src/local/loadbalancing/server_data.rs
github-actions / clippy macos-latest
using `clone` on type `ServerStatData` which implements the `Copy` trait
warning: using `clone` on type `ServerStatData` which implements the `Copy` trait
--> crates/shadowsocks-service/src/local/loadbalancing/server_data.rs:56:38
|
56 | (stat.push_score(score), stat.data().clone())
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*stat.data()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
Check warning on line 919 in crates/shadowsocks-service/src/local/loadbalancing/ping_balancer.rs
github-actions / clippy macos-latest
redundant pattern matching, consider using `is_ok()`
warning: redundant pattern matching, consider using `is_ok()`
--> crates/shadowsocks-service/src/local/loadbalancing/ping_balancer.rs:919:16
|
919 | if let Ok(..) = response.parse(&buf) {
| -------^^^^^^----------------------- help: try: `if response.parse(&buf).is_ok()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching
Check warning on line 878 in crates/shadowsocks-service/src/local/loadbalancing/ping_balancer.rs
github-actions / clippy macos-latest
redundant pattern matching, consider using `is_ok()`
warning: redundant pattern matching, consider using `is_ok()`
--> crates/shadowsocks-service/src/local/loadbalancing/ping_balancer.rs:878:16
|
878 | if let Ok(..) = response.parse(&buf) {
| -------^^^^^^----------------------- help: try: `if response.parse(&buf).is_ok()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching
= note: `#[warn(clippy::redundant_pattern_matching)]` on by default
Check warning on line 32 in crates/shadowsocks-service/src/local/tun/mod.rs
github-actions / clippy macos-latest
unused import: `AbstractDevice`
warning: unused import: `AbstractDevice`
--> crates/shadowsocks-service/src/local/tun/mod.rs:32:78
|
32 | create_as_async, AsyncDevice, Configuration as TunConfiguration, AbstractDevice, Error as TunError, Layer,
| ^^^^^^^^^^^^^^
Check warning on line 165 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
unused variable: `flow_stat`
warning: unused variable: `flow_stat`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:165:13
|
165 | let flow_stat = context.flow_stat();
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flow_stat`
|
= note: `#[warn(unused_variables)]` on by default
Check warning on line 153 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
this `else { if .. }` block can be collapsed
warning: this `else { if .. }` block can be collapsed
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:146:16
|
146 | } else {
| ________________^
147 | | if use_http_tunnel {
148 | | // todo!("http tunnel is not implemented yet");
149 | | AutoProxyClientStream::connect_http_tunnel(context, server, addr).await
... |
152 | | }
153 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `#[warn(clippy::collapsible_else_if)]` on by default
help: collapse nested if block
|
146 ~ } else if use_http_tunnel {
147 + // todo!("http tunnel is not implemented yet");
148 + AutoProxyClientStream::connect_http_tunnel(context, server, addr).await
149 + } else {
150 + AutoProxyClientStream::connect_proxied_with_opts(context, server, addr, opts).await
151 + }
|
Check warning on line 24 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
unused import: `rustls::ClientConfig`
warning: unused import: `rustls::ClientConfig`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:24:20
|
24 | use tokio_rustls::{rustls::ClientConfig, TlsConnector};
| ^^^^^^^^^^^^^^^^^^^^
Check warning on line 23 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
unused imports: `AsyncBufReadExt` and `BufReader`
warning: unused imports: `AsyncBufReadExt` and `BufReader`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:23:17
|
23 | use tokio::io::{AsyncBufReadExt, AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt, BufReader, ReadBuf};
| ^^^^^^^^^^^^^^^ ^^^^^^^^^
Check warning on line 15 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
unused import: `Request`
warning: unused import: `Request`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:15:16
|
15 | use httparse::{Request, Response, Status};
| ^^^^^^^
Check warning on line 14 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
unused imports: `FutureExt` and `ready`
warning: unused imports: `FutureExt` and `ready`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:14:20
|
14 | use futures_util::{ready, FutureExt};
| ^^^^^ ^^^^^^^^^
Check warning on line 13 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
unused imports: `Future` and `stream`
warning: unused imports: `Future` and `stream`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:13:15
|
13 | use futures::{stream, Future};
| ^^^^^^ ^^^^^^
Check warning on line 11 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
unused import: `arc_swap::strategy`
warning: unused import: `arc_swap::strategy`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:11:5
|
11 | use arc_swap::strategy;
| ^^^^^^^^^^^^^^^^^^
Check warning on line 6 in crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs
github-actions / clippy macos-latest
unused import: `self`
warning: unused import: `self`
--> crates/shadowsocks-service/src/local/net/tcp/auto_proxy_stream.rs:6:11
|
6 | pin::{self, Pin},
| ^^^^
Check warning on line 16 in crates/shadowsocks-service/src/local/http/http_service.rs
github-actions / clippy macos-latest
unused import: `tokio::pin`
warning: unused import: `tokio::pin`
--> crates/shadowsocks-service/src/local/http/http_service.rs:16:5
|
16 | use tokio::pin;
| ^^^^^^^^^^
Check warning on line 6 in crates/shadowsocks-service/src/local/http/http_service.rs
github-actions / clippy macos-latest
unused import: `futures::stream`
warning: unused import: `futures::stream`
--> crates/shadowsocks-service/src/local/http/http_service.rs:6:5
|
6 | use futures::stream;
| ^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default