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:
Nicolas JUHEL
2025-01-06 11:32:54 +01:00
parent 22b364593e
commit 61a73ba606
67 changed files with 1220 additions and 527 deletions

View File

@@ -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))
}