Skip to content

Commit cf9eb76

Browse files
committed
Add duplicate removal for Common Names
1 parent 4470bf6 commit cf9eb76

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

policy.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ func (p *Policy) Deduplicate() {
1111
allow.Ips = removeDuplicates(allow.Ips)
1212
allow.Emails = removeDuplicates(allow.Emails)
1313
allow.Uris = removeDuplicates(allow.Uris)
14+
allow.CommonNames = removeDuplicates(allow.CommonNames)
1415
}
1516
if deny := p.GetX509().GetDeny(); deny != nil {
1617
deny.Dns = removeDuplicates(deny.Dns)
1718
deny.Ips = removeDuplicates(deny.Ips)
1819
deny.Emails = removeDuplicates(deny.Emails)
1920
deny.Uris = removeDuplicates(deny.Uris)
21+
deny.CommonNames = removeDuplicates(deny.CommonNames)
2022
}
2123
}
2224
if ssh := p.GetSsh(); ssh != nil {

policy_test.go

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -54,32 +54,36 @@ func TestPolicy_Deduplicate(t *testing.T) {
5454
policy: &Policy{
5555
X509: &X509Policy{
5656
Allow: &X509Names{
57-
Dns: []string{"*.local", "*.example.com", "*.local"},
58-
Ips: []string{"192.168.0.0/24", "10.10.10.0/24", "192.168.0.0/24"},
59-
Emails: []string{"@example.com", "@local", "@example.com"},
60-
Uris: []string{"*.local", "*.example.com", "*.local"},
57+
Dns: []string{"*.local", "*.example.com", "*.local"},
58+
Ips: []string{"192.168.0.0/24", "10.10.10.0/24", "192.168.0.0/24"},
59+
Emails: []string{"@example.com", "@local", "@example.com"},
60+
Uris: []string{"*.local", "*.example.com", "*.local"},
61+
CommonNames: []string{"bla", "host", "bla"},
6162
},
6263
Deny: &X509Names{
63-
Dns: []string{"*.local", "*.example.com", "*.local"},
64-
Ips: []string{"192.168.0.0/24", "10.10.10.0/24", "192.168.0.0/24"},
65-
Emails: []string{"@example.com", "@local", "@example.com"},
66-
Uris: []string{"*.local", "*.example.com", "*.local"},
64+
Dns: []string{"*.local", "*.example.com", "*.local"},
65+
Ips: []string{"192.168.0.0/24", "10.10.10.0/24", "192.168.0.0/24"},
66+
Emails: []string{"@example.com", "@local", "@example.com"},
67+
Uris: []string{"*.local", "*.example.com", "*.local"},
68+
CommonNames: []string{"bla", "host", "bla"},
6769
},
6870
},
6971
},
7072
expected: &Policy{
7173
X509: &X509Policy{
7274
Allow: &X509Names{
73-
Dns: []string{"*.local", "*.example.com"},
74-
Ips: []string{"192.168.0.0/24", "10.10.10.0/24"},
75-
Emails: []string{"@example.com", "@local"},
76-
Uris: []string{"*.local", "*.example.com"},
75+
Dns: []string{"*.local", "*.example.com"},
76+
Ips: []string{"192.168.0.0/24", "10.10.10.0/24"},
77+
Emails: []string{"@example.com", "@local"},
78+
Uris: []string{"*.local", "*.example.com"},
79+
CommonNames: []string{"bla", "host"},
7780
},
7881
Deny: &X509Names{
79-
Dns: []string{"*.local", "*.example.com"},
80-
Ips: []string{"192.168.0.0/24", "10.10.10.0/24"},
81-
Emails: []string{"@example.com", "@local"},
82-
Uris: []string{"*.local", "*.example.com"},
82+
Dns: []string{"*.local", "*.example.com"},
83+
Ips: []string{"192.168.0.0/24", "10.10.10.0/24"},
84+
Emails: []string{"@example.com", "@local"},
85+
Uris: []string{"*.local", "*.example.com"},
86+
CommonNames: []string{"bla", "host"},
8387
},
8488
},
8589
},

0 commit comments

Comments
 (0)