This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package cached
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"github.com/go-webauthn/webauthn/metadata"
|
||||
"github.com/go-webauthn/webauthn/metadata/providers/memory"
|
||||
)
|
||||
|
||||
func doTruncateCopyAndSeekStart(f *os.File, rc io.ReadCloser) (err error) {
|
||||
if err = f.Truncate(0); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err = io.Copy(f, rc); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err = f.Seek(0, io.SeekStart); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return rc.Close()
|
||||
}
|
||||
|
||||
func doOpenOrCreate(name string) (f *os.File, created bool, err error) {
|
||||
if f, err = os.OpenFile(name, os.O_RDWR, 0); err == nil {
|
||||
return f, false, nil
|
||||
}
|
||||
|
||||
if os.IsNotExist(err) {
|
||||
if f, err = os.Create(name); err != nil {
|
||||
return nil, false, err
|
||||
}
|
||||
|
||||
return f, true, nil
|
||||
}
|
||||
|
||||
return nil, false, err
|
||||
}
|
||||
|
||||
func defaultNew(mds *metadata.Metadata) (provider metadata.Provider, err error) {
|
||||
return memory.New(
|
||||
memory.WithMetadata(mds.ToMap()),
|
||||
memory.WithValidateEntry(true),
|
||||
memory.WithValidateEntryPermitZeroAAGUID(false),
|
||||
memory.WithValidateTrustAnchor(true),
|
||||
memory.WithValidateStatus(true),
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user