[#8484] strptime fails to properly parse certain inputs — <noreply@...>

Bugs item #5263, was opened at 2006-08-01 23:14

13 messages 2006/08/02
[#8485] Re: [ ruby-Bugs-5263 ] strptime fails to properly parse certain inputs — Yukihiro Matsumoto <matz@...> 2006/08/02

Hi,

[#8538] Re: [ ruby-Bugs-5263 ] strptime fails to properly parse certain inputs — nobu@... 2006/08/06

Hi,

[#8561] sandbox timers & block scopes — why the lucky stiff <ruby-core@...>

Two puzzles I am trying to solve:

28 messages 2006/08/08
[#8624] Re: sandbox timers & block scopes — why the lucky stiff <ruby-core@...> 2006/08/15

raise ThisDecayingInquisition, "anyone? anyone at all?"

[#8627] Re: sandbox timers & block scopes — MenTaLguY <mental@...> 2006/08/15

On Wed, 2006-08-16 at 00:35 +0900, why the lucky stiff wrote:

[#8628] Re: sandbox timers & block scopes — why the lucky stiff <ruby-core@...> 2006/08/15

On Wed, Aug 16, 2006 at 02:46:30AM +0900, MenTaLguY wrote:

[#8629] Re: sandbox timers & block scopes — "Charles O Nutter" <headius@...> 2006/08/15

On 8/15/06, why the lucky stiff <ruby-core@whytheluckystiff.net> wrote:

[#8690] a ruby-core primer — why the lucky stiff <ruby-core@...>

Hello, all. I've been working on the ruby-core page for the new Ruby site.

21 messages 2006/08/22

Re: sandbox timers & block scopes

From: MenTaLguY <mental@...>
Date: 2006-08-15 21:18:28 UTC
List: ruby-core #8631
On Wed, 2006-08-16 at 03:42 +0900, why the lucky stiff wrote:
> Yeah, that's just it.  I don't want to kill the whole thread
> containing the sandbox.  Just stop the eval.

Well, I was thinking of injecting a timeout exception with
rb_thread_raise() rather than unceremoniously rb_thread_kill()ing anyone
-- Sandbox#eval could catch it once it propagated up.  That should be
uncatchably secure if the exception doesn't derive from a class
accessible in the sandbox, shouldn't it?

Of course... in either the kill or exception case we still have the
problem where a malicious sandbox'd code uses a never-terminating ensure
to say "oh no you won't kill meeeee" and maybe monopolize everything.

So, I don't know.  Maybe a scheduler hack and a new jump tag is the only
way.  I just liked the watchdog idea to start with because it required
the least surgery.

> I'm shooting for:
> 
>   Sandbox.new(:timeout => 10).eval(str)

Hmm, so the timeout is cumulative for the sandbox rather than per-eval?
How do threads spawned by evals work into the accounting?

-mental

Attachments (1)

signature.asc (191 Bytes, application/pgp-signature)

In This Thread