Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
k8s-crt-dnldr
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
k8s
k8s-crt-dnldr
Commits
6b0700c0
Commit
6b0700c0
authored
Jul 28, 2020
by
Geoff Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pem.GetFileInfo() returns a found boolean.
parent
465b6705
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
84 additions
and
34 deletions
+84
-34
json_test.go
pkg/pem/json_test.go
+64
-22
pem.go
pkg/pem/pem.go
+20
-12
No files found.
pkg/pem/json_test.go
View file @
6b0700c0
...
...
@@ -432,7 +432,10 @@ var (
func
TestGetFileInfo
(
t
*
testing
.
T
)
{
pemFiles
.
Base
=
basedir
info
,
err
:=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
""
,
""
)
info
,
found
,
err
:=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
""
,
""
)
if
!
found
{
t
.
Fatal
(
"GetFileInfo(ns1/cafe) found got false want true"
)
}
if
err
!=
nil
{
t
.
Fatalf
(
"GetFileInfo(ns1/cafe): %v"
,
err
)
}
...
...
@@ -453,7 +456,10 @@ func TestGetFileInfo(t *testing.T) {
unmarshalledFileInfo
,
info
)
}
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns2"
,
"bar"
,
""
,
""
)
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns2"
,
"bar"
,
""
,
""
)
if
!
found
{
t
.
Fatal
(
"GetFileInfo(ns2/bar) found got false want true"
)
}
if
err
!=
nil
{
t
.
Fatalf
(
"GetFileInfo(ns2/bar): %v"
,
err
)
}
...
...
@@ -473,51 +479,87 @@ func TestGetFileInfo(t *testing.T) {
unmarshalledFileInfo
,
info
)
}
if
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"bar"
,
""
,
""
);
err
==
nil
{
if
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"bar"
,
""
,
""
);
found
{
t
.
Error
(
"GetFileInfo(ns1/bar) found got true want false"
)
}
if
err
==
nil
{
t
.
Error
(
"GetFileInfo(ns1/bar) error got nil want not found"
)
}
if
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns2"
,
"cafe"
,
""
,
""
);
err
==
nil
{
if
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns2"
,
"cafe"
,
""
,
""
);
found
{
t
.
Error
(
"GetFileInfo(ns2/cafe) found got true want false"
)
}
if
err
==
nil
{
t
.
Error
(
"GetFileInfo(ns2/cafe) error got nil want not found"
)
}
if
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
"975d4e4f-9ea9-49d9-a81d-1b4bca92a743"
,
""
);
err
!=
nil
{
if
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
"975d4e4f-9ea9-49d9-a81d-1b4bca92a743"
,
""
);
!
found
{
t
.
Error
(
"GetFileInfo(ns1/cafe,uid) found got false want true"
)
}
if
err
!=
nil
{
t
.
Errorf
(
"GetFileInfo(ns1/cafe,uid) error got %v want nil"
,
err
)
}
if
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
""
,
"4711"
);
err
!=
nil
{
if
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
""
,
"4711"
);
!
found
{
t
.
Error
(
"GetFileInfo(ns1/cafe,version) found got false "
+
"want true"
)
}
if
err
!=
nil
{
t
.
Errorf
(
"GetFileInfo(ns1/cafe,version) error got %v want nil"
,
err
)
}
if
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
"975d4e4f-9ea9-49d9-a81d-1b4bca92a743"
,
"4711"
);
err
!=
nil
{
if
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
"975d4e4f-9ea9-49d9-a81d-1b4bca92a743"
,
"4711"
);
!
found
{
t
.
Error
(
"GetFileInfo(ns1/cafe,uid,version) found got false "
+
"want true"
)
}
if
err
!=
nil
{
t
.
Errorf
(
"GetFileInfo(ns1/cafe,uid,version) error got %v "
+
"want nil"
,
err
)
}
if
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
"d18974c5-94d7-4e04-b2af-6e9274ad46d8"
,
""
);
err
==
nil
{
if
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
"d18974c5-94d7-4e04-b2af-6e9274ad46d8"
,
""
);
found
{
t
.
Error
(
"GetFileInfo(ns1/cafe,uid) found got true want false"
)
}
if
err
==
nil
{
t
.
Error
(
"GetFileInfo(ns1/cafe,uid) error got nil "
+
"want not found"
)
}
if
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
""
,
"0815"
);
err
==
nil
{
if
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
""
,
"0815"
);
found
{
t
.
Error
(
"GetFileInfo(ns1/cafe,version) found got true "
+
"want false"
)
}
if
err
==
nil
{
t
.
Error
(
"GetFileInfo(ns1/cafe,version) error got nil "
+
"want nil"
)
"want
ono-
nil"
)
}
if
info
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
"d18974c5-94d7-4e04-b2af-6e9274ad46d8"
,
"0815"
);
err
==
nil
{
if
info
,
found
,
err
=
pemFiles
.
GetFileInfo
(
"ns1"
,
"cafe"
,
"d18974c5-94d7-4e04-b2af-6e9274ad46d8"
,
"0815"
);
found
{
t
.
Error
(
"GetFileInfo(ns1/cafe,uid,version) error got true "
+
"want false"
)
}
if
err
==
nil
{
t
.
Error
(
"GetFileInfo(ns1/cafe,uid,version) error got nil "
+
"want not found"
)
}
invalidFiles
.
Base
=
basedir
if
_
,
err
=
invalidFiles
.
GetFileInfo
(
"invalid"
,
"enoent"
,
""
,
""
);
err
==
nil
{
if
_
,
found
,
err
=
invalidFiles
.
GetFileInfo
(
"invalid"
,
"enoent"
,
""
,
""
);
found
{
t
.
Error
(
"GetFileInfo(invalid/enoent) found got true "
+
"want false"
)
}
if
err
==
nil
{
t
.
Errorf
(
"GetFileInfo(invalid/enoent) error got nil "
+
"want not found"
)
}
if
_
,
err
=
invalidFiles
.
GetFileInfo
(
"invalid"
,
"crt"
,
""
,
""
);
err
==
nil
{
t
.
Errorf
(
"GetFileInfo(invalid/crt) error got nil "
+
if
_
,
found
,
err
=
invalidFiles
.
GetFileInfo
(
"invalid"
,
"crt"
,
""
,
""
);
!
found
{
t
.
Error
(
"GetFileInfo(invalid/crt) found got false "
+
"want true"
)
}
if
err
==
nil
{
t
.
Error
(
"GetFileInfo(invalid/crt) error got nil "
+
"want crt parse error"
)
}
}
...
...
pkg/pem/pem.go
View file @
6b0700c0
...
...
@@ -371,6 +371,9 @@ func (pemfiles *Files) Delete(namespace, name string) (bool, error) {
// if the UID and/or ResourceVersion of the corresponding Secret
// match.
//
// The found return value is true iff the corresponding PEM file is
// currently stored.
//
// If an entry is found, the PEM is read and its contents are parsed
// to populate the Cert field, to extent supported by go's crypto/x509
// facilities.
...
...
@@ -378,8 +381,7 @@ func (pemfiles *Files) Delete(namespace, name string) (bool, error) {
// GetFileInfo is protected by a read lock.
func
(
pemfiles
*
Files
)
GetFileInfo
(
ns
,
name
,
uid
,
version
string
,
)
(
FileInfo
,
error
)
{
info
:=
FileInfo
{}
)
(
info
FileInfo
,
found
bool
,
err
error
)
{
mapKey
:=
ns
+
"/"
+
name
pemfiles
.
mtx
.
RLock
()
...
...
@@ -387,27 +389,33 @@ func (pemfiles *Files) GetFileInfo(
pemFile
,
exists
:=
pemfiles
.
Files
[
mapKey
]
if
!
exists
{
return
info
,
fmt
.
Errorf
(
"%s not found"
,
mapKey
)
err
=
fmt
.
Errorf
(
"%s not found"
,
mapKey
)
return
}
if
uid
!=
""
&&
pemFile
.
UID
!=
uid
{
return
info
,
fmt
.
Errorf
(
"%s uid=%s not found"
,
mapKey
,
uid
)
err
=
fmt
.
Errorf
(
"%s uid=%s not found"
,
mapKey
,
uid
)
return
}
if
version
!=
""
&&
pemFile
.
ResourceVersion
!=
version
{
return
info
,
fmt
.
Errorf
(
"%s version=%s not found"
,
mapKey
,
version
)
err
=
fmt
.
Errorf
(
"%s version=%s not found"
,
mapKey
,
version
)
return
}
path
:=
pemfiles
.
Path
(
pemFile
)
pemBytes
,
err
:=
ioutil
.
ReadFile
(
path
)
if
err
!=
nil
{
return
info
,
fmt
.
Errorf
(
"%s: cannot read pem file: %v"
,
mapKey
,
err
)
if
!
os
.
IsNotExist
(
err
)
{
found
=
true
}
err
=
fmt
.
Errorf
(
"%s: cannot read pem file: %v"
,
mapKey
,
err
)
return
}
found
=
true
crt
,
err
:=
mkCrt
(
pemBytes
)
if
err
!=
nil
{
return
info
,
fmt
.
Errorf
(
"%s: cannot read certificate: %v"
,
mapKey
,
err
)
err
=
fmt
.
Errorf
(
"%s: cannot read certificate: %v"
,
mapKey
,
err
)
return
}
info
.
K8sSecret
=
Secret
{
Namespace
:
pemFile
.
Namespace
,
...
...
@@ -420,7 +428,7 @@ func (pemfiles *Files) GetFileInfo(
Size
:
pemFile
.
Size
,
}
info
.
Cert
=
crt
return
info
,
nil
return
}
// GetAllFileInfo returns information about all of the PEM files
...
...
@@ -433,7 +441,7 @@ func (pemfiles *Files) GetAllFileInfo() ([]FileInfo, error) {
defer
pemfiles
.
mtx
.
RUnlock
()
for
_
,
pemFile
:=
range
pemfiles
.
Files
{
info
,
err
:=
pemfiles
.
GetFileInfo
(
info
,
_
,
err
:=
pemfiles
.
GetFileInfo
(
pemFile
.
Namespace
,
pemFile
.
Name
,
""
,
""
)
if
err
!=
nil
{
return
allInfo
,
err
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment