Pull request: home: imp code
Merge in DNS/adguard-home from home-imp-code to master
Squashed commit of the following:
commit 459297e189c55393bf0340dd51ec9608d3475e55
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 10 11:42:34 2023 +0300
home: imp code
commit ab38e1e80fed7b24fe57d4afdc57b70608f65d73
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 10 11:01:23 2023 +0300
all: lint script
commit 7df68b128bf32172ef2e3bf7116f4f72a97baa2b
Merge: bcb482714 db52f7a3a
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 10 10:59:40 2023 +0300
Merge remote-tracking branch 'origin/master' into home-imp-code
commit bcb482714780da882e69c261be08511ea4f36f3b
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 13:48:27 2023 +0300
all: lint script
commit 1c017f27715202ec1f40881f069a96f11f9822e8
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 13:45:25 2023 +0300
all: lint script
commit ee3d427a7d6ee7e377e67c5eb99eebc7fb1e6acc
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 13:44:53 2023 +0300
home: imp code
commit bc50430469123415216e60e178bd8e30fc229300
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 13:12:10 2023 +0300
home: imp code
commit fc07e416aeab2612e68cf0e3f933aaed95931115
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 11:42:32 2023 +0300
aghos: service precheck
commit a68480fd9c4cd6f3c89210bee6917c53074f7a82
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 11:07:05 2023 +0300
home: imp code
commit 61b743a340ac1564c48212452c7a9acd1808d352
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 17:17:21 2023 +0300
all: lint script
commit c6fe620510c4af5b65456e90cb3424831334e004
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 17:16:37 2023 +0300
home: imp code
commit 4b2fb47ea9c932054ccc72b1fd1d11793c93e39c
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 16:55:44 2023 +0300
home: imp code
commit 63df3e2ab58482920a074cfd5f4188e49a0f8448
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 16:25:38 2023 +0300
home: imp code
commit c7f1502f976482c2891e0c64426218b549585e83
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 15:54:30 2023 +0300
home: imp code
commit c64cdaf1c82495bb70d9cdcaf7be9eeee9a7c773
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 14:35:04 2023 +0300
home: imp code
commit a50436e040b3a064ef51d5f936b879fe8de72d41
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 14:24:02 2023 +0300
home: imp code
commit 2b66464f472df732ea27cbbe5ac5c673a13bc14b
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 14:11:53 2023 +0300
home: imp code
commit 713ce2963c210887faa0a06e41e01e4ebbf96894
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 14:10:54 2023 +0300
home: imp code
This commit is contained in:
@@ -294,71 +294,61 @@ func upgradeSchema4to5(diskConf yobj) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// clients:
|
||||
// ...
|
||||
// upgradeSchema5to6 performs the following changes:
|
||||
//
|
||||
// ip: 127.0.0.1
|
||||
// mac: ...
|
||||
// # BEFORE:
|
||||
// 'clients':
|
||||
// ...
|
||||
// 'ip': 127.0.0.1
|
||||
// 'mac': ...
|
||||
//
|
||||
// ->
|
||||
//
|
||||
// clients:
|
||||
// ...
|
||||
//
|
||||
// ids:
|
||||
// - 127.0.0.1
|
||||
// - ...
|
||||
// # AFTER:
|
||||
// 'clients':
|
||||
// ...
|
||||
// 'ids':
|
||||
// - 127.0.0.1
|
||||
// - ...
|
||||
func upgradeSchema5to6(diskConf yobj) error {
|
||||
log.Printf("%s(): called", funcName())
|
||||
|
||||
log.Printf("Upgrade yaml: 5 to 6")
|
||||
diskConf["schema_version"] = 6
|
||||
|
||||
clients, ok := diskConf["clients"]
|
||||
clientsVal, ok := diskConf["clients"]
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
switch arr := clients.(type) {
|
||||
case []any:
|
||||
for i := range arr {
|
||||
switch c := arr[i].(type) {
|
||||
case map[any]any:
|
||||
var ipVal any
|
||||
ipVal, ok = c["ip"]
|
||||
ids := []string{}
|
||||
if ok {
|
||||
var ip string
|
||||
ip, ok = ipVal.(string)
|
||||
if !ok {
|
||||
log.Fatalf("client.ip is not a string: %v", ipVal)
|
||||
return nil
|
||||
}
|
||||
if len(ip) != 0 {
|
||||
ids = append(ids, ip)
|
||||
}
|
||||
}
|
||||
clients, ok := clientsVal.([]yobj)
|
||||
if !ok {
|
||||
return fmt.Errorf("unexpected type of clients: %T", clientsVal)
|
||||
}
|
||||
|
||||
var macVal any
|
||||
macVal, ok = c["mac"]
|
||||
if ok {
|
||||
var mac string
|
||||
mac, ok = macVal.(string)
|
||||
if !ok {
|
||||
log.Fatalf("client.mac is not a string: %v", macVal)
|
||||
return nil
|
||||
}
|
||||
if len(mac) != 0 {
|
||||
ids = append(ids, mac)
|
||||
}
|
||||
}
|
||||
for i := range clients {
|
||||
c := clients[i]
|
||||
var ids []string
|
||||
|
||||
c["ids"] = ids
|
||||
default:
|
||||
continue
|
||||
if ipVal, hasIP := c["ip"]; hasIP {
|
||||
var ip string
|
||||
if ip, ok = ipVal.(string); !ok {
|
||||
return fmt.Errorf("client.ip is not a string: %v", ipVal)
|
||||
}
|
||||
|
||||
if ip != "" {
|
||||
ids = append(ids, ip)
|
||||
}
|
||||
}
|
||||
default:
|
||||
return nil
|
||||
|
||||
if macVal, hasMac := c["mac"]; hasMac {
|
||||
var mac string
|
||||
if mac, ok = macVal.(string); !ok {
|
||||
return fmt.Errorf("client.mac is not a string: %v", macVal)
|
||||
}
|
||||
|
||||
if mac != "" {
|
||||
ids = append(ids, mac)
|
||||
}
|
||||
}
|
||||
|
||||
c["ids"] = ids
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user