mirror of
https://github.com/Cuprate/cuprate.git
synced 2025-01-08 20:09:44 +00:00
fix IPv4 Endianness
This commit is contained in:
parent
0f1ad6db1b
commit
9bfd6fb826
1 changed files with 7 additions and 3 deletions
|
@ -1,6 +1,7 @@
|
||||||
use bytes::Buf;
|
|
||||||
use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
|
use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
|
||||||
|
|
||||||
|
use bytes::Buf;
|
||||||
|
|
||||||
use cuprate_epee_encoding::{epee_object, EpeeObjectBuilder};
|
use cuprate_epee_encoding::{epee_object, EpeeObjectBuilder};
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
|
|
||||||
|
@ -77,7 +78,7 @@ impl From<NetworkAddress> for TaggedNetworkAddress {
|
||||||
SocketAddr::V4(addr) => Self {
|
SocketAddr::V4(addr) => Self {
|
||||||
ty: Some(1),
|
ty: Some(1),
|
||||||
addr: Some(AllFieldsNetworkAddress {
|
addr: Some(AllFieldsNetworkAddress {
|
||||||
m_ip: Some(u32::from_be_bytes(addr.ip().octets())),
|
m_ip: Some(u32::from_le_bytes(addr.ip().octets())),
|
||||||
m_port: Some(addr.port()),
|
m_port: Some(addr.port()),
|
||||||
addr: None,
|
addr: None,
|
||||||
}),
|
}),
|
||||||
|
@ -112,7 +113,10 @@ epee_object!(
|
||||||
impl AllFieldsNetworkAddress {
|
impl AllFieldsNetworkAddress {
|
||||||
fn try_into_network_address(self, ty: u8) -> Option<NetworkAddress> {
|
fn try_into_network_address(self, ty: u8) -> Option<NetworkAddress> {
|
||||||
Some(match ty {
|
Some(match ty {
|
||||||
1 => NetworkAddress::from(SocketAddrV4::new(Ipv4Addr::from(self.m_ip?), self.m_port?)),
|
1 => NetworkAddress::from(SocketAddrV4::new(
|
||||||
|
Ipv4Addr::from(self.m_ip?.to_le_bytes()),
|
||||||
|
self.m_port?,
|
||||||
|
)),
|
||||||
2 => NetworkAddress::from(SocketAddrV6::new(
|
2 => NetworkAddress::from(SocketAddrV6::new(
|
||||||
Ipv6Addr::from(self.addr?),
|
Ipv6Addr::from(self.addr?),
|
||||||
self.m_port?,
|
self.m_port?,
|
||||||
|
|
Loading…
Reference in a new issue