Skip to content

Commit d69a2fa

Browse files
committed
add recv log for UDP remote-to-local task
1 parent 4dfcc8e commit d69a2fa

File tree

3 files changed

+36
-12
lines changed

3 files changed

+36
-12
lines changed

crates/shadowsocks-service/src/local/net/udp/association.rs

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -549,10 +549,16 @@ where
549549
let mut buffer = [0u8; MAXIMUM_UDP_PAYLOAD_SIZE];
550550
loop {
551551
let (n, addr) = match outbound.recv(&mut buffer).await {
552-
Ok(n) => {
552+
Ok((n, addr)) => {
553+
trace!(
554+
"udp relay {} <- {} (proxied) received {} bytes",
555+
self.peer_addr,
556+
addr,
557+
n
558+
);
553559
// Keep association alive in map
554560
let _ = self.assoc_map.lock().await.get(&self.peer_addr);
555-
n
561+
(n, addr)
556562
}
557563
Err(err) => {
558564
// Socket that connected to remote server returns an error, it should be ECONNREFUSED in most cases.
@@ -575,24 +581,35 @@ where
575581
// Send back to client
576582
if let Err(err) = self.respond_writer.send_to(self.peer_addr, &addr, data).await {
577583
warn!(
578-
"udp failed to send back to client {}, from target {}, error: {}",
584+
"udp failed to send back to client {}, from target {} (proxied), error: {}",
579585
self.peer_addr, addr, err
580586
);
581587
continue;
582588
}
583589

584-
trace!("udp relay {} <- {} with {} bytes", self.peer_addr, addr, data.len());
590+
trace!(
591+
"udp relay {} <- {} (proxied) with {} bytes",
592+
self.peer_addr,
593+
addr,
594+
data.len()
595+
);
585596
}
586597
}
587598

588599
async fn copy_bypassed_r2l(self: Arc<Self>, outbound: Arc<UdpSocket>) -> io::Result<()> {
589600
let mut buffer = [0u8; MAXIMUM_UDP_PAYLOAD_SIZE];
590601
loop {
591602
let (n, addr) = match outbound.recv_from(&mut buffer).await {
592-
Ok(n) => {
603+
Ok((n, addr)) => {
604+
trace!(
605+
"udp relay {} <- {} (bypassed) received {} bytes",
606+
self.peer_addr,
607+
addr,
608+
n
609+
);
593610
// Keep association alive in map
594611
let _ = self.assoc_map.lock().await.get(&self.peer_addr);
595-
n
612+
(n, addr)
596613
}
597614
Err(err) => {
598615
error!(
@@ -610,13 +627,18 @@ where
610627
// Send back to client
611628
if let Err(err) = self.respond_writer.send_to(self.peer_addr, &addr, data).await {
612629
warn!(
613-
"udp failed to send back to client {}, from target {}, error: {}",
630+
"udp failed to send back to client {}, from target {} (bypassed), error: {}",
614631
self.peer_addr, addr, err
615632
);
616633
continue;
617634
}
618635

619-
trace!("udp relay {} <- {} with {} bytes", self.peer_addr, addr, data.len());
636+
trace!(
637+
"udp relay {} <- {} (bypassed) with {} bytes",
638+
self.peer_addr,
639+
addr,
640+
data.len()
641+
);
620642
}
621643
}
622644
}

crates/shadowsocks-service/src/local/tunnel/udprelay.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,8 +370,9 @@ impl UdpAssociationContext {
370370
async fn copy_proxied_r2l(self: Arc<Self>, outbound: Arc<MonProxySocket>) -> io::Result<()> {
371371
let mut buffer = [0u8; MAXIMUM_UDP_PAYLOAD_SIZE];
372372
loop {
373-
let (n, _) = match outbound.recv(&mut buffer).await {
374-
Ok(n) => {
373+
let n = match outbound.recv(&mut buffer).await {
374+
Ok((n, addr)) => {
375+
trace!("udp relay {} <- {} received {} bytes", self.peer_addr, addr, n);
375376
// Keep association alive in map
376377
let _ = self.assoc_map.lock().await.get(&self.peer_addr);
377378
n

crates/shadowsocks-service/src/server/udprelay.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -414,10 +414,11 @@ impl UdpAssociationContext {
414414
let mut buffer = [0u8; MAXIMUM_UDP_PAYLOAD_SIZE];
415415
loop {
416416
let (n, addr) = match outbound.recv_from(&mut buffer).await {
417-
Ok(n) => {
417+
Ok((n, addr)) => {
418+
trace!("udp relay {} <- {} received {} bytes", self.peer_addr, addr, n);
418419
// Keep association alive in map
419420
let _ = self.assoc_map.lock().await.get(&self.peer_addr);
420-
n
421+
(n, addr)
421422
}
422423
Err(err) => {
423424
error!(

0 commit comments

Comments
 (0)