tomld - DoS

A stabil kiadáshoz úgy éreztem, még egy dolog nagyon hiányzik. Ez annak lekezelése, ha túl sok szabály gyűlik be, amely során a tomld folyamat túl sokáig maximumon pörgetheti a CPU-t. Ez előfordulhat pl. nagy mennyiségű fájl hozzáférésnél pl. fájl szerver esetében.

Úgy oldottam meg, hogy figyelem minden ciklus teljes futási idejét, és ha túl lép egy előre megadott értéket (jelenleg 30 sec, normál esetben 1 sec alatt kell futnia egy mai gépen), akkor végignézem az összes szabályban található összes elérési utat, és ezek közül kikeresem azt, amely a legtöbb fájlt tartalmazza. (Ehhez minden azonos elérési út szülő könyvtárát számolom meg.)

Ha ez meg van, akkor figyelmeztető üzenetet dobok a könyvtár nevével, amelyet ezután igény szerint a felhasználó betehet a config-ba a rekurzív taghoz.

Úgy gondolom, ezt egyelőre nem érdemes úgy beállítanom, hogy automatikusan hozzá dobja a könyvtárat a rekurzív mappákhoz, mert megbízhatósági szempontból kérdéses lehet. Lehet olyan eset, hogy nem csak a túl sok szabály miatt lassul be a tomld process, hanem pl. a szerver van leterhelve más miatt. De az is lehet, hogy ezt a könyvtárat nem szeretnénk rekurzív módon kicsillagozni.

De mégis létrejön egy figyelmeztető bejegyzés a log-ban megmutatva a megoldást is.