github.com/castai/kvisor@v1.7.1-0.20240516114728-b3572a2607b5/pkg/ebpftracer/signature/signature_rules.go (about)

     1  package signature
     2  
     3  import "github.com/castai/kvisor/pkg/logging"
     4  
     5  type DefaultSignatureConfig struct {
     6  	TTYDetectedSignatureEnabled    bool
     7  	SOCKS5DetectedSignatureEnabled bool
     8  	SOCKS5DetectedSignatureConfig  SOCKS5DetectionSignatureConfig
     9  }
    10  
    11  func DefaultSignatures(log *logging.Logger, cfg DefaultSignatureConfig) ([]Signature, error) {
    12  	result := []Signature{
    13  		NewStdViaSocketSignature(log),
    14  	}
    15  
    16  	if cfg.TTYDetectedSignatureEnabled {
    17  		result = append(result, NewTTYDetectedSignature())
    18  	}
    19  
    20  	if cfg.SOCKS5DetectedSignatureEnabled {
    21  		if s, err := NewSOCKS5DetectedSignature(cfg.SOCKS5DetectedSignatureConfig); err != nil {
    22  			return nil, err
    23  		} else {
    24  			result = append(result, s)
    25  		}
    26  	}
    27  
    28  	return result, nil
    29  }