Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AdGuard Home cannot work for 5 minutes after boot, DNS timeouts (Raspberry Pi) #633

Closed
ghost opened this issue Mar 10, 2019 · 49 comments
Closed
Assignees
Milestone

Comments

@ghost
Copy link

ghost commented Mar 10, 2019

When setting the Upstream DNS servers from the default TLS to Cloudflare's DoH (https://cloudflare-dns.com/dns-query), rebooting the Pi causes AdGuard Home to behave unexpectedly once booted.

No clients can use DNS, the DNS requests all timeout. Trying to visit the admin page causes the settings page to freeze and not load for a very long time, with errors about timeouts for version checks to github. If I can get it to eventually load, I need to clear the DoH entry so it reverts back to the default TLS entries.

Once it uses TLS again, all clients can use DNS fine and the AdGuard Home admin interface works normally again.

So DNS-over-HTTPS does not work for me once I restart the Pi.

@ghost ghost changed the title Cloudflare DNS-over-HTTPS cause timeouts and freezes admin settings (Pi, 0.93 Cloudflare DNS-over-HTTPS cause timeouts and freezes admin settings (Pi, v0.93) Mar 10, 2019
@ameshkov ameshkov added the waiting for data Waiting for users to provide more data. label Mar 10, 2019
@ameshkov
Copy link
Member

Could you please collect AGH logs (preferably, with verbose logging enabled)?

@ameshkov
Copy link
Member

Tbh, it sounds like some kind of a recursion issue (AGH tries to resolve Cloudflare domain name through itself). What bootstrap DNS server do you have configured?

@ghost
Copy link
Author

ghost commented Mar 10, 2019

Oops, you are right. I do have 1.1.1.1 as the bootstrap DNS server, does this mean the bootstrap must be different to the Upstream DNS server, or can I use IP addresses instead of the domain name, since the default TLS works at the moment?

eg. instead of https://cloudflare-dns.com/dns-query, I set
https://1.1.1.1/dns-query and
https://1.0.0.1/dns-query

@ameshkov
Copy link
Member

Oops, you are right. I do have 1.1.1.1 as the bootstrap DNS server, does this mean the bootstrap must be different to the Upstream DNS server

Well, actually it should've worked just okay, what matters is that bootstrap DNS shouldn't be 127.0.0.1.

Could you please export logs just in case? We want to make a DOH upstream default so it might be important.

@ghost
Copy link
Author

ghost commented Mar 11, 2019

Could you please export logs just in case? We want to make a DOH upstream default so it might be important.

I've done it with verbose, but there is quite a bit of metadata. Could I email it to you so it's not public on here?

From what I see, if you set the DoH without rebooting, it can work fine:
2019/03/12 09:51:22 [42] proxy.exchangeWithUpstream(): upstream https://cloudflare-dns.com:443/dns-query successfully finished exchange of ;adguardteam.github.io

But once rebooted you get this instead:
2019/03/12 09:54:18 [40] proxy.exchangeWithUpstream(): upstream https://cloudflare-dns.com:443/dns-query failed to exchange ;sb.adtidy.org.

And since the admin interface relies on external connections, it also suffers.

@ameshkov
Copy link
Member

I've done it with verbose, but there is quite a bit of metadata. Could I email it to you so it's not public on here?

Sure, please send it to devteam@adguard.com

@ghost
Copy link
Author

ghost commented Mar 12, 2019

Thank you, sent it now.

@ameshkov
Copy link
Member

ameshkov commented Mar 12, 2019

Got the log, thank you!

Quick analysis:

  1. Bootstrap DNS is okay, it managed to resolve cloudflare-dns.com

    2019/03/12 09:54:08 [40] upstream.lookup(): successfully finish lookup for cloudflare-dns.com in 34 milliseconds using 1.1.1.1:53. Result : [{104.16.112.25 } {104.16.111.25 } {2606:4700::6810:7019 } {2606:4700::6810:6f19 }]
    
  2. It has successfully connected to the DOH server:

    2019/03/12 09:54:13 [75] upstream.createDialContext.func1(): Dialing to 104.16.112.25:443
    2019/03/12 09:54:13 [75] upstream.createDialContext.func1(): dialer successfully initialize connection to 104.16.112.25:443 in 25 milliseconds
    
  3. Then the HTTP request timed out:

    2019/03/12 09:54:18 [40] proxy.exchangeWithUpstream(): upstream https://cloudflare-dns.com:443/dns-query failed to exchange ;sb.adtidy.org.	IN	 A in 10043665621 milliseconds. Cause: couldn't do a POST request to 'https://cloudflare-dns.com:443/dns-query', cause: Post https://cloudflare-dns.com:443/dns-query: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
    

It means that the TLS connection was also established without issues, but there's no response from CF to the DNS query.

Is this how it behaves every time or is it just after rebooting the pi?

@ghost
Copy link
Author

ghost commented Mar 12, 2019

Is this how it behaves every time or is it just after rebooting the pi?

Once I save the settings for the DoH server to overwrite the existing TLS defaults, it can still function (as you saw in the logs). But, once I either restart the service or restart the Pi, all DNS stops working no matter what I do. Once I set it back to TLS defaults and restart the service or Pi, all is working again.

@ameshkov
Copy link
Member

@planet0 is it specific to Cloudflare or to any DOH resolver? Have you tried any other DOH server?

@ghost
Copy link
Author

ghost commented Mar 12, 2019

I tried to use Quad9's DoH and the same issue occurred. Unfortunately I also managed to completely break the entire AdGuard Home service as the default Cloudflare TLS also stopped working and rebooting the Pi wasn't doing anything either. Deleting the .yaml file and setting it up again still didn't work. Reinstalling the service didn't work either.

I reinstalled Pi-hole and the DNS started to work again without a reboot.

I think I need to try using AdGuard Home with a fresh install of Raspbian and not from a previous Pi-hole installation, and revisit this another time.

@ameshkov
Copy link
Member

Sounds really unusual, I don't understand what can possibly cause all this:( As if something is preventing connecting to non-standard ports or smth like this.

@ghost
Copy link
Author

ghost commented Mar 12, 2019

It might be how much Pi-hole modifies or configs the Pi, but I won't know until I fresh install... does any over at AdGuard have a Raspberry Pi that could replicate installing Pi-hole, uninstalling it and then trying to run AdGuard Home for this?

@ameshkov
Copy link
Member

@planet0 yeah, I guess we can try that. Btw, have you been using the built-in DHCP in pi-hole and AGH?

@szolin could you please try doing it?

@ghost
Copy link
Author

ghost commented Mar 12, 2019

Btw, have you been using the built-in DHCP in pi-hole and AGH?

For Pi-hole I was using the built-in DHCP as it works really good, for this instance I used my TP-Link to manage DHCP for using AdGuard Home as there are still some bugs to iron out, and no ability for static leases from memory.

The only other thing I can think of is that I was able to use 'cloudflared' alongside Pi-hole so I could use DNS-over-HTTPS for 1.1.1.1, with this guide: https://docs.pi-hole.net/guides/dns-over-https/

It was working really well.

I did uninstall the service and remove all cloudflared files before trying AdGuard Home, but the fact that cloudflared can work for DoH and not AdGuard Home is confusing.

@ameshkov
Copy link
Member

@planet0 btw, any idea where Koala postfix comes from in the DNS questions after the service restart?

;; QUESTION SECTION:
;adguardteam.github.io.Koala.	IN	 A

@ameshkov
Copy link
Member

Ah, nvm

@ghost
Copy link
Author

ghost commented Mar 12, 2019

It was the DHCP Domain name, yeah.

@ameshkov
Copy link
Member

ameshkov commented Mar 12, 2019

It'd interesting to check a couple more things:

  1. Try using https://1.1.1.1/dns-query as a DOH upstream
  2. After restart try this command to check connectivity to CF DNS: openssl s_client -connect 104.16.112.25:443 -servername cloudflare-dns.com. Make sure that this command is executed under the same user as AGH.
  3. Also, I'd like to see what you have in /etc/resolv.conf

@ghost
Copy link
Author

ghost commented Mar 13, 2019

Okay, I've played around with it some more after uninstalling Pi-hole again.

I found the root issue, and it's that when I reboot the Pi, AdGuard Home is unable to use the DNS port for about 5 minutes (I timed it with a stopwatch).

Once 5 minutes passes, all DNS traffic works and the version checks in the Admin page pass, and I can also change to use and test upstream for any DNS, so both https://cloudflare-dns.com/dns-query and https://1.1.1.1/dns-query works. I used v0.92-hotfix1 so I can see the banner appear for the new version. I can stop and restart AdGuard Home afterwards and it works straight away.

It's not related to the install or uninstall of the service, as running directly via sudo ./AdGuardHome --host 192.168.0.2 produces the same results (and was useful for testing).

This is why setting the DoH was working before rebooting when I opened this issue. Something on this Pi isn't letting AdGuard Home work for 5 minutes after booting up, yet Pi-hole is able to load instantly.

3. Also, I'd like to see what you have in /etc/resolv.conf

Pi-hole forces this to be 127.0.0.1 and leaves the static config on the Pi, but removing the static entry afterwards defaults resolv.conf to the IP of the Pi, in my case 192.168.0.2. Changing it to 1.1.1.1 or 8.8.8.8 doesn't help during these 5 minutes regardless.

@ghost ghost changed the title Cloudflare DNS-over-HTTPS cause timeouts and freezes admin settings (Pi, v0.93) AdGuard Home cannot work for 5 minutes after boot (Raspberry Pi) Mar 13, 2019
@ghost ghost changed the title AdGuard Home cannot work for 5 minutes after boot (Raspberry Pi) AdGuard Home cannot work for 5 minutes after boot, DNS timeouts (Raspberry Pi) Mar 13, 2019
@ameshkov
Copy link
Member

to use the DNS port

The issue is valid for DOH only, right?
Is it okay when you select a plain DNS upstream?

yet Pi-hole is able to load instantly

Were you using it's own DHCP when testing?

@ghost
Copy link
Author

ghost commented Mar 13, 2019

It got to the point where nothing was working, including regular upstreams or changing the bootstrap. After 5 minutes, all DNS types can work.

Pi-hole was still using the TP-Link DHCP device, I simply ran the install command and once finished, dns started to work. Rebooting the Pi also works seconds after finishing boot.

Another thought I had is that I had a few ‘apt-get’ updates on the Pi, perhaps one of them has changed the behaviour of Raspbian in the last few weeks since I last used AdGuard Home.

@ameshkov
Copy link
Member

ameshkov commented Mar 13, 2019

Do they both (AGH and Pi-Hole) work under the same user?
Is it root?

@ghost
Copy link
Author

ghost commented Mar 14, 2019

Do they both (AGH and Pi-Hole) work under the same user?
Is it root?

AdGuard Home doesn't require any user setup does it, it just uses the person's regular user account (eg. default 'pi')?

From what I can see and from looking at their install script, I believe Pi-hole uses their own user (cloudflared does too).

Line 1708 in that script adds a user 'pihole'.

Also looking at this issue over at Pi-hole (pi-hole/pi-hole#1547), they mention that they use setcaps for binding ports, which I personally do not understand but might shed some light in how they operate it. They also seem to use root for some actions.

FTLDNS now runs as non-root but with setcap's for binding to lower ports and that's a big exposure reduced.

@ghost
Copy link
Author

ghost commented Mar 15, 2019

I think this is a wider non-AGH related issue, as I have had the same issue with cloudflared. Others are experiencing the same issue as me, so I suspect something Pi related and not an issue with AdGuard Home.

cloudflare/cloudflared#23

@saltama
Copy link

saltama commented Mar 28, 2019

And this is the log of the service after a reboot, but WITH verbose enabled:
adh3.log.txt.zip

Not much too see other than some requests failing after 200s. Still hundreds of threads in htop.
Both these tests are using only tls and parallel enabled.

But... i got it working right at boot with two DoH servers and no parallel, first time ever.

Edit: Tried again after 2 minutes, it stopped working again. :(

@szolin
Copy link
Contributor

szolin commented Mar 29, 2019

In the log file above there are 1228 attempted connections to 4 upstream servers from function AdguardTeam/dnsproxy/upstream.createDialContext() - 4 connections per 1 DNS request, plus 16 times AGH tried to get an update for a filter.

148 out of those 1228 requests failed with "i/o timeout" error after ~3 minutes.
It means that 1k requests are still pending (and their socket fd's are still opened) while they are waiting for network I/O.

So looking at this log I can only see that AGH simply can't reach the Internet servers - they all fail after timeout.
I recommend using a network traffic sniffer like tcpdump or wireshark to ensure that those connection attempts are really delivered to the network interface. And if they do, we need to check whether any packets from the upstream servers are delivered back to AGH.

Currently we don't know where the packets get stuck, so the first step is to find where this issue comes from.

@ameshkov
Copy link
Member

@planet0 @saltama I just stumbled upon this comment in the similar issue of CF repo:
cloudflare/cloudflared#23 (comment)

BUT after the connection is restored it still doesn't return DNS responses. I can fix it by pinging 1.0.0.1 (not restarting cloudflared) . This makes me suspect a lower layer issue - routing, perhaps?

Could you please check if it helps to ping 1.1.1.1/1.0.0.1?

@saltama
Copy link

saltama commented Mar 29, 2019

Could you please check if it helps to ping 1.1.1.1/1.0.0.1?

Doesn't work for me, the pings go through but adguard is still blocked(after 20 mins it still is) with the hundreds of threads.

It means that 1k requests are still pending (and their socket fd's are still opened) while they are waiting for network I/O.

Should these be there in the first place? I mean, if we have another thread trying to make i/o to an unresponding address, should we open more? (also, shouldn't we have some limit?)
But ok, i don't even know what creates those threads and why so... nevermind.

I recommend using a network traffic sniffer like tcpdump or wireshark to ensure that those connection attempts are really delivered to the network interface.

As last resort yes.

@ghost
Copy link
Author

ghost commented Mar 29, 2019

Quickly adding that it is possible to ping 1.1.1.1/1.0.0.1 during this time, but it doesn’t affect AGH regardless until 5 minutes after boot.

It was the same behaviour with cloudflared, I couldn’t do anything to fix it until 5 minutes as well for cloudflared to start working.

@ameshkov
Copy link
Member

ameshkov commented Apr 1, 2019

Should these be there in the first place? I mean, if we have another thread trying to make i/o to an unresponding address, should we open more? (also, shouldn't we have some limit?)

@saltama well, yeah, but it will only fix one of the symptoms, it will not fix the root cause.

Also, I think the i/o timeout issue you're experiencing is different from this one.

There are two different issues:

  1. No connection for the first 5 min after RPi reboot.
  2. i/o timeout errors that starting to appear after a few minutes of working without issues.

We tried updating our test RPi and installing the same packages, but still, we weren't able to reproduce it. So it seems we really need your help to figure what's wrong.

@planet0 @saltama could you please collect tcpdump for us?

Here's what needs to be done:

  1. Wait until the issue is reproduced.
  2. Run tcpdump -i IFACE -w FILE.pcap where IFACE is the name of the network interface, FILE is the dump filename.
  3. We'll need this file to analyze.

@saltama
Copy link

saltama commented Apr 1, 2019

There are two different issues:

100% agree.

I'd prefer to send you the dump only when I'll be able to isolate the router and the pi0 in a somewhat proper testbed. Need some time to be able to set it up.

@ameshkov
Copy link
Member

ameshkov commented Apr 2, 2019

Sure, np.

Btw, as I recall, you can limit tcpdump to specific IP addresses so that there will be no risk in leaking anything private (communication with DOH/DOT is encrypted anyways).

@ghost
Copy link
Author

ghost commented Apr 12, 2019

Haven't had the chance to test it yet, but Raspbian had a new update released on April 8, I would like to see if that has made any changes regarding this issue.

Forgot to mention, I'm running Raspbian Lite instead of the desktop version.

@ghost
Copy link
Author

ghost commented May 12, 2019

Tried with cloudflared, still experiencing the same issue even with the recent updates for Raspbian and cloudflared. Going to assume that AdGuard Home would still experience the same issue then. Mentioned it at cloudflare/cloudflared#91.

@szolin
Copy link
Contributor

szolin commented Jun 3, 2019

@planet0 Does the issue still persist? If yes, how about that tcpdump data for DNS requests? You can use tcpdump's filters (IPs, ports) and give us only related information.

@szolin szolin modified the milestones: v0.96, v0.97 Jun 4, 2019
@ghost
Copy link
Author

ghost commented Jun 24, 2019

@szolin I haven't forgotten about this! I've found some time to work on this now - would you be able to help me figure out how to get the required tcpdump data from a Raspberry Pi running Raspbian Lite?

Edit: Oops, I forgot about the instructions that @ameshkov provided above. Will get onto this, still sending to devteam[at]adguard.com?

@ghost
Copy link
Author

ghost commented Jul 1, 2019

Some good news @szolin @ameshkov, it seems that with Raspbian Buster, I no longer need to wait 5 minutes on boot - network connections are going through just fine. 🎉

@szolin
Copy link
Contributor

szolin commented Jul 2, 2019

Glad to hear!

@szolin szolin closed this as completed Jul 2, 2019
@saltama
Copy link

saltama commented Jul 2, 2019

Can confirm this too!

@cwyin7788
Copy link

When setting the Upstream DNS servers from the default TLS to Cloudflare's DoH (https://cloudflare-dns.com/dns-query), rebooting the Pi causes AdGuard Home to behave unexpectedly once booted.

No clients can use DNS, the DNS requests all timeout. Trying to visit the admin page causes the settings page to freeze and not load for a very long time, with errors about timeouts for version checks to github. If I can get it to eventually load, I need to clear the DoH entry so it reverts back to the default TLS entries.

Once it uses TLS again, all clients can use DNS fine and the AdGuard Home admin interface works normally again.

So DNS-over-HTTPS does not work for me once I restart the Pi.

I have this problem too,I found that when u reboot the Pi,systemd-resolved this process will run,listen udp port 53,it make AGH cannot use port 53,it make AGH fail to run,so use this command to disable systemd-resolved.

sudo service systemd-resolved stop
sudo systemctl disable systemd-resolved
sudo reboot

after reboot,everything will back to normal

sorry for my bad english.

@ghost
Copy link
Author

ghost commented Oct 15, 2019

@i553041 I'm not sure if it's universal, but it seems that on my vanilla install of Raspbian, systemd-resolved is already disabled on my end. But this is still good, thank you.

adguard pushed a commit that referenced this issue Jun 11, 2020
…DNS/adguard-home from fix/1740 to master

Close #1740

Squashed commit of the following:

commit 13593ad
Merge: 8cdc68d 1356ac2
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 11 12:02:02 2020 +0300

    Merge branch 'master' into fix/1740

commit 8cdc68d
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 10 19:35:51 2020 +0300

    Update locales with link

commit 320d8d2
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 3 16:40:36 2020 +0300

    Refactor Tabs

commit 98bdcdb
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 3 14:01:55 2020 +0300

    Separate content from markup of dns privacy list

commit cee5e5c
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 27 21:12:11 2020 +0300

    - client: Refactor Setup guide component
eoghan2t9 added a commit to eoghan2t9/AdGuardHome that referenced this issue Jun 25, 2020
* Updated openapi.yaml to OpenAPI 3.0
Included lint to validate yaml file

* resolve conflicts

* Update index.html

* + client: Add icons for Apple products

* *: fix AdguardTeam#1656

* *: memory usage hacks

* *: upd locales

* Merge: + client: trim DNS blocklists fields on blur
Close AdguardTeam#1634

Squashed commit of the following:

commit 5f38da50b2075a9b5967aed39b62a8ab05e57a1c
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 12 20:02:05 2020 +0300

    + client: Trim fields on blur

* Merge: - client: Fix npm ci fail
Close AdguardTeam#1597

Squashed commit of the following:

commit 75884d17de9acecf59b4f76a488d37ae76e52246
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 12 17:18:24 2020 +0300

    - client: Fix npm ci fail

* Merge: + client: Use monospace font in coding-like inputs
Close AdguardTeam#1650

Squashed commit of the following:

commit 0956b77d2675bf569ab8413bf1a905167f068fbd
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 12 18:22:55 2020 +0300

    Replace css variable

commit 7c65954e3727c09404999d4d029276f78a8d0ffe
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 12 18:06:31 2020 +0300

    + client: Use monospace font in coding-like inputs

* -(dnsforward): custom client per-domain upstreams

Closes: AdguardTeam#1539

* Add icons to server

* Added a unit-test for custom upstreams

* Add assets folder

* Fix go lint warning

* Add IntelliJ Project files (*.iml) to .gitignore Rename "Portuguese" to "Português" so it's localized like all other languages

* -(dnsforward): fix handling RRSIG records

* -: fix AdguardTeam#1632

* *(home): fix assets access

* *(global): update translations

* minor fix of the snap publish script

* fix

* *(home): added more logging to TLS module

* *(home): fix TLS module initialization

Continue to work even when TLS cert-key pair is invalid

Closes: AdguardTeam#1677

* - filter: fix rules count when data doesn't end with a newline

* - autohosts: support tab character

* *(documentation): removed unnecessary dependencies

* - rewrites: fix crash when handling name->cname->A chain

crash.adguard -> adguard.a.record
adguard.a.record -> 1.2.3.4

* update guide

* + client: Update packages - Merge pull request AdguardTeam#613 in DNS/adguard-home from fix/1597 to master
Close AdguardTeam#1597

Squashed commit of the following:

commit 1eb89586dd71260e561420fe669abc8b56a506a1
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 20 14:54:10 2020 +0300

    Fix translation in install options

commit 1ebdc9ebfe12a609f978e47db6505c7095b10f7e
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 20 13:11:34 2020 +0300

    Remove commented code

commit 2a8302c65a2a3cf7b6b1596115d1153dac32a794
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 19:02:49 2020 +0300

    Update i18n packages, add development browserlist, downgrade eslint to match peerDepencancies version

commit 3fcf73fb14cd9da508522d1a300b66af24da95e5
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 17:30:37 2020 +0300

    Remove all unused dependencies

commit e761810e3e54e188ada41245bdce7414cd0f03e8
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 16:35:24 2020 +0300

    Remove unused dependencies

commit d89d27da6befcaabcdc12bf5e7e94cbb24140010
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 16:14:09 2020 +0300

    Update regular dependencies

commit d2dfd01233d059870d5173ffd748cf61a477936f
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 15:34:10 2020 +0300

    Update all dev dependancies

commit 02b6fb480e9d310039fbe9b7aae062a41128f070
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 14:14:44 2020 +0300

    Update all postcss packages

commit 5e1fa5f99ad75f77e5e429b28ee1ca0b5e65a9a0
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 12:45:02 2020 +0300

    Prevent git from converting linebreaks in .js files

commit 0b9b3b0dccd47cfa50c9531fb61729e6b5a04523
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 12:43:01 2020 +0300

    Prevent git from converting linebreaks in .js files

commit 18b7495e9ef7130b1ac4dbba84c54127d16c6350
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 19 12:24:47 2020 +0300

    Remove linebreak-style eslint rule

commit df893dec53adebb1d662fe805fab508fd4ed5e06
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Mon May 18 20:55:47 2020 +0300

    Add prop types

commit 36178ecfc5c7fa11a6ee08d7705ca8560941af40
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Mon May 18 18:52:07 2020 +0300

    Update eslint and babel, fix eslint warnings

commit f045b4a2e6b9b78f7e88e3b5d1419c29966a8230
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Mon May 18 16:45:49 2020 +0300

    Update css loading webpack rules

commit 247fa1ed548ef0706a03fdada8309c1454d191f8
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Sat May 16 16:13:49 2020 +0300

    Suppress linebreak-style eslint error for Windows

commit d6499aac507100d6918c849c06d739d80f2229f0
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Sat May 16 14:55:07 2020 +0300

    Suppress eslint exit code

commit ae2d6c614ea23a90d515168f8752e959298894ef
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Sat May 16 14:05:18 2020 +0300

    Edit css file warnings

commit 60675050f2a5baebc679fc05da7e033e5c740d90
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Sat May 16 13:10:26 2020 +0300

    Remove uglifyjs plugin

commit a27806434dd8672e71a26c7a2e810d77e5e229fa
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Sat May 16 01:29:17 2020 +0300

    Fix DefinePlugin value

commit 8f2966ca59195c2f70bca5072d20515d536f42a6
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Sat May 16 01:05:03 2020 +0300

    Update webpack

* * blocked-services: Update new TikTok domains

* - blocked-services: fix build

* - filter: don't reset name on update

* + client: Allow `Fastest IP address` and `Parallel requests` to toggle each other: Merge pull request AdguardTeam#619 in DNS/adguard-home from feature/1678 to master
Close AdguardTeam#1678

Squashed commit of the following:

commit 9251ed0
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu May 21 18:25:18 2020 +0300

    + client: Allow `Fastest IP address` and `Parallel requests` to toggle each other

* + rewrites: support exceptions:

*.host -> IP
my.host -> my.host
*.my.host -> *.my.host

Requests for my.host and *.my.host will be passed to upstream servers,
 while all other requests for *.host will be answered with a rewritten IP

* *(querylog): added offset/limit parameters

Actually, this is a serious refactoring of the query log module. The
rest API part is refactored, it's now more clear how the search is
conducted. Split the logic into more files and added more tests.

Closes: AdguardTeam#1559

* *(querylog): decode methods to a new file

* * clients: set reload ARP data interval to 10 minuntes

* * urlfilter v0.10.1

* * web: log error messages from HTTP server as "debug"

* - client: Don't hide version string when built-in auto-update is disabled: Merge pull request AdguardTeam#628 in DNS/adguard-home from fix/1726 to master
Close AdguardTeam#1726

Squashed commit of the following:

commit 3eac793
Merge: aebfaf6 16a6aad
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 27 14:14:58 2020 +0300

    Merge branch 'master' into fix/1726

commit aebfaf6
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 27 12:54:30 2020 +0300

    Always show version but hide update button when program is launched with "--no-check-update" flag

commit 1d4ee05
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 27 11:59:10 2020 +0300

    Use classnames lib

commit 7003a70
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 26 19:40:22 2020 +0300

    - client: Don't hide version string when built-in auto-update is disabled

* * whois: use the upstream server to resolve whois server hostname
Close AdguardTeam#1535

Squashed commit of the following:

commit 7755d7a
Merge: e24e945 5c2ca69
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed May 27 14:41:24 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1535-whois-resolve

commit e24e945
Merge: db76471 355e634
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed May 27 14:29:44 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1535-whois-resolve

commit db76471
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed May 27 12:57:00 2020 +0300

    fix

commit dc38f66
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed May 27 12:44:10 2020 +0300

    * whois: use the upstream server to resolve whois server hostname

* + config: new setting "querylog_file_enabled"
Close AdguardTeam#876

Squashed commit of the following:

commit f83f60a
Merge: cfb7286 391e619
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu May 28 15:17:21 2020 +0300

    Merge remote-tracking branch 'origin/master' into 876-logs

commit cfb7286
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu May 28 12:50:02 2020 +0300

    tests

commit 35376e4
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed May 27 18:15:12 2020 +0300

    fix

commit 0cfb802
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed May 27 16:49:52 2020 +0300

    tests

commit 03ca280
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed May 27 15:32:27 2020 +0300

    + config: new setting "querylog_file_enabled" - query log will be written to a file

* + new query logs API

+ "upstream"
+ filteringStatusProcessed
+ ctDomainOrClient
remove ctQuestionType, ctDomain, ctClient

* * openapi

* - client: Don't unregister field 'Upstream DNS servers' on rerender and allow input text continuously
Close AdguardTeam#1752

Squashed commit of the following:

commit 2f86ade
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri May 29 10:58:42 2020 +0300

    - client: Don't unregister field 'Upstream DNS servers' on rerender and allow input text continuously

* + client_proto

* * minor

* openapi

* + "dot"

* - client: Match client IP strictly: Merge pull request AdguardTeam#620 in DNS/adguard-home from fix/1687 to master
Close AdguardTeam#1687

Squashed commit of the following:

commit 5287da0
Merge: c6b50c7 83b9b70
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri May 29 12:47:23 2020 +0300

    Merge branch 'master' into fix/1687

commit c6b50c7
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri May 29 12:42:12 2020 +0300

    minor

commit dab9fa9
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu May 28 16:56:08 2020 +0300

    Add support for exact matching of long and short ipv6 notations, add tests

commit e72e86c
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu May 28 13:57:22 2020 +0300

    Update helper, write tests

commit 92f4c34
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 27 18:35:05 2020 +0300

    Make variable names more expressive

commit 3d38f21
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 27 17:09:08 2020 +0300

    Add ipv6 cidr support

commit 7db0a2f
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 26 12:48:57 2020 +0300

    Minor

commit 65e87f3
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue May 26 12:46:30 2020 +0300

    Add breaks between helpers

commit 3f38bdf
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu May 21 20:17:27 2020 +0300

    - client: Match client IP strictly

* -client: Fix "DNS rewrites" adding an item error

* - client: Submit setFiltersConfig action on if the values are changed: Merge pull request AdguardTeam#637 in DNS/adguard-home from fix/1749 to master
Close AdguardTeam#1749

Squashed commit of the following:

commit aaf4ba8
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri May 29 13:29:44 2020 +0300

    - client: Submit setFiltersConfig action on if the values are changed

* - client: Fix safari icon

* * blocked-services: Added 2 entries for YouTube and Amazon AWS

* - rewrites: fix invalid question in response
AdguardTeam#1746

for a rule:

cname -> domain

with IP of 'domain' resolved by upstream

Squashed commit of the following:

commit fb3ad25
Merge: a679498 67dacdf
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 1 15:15:23 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1746-rewrites

commit a679498
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 1 10:42:16 2020 +0300

    test: check question

commit 7491e75
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri May 29 18:22:32 2020 +0300

    test

commit 12cb2e1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri May 29 14:51:06 2020 +0300

    - rewrites: fix invalid question in response

    for a rule:

    cname -> domain

    with IP of 'domain' resolved by upstream

* - client: Hide version on inintial setup and login: Merge pull request AdguardTeam#642 in DNS/adguard-home from fix/1748 to master

Close AdguardTeam#1748

Squashed commit of the following:

commit 16721ed
Merge: 15e1867 eac1b80
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 2 13:37:57 2020 +0300

    Merge branch 'master' into fix/1748

commit 15e1867
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Mon Jun 1 13:54:15 2020 +0300

    - client: Hide version on inintial setup and login

* + config: Added in lumberjack to handle rolling logs. Added more config properties around new log feature.

Reset logger max file size config. Fix AdguardTeam#1573.

Remove verbose from default config.

* * minor

* + querylog,stats: anonymize client ip: /16

* + client: Move "Blocked services" to a separate page under "Filters" menu: Merge pull request AdguardTeam#649 in DNS/adguard-home from feature/1744 to master
Close AdguardTeam#1744

Squashed commit of the following:

commit 912a80b
Merge: bb5a77f 5ce98bd
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri Jun 5 12:47:21 2020 +0300

    Merge branch 'master' into feature/1744

commit bb5a77f
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 4 18:07:26 2020 +0300

    + client: Move "Blocked services" to a separate page under "Filters" menu

* - client: Fix beyond 24 hour time format for en locale: Merge pull request AdguardTeam#651 in DNS/adguard-home from fix/1766 to master
Close AdguardTeam#1766

Squashed commit of the following:

commit 691aa0e
Merge: 67d62fa 4a81abb
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri Jun 5 13:17:46 2020 +0300

    Merge branch 'master' into fix/1766

commit 67d62fa
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri Jun 5 11:53:47 2020 +0300

    Fix jsdocs of helpers

commit 459e3cf
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 4 20:45:17 2020 +0300

    - client: Fix beyond 24 hour time format for en locale

* * log: set default LogMaxAge = 3 days

Squashed commit of the following:

commit 80a1ce1
Merge: 4e01a5b c842a68
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 5 17:53:53 2020 +0300

    Merge remote-tracking branch 'origin/master' into log

commit 4e01a5b
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 5 13:56:39 2020 +0300

    * log: set default LogMaxAge = 3 days

* * DNS API: new setting "upstream_mode"; remove "fastest_addr", "parallel_requests"

* use dnsproxy v0.29.0

Squashed commit of the following:

commit f18b723
Merge: 501a4e0 dae275e
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jun 10 15:24:15 2020 +0300

    Merge remote-tracking branch 'origin/master' into update-dnsproxy

commit 501a4e0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 5 12:47:13 2020 +0300

    openapi

commit 3930bd1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 5 12:21:32 2020 +0300

    * DNS API: new setting "upstream_mode"; remove "fastest_addr", "parallel_requests"

    * use dnsproxy v0.29.0

* - client: Add default mode in the DNS settings: Merge pull request AdguardTeam#650 in DNS/adguard-home from fix/1770 to master
Close AdguardTeam#1770

Squashed commit of the following:

commit c1f75ea
Merge: a5df78a a869ec4
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 10 18:56:24 2020 +0300

    Merge branch 'master' into fix/1770

commit a5df78a
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 10 12:50:50 2020 +0300

    Revert "Update locales"

    This reverts commit 4b2b449.

commit 4b2b449
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 9 19:56:34 2020 +0300

    Update locales

commit 790cff0
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri Jun 5 17:56:01 2020 +0300

    Update Upstream component with new api, extract reduxForm HOC names in constant

commit 72de3d5
Merge: 92a4a6a 501a4e0
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Fri Jun 5 15:55:39 2020 +0300

    Merge remote-tracking branch 'origin/update-dnsproxy' into fix/1770

commit 501a4e0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 5 12:47:13 2020 +0300

    openapi

commit 3930bd1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 5 12:21:32 2020 +0300

    * DNS API: new setting "upstream_mode"; remove "fastest_addr", "parallel_requests"

    * use dnsproxy v0.29.0

commit 92a4a6a
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 4 18:53:42 2020 +0300

    - client: Add default mode in the DNS settings

* - service: "stop" didn't work correctly
Close AdguardTeam#1785

Squashed commit of the following:

commit 40eba30
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jun 10 19:43:14 2020 +0300

    - service: "stop" didn't work correctly

* - clients: fix incorrect info for clients from /etc/hosts
Close AdguardTeam#1786

Squashed commit of the following:

commit fc66225
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jun 11 10:57:26 2020 +0300

    - clients: fix incorrect info for clients from /etc/hosts

* - client: Refactor Setup guide component: Merge pull request AdguardTeam#633 in DNS/adguard-home from fix/1740 to master
Close AdguardTeam#1740

Squashed commit of the following:

commit 13593ad
Merge: 8cdc68d 1356ac2
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 11 12:02:02 2020 +0300

    Merge branch 'master' into fix/1740

commit 8cdc68d
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 10 19:35:51 2020 +0300

    Update locales with link

commit 320d8d2
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 3 16:40:36 2020 +0300

    Refactor Tabs

commit 98bdcdb
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 3 14:01:55 2020 +0300

    Separate content from markup of dns privacy list

commit cee5e5c
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed May 27 21:12:11 2020 +0300

    - client: Refactor Setup guide component

* fix whois test

* Update README.md

Per client configuration was added in Pi-hole 5.0,

* doc

* fix search by "whitelisted", "rewritten"

* If there are no more older entries, `"oldest":""` is returned.

* openapi

* * dns: disable cache with "cache_size: 0" setting
Close AdguardTeam#1591

Squashed commit of the following:

commit 547a971
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jun 16 14:46:06 2020 +0300

    * dns: disable cache with "cache_size: 0" setting

* * auto-hosts: support '#' comments after ip and hosts
Close AdguardTeam#1807

Squashed commit of the following:

commit 9d3e280
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jun 17 19:23:15 2020 +0300

    improve

commit 9b8c710
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jun 17 11:07:56 2020 +0300

    * auto-hosts: support '#' comments after ip and hosts

* Merge: fix AdguardTeam#1421
Full rework of the query log

Squashed commit of the following:

commit e8a72eb
Author: Andrey Meshkov <am@adguard.com>
Date:   Thu Jun 18 00:31:53 2020 +0300

    fix race in whois test

commit 801d281
Merge: 9d9787f b1c951f
Author: Andrey Meshkov <am@adguard.com>
Date:   Thu Jun 18 00:28:13 2020 +0300

    Merge branch 'master' into feature/1421

commit 9d9787f
Merge: 4ce337c 08e238a
Author: Andrey Meshkov <am@adguard.com>
Date:   Thu Jun 18 00:27:32 2020 +0300

    Merge

commit 4ce337c
Author: Andrey Meshkov <am@adguard.com>
Date:   Thu Jun 18 00:22:49 2020 +0300

    -(home): fix whois test

commit 08e238a
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 18 00:13:41 2020 +0300

    Add comments

commit 5f10806
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 17 23:47:50 2020 +0300

    Make tooltip position absolute for touch

commit 4c30a58
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 17 20:39:44 2020 +0300

    Prevent scroll hide for touch devices

commit 62da979
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 17 20:06:24 2020 +0300

    Review changes: ipad tooltip

commit 12dddcc
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 17 16:59:16 2020 +0300

    Add close tooltip event for ipad

commit 62191e4
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 17 16:39:40 2020 +0300

    Add success toast on logs refresh

commit 2ebdd6a
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 17 16:01:37 2020 +0300

    Fix pagination

commit 5820c92
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jun 17 11:31:15 2020 +0300

    Revert "Render table in chunks"

    This reverts commit cdfcd84.

commit cdfcd84
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 16 18:42:18 2020 +0300

    Render table in chunks

commit cc8c5e6
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 16 17:35:24 2020 +0300

    Add pagination button hover effect

commit f7e1340
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 16 16:28:00 2020 +0300

    Make loader position absolute

commit a7b887b
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 16 15:42:20 2020 +0300

    Ignore clients find without params

commit ecb322f
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 16 15:30:48 2020 +0300

    Styles changes

commit 9323ce3
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 16 14:32:23 2020 +0300

    Review styles changes

commit e0faa04
Merge: 9857682 15e7143
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Jun 16 12:08:45 2020 +0300

    Merge branch '1421-new-qlog-v2' into feature/1421

commit 9857682
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Mon Jun 15 18:32:02 2020 +0300

    Fix response cell

... and 88 more commits

* fix log table width

* * openapi: describe top_* array entries in /stats

Squashed commit of the following:

commit d0b640c
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jun 18 11:53:16 2020 +0300

    * openapi: describe top_* array entries in /stats

* -client: Fix query log bugs

* Replace tooltip component

* Open tooltip on hover, show scroll on overflow y

* Fix AdguardTeam#1810
- client: Fix query log bugs

Squashed commit of the following:

commit 188bbad
Merge: 15db9e9 ec6e0be
Author: Andrey Meshkov <am@adguard.com>
Date:   Thu Jun 18 22:43:11 2020 +0300

    Merge branch 'master' into fix/1810

commit 15db9e9
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 18 19:01:10 2020 +0300

    Open tooltip on hover, show scroll on overflow y

commit 19c0133
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 18 17:17:46 2020 +0300

    Replace tooltip component

commit 7e7103d
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Thu Jun 18 14:21:54 2020 +0300

    -client: Fix query log bugs

* - autohosts: fix crash on startup if filesystem watcher couldn't be initialized
Close AdguardTeam#1814

Squashed commit of the following:

commit ba17a5b
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 19 10:08:44 2020 +0300

    - autohosts: fix crash on startup if filesystem watcher couldn't be initialized

* minor

* + dns: respond to PTR requests for internal IP addresses from DHCP
Close AdguardTeam#1682

Squashed commit of the following:

commit 2fad354
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 22 17:32:45 2020 +0300

    minor

commit 7c17992
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 22 16:09:34 2020 +0300

    build

commit 16a52e1
Merge: 7b6a73c 2c47053
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 22 16:08:32 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1682-dhcp-resolve

commit 7b6a73c
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 22 16:01:34 2020 +0300

    tests

commit c2654ab
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 1 15:15:13 2020 +0300

    + dnsforward: respond to PTR requests for internal IP addresses

    {[IP] => "host"} <- DNSforward <-(leases)-- DHCP

* + pass client Name and IP to dnsfilter

* use urlfilter v0.11.0

* *(home): do not require root privileges on the first run

Instead of requiring root privileges, we now check if AdGuard Home can
bind to privileged ports. If it cannot, we suggest either running it
with root privileges or grant CAP_NET_BIND_SERVICE capability. Please
note, that on Windows we still require root access.

Closes: AdguardTeam#1699

* fix function comment

Co-authored-by: Jonas Marklén <jonas.marklen@sitedirect.se>
Co-authored-by: ArtemBaskal <a.baskal@adguard.com>
Co-authored-by: Andrey Meshkov <am@adguard.com>
Co-authored-by: Christian Glockner <cglockner@atlassian.com>
Co-authored-by: Simon Zolin <s.zolin@adguard.com>
Co-authored-by: Archive5 <63988538+Archive5@users.noreply.github.com>
Co-authored-by: Ayhan <ayhankuru@yandex.com.tr>
Co-authored-by: Imre Kristoffer Eilertsen <imreeil42@gmail.com>
Co-authored-by: DannyHinshaw <danny@nulleffort.com>
Co-authored-by: gumadozucia <gumadozucia@users.noreply.github.com>
@ainar-g ainar-g removed needs investigation Needs to be reproduced reliably. P2: High labels Sep 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants