This commit is contained in:
number571 2024-01-30 02:59:02 +07:00
parent 40562d1eb3
commit ca71d5c761
34 changed files with 1939 additions and 1928 deletions

View File

@ -17,6 +17,8 @@
- Update `pkg/network/anonymity/logger`: delete GetRecv, WithRecv methods
- Update `cmd/hidden_lake/*/_daemon`: delete from status timestamp systemd
- Update `cmd/hidden_lake/applications/messenger`: delete secret_keys, encrypt/decrypt messages
- Update `cmd/hidden_lake`: rename share -> share_enabled, storage -> storage_enabled
- Update `cmd/hidden_lake`: move enabled/disabled options to settings block
<!-- ... -->

View File

@ -4,6 +4,7 @@ settings:
queue_period_ms: 5000
key_size_bits: 4096
limit_void_size_bytes: 4096
f2f_disabled: false
logging:
- info
- warn

View File

@ -5,6 +5,7 @@ settings:
messages_capacity: 2048
queue_period_ms: 5000
limit_void_size_bytes: 4096
storage_enabled: false
logging:
- info
- warn

File diff suppressed because it is too large Load Diff

View File

@ -53,12 +53,12 @@ Default config `hlm.yml`
```yaml
settings:
messages_capacity: 2048
share_enabled: false
logging:
- info
- warn
- erro
language: ENG
share: false
address:
interface: 127.0.0.1:9591
incoming: 127.0.0.1:9592

View File

@ -21,6 +21,7 @@ var (
type SConfigSettings struct {
FMessagesCapacity uint64 `yaml:"messages_capacity"`
FWorkSizeBits uint64 `yaml:"work_size_bits,omitempty"`
FShareEnabled bool `yaml:"share_enabled,omitempty"`
}
type SConfig struct {
@ -28,7 +29,6 @@ type SConfig struct {
FLogging []string `yaml:"logging,omitempty"`
FLanguage string `yaml:"language,omitempty"`
FShare bool `yaml:"share,omitempty"`
FPseudonym string `yaml:"pseudonym"`
FAddress *SAddress `yaml:"address"`
FConnection string `yaml:"connection"`
@ -100,6 +100,10 @@ func (p *SConfigSettings) GetWorkSizeBits() uint64 {
return p.FWorkSizeBits
}
func (p *SConfigSettings) GetShareEnabled() bool {
return p.FShareEnabled
}
func (p *SConfig) isValid() bool {
return true &&
utils.PseudonymIsValid(p.FPseudonym) &&
@ -171,10 +175,6 @@ func (p *SConfig) GetLanguage() language.ILanguage {
return p.fLanguage
}
func (p *SConfig) GetShare() bool {
return p.FShare
}
func (p *SConfig) GetPseudonym() string {
p.fMutex.Lock()
defer p.fMutex.Unlock()

View File

@ -16,11 +16,11 @@ const (
const (
tcConfigTemplate = `settings:
messages_capacity: %d
share_enabled: true
logging:
- info
- erro
language: RUS
share: true
pseudonym: '%s'
address:
interface: '%s'
@ -71,7 +71,12 @@ func TestConfig(t *testing.T) {
}
if cfg.GetSettings().GetMessagesCapacity() != tcMessagesCapacity {
t.Error("settings key size is invalid")
t.Error("settings message capacity size is invalid")
return
}
if cfg.GetSettings().GetShareEnabled() != true {
t.Error("settings share is invalid")
return
}
@ -95,11 +100,6 @@ func TestConfig(t *testing.T) {
return
}
if cfg.GetShare() != true {
t.Error("share is invalid")
return
}
if cfg.GetLanguage() != language.CLangRUS {
t.Error("language is invalid")
return

View File

@ -23,7 +23,7 @@ var (
func (p *tsConfig) GetSettings() IConfigSettings { return nil }
func (p *tsConfig) GetLanguage() language.ILanguage { return 0 }
func (p *tsConfig) GetLogging() logger.ILogging { return nil }
func (p *tsConfig) GetShare() bool { return false }
func (p *tsConfig) GetShareEnabled() bool { return false }
func (p *tsConfig) GetPseudonym() string { return "" }
func (p *tsConfig) GetAddress() IAddress { return nil }
func (p *tsConfig) GetNetworkKey() string { return "" }

View File

@ -18,10 +18,10 @@ func InitConfig(cfgPath string, initCfg *SConfig) (IConfig, error) {
initCfg = &SConfig{
FSettings: &SConfigSettings{
FMessagesCapacity: hlm_settings.CDefaultMessagesCapacity,
FShareEnabled: hlm_settings.CDefaultShareEnabled,
},
FLogging: []string{logger.CLogInfo, logger.CLogWarn, logger.CLogErro},
FLanguage: hlm_settings.CDefaultLanguage,
FShare: hlm_settings.CDefaultShare,
FPseudonym: random.NewStdPRNG().GetString(hlm_settings.CPseudonymSize),
FAddress: &SAddress{
FInterface: hlm_settings.CDefaultInterfaceAddress,

View File

@ -17,7 +17,6 @@ type IEditor interface {
type IConfig interface {
GetSettings() IConfigSettings
GetShare() bool
GetPseudonym() string
GetAddress() IAddress
GetLogging() logger.ILogging
@ -29,6 +28,7 @@ type IConfig interface {
type IConfigSettings interface {
GetMessagesCapacity() uint64
GetWorkSizeBits() uint64
GetShareEnabled() bool
}
type IAddress interface {

View File

@ -73,7 +73,7 @@ func HandleIncomigHTTP(pLogger logger.ILogger, pCfg config.IConfig, pDB database
return
}
if pCfg.GetShare() {
if pCfg.GetSettings().GetShareEnabled() {
err := shareMessage(pCfg, fPubKey, requestID, senderPseudonym, rawMsgBytes)
switch err {
case nil:

View File

@ -31,7 +31,7 @@ const (
)
const (
CDefaultShare = false
CDefaultShareEnabled = false
CDefaultLanguage = "ENG"
CDefaultMessagesCapacity = (2 << 10) // count
)

View File

@ -4,6 +4,6 @@ settings:
messages_capacity: 2048
work_size_bits: %d
network_key: %s
storage: true
storage_enabled: true
address:
http: '%s'

View File

@ -24,6 +24,7 @@ type SConfigSettings struct {
FQueuePeriodMS uint64 `json:"queue_period_ms,omitempty" yaml:"queue_period_ms,omitempty"`
FLimitVoidSizeBytes uint64 `json:"limit_void_size_bytes,omitempty" yaml:"limit_void_size_bytes,omitempty"`
FNetworkKey string `json:"network_key,omitempty" yaml:"network_key,omitempty"`
FStorageEnabled bool `json:"storage_enabled,omitempty" yaml:"storage_enabled,omitempty"`
}
type SConfig struct {
@ -31,7 +32,6 @@ type SConfig struct {
FLogging []string `yaml:"logging,omitempty"`
FAddress *SAddress `yaml:"address,omitempty"`
FStorage bool `yaml:"storage,omitempty"`
FConnections []string `yaml:"connections,omitempty"`
FConsumers []string `yaml:"consumers,omitempty"`
@ -87,10 +87,6 @@ func (p *SConfig) GetSettings() IConfigSettings {
return p.FSettings
}
func (p *SConfig) GetStorage() bool {
return p.FStorage
}
func (p *SConfigSettings) GetMessageSizeBytes() uint64 {
return p.FMessageSizeBytes
}
@ -119,6 +115,10 @@ func (p *SConfigSettings) GetKeySizeBits() uint64 {
return p.FKeySizeBits
}
func (p *SConfigSettings) GetStorageEnabled() bool {
return p.FStorageEnabled
}
func (p *SConfig) isValid() bool {
return true &&
p.FSettings.FMessageSizeBytes != 0 &&

View File

@ -27,6 +27,7 @@ func InitConfig(cfgPath string, initCfg *SConfig) (IConfig, error) {
FQueuePeriodMS: hls_settings.CDefaultQueuePeriod,
FLimitVoidSizeBytes: hls_settings.CDefaultLimitVoidSize,
FMessagesCapacity: hlt_settings.CDefaultMessagesCapacity,
FStorageEnabled: hlt_settings.CDefaultStorageEnabled,
},
FLogging: []string{logger.CLogInfo, logger.CLogWarn, logger.CLogErro},
FAddress: &SAddress{

View File

@ -10,7 +10,6 @@ type IConfig interface {
GetSettings() IConfigSettings
GetLogging() logger.ILogging
GetAddress() IAddress
GetStorage() bool
GetConnections() []string
GetConsumers() []string
}
@ -22,6 +21,7 @@ type IConfigSettings interface {
GetQueuePeriodMS() uint64
GetMessagesCapacity() uint64
GetLimitVoidSizeBytes() uint64
GetStorageEnabled() bool
}
type IAddress interface {

View File

@ -31,6 +31,7 @@ func HandleConfigSettingsAPI(pCfg config.IConfig, pLogger logger.ILogger) http.H
FLimitVoidSizeBytes: sett.GetLimitVoidSizeBytes(),
FMessagesCapacity: sett.GetMessagesCapacity(),
FNetworkKey: sett.GetNetworkKey(),
FStorageEnabled: sett.GetStorageEnabled(),
})
}
}

View File

@ -23,7 +23,7 @@ func (p *sApp) initDatabase() error {
)
switch {
case p.fConfig.GetStorage():
case p.fConfig.GetSettings().GetStorageEnabled():
db, err = database.NewDatabase(sett)
default:
db, err = database.NewInMemoryDatabase(sett)

View File

@ -23,6 +23,10 @@ const (
CHandleConfigSettings = "/api/config/settings"
)
const (
CDefaultStorageEnabled = false
)
const (
CDefaultTCPAddress = "127.0.0.1:9581"
CDefaultHTTPAddress = "127.0.0.1:9582"

View File

@ -253,6 +253,7 @@ settings:
queue_period_ms: 5000
limit_void_size_bytes: 4096
network_key: hls-network-key
f2f_disabled: false
logging:
- info
- warn
@ -260,7 +261,6 @@ logging:
address:
tcp: localhost:9571
http: localhost:9572
f2f_disabled: false
services:
hidden-default-service:
host: localhost:8080

View File

@ -26,6 +26,7 @@ type SConfigSettings struct {
FWorkSizeBits uint64 `json:"work_size_bits,omitempty" yaml:"work_size_bits,omitempty"`
FLimitVoidSizeBytes uint64 `json:"limit_void_size_bytes,omitempty" yaml:"limit_void_size_bytes,omitempty"`
FNetworkKey string `json:"network_key,omitempty" yaml:"network_key,omitempty"`
FF2FDisabled bool `json:"f2f_disabled,omitempty" yaml:"f2f_disabled,omitempty"`
}
type SConfig struct {
@ -33,7 +34,6 @@ type SConfig struct {
FLogging []string `yaml:"logging,omitempty"`
FAddress *SAddress `yaml:"address,omitempty"`
FF2FDisabled bool `yaml:"f2f_disabled,omitempty"`
FServices map[string]*SService `yaml:"services,omitempty"`
FConnections []string `yaml:"connections,omitempty"`
FFriends map[string]string `yaml:"friends,omitempty"`
@ -123,6 +123,10 @@ func (p *SConfigSettings) GetNetworkKey() string {
return p.FNetworkKey
}
func (p *SConfigSettings) GetF2FDisabled() bool {
return p.FF2FDisabled
}
func (p *SConfig) GetSettings() IConfigSettings {
return p.FSettings
}
@ -226,10 +230,6 @@ func (p *SConfig) GetFriends() map[string]asymmetric.IPubKey {
return result
}
func (p *SConfig) GetF2FDisabled() bool {
return p.FF2FDisabled
}
func (p *SConfig) GetLogging() logger.ILogging {
return p.fLogging
}

View File

@ -56,6 +56,7 @@ const (
queue_period_ms: %d
limit_void_size_bytes: %d
network_key: %s
f2f_disabled: true
logging:
- info
- erro
@ -63,7 +64,6 @@ address:
tcp: %s
http: %s
pprof: %s
f2f_disabled: true
connections:
- %s
- %s
@ -247,6 +247,11 @@ func TestComplexConfig(t *testing.T) {
return
}
if !cfg.GetSettings().GetF2FDisabled() {
t.Error("settings f2f disabled is invalid")
return
}
if cfg.GetLogging().HasInfo() != tcLogging {
t.Error("logging.info is invalid")
return
@ -282,11 +287,6 @@ func TestComplexConfig(t *testing.T) {
return
}
if !cfg.GetF2FDisabled() {
t.Error("f2f_disabled is invalid")
return
}
if len(cfg.GetConnections()) != 2 {
t.Error("len connections != 2")
return

View File

@ -25,13 +25,13 @@ func InitConfig(cfgPath string, initCfg *SConfig) (IConfig, error) {
FKeySizeBits: hls_settings.CDefaultKeySize,
FQueuePeriodMS: hls_settings.CDefaultQueuePeriod,
FLimitVoidSizeBytes: hls_settings.CDefaultLimitVoidSize,
FF2FDisabled: hls_settings.CDefaultF2FDisabled,
},
FLogging: []string{logger.CLogInfo, logger.CLogWarn, logger.CLogErro},
FAddress: &SAddress{
FTCP: hls_settings.CDefaultTCPAddress,
FHTTP: hls_settings.CDefaultHTTPAddress,
},
FF2FDisabled: hls_settings.CDefaultF2FDisabled,
FServices: map[string]*SService{
hlm_settings.CTitlePattern: {FHost: hls_settings.CDefaultServiceHLMAddress},
},

View File

@ -24,13 +24,13 @@ type IConfigSettings interface {
GetQueuePeriodMS() uint64
GetLimitVoidSizeBytes() uint64
GetF2FDisabled() bool
}
type IConfig interface {
GetSettings() IConfigSettings
GetLogging() logger.ILogging
GetAddress() IAddress
GetF2FDisabled() bool
GetFriends() map[string]asymmetric.IPubKey
GetConnections() []string
GetService(string) (IService, bool)

View File

@ -36,6 +36,7 @@ func HandleConfigSettingsAPI(pWrapper config.IWrapper, pLogger logger.ILogger, p
FKeySizeBits: sett.GetKeySizeBits(),
FLimitVoidSizeBytes: sett.GetLimitVoidSizeBytes(),
FNetworkKey: sett.GetNetworkKey(),
FF2FDisabled: sett.GetF2FDisabled(),
},
FLimitMessageSizeBytes: pNode.GetMessageQueue().GetClient().GetMessageLimit(),
})

View File

@ -36,7 +36,7 @@ func HandleServiceTCP(pMutex *sync.Mutex, pCfgW config.IWrapper, pLogger logger.
friends := cfg.GetFriends()
// append public key to list of friends if f2f option is disabled
if cfg.GetF2FDisabled() && !inFriendsList(friends, sender) {
if cfg.GetSettings().GetF2FDisabled() && !inFriendsList(friends, sender) {
// update config state with new friend
friends[sender.GetHasher().ToString()] = sender
if err := pCfgW.GetEditor().UpdateFriends(friends); err != nil {

View File

@ -27,7 +27,7 @@ func initNode(pMutex *sync.Mutex, pCfgW config.IWrapper, pPrivKey asymmetric.IPr
return anonymity.NewNode(
anonymity.NewSettings(&anonymity.SSettings{
FServiceName: pkg_settings.CServiceName,
FF2FDisabled: cfg.GetF2FDisabled(),
FF2FDisabled: cfgSettings.GetF2FDisabled(),
FNetworkMask: pkg_settings.CNetworkMask,
FRetryEnqueue: pkg_settings.CRetryEnqueue,
FFetchTimeWait: pkg_settings.CFetchTimeout,

View File

@ -1,10 +1,10 @@
settings:
messages_capacity: 2048
share_enabled: true
logging:
- info
- warn
- erro
share: true
address:
interface: localhost:4040
incoming: localhost:4041

View File

@ -4,11 +4,11 @@ settings:
key_size_bits: 4096
queue_period_ms: 5000
limit_void_size_bytes: 4096
f2f_disabled: true
logging:
- info
- warn
- erro
f2f_disabled: true
address:
http: localhost:4572
services:

View File

@ -4,7 +4,7 @@ settings:
work_size_bits: 22
messages_capacity: 2048
network_key: j2BR39JfDf7Bajx3
storage: true
storage_enabled: true
logging:
- info
- warn

View File

@ -4,7 +4,7 @@ settings:
work_size_bits: 22
messages_capacity: 2048
network_key: j2BR39JfDf7Bajx3
storage: true
storage_enabled: true
logging:
- info
- warn

View File

@ -4,7 +4,7 @@ settings:
work_size_bits: 10
messages_capacity: 2048
network_key: some-network-key
storage: true
storage_enabled: true
logging:
- info
- warn

View File

@ -4,7 +4,7 @@ settings:
work_size_bits: 10
messages_capacity: 2048
network_key: some-network-key
storage: true
storage_enabled: true
logging:
- info
- warn

File diff suppressed because it is too large Load Diff