firewall

package
v1.1.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	BlackListAddresses []string  `toml:"blacklist_addresses"`
	RateLimit          RateLimit `toml:"rate_limit"`
}

func DefaultConfig

func DefaultConfig() *Config

func (*Config) BasicCheck added in v0.15.0

func (conf *Config) BasicCheck() error

BasicCheck performs basic checks on the configuration.

func (*Config) GetBlackListAddresses added in v1.1.8

func (conf *Config) GetBlackListAddresses() []string

BlackListAddresses returns the list of blacklisted addresses. It is a combination of user-defined addresses and pre-defined addresses in the `black_list.json` file.

type Firewall

type Firewall struct {
	// contains filtered or unexported fields
}

Firewall check packets before passing them to sync module.

func NewFirewall

func NewFirewall(conf *Config, net network.Network, peerSet *peerset.PeerSet, st state.Facade,
	log *logger.SubLogger,
) (*Firewall, error)

func (*Firewall) AllowBlockRequest added in v1.1.8

func (f *Firewall) AllowBlockRequest() bool

func (*Firewall) AllowConsensusRequest added in v1.1.8

func (f *Firewall) AllowConsensusRequest() bool

func (*Firewall) AllowTransactionRequest added in v1.1.8

func (f *Firewall) AllowTransactionRequest() bool

func (*Firewall) IsBlackListAddress added in v1.1.7

func (f *Firewall) IsBlackListAddress(remoteAddr string) bool

func (*Firewall) OpenGossipBundle

func (f *Firewall) OpenGossipBundle(data []byte, from peer.ID) *bundle.Bundle

func (*Firewall) OpenStreamBundle

func (f *Firewall) OpenStreamBundle(r io.Reader, from peer.ID) *bundle.Bundle

type RateLimit added in v1.1.8

type RateLimit struct {
	BlockTopic       int `toml:"block_topic"`
	TransactionTopic int `toml:"transaction_topic"`
	ConsensusTopic   int `toml:"consensus_topic"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL