[pso] tema1

Ioana Cutcutache pso@cursuri.cs.pub.ro
Fri, 19 Mar 2004 22:27:42 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_002C_01C40E01.651BE6A0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

In primul rand vreau atrag atentia ca exista niste buguri in fisierul de =
test pt. linux si anume :
- in functia find_log este ceva de genul :
   sprintf(dummy, "dmesg | grep '^%lx(%lx,%lx,%lx,%lx,%lx,%lx)=3D%lx' &> =
/dev/null"....)
iar in log_syscall  logarea se face astfel :
   printk(KERN_DEBUG"[%x]%lx(%lx,%lx,%lx,%lx,%lx,%lx)=3D%lx\n"
Deci este clar ca testul facut in do_monitor (care apeleaza find_log) o =
sa fie mereu failed, ca linia incepe cu [pid]... ar trebui scos ^ de la =
stringul dat lui grep.

- in main apare :
  if (argc>1 && strcmp(argv[1], "release") =3D=3D 0)
     return do_stop(atoi(argv[2]), atoi(argv[3]), atoi(argv[4]));
dar ar trebui sa fie return do_release(atoi(argv[2]), atoi(argv[3]));

Am niste intrebari despre anumite situatii neprecizate in enunt. Aceste =
situatii  nu sunt testate prin test si as vrea sa stiu daca trebuie sa =
le luam in considerare, si daca da, cum se trateaza corect :
1. nu este eroare daca se face start/stop monitor pe un apel de sistem =
neinterceptat? si daca da, ce eroare trebuie data
2. daca root face stop monitor pentru toate pid-urile inseamna ca se =
opresc toate monitorizarile pt. acel apel de sistem, inclusiv cele =
pornite de alti useri sau de root printr-o comanda diferita de start =
monitor pt toate ?=20

Multumesc.

------=_NextPart_000_002C_01C40E01.651BE6A0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>
<DIV><FONT face=3DArial size=3D2>In primul rand vreau atrag atentia ca =
exista niste=20
buguri in fisierul de test pt. linux si anume :<BR>- in functia find_log =
este=20
ceva de genul :<BR>&nbsp;&nbsp; sprintf(dummy, "dmesg | grep=20
'^%lx(%lx,%lx,%lx,%lx,%lx,%lx)=3D%lx' &amp;&gt; /dev/null"....)<BR>iar =
in=20
log_syscall&nbsp; logarea se face astfel :<BR>&nbsp;&nbsp;=20
printk(KERN_DEBUG"[%x]%lx(%lx,%lx,%lx,%lx,%lx,%lx)=3D%lx\n"<BR>Deci este =
clar ca=20
testul facut in do_monitor (care apeleaza find_log) o sa fie mereu =
failed, ca=20
linia incepe cu [pid]... ar trebui scos ^ de la stringul dat lui =
grep.<BR><BR>-=20
in main apare :<BR>&nbsp; if (argc&gt;1 &amp;&amp; strcmp(argv[1], =
"release") =3D=3D=20
0)<BR>&nbsp;&nbsp;&nbsp;&nbsp; return do_stop(atoi(argv[2]), =
atoi(argv[3]),=20
atoi(argv[4]));<BR>dar ar trebui sa fie return do_release(atoi(argv[2]), =

atoi(argv[3]));</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Am niste intrebari despre anumite =
situatii=20
neprecizate in enunt.&nbsp;Aceste situatii&nbsp; nu sunt testate prin=20
test&nbsp;si as vrea sa stiu daca trebuie sa le luam in considerare, si =
daca da,=20
cum se trateaza corect :</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>1. nu este eroare daca se face =
start/stop monitor=20
pe un apel de sistem neinterceptat? si daca da, ce eroare trebuie=20
data</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>2. daca root face stop monitor pentru =
toate=20
pid-urile inseamna ca se opresc toate monitorizarile pt. acel apel de =
sistem,=20
inclusiv cele pornite de alti useri sau de root printr-o comanda =
diferita de=20
start monitor pt toate&nbsp;? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial =
size=3D2>Multumesc.</FONT></DIV></FONT></DIV></BODY></HTML>

------=_NextPart_000_002C_01C40E01.651BE6A0--