mirror of
https://github.com/nabbar/golib.git
synced 2025-11-02 19:54:14 +08:00
Package Certificates:
- fix bug with cert type marshall/unmarshall - add old config to allow retro compatibility - add new type function to retrieve a tls root ca cert instead of a slice of string to get root ca Package HTTPCli: - fix default DNS Mapper - optimze global DNS Mapper - fix non closing sub goroutine Package HTTPCli/DNS-Mapper: - change request function of Root CA with function of root ca cert instance - add function to return a root ca cert from a function that return a slice of root ca string Package Config/Components: - httpcli: bump sub package of certificate, httpcli - httpcli: adjust code following bump - httpcli: change request function of Root CA with function of root ca cert instance - httpcli: add function to return a root ca cert from a function that return a slice of root ca string - tls: change request function of Root CA with function of root ca cert instance - tls: add function to return a root ca cert from a function that return a slice of root ca string Package IOUtils/mapCloser: - fix bug with mapcloser not stopped - optimize code & goroutine Package Logger: - rework mapCloser call - optimize mapClaoser managment Package Request: - rework error managment - using []byte instead of buffer to read response body - add free capability - optimize memory consumption Package Socket / Server: - add filtering error capability - add params to specify a function called on each new connection and before using the connection - the new function param allow to update the network incomming connection (like buffer, deadline...) - rework some useless atomic to direct value to optimize code Package Socket/Delim: - rework to optimize memory & variable use - remove capabilities of update the instance when running, prefert recreate new one if necessary Other: - bump dependencies - minor bug / fix
This commit is contained in:
@@ -30,6 +30,7 @@ import (
|
||||
"sync"
|
||||
|
||||
libtls "github.com/nabbar/golib/certificates"
|
||||
tlscas "github.com/nabbar/golib/certificates/ca"
|
||||
libcfg "github.com/nabbar/golib/config"
|
||||
cfgtps "github.com/nabbar/golib/config/types"
|
||||
libctx "github.com/nabbar/golib/context"
|
||||
@@ -42,7 +43,21 @@ type ComponentTlS interface {
|
||||
SetTLS(tls libtls.TLSConfig)
|
||||
}
|
||||
|
||||
func New(ctx libctx.FuncContext, defCARoot libtls.FctRootCA) ComponentTlS {
|
||||
func GetRootCaCert(fct libtls.FctRootCA) tlscas.Cert {
|
||||
var res tlscas.Cert
|
||||
|
||||
for _, c := range fct() {
|
||||
if res == nil {
|
||||
res, _ = tlscas.Parse(c)
|
||||
} else {
|
||||
_ = res.AppendString(c)
|
||||
}
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
func New(ctx libctx.FuncContext, defCARoot libtls.FctRootCACert) ComponentTlS {
|
||||
return &componentTls{
|
||||
m: sync.RWMutex{},
|
||||
x: libctx.NewConfig[uint8](ctx),
|
||||
@@ -56,7 +71,7 @@ func Register(cfg libcfg.Config, key string, cpt ComponentTlS) {
|
||||
cfg.ComponentSet(key, cpt)
|
||||
}
|
||||
|
||||
func RegisterNew(ctx libctx.FuncContext, cfg libcfg.Config, key string, defCARoot libtls.FctRootCA) {
|
||||
func RegisterNew(ctx libctx.FuncContext, cfg libcfg.Config, key string, defCARoot libtls.FctRootCACert) {
|
||||
cfg.ComponentSet(key, New(ctx, defCARoot))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user