Browse Source

[transports] get addresses on interfaeces before initializing RouterContext

Signed-off-by: R4SAS <r4sas@i2pmail.org>
pull/1794/head
R4SAS 2 years ago
parent
commit
1d9d89b115
Signed by: r4sas
GPG Key ID: 66F6C87B98EBCFE2
  1. 2
      daemon/Daemon.cpp
  2. 12
      libi2pd/Transports.cpp
  3. 1
      libi2pd/Transports.h

2
daemon/Daemon.cpp

@ -157,6 +157,8 @@ namespace util
precomputation = false; // we don't elgamal table if no ssu, unless it's specified explicitly precomputation = false; // we don't elgamal table if no ssu, unless it's specified explicitly
i2p::crypto::InitCrypto (precomputation, aesni, avx, forceCpuExt); i2p::crypto::InitCrypto (precomputation, aesni, avx, forceCpuExt);
i2p::transport::InitAddressFromIface (); // get address4/6 from interfaces
int netID; i2p::config::GetOption("netid", netID); int netID; i2p::config::GetOption("netid", netID);
i2p::context.SetNetID (netID); i2p::context.SetNetID (netID);
i2p::context.Init (); i2p::context.Init ();

12
libi2pd/Transports.cpp

@ -965,7 +965,7 @@ namespace transport
} }
} }
void InitTransports () void InitAddressFromIface ()
{ {
bool ipv6; i2p::config::GetOption("ipv6", ipv6); bool ipv6; i2p::config::GetOption("ipv6", ipv6);
bool ipv4; i2p::config::GetOption("ipv4", ipv4); bool ipv4; i2p::config::GetOption("ipv4", ipv4);
@ -988,8 +988,15 @@ namespace transport
else if (!ifname.empty ()) else if (!ifname.empty ())
i2p::config::SetOption ("address6", i2p::util::net::GetInterfaceAddress(ifname, true).to_string ()); // v6 i2p::config::SetOption ("address6", i2p::util::net::GetInterfaceAddress(ifname, true).to_string ()); // v6
} }
}
void InitTransports ()
{
bool ipv6; i2p::config::GetOption("ipv6", ipv6);
bool ipv4; i2p::config::GetOption("ipv4", ipv4);
bool ygg; i2p::config::GetOption("meshnets.yggdrasil", ygg);
uint16_t port; i2p::config::GetOption("port", port);
bool ygg; i2p::config::GetOption("meshnets.yggdrasil", ygg);
boost::asio::ip::address_v6 yggaddr; boost::asio::ip::address_v6 yggaddr;
if (ygg) if (ygg)
{ {
@ -1015,7 +1022,6 @@ namespace transport
} }
} }
uint16_t port; i2p::config::GetOption("port", port);
if (!i2p::config::IsDefault("port")) if (!i2p::config::IsDefault("port"))
{ {
LogPrint(eLogInfo, "Transports: Accepting incoming connections at port ", port); LogPrint(eLogInfo, "Transports: Accepting incoming connections at port ", port);

1
libi2pd/Transports.h

@ -204,6 +204,7 @@ namespace transport
extern Transports transports; extern Transports transports;
void InitAddressFromIface ();
void InitTransports (); void InitTransports ();
} }
} }

Loading…
Cancel
Save