Work on portmaster restructuring
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
// Copyright Safing ICS Technologies GmbH. Use of this source code is governed by the AGPL license that can be found in the LICENSE file.
|
||||
|
||||
package tls
|
||||
|
||||
var (
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// Copyright Safing ICS Technologies GmbH. Use of this source code is governed by the AGPL license that can be found in the LICENSE file.
|
||||
|
||||
package tls
|
||||
|
||||
import (
|
||||
@@ -12,14 +10,13 @@ import (
|
||||
"github.com/google/gopacket/layers"
|
||||
"github.com/google/gopacket/tcpassembly"
|
||||
|
||||
"github.com/Safing/safing-core/configuration"
|
||||
"github.com/Safing/safing-core/crypto/verify"
|
||||
"github.com/Safing/safing-core/firewall/inspection"
|
||||
"github.com/Safing/safing-core/firewall/inspection/tls/tlslib"
|
||||
"github.com/Safing/safing-core/log"
|
||||
"github.com/Safing/safing-core/network"
|
||||
"github.com/Safing/safing-core/network/netutils"
|
||||
"github.com/Safing/safing-core/network/packet"
|
||||
"github.com/Safing/portbase/log"
|
||||
"github.com/Safing/portmaster/firewall/inspection"
|
||||
"github.com/Safing/portmaster/firewall/inspection/tls/tlslib"
|
||||
"github.com/Safing/portmaster/firewall/inspection/tls/verify"
|
||||
"github.com/Safing/portmaster/network"
|
||||
"github.com/Safing/portmaster/network/netutils"
|
||||
"github.com/Safing/portmaster/network/packet"
|
||||
)
|
||||
|
||||
// TODO:
|
||||
@@ -31,8 +28,6 @@ var (
|
||||
tlsInspectorIndex int
|
||||
assemblerManager *netutils.SimpleStreamAssemblerManager
|
||||
assembler *tcpassembly.Assembler
|
||||
|
||||
config = configuration.Get()
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/Safing/safing-core/firewall/inspection/tls/tlslib"
|
||||
"github.com/Safing/portmaster/firewall/inspection/tls/tlslib"
|
||||
)
|
||||
|
||||
var clientHelloSample = []byte{
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// Copyright Safing ICS Technologies GmbH. Use of this source code is governed by the AGPL license that can be found in the LICENSE file.
|
||||
|
||||
package verify
|
||||
|
||||
import (
|
||||
@@ -14,15 +12,15 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/cloudflare/cfssl/crypto/pkcs7"
|
||||
datastore "github.com/ipfs/go-datastore"
|
||||
|
||||
"github.com/Safing/safing-core/crypto/hash"
|
||||
"github.com/Safing/safing-core/database"
|
||||
"github.com/Safing/portbase/crypto/hash"
|
||||
"github.com/Safing/portbase/database"
|
||||
"github.com/Safing/portbase/database/record"
|
||||
)
|
||||
|
||||
// Cert saves a certificate.
|
||||
type Cert struct {
|
||||
database.Base
|
||||
record.Record
|
||||
|
||||
cert *x509.Certificate
|
||||
Raw []byte
|
||||
@@ -120,7 +118,7 @@ func (m *Cert) CreateRevokedCert(caID string, serialNumber *big.Int) error {
|
||||
}
|
||||
|
||||
// CreateInNamespace saves Cert with the provided name in the provided namespace.
|
||||
func (m *Cert) CreateInNamespace(namespace *datastore.Key, name string) error {
|
||||
func (m *Cert) CreateInNamespace(namespace string, name string) error {
|
||||
return m.CreateObject(namespace, name, m)
|
||||
}
|
||||
|
||||
@@ -140,7 +138,7 @@ func GetCertWithSPKI(spki []byte) (*Cert, error) {
|
||||
}
|
||||
|
||||
// GetCertFromNamespace gets Cert with the provided name from the provided namespace.
|
||||
func GetCertFromNamespace(namespace *datastore.Key, name string) (*Cert, error) {
|
||||
func GetCertFromNamespace(namespace string, name string) (*Cert, error) {
|
||||
object, err := database.GetAndEnsureModel(namespace, name, certModel)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// Copyright Safing ICS Technologies GmbH. Use of this source code is governed by the AGPL license that can be found in the LICENSE file.
|
||||
|
||||
package verify
|
||||
|
||||
import (
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// Copyright Safing ICS Technologies GmbH. Use of this source code is governed by the AGPL license that can be found in the LICENSE file.
|
||||
|
||||
package verify
|
||||
|
||||
import (
|
||||
@@ -14,16 +12,15 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
datastore "github.com/ipfs/go-datastore"
|
||||
|
||||
"github.com/Safing/safing-core/crypto/hash"
|
||||
"github.com/Safing/safing-core/database"
|
||||
"github.com/Safing/safing-core/log"
|
||||
"github.com/Safing/portbase/crypto/hash"
|
||||
"github.com/Safing/portbase/database"
|
||||
"github.com/Safing/portbase/database/record"
|
||||
"github.com/Safing/portbase/log"
|
||||
)
|
||||
|
||||
// CARevocationInfo saves Information on revokation of Certificates of a Certificate Authority.
|
||||
type CARevocationInfo struct {
|
||||
database.Base
|
||||
record.Record
|
||||
|
||||
CRLDistributionPoints []string
|
||||
OCSPServers []string
|
||||
@@ -39,23 +36,17 @@ type CARevocationInfo struct {
|
||||
}
|
||||
|
||||
var (
|
||||
caRevocationInfoModel *CARevocationInfo // only use this as parameter for database.EnsureModel-like functions
|
||||
|
||||
dupCrlReqMap = make(map[string]*sync.Mutex)
|
||||
dupCrlReqLock sync.Mutex
|
||||
)
|
||||
|
||||
func init() {
|
||||
database.RegisterModel(caRevocationInfoModel, func() database.Model { return new(CARevocationInfo) })
|
||||
}
|
||||
|
||||
// Create saves CARevocationInfo with the provided name in the default namespace.
|
||||
func (m *CARevocationInfo) Create(name string) error {
|
||||
return m.CreateObject(&database.CARevocationInfoCache, name, m)
|
||||
}
|
||||
|
||||
// CreateInNamespace saves CARevocationInfo with the provided name in the provided namespace.
|
||||
func (m *CARevocationInfo) CreateInNamespace(namespace *datastore.Key, name string) error {
|
||||
func (m *CARevocationInfo) CreateInNamespace(namespace string, name string) error {
|
||||
return m.CreateObject(namespace, name, m)
|
||||
}
|
||||
|
||||
@@ -78,7 +69,7 @@ func GetCARevocationInfo(name string) (*CARevocationInfo, error) {
|
||||
}
|
||||
|
||||
// GetCARevocationInfoFromNamespace fetches CARevocationInfo with the provided name from the provided namespace.
|
||||
func GetCARevocationInfoFromNamespace(namespace *datastore.Key, name string) (*CARevocationInfo, error) {
|
||||
func GetCARevocationInfoFromNamespace(namespace string, name string) (*CARevocationInfo, error) {
|
||||
object, err := database.GetAndEnsureModel(namespace, name, caRevocationInfoModel)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// Copyright Safing ICS Technologies GmbH. Use of this source code is governed by the AGPL license that can be found in the LICENSE file.
|
||||
|
||||
package verify
|
||||
|
||||
import (
|
||||
@@ -16,8 +14,8 @@ import (
|
||||
|
||||
"golang.org/x/crypto/ocsp"
|
||||
|
||||
"github.com/Safing/safing-core/crypto/hash"
|
||||
"github.com/Safing/safing-core/log"
|
||||
"github.com/Safing/portbase/crypto/hash"
|
||||
"github.com/Safing/portbase/log"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
// Copyright Safing ICS Technologies GmbH. Use of this source code is governed by the AGPL license that can be found in the LICENSE file.
|
||||
|
||||
package verify
|
||||
|
||||
import (
|
||||
@@ -8,9 +6,8 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/Safing/safing-core/configuration"
|
||||
"github.com/Safing/safing-core/crypto/hash"
|
||||
"github.com/Safing/safing-core/database"
|
||||
"github.com/Safing/portbase/crypto/hash"
|
||||
"github.com/Safing/portbase/database"
|
||||
)
|
||||
|
||||
// useful references:
|
||||
@@ -24,10 +21,6 @@ import (
|
||||
// RE: https://www.grc.com/revocation/crlsets.htm
|
||||
// RE: RE: https://www.imperialviolet.org/2014/04/29/revocationagain.html
|
||||
|
||||
var (
|
||||
config = configuration.Get()
|
||||
)
|
||||
|
||||
// FullCheckBytes does a full certificate check, certificates are provided as raw bytes.
|
||||
// It parses the raw certificates and calls FullCheck.
|
||||
func FullCheckBytes(name string, certBytes [][]byte) (bool, error) {
|
||||
|
||||
Reference in New Issue
Block a user