diff options
| author | Odd Stranne <odd@mullvad.net> | 2018-06-07 11:41:41 +0200 |
|---|---|---|
| committer | Odd Stranne <odd@mullvad.net> | 2018-06-18 08:45:16 +0200 |
| commit | 205bd46a9b1e8f2ce5914fbb1d1311f250c10165 (patch) | |
| tree | eeb41e5e9a73d4d99873e5c99f8a939b028bdfdf /windows | |
| parent | 154bf451f86b40ecd04642feae19b1e551552aa0 (diff) | |
| download | mullvadvpn-205bd46a9b1e8f2ce5914fbb1d1311f250c10165.tar.xz mullvadvpn-205bd46a9b1e8f2ce5914fbb1d1311f250c10165.zip | |
Implement WinDns_Recover
Diffstat (limited to 'windows')
| -rw-r--r-- | windows/windns/src/windns/windns.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/windows/windns/src/windns/windns.cpp b/windows/windns/src/windns/windns.cpp index 66b7c94f7c..ea8ee15c33 100644 --- a/windows/windns/src/windns/windns.cpp +++ b/windows/windns/src/windns/windns.cpp @@ -2,6 +2,9 @@ #include "windns.h" #include "windnscontext.h" #include "clientsinkinfo.h" +#include "windns/serialization/deserializer.h" +#include "interfaceconfig.h" +#include "dnsreverter.h" #include <vector> #include <string> @@ -164,7 +167,17 @@ WinDns_Recover( uint32_t dataLength ) { - // TODO: smart stuff + common::serialization::Deserializer d(reinterpret_cast<const uint8_t *>(configData), dataLength); - return false; + uint32_t numConfigs; + d >> numConfigs; + + DnsReverter dnsReverter; + + for (; numConfigs != 0; --numConfigs) + { + dnsReverter.revert(InterfaceConfig(d)); + } + + return true; } |
