[#2617] irb for 1.5.x — Andrew Hunt <Andy@...>
5 messages
2000/05/03
[#2639] OT: Japanese names — Dave Thomas <Dave@...>
4 messages
2000/05/09
[#2643] Ruby Toplevel — Dave Thomas <Dave@...>
7 messages
2000/05/09
[#2656] Re: Append alias for Array.append? — Aleksi Niemel<aleksi.niemela@...>
Hideto ISHIBASHI:
5 messages
2000/05/09
[#2660] win OLE / eRuby — Andrew Hunt <Andy@...>
8 messages
2000/05/09
[#2663] Re: win OLE / eRuby — Aleksi Niemel<aleksi.niemela@...>
>At Tue, 9 May 2000 09:14:51 -0400,
4 messages
2000/05/09
[#2667] The reference manual is now online — Dave Thomas <Dave@...>
6 messages
2000/05/09
[#2668] Re: The reference manual is now online — schneik@...
4 messages
2000/05/09
[#2702] Re: Append alias for Array.append? — Andrew Hunt <andy@...>
>From: Aleksi Niemel<aleksi.niemela@cinnober.com>
7 messages
2000/05/10
[#2752] RE: Array.pop and documentation [was: Append al ias for Array.append?] — Aleksi Niemel<aleksi.niemela@...>
6 messages
2000/05/11
[#2758] Re: irb install — Andrew Hunt <andy@...>
>|Excellent! Will you consider adding mod_ruby to install_app as
7 messages
2000/05/11
[#2777] Re: irb install
— "NAKAMURA, Hiroshi" <nakahiro@...>
2000/05/12
Hi,
[#2764] More code browsing questions — Albert Wagner <alwagner@...>
I see some class definitions contain "include" and "extend" statements.
6 messages
2000/05/12
[#2843] Re: editors for ruby — "Conrad Schneiker" <schneiker@...>
(Posted on comp.lang.ruby and ruby-talk ML.)
6 messages
2000/05/17
[#2874] RE: simple httpd for local use — Aleksi Niemel<aleksi.niemela@...>
> I personally use it for access to full-text indexed linux
6 messages
2000/05/18
[#2875] Re: simple httpd for local use
— hipster <hipster@...4all.nl>
2000/05/18
On Thu, 18 May 2000 09:10:28 +0200, Aleksi Niemelwrote:
[#2920] SWIG: virtual variable? — Yasushi Shoji <yashi@...>
hello,
4 messages
2000/05/22
[#2928] FYI: What our Python friends are up to. — "Conrad Schneiker" <schneiker@...>
Hi,
8 messages
2000/05/22
[#2964] Thank you — h.fulton@...
Thanks, Matz (and others) for your replies to
4 messages
2000/05/24
[#2973] Re: Socket.getnameinfo — ts <decoux@...>
>>>>> "D" == Dave Thomas <Dave@thomases.com> writes:
10 messages
2000/05/25
[#3016] rbconfig.rb — Dave Thomas <Dave@...>
5 messages
2000/05/28
[#3039] Re: Final for World Series: Python vs Ruby — "Dat Nguyen" <thucdat@...>
1 message
2000/05/30
[#3058] FailureClass? — Aleksi Niemel<aleksi.niemela@...>
Question arising from the FAQ:
7 messages
2000/05/31
[ruby-talk:02685] Re: Tainting
From:
ts <decoux@...>
Date:
2000-05-10 05:50:58 UTC
List:
ruby-talk #2685
>>>>> "D" == Dave Thomas <Dave@thomases.com> writes:
D> I'm trying to document all the various taint checks in the
D> interpreter. So far I have:
D> $SAFE >= 1
D> * The environment variables RUBYOPT and RUBYLIB are not
D> processed.
D> * The command line options -e, -i, -I, -r, -s, -S, and -x are
D> not allowed.
D> * The current directory is not added to the path.
Only if $SAFE >= 1 when ruby_init() is called, this mean I think :
* only for setuid, setgid script (see init_ids)
* embedded applications.
This is a difference with perl (I think), i.e. :
'#!/usr/bin/perl -T' don't have the same effect than
'#!/usr/bin/ruby -T'
With $SAFE >= 1, ruby use also Check_SafeStr(), this mean that some
operations are not allowed when the string is tainted
D> * Processes cannot be exec'd from \CF{\$PATH} if any directory
D> in it is world-writable.
D> $SAFE >= 2
D> * Can't load file in world-writable directory.
D> * Can't load a file from a tainted filename starting with ~.
dir.c
* chdir, chroot, mkdir, rmdir
file.c
* fstat, lstat, chmod, chown, umask, truncate, flock
io.c
* ioctl, syscall
process.c
* fork
signal.c
* kill, trap
D> $SAFE >= 3
D> * All objects are created tainted.
can't untaint an object
D> $SAFE >= 4
eval.c
* exit, abort
* load, require on object files (.so) it's possible to load a .rb (???)
gc.c
* id2ref
D> * Can't close or reopen non-tainted files.
io.c
* write, close, syswrite, reopen, putc
process.c
* exit_bang
D> Am I missing anything obvious, and does this list make sense?
There are many "Can't" :-) but some operations are possible when an object
is tainted (this is also very different from perl). See :
if (rb_safe_level() >= 4 && !OBJ_TAINTED(obj))
Guy Decoux
p.s.: this is mostly for 1.4.* perhaps there are some change in 1.5, I don't
know.