Comments (3)
Line 2942 in 172f279
also because of this line we would bootstrap endlessly when only connected to LAN nodes?
from c-toxcore.
some one already changed it here for some reason:
c-toxcore/toxcore/onion_client.c
Lines 323 to 324 in 172f279
Use TCP paths when UDP is not connected. Made some code depend less on the UDP only DHT.
450ad2d
from c-toxcore.
you can never reach self UDP connection status.
but friends will get UDP connection status.
The connection status of this instance and the connection status of friends mean different things, which is mentioned in the API documentation, so this case is not surprising:
Lines 1021 to 1029 in 172f279
Looking at the code bits you quoted, it looks like Tox (via the Onion module) considers the case when DHT is connected only to LAN nodes, or no nodes at all, as Tox not being connected to the DHT via UDP. To rephrase this, Tox is connected via UDP only if its DHT is connected to a non-LAN, i.e. Internet, node. This is not a bad assumption in the context of trying to connect to the greater DHT that is on the Internet, as perhaps the router NAT is preventing you from establishing UDP connections with Internet nodes, which is why you are only able to connect to LAN nodes. It's reasonable to say that you are not connected to the DHT via UDP in this case. However, if your intent was never to connect to the Internet DHT, if it was to use Tox on LAN instead, then yes, reporting that DHT is not UDP-connected is misleading. It is not UDP-connected to Internet nodes, but is UDP-connected to LAN nodes. I wonder if we need an extra flag in the connection status to indicate LAN/non-LAN connection status? Or at the very least we could clarify the documentation to say something like "A UDP connection to a non-LAN Internet node has been established.".
also because of this line we would bootstrap endlessly when only connected to LAN nodes?
Again, if your intent is to connect to the Internet DHT nodes, then there is nothing wrong with such behavior. But if you intend to use Tox only for LAN, then you wouldn't want this behavior, as you pointed out. I guess Tox wasn't designed with LAN-only use-case in mind.
from c-toxcore.
Related Issues (20)
- Regression: cmake fails when libgtest-dev is installed but libgmock-dev is not
- create_extended_keypair should use Random and be made deterministic for fuzzing HOT 3
- Remove `Tox*` from log callback
- Add wrappers for `crypto_sign_*` functions, stop using sodium directly in modules other than crypto_core
- Savedata is not endianness portable HOT 3
- c-toxcore releases should include generated Python bindings HOT 13
- Add abi compliance checker to CI
- Friend requests with very long messages are ignored
- NGC: provide a stable peer list for NGC groups HOT 4
- NGC: spam protect groups by setting mute for all new peers HOT 2
- v0.2.19 release? HOT 4
- unbootstrap HOT 16
- error compiling on fedora HOT 4
- Some new features for better privacy and security HOT 9
- Tox_Options.operating_system is not clear about it being an experimental option HOT 2
- File transfer stuck at queue HOT 3
- meybe add https://radicle.xyz/ repo HOT 2
- chore: make it more clear when and why we bumped "cmp" version and that we are now using a fork of it
- make tox use loopback device on linux when UDP and local lan is turned on HOT 1
- can't cinnect utox
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from c-toxcore.