tomld #6

v0.32

Ez az első teljesen működő C verziója tomld-nek. Sok tesztelés szükséges, sok hiba lehet még.

A python verzióhoz képest egyetlen dolog hiányzik még, ez a fájlok nevében a véletlenszerű minta felismerése. Ezt teljesen átdolgozom.

Ha meglesz az automatikus kikényszerítő mód, amely felismeri mikor gyűlött elég szabály az adott domain-hez és így mikor kell átkapcsolni kikényszerítő módba, akkor teljes lesz a program. Onnétól hiba vadászat és sok dokumentáció meg tesztelés kell. meg debian csomag az egyszerű telepítéshez, ami szolgáltatásnak beállítja egyből.

Ja, kis érdekesség, dupla sor lett a kód python-hoz képest.. gyorsaságban persze messze van.

kiegészítés:

itt van v0.33, még alakulóban.

Változások:
- handle SIGINT and SIGTERM interrupt signals
- fix to view options without root privilege
- apply rules on the active domains of the running processes too

Aminek örülök, hogy PID namespace használata nélkül, egy egyszerű ötlettel sikerült megoldanom, hogy minden futó processre is alkalmazva legyenek az új szabályok.

Jelenleg két nehéz probléma van hátra:

1) mivel _sajnos_ bevezették több alkalmazásnál, hogy mappa nevekben is használjanak random részt (pl. a gdm3-ban is, /var/gdm/user-XXXXXX/), ezért erre kell egy okos és megbízható rutint írnom, amely megmondja a random-nak látszó részt egy adott fájl névből és amelyet így ki tudok csillagozni, mivel minden bejelentkezésnél vagy process restart után új mappát használhat, és így nem lenne vége a szabályok betanulásának

2) a tanuló mód végének felismerése - ez is jó játék lesz, vannak ötleteim, de tartok tőle ez is sok idő lesz mire egyáltalán a megoldást kidolgozom

Hozzászólások

Úgy érzem ez kincs lesz majd a jövőben!

ami zavart egy dologgal kapcsolatban, az az, hogy minden folyamatot újra kellett indítani a user-nek ahhoz, hogy a folyamat beléphessen az új tanuló módú domain-be, amelyet létrehozok neki. Ez kicsit macera, mert így mégis kellett beavatkozás a user részéről, én meg teljesen automatikus megoldást akarok.

ma a levlistán megtudtam a fejlesztőtől, hogy PID alapján is létrehozhatok a futo process-nek egy domain-t, amely egyből alkalmazásra kerül, és így gyakorlatilag tomld indításával majd egyből életbe lépnek szabályok, és teljesen automatikus lehet a megoldás. vagy maximum egy rendszer újraindítás kell tomld telepítése után a tomoyo kernel modul aktiválásához.

respect a munkádnak!:)
Nem töltöttem le, csak github-on néztem, de sokat segítene egyébként ha főbb szekciókra szét szednéd azt az egy hatalmas c filet:)

dupla sor a { } miatt van :p

--
NetBSD - Simplicity is prerequisite for reliability


# Makefile
CFLAGS = -O2 -g -ggdb -pipe -Wall -pedantic
LDFLAGS = 
OBJS = tomId.o

all: tomId

clean:
    -rm -f tomId *.o

tomId: $(OBJS)
    gcc $(CFLAGS) -o $@ $(LDFLAGS) $(OBJS)

(bocs, de nincs hangulatom git clone/push/pull request jatekot jatszani most ezert az egy fajlert)

--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal