Skip to content

Commit

Permalink
Merge pull request #206 from izderadicka/yourip
Browse files Browse the repository at this point in the history
Fill yourip in extended handshake
  • Loading branch information
ikatson authored Aug 21, 2024
2 parents c697809 + 3c0baac commit 1a1d07e
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
4 changes: 3 additions & 1 deletion crates/librqbit/src/peer_connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use librqbit_core::{
};
use parking_lot::RwLock;
use peer_binary_protocol::{
extended::{handshake::ExtendedHandshake, ExtendedMessage},
extended::{handshake::{ExtendedHandshake, YourIP}, ExtendedMessage},
serialize_piece_preamble, Handshake, Message, MessageOwned, PIECE_MESSAGE_DEFAULT_LEN,
};
use serde::{Deserialize, Serialize};
Expand Down Expand Up @@ -245,7 +245,9 @@ impl<H: PeerConnectionHandler> PeerConnection<H> {
let supports_extended = handshake_supports_extended;

if supports_extended {
let your_ip = self.addr.ip();
let mut my_extended = ExtendedHandshake::new();
my_extended.yourip = Some(YourIP(your_ip));
self.handler
.update_my_extended_handshake(&mut my_extended)?;
let my_extended = Message::Extended(ExtendedMessage::Handshake(my_extended));
Expand Down
5 changes: 4 additions & 1 deletion crates/peer_binary_protocol/src/extended/handshake.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,10 @@ impl Serialize for YourIP {
let buf = ipv4.octets();
serializer.serialize_bytes(&buf)
}
IpAddr::V6(_) => todo!(),
IpAddr::V6(ipv6) => {
let buf = ipv6.octets();
serializer.serialize_bytes(&buf)
},
}
}
}
Expand Down

0 comments on commit 1a1d07e

Please sign in to comment.