Sinodun / Stubby_Manager

Stubby Manager - a GUI to control Stubby, a DNS Privacy stub resolver
https://dnsprivacy.org/wiki/display/DP/Stubby+Manager+GUI
Other
28 stars 2 forks source link

Stubby does not work if there are virtual adapters [Windows] #6

Open BalkanMadman opened 2 years ago

BalkanMadman commented 2 years ago

Okay, so I downloaded the latest Stubby manager version and when I try to turn it on it shows following error message

Status: Stubby service NOT in use by system (DNS settings NOT using localhost).

So, I opened windows control panel, went to adapter settings and double-checked that all PHYSICAL, but not virtual adapters use localhost DNS server.

I have to say, I am not so good at coding. Nevertheless, I suspect that an issue is in function isResolverLoopback in networkmanager_windows.cpp file. (For some reason, unknown to me, I can't attach files, so I'll paste the part of code)

bool NetworkMgrWindows::isResolverLoopback() const { if ( interfaces.empty() ) { qDebug("No interfaces found"); return false; }

**return std::all_of(interfaces.begin(), interfaces.end(),**
                   **[](const auto& iface)**
                   **{**
                      **return (iface.is_running() ? iface.is_resolver_loopback() : true);**
                   **});**

}

As far as I understand it goes through all adapters (not just physical) and returns false if any of them does not use localhost DNS server.

MagnifiedX commented 1 year ago

Okay, so I downloaded the latest Stubby manager version and when I try to turn it on it shows following error message

Status: Stubby service NOT in use by system (DNS settings NOT using localhost).

So, I opened windows control panel, went to adapter settings and double-checked that all PHYSICAL, but not virtual adapters use localhost DNS server.

I have to say, I am not so good at coding. Nevertheless, I suspect that an issue is in function isResolverLoopback in networkmanager_windows.cpp file. (For some reason, unknown to me, I can't attach files, so I'll paste the part of code)

bool NetworkMgrWindows::isResolverLoopback() const { if ( interfaces.empty() ) { qDebug("No interfaces found"); return false; }

**return std::all_of(interfaces.begin(), interfaces.end(),**
                   **[](const auto& iface)**
                   **{**
                      **return (iface.is_running() ? iface.is_resolver_loopback() : true);**
                   **});**

}

As far as I understand it goes through all adapters (not just physical) and returns false if any of them does not use localhost DNS server.

It's coming back that way because of the virtual adapters yes, but it does not break functionality at all; it's a visual bug only, and you can confirm stubby is working by following the procedures to issue a query against loopback after configuration is complete.