Re: Experiences with compiling Debian
> > - yes fstat and fchown will be somewhat of a problem, but I'll just
> > have to overlod open() etc too, and keep a list of inodes/filenames.
>
> Hmm... to be more exactly: You have to wrap open(), create(), and
> close(), and have to keep a table of fd -> name mappings for fchown()
> and fchmod().
I think inode->name mappings will be better than fd-> name mappings:
- we have a chance of solving the pathalogical case below
- fd->name mappings are no good, have to be (pid,fd)-> name mappings,
complicates matters:
int f=open(file1);
fchown(f,0,0);
if (fork()){
close(f);
int f=open(file2); /*f is same fd number as in parent, but
different file */
int g=open(file2); /*g is different fd number as in parent,
but refers to same "file1" !*/
fchown(g,1,1);
exit(0);
}
wait(0);
Just keeping inode->name mappings must be easier!
> > - I probably will go wrong for pathalogical cases like
> >
> > ln file1 file2
> > chown mail:sys file2
> > rm file2
> > ls -al file2
> >
> > I doubt whether these are important, and even if they are, I
> > guess it will be possible to get it right.
--
joost witteveen, joostje@debian.org
#!/usr/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
#what's this? see http://www.dcs.ex.ac.uk/~aba/rsa/
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org .
Trouble? e-mail to templin@bucknell.edu .
Reply to: