On Wed, Apr 09, 2003 at 04:35:05PM -0700, Alfred Perlstein wrote:
+> >
+> > On Thu, 10 Apr 2003, Pawel Jakub Dawidek wrote:
+> > >
+> > > And there can't be names spoofing. (If, ofcourse '.' is invalid char in
+> > > jail name:)).
+> >
+> > Sounds reasonable to me, although a bit more trouble to parse and render
+> > :-).
+>
+> And what kind of path seperator is '.'?
Another solution:
struct prison {
[...]
char **pr_name;
size_t pr_namesize;
[...]
}
When we creating new jail in other jail we just:
pr->pr_namesize = parent_pr->pr_namesize + 1;
pr = malloc(sizeof(struct prison), M_WAITOK);
pr->pr_name = malloc(sizeof(char *) * pr->pr_namesize);
for (i = 0; i < parent_pr->pr_namesize; ++i)
pr->pr_name[i] = parent_pr->pr_name[i];
pr->pr_name[i] = malloc(strlen(childname) + 1, M_WAITOK);
strcpy(pr->pr_name[i], childname);
Separators aren't needed.
--
Pawel Jakub Dawidek pawel@dawidek.net
UNIX Systems Programmer/Administrator http://garage.freebsd.pl
Am I Evil? Yes, I Am! http://cerber.sourceforge.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)
iQCVAwUBPpS0Sz/PhmMH/Mf1AQH7RAP/XoRzzNsM6IPGk7Yeijivuz66OmZ1vxAN
EBzf2yAatrgS6SifQqX5ZBBHhrV2y1/E6rwgGFsj0T9M2GGVQjZArdd+xUaABuwy
WW80lr+RJXaH1VBbe0D4fWJdX+EFarDx/foqEveleq7Zpxe46nVO3lNoOK1ejjp8
6rO2Cw78z8s=
=IRs2
-----END PGP SIGNATURE-----