Documentation
¶
Overview ¶
Package classify reconnaît les chemins, marqueurs de contenu et commandes shell classifiés (données sensibles) d'après les règles de configuration.
Index ¶
- Variables
- type Rules
- func (r Rules) CommandPath(root, cmd string) (string, bool)
- func (r Rules) Empty() bool
- func (r Rules) FindMarker(text string) (string, bool)
- func (r Rules) FindMarkerReader(rd io.Reader) (marker string, ok bool, err error)
- func (r Rules) MatchCommand(root, cmd string) (string, bool)
- func (r Rules) MatchPath(root, path string) (string, bool)
Constants ¶
This section is empty.
Variables ¶
var BuiltinMarkers = []string{"DIFFUSION RESTREINTE", "SPÉCIAL FRANCE", "SPECIAL FRANCE", "RESTREINT UE", "EU RESTRICTED"}
BuiltinMarkers sont les marqueurs de classification toujours actifs.
Functions ¶
This section is empty.
Types ¶
type Rules ¶
type Rules struct {
Paths, Markers []string
}
Rules regroupe les motifs de chemins et les marqueurs définis par l'utilisateur ou la politique. Les marqueurs intégrés s'ajoutent toujours.
func (Rules) CommandPath ¶
CommandPath est MatchCommand, mais rend le mot de la commande classé (le chemin tel qu'écrit) plutôt que le motif.
func (Rules) FindMarker ¶
FindMarker cherche un marqueur dans text, sans tenir compte de la casse, des accents ni des espaces multiples, avec frontières de mot. Il rend le marqueur tel que configuré.
func (Rules) FindMarkerReader ¶
FindMarkerReader est FindMarker sur un flux lu par blocs, sans le charger en entier. Chaque bloc est replié puis cherché à la suite de la fin repliée du bloc précédent (au moins la longueur du plus long marqueur replié) : un marqueur à cheval sur deux blocs, coupé par des espaces ou des retours à la ligne, est reconnu. err est une erreur de lecture.
func (Rules) MatchCommand ¶
MatchCommand découpe cmd en mots et teste ceux qui ressemblent à un chemin (contient `/` ou existe relativement à root).
func (Rules) MatchPath ¶
MatchPath rapporte le motif qui classifie path (absolu ou relatif à root). Un chemin est classé si lui-même ou l'un de ses ancêtres correspond à un motif : `rh`, `rh/` et `rh/**` couvrent tous `rh/a/b.txt` (la barre finale d'un motif est ignorée). Les motifs relatifs s'appliquent au chemin relatif à la racine résolue, ancêtres compris jusqu'à elle ; un chemin hors du projet ne correspond jamais à un motif relatif.