Sending your ip as part of peer_connection.rs

This commit is contained in:
Igor Katson 2024-08-31 11:35:26 +01:00
parent e9acbaa9dc
commit 3f014ee80a
No known key found for this signature in database
GPG key ID: B4EC22B66D61A3F5
3 changed files with 17 additions and 12 deletions

View file

@ -14,7 +14,10 @@ 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};
@ -248,6 +251,7 @@ impl<H: PeerConnectionHandler> PeerConnection<H> {
if supports_extended {
let mut my_extended = ExtendedHandshake::new();
my_extended.v = Some(ByteBuf(crate::client_name_and_version().as_bytes()));
my_extended.yourip = Some(YourIP(self.addr.ip()));
self.handler
.update_my_extended_handshake(&mut my_extended)?;
let my_extended = Message::Extended(ExtendedMessage::Handshake(my_extended));