[WOT] Opcode/ Safe

2002-03-04 Thread Martin Haase-Thomas

Hi all,

maybe this is really far WOT, but one shouldn't give up hope, as we all 
know...
Does anyone have experience with Opcode and Safe? The thing is that I 
have to create my own secure namespace
for some reasons - and don't know how to do.

What does not work is the following:

#!/usr/bin/perl -w
use Safe;
my $page = new Safe (huhu);
$page-deny qw(:base_io :base_orig :base_thread :filesys_read :sys_db
 :filesys_open :filesys_write :subprocess :ownprocess
 :still_to_be_decided :dangerous);
$page-permit qw(print ref entereval);
$page-deny qw(rand srand);
$page-reval (sysopen '/bla/blub.html' || kill 15, 1906);

Anyone with an idea? btw: funny things will happen if you type 1 instead 
of 1906 ... :)

regards
Martin

-- 
   http://www.meome.de
---
Martin Haase-Thomas |   Tel.: 030 43730-558
meOme AG|   Fax.: 030 43730-555
Software Development|   [EMAIL PROTECTED]
---





Re: [WOT] Opcode/ Safe

2002-03-04 Thread Martin Haase-Thomas

Ok, forget my post, her's the answer:
#!/usr/bin/perl -w
use Safe;
my $page = new Safe (huhu);
my $opset = Opcode::opset qw(:base_io :base_orig :base_thread 
:filesys_read :sys_db
 :filesys_open :filesys_write :subprocess :ownprocess
 :still_to_be_decided :dangerous);
$page-deny(Opcode::opset_to_ops($opset));
$page-permit qw(print ref );
$page-deny (qw(rand srand));

$page-reval (eval \ print 'huhu' \);
print $@.\n;


Martin Haase-Thomas wrote:

 Hi all,

 maybe this is really far WOT, but one shouldn't give up hope, as we 
 all know...
 Does anyone have experience with Opcode and Safe? The thing is that I 
 have to create my own secure namespace
 for some reasons - and don't know how to do.

 What does not work is the following:

 #!/usr/bin/perl -w
 use Safe;
 my $page = new Safe (huhu);
 $page-deny qw(:base_io :base_orig :base_thread :filesys_read :sys_db
 :filesys_open :filesys_write :subprocess :ownprocess
 :still_to_be_decided :dangerous);
 $page-permit qw(print ref entereval);
 $page-deny qw(rand srand);
 $page-reval (sysopen '/bla/blub.html' || kill 15, 1906);

 Anyone with an idea? btw: funny things will happen if you type 1 
 instead of 1906 ... :)

 regards
 Martin


-- 
   http://www.meome.de
---
Martin Haase-Thomas |   Tel.: 030 43730-558
meOme AG|   Fax.: 030 43730-555
Software Development|   [EMAIL PROTECTED]
---