Skip to content

Commit 5740f59

Browse files
committed
Merge branch 'master' of github.com:DNSCrypt/dnscrypt-proxy
2 parents d96c782 + 67c1213 commit 5740f59

314 files changed

Lines changed: 7936 additions & 9252 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/releases.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ jobs:
8383
prerelease: false
8484

8585
- name: Upload release assets
86-
uses: softprops/action-gh-release@c43d7637b9b9ce3e953168c325d27253a5d48d8e
86+
uses: softprops/action-gh-release@ab50eebb6488051c6788d97fa95232267c6a4e23
8787
if: startsWith(github.ref, 'refs/tags/')
8888
env:
8989
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

ChangeLog

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# Version 2.1.8
2+
- Dependencies have been updated, notably the QUIC implementation,
3+
which could be vulnerable to denial-of-service attacks.
4+
- In forwarding rules, the target can now optionally include a
5+
non-standard DNS port number. The port number is also now optional when
6+
using IPv6.
7+
- An annoying log message related to permissions on Windows has been
8+
suppressed.
9+
- Resolver IP addresses can now be refreshed more frequently.
10+
Additionally, jitter has been introduced to prevent all resolvers from
11+
being refreshed simultaneously. Further changes have been implemented
12+
to mitigate issues arising from multiple concurrent attempts to resolve
13+
a resolver's IP address.
14+
- An empty value for "tls_cipher_suite" is now equivalent to leaving
15+
the property undefined. Previously, it disabled all TLS cipher suites,
16+
which had little practical justification.
17+
- In forwarding rules, an optional `*.` prefix is now accepted.
18+
119
# Version 2.1.7
220
- This version reintroduces support for XSalsa20 enryption in DNSCrypt,
321
which was removed in 2.1.6. Unfortunately, a bunch of servers still

README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
[![Financial Contributors on Open Collective](https://opencollective.com/dnscrypt/all/badge.svg?label=financial+contributors)](https://opencollective.com/dnscrypt)
44
[![DNSCrypt-Proxy Release](https://img.shields.io/github/release/dnscrypt/dnscrypt-proxy.svg?label=Latest%20Release&style=popout)](https://github.com/dnscrypt/dnscrypt-proxy/releases/latest)
55
[![Build Status](https://github.com/DNSCrypt/dnscrypt-proxy/actions/workflows/releases.yml/badge.svg)](https://github.com/DNSCrypt/dnscrypt-proxy/actions/workflows/releases.yml)
6-
![CodeQL scan](https://github.com/DNSCrypt/dnscrypt-proxy/workflows/CodeQL%20scan/badge.svg)
7-
![ShiftLeft Scan](https://github.com/DNSCrypt/dnscrypt-proxy/workflows/ShiftLeft%20Scan/badge.svg)
8-
[![#dnscrypt-proxy:matrix.org](https://img.shields.io/matrix/dnscrypt-proxy:matrix.org.svg?label=DNSCrypt-Proxy%20Matrix%20Chat&server_fqdn=matrix.org&style=popout)](https://matrix.to/#/#dnscrypt-proxy:matrix.org)
96

107
## Overview
118

dnscrypt-proxy/coldstart.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,12 @@ func ColdStart(proxy *Proxy) (*CaptivePortalHandler, error) {
170170
if err != nil {
171171
continue
172172
}
173+
if strings.Contains(ipsStr, "*") {
174+
return nil, fmt.Errorf(
175+
"A captive portal rule must use an exact host name at line %d",
176+
1+lineNo,
177+
)
178+
}
173179
var ips []net.IP
174180
for _, ip := range strings.Split(ipsStr, ",") {
175181
ipStr := strings.TrimSpace(ip)

dnscrypt-proxy/common.go

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,9 @@ import (
66
"errors"
77
"net"
88
"os"
9-
"path"
109
"strconv"
1110
"strings"
1211
"unicode"
13-
14-
"github.com/jedisct1/dlog"
1512
)
1613

1714
type CryptoConstruction uint16
@@ -167,31 +164,3 @@ func ReadTextFile(filename string) (string, error) {
167164
}
168165

169166
func isDigit(b byte) bool { return b >= '0' && b <= '9' }
170-
171-
func maybeWritableByOtherUsers(p string) (bool, string, error) {
172-
p = path.Clean(p)
173-
for p != "/" && p != "." {
174-
st, err := os.Stat(p)
175-
if err != nil {
176-
return false, p, err
177-
}
178-
mode := st.Mode()
179-
if mode.Perm()&2 != 0 && !(st.IsDir() && mode&os.ModeSticky == os.ModeSticky) {
180-
return true, p, nil
181-
}
182-
p = path.Dir(p)
183-
}
184-
return false, "", nil
185-
}
186-
187-
func WarnIfMaybeWritableByOtherUsers(p string) {
188-
if ok, px, err := maybeWritableByOtherUsers(p); ok {
189-
if px == p {
190-
dlog.Criticalf("[%s] is writable by other system users - If this is not intentional, it is recommended to fix the access permissions", p)
191-
} else {
192-
dlog.Warnf("[%s] can be modified by other system users because [%s] is writable by other users - If this is not intentional, it is recommended to fix the access permissions", p, px)
193-
}
194-
} else if err != nil {
195-
dlog.Warnf("Error while checking if [%s] is accessible: [%s] : [%s]", p, px, err)
196-
}
197-
}

dnscrypt-proxy/example-blocked-ips.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
# IP blocklist #
33
##############################
44

5-
## Rules for IP-based response blocking
5+
## Rules for blocking DNS responses if they contain
6+
## IP addresses matching patterns.
67
##
78
## Sample feeds of suspect IP addresses:
89
## - https://github.com/stamparm/ipsum

dnscrypt-proxy/example-dnscrypt-proxy.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,12 @@ cert_refresh_delay = 240
221221
## 52393 = TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
222222
##
223223
## On non-Intel CPUs such as MIPS routers and ARM systems (Android, Raspberry Pi...),
224-
## the following suite improves performance.
224+
## uncommenting the following line may improve performance.
225225
## This may also help on Intel CPUs running 32-bit operating systems.
226+
## However, this can cause issues fetching sources or connecting to some HTTP servers,
227+
## and should not be set on regular CPUs.
226228
##
227-
## Keep tls_cipher_suite empty if you have issues fetching sources or
228-
## connecting to some DoH servers.
229+
## Keep tls_cipher_suite undefined to let the app automatically choose secure parameters.
229230

230231
# tls_cipher_suite = [52392, 49199]
231232

dnscrypt-proxy/example-forwarding-rules.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@
3636
# example.com 9.9.9.9,8.8.8.8
3737

3838
## Forward queries to a resolver using IPv6
39-
# ipv6.example.com [2001:DB8::42]:53
39+
# ipv6.example.com [2001:DB8::42]
40+
41+
## Forward to a non-standard port number
42+
# x.example.com 192.168.0.1:1053
43+
# y.example.com [2001:DB8::42]:1053
4044

4145
## Forward queries for .onion names to a local Tor client
4246
## Tor must be configured with the following in the torrc file:

dnscrypt-proxy/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
)
1616

1717
const (
18-
AppVersion = "2.1.7"
18+
AppVersion = "2.1.8"
1919
DefaultConfigFileName = "dnscrypt-proxy.toml"
2020
)
2121

dnscrypt-proxy/permcheck_others.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//go:build !unix
2+
3+
package main
4+
5+
func WarnIfMaybeWritableByOtherUsers(p string) {
6+
// No-op
7+
}

0 commit comments

Comments
 (0)