Merge pull request #206 from izderadicka/yourip
Fill yourip in extended handshake
This commit is contained in:
commit
1a1d07e5cb
2 changed files with 7 additions and 2 deletions
|
|
@ -14,7 +14,7 @@ use librqbit_core::{
|
||||||
};
|
};
|
||||||
use parking_lot::RwLock;
|
use parking_lot::RwLock;
|
||||||
use peer_binary_protocol::{
|
use peer_binary_protocol::{
|
||||||
extended::{handshake::ExtendedHandshake, ExtendedMessage},
|
extended::{handshake::{ExtendedHandshake, YourIP}, ExtendedMessage},
|
||||||
serialize_piece_preamble, Handshake, Message, MessageOwned, PIECE_MESSAGE_DEFAULT_LEN,
|
serialize_piece_preamble, Handshake, Message, MessageOwned, PIECE_MESSAGE_DEFAULT_LEN,
|
||||||
};
|
};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
@ -245,7 +245,9 @@ impl<H: PeerConnectionHandler> PeerConnection<H> {
|
||||||
let supports_extended = handshake_supports_extended;
|
let supports_extended = handshake_supports_extended;
|
||||||
|
|
||||||
if supports_extended {
|
if supports_extended {
|
||||||
|
let your_ip = self.addr.ip();
|
||||||
let mut my_extended = ExtendedHandshake::new();
|
let mut my_extended = ExtendedHandshake::new();
|
||||||
|
my_extended.yourip = Some(YourIP(your_ip));
|
||||||
self.handler
|
self.handler
|
||||||
.update_my_extended_handshake(&mut my_extended)?;
|
.update_my_extended_handshake(&mut my_extended)?;
|
||||||
let my_extended = Message::Extended(ExtendedMessage::Handshake(my_extended));
|
let my_extended = Message::Extended(ExtendedMessage::Handshake(my_extended));
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,10 @@ impl Serialize for YourIP {
|
||||||
let buf = ipv4.octets();
|
let buf = ipv4.octets();
|
||||||
serializer.serialize_bytes(&buf)
|
serializer.serialize_bytes(&buf)
|
||||||
}
|
}
|
||||||
IpAddr::V6(_) => todo!(),
|
IpAddr::V6(ipv6) => {
|
||||||
|
let buf = ipv6.octets();
|
||||||
|
serializer.serialize_bytes(&buf)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue