[#16154] : and :: — Shin-ichiro HARA <sinara@...>
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
[#16178] Marshal::dump calls Proc#yield? (1.6.7) — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
[#16191] getopts() broken — "Akinori MUSHA" <knu@...>
getopts が最新の 1.6/1.7 で動かなくなっているようなので、
[#16211] pstore.rb and sync.rb — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#16214] net/http.rb version_1_2 not work — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
[#16223] importing racc-runtime — "Akinori MUSHA" <knu@...>
rough にある racc runtime モジュールを眺めていたんですが、
[#16231] LoadLibraryEx vs. LoadLibrary — WATANABE Hirofumi <eban@...>
わたなべです。
[#16240] [Oni Guruma] look behind — nobu.nakada@...
なかだです。
nobu.nakada@nifty.ne.jpさんの
In article <20020307054004.BFADD57D@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvog03clxib.fsf@coulee.a02.aist.go.jp>から
[#16277] Dir::glob(pattern, flags = 0) — "Akinori MUSHA" <knu@...>
しばらく放置していた、
[#16283] ライブラリ拡大計画 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
高橋征義です。
まつもと ゆきひろです
In article <1015827556.101112.6552.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
なかだです。
あおきです。
まつもと ゆきひろです
In article <hvowuwjbo4j.fsf@coulee.a02.aist.go.jp>,
わたなべです。
At Mon, 11 Mar 2002 12:17:12 +0900,
まつもと ゆきひろです
At Wed, 27 Mar 2002 18:56:03 +0900,
まつもと ゆきひろです
At Thu, 28 Mar 2002 00:12:49 +0900,
At Thu, 28 Mar 2002 23:45:49 +0900,
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
At Fri, 29 Mar 2002 20:32:17 +0900,
At Sun, 31 Mar 2002 02:20:04 +0900,
At Sun, 31 Mar 2002 02:20:04 +0900,
なかだです。
わたなべです。
At Fri, 8 Mar 2002 18:05:01 +0900,
まつもと ゆきひろです
なかだです。
In article <20020314133401.3918E10F3@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020315050614.C975F10F0@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020315160435.7A84B114C@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200204161515.g3GFFjM17207@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200204170729.g3H7TeM15268@sharui.nakada.kanuma.tochigi.jp>,
[#16290] IO#gets improvement — nobu.nakada@...
なかだです。
In article <20020308131426.8C36123B9@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020309025151.5405C24F2@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
[#16351] map in printf format — nobu.nakada@...
なかだです。
[#16411] block local var — "K.Kosako" <kosako@...>
Version: 1.7 latest
> コンパイル時点で、ブロック変数かどうかの判定が
[#16422] abort with message — nobu.nakada@...
なかだです。
西山和広です。
[#16423] Re: [ruby-list:34301] Re: Enumerable#inject (Re: しぶらぐっ議事録。) — Koji Arai <JCA02266@...>
新井です。
[#16433] class variable & inheritance & singlton method / 1.6.7 — sinara@...
原です。
[#16454] Re: ext/iconv does not work with iconv 2.0 (FreeBSD) (PR#273) — nobu.nakada@...
なかだです。
[#16486] mswin32 configuration — nobu.nakada@...
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
[#16508] Re: [ruby-cvs] ruby: * mkconfig.rb: don't touch rbconfig.rb if there is a trouble. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
In article <20020320203914.55E9.USA@osb.att.ne.jp>,
[#16514] MAKEFLAGS for ext — nobu.nakada@...
なかだです。
[#16518] ruby-zlib cvs operation — "Akinori MUSHA" <knu@...>
At Thu, 21 Mar 2002 16:53:03 +0000,
In article <86d6xxerjd.wl@daemon.musha.org>,
新井です。
うえのです。
[#16522] sprintf("%u") — Koji Arai <JCA02266@...>
新井です。
[#16532] 定数の再定義 — Wakou Aoyama <wakou@...>
青山です。
[#16545] BigFloat — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
At Sat, 23 Mar 2002 22:55:45 +0900,
At Sun, 24 Mar 2002 02:20:26 +0900,
In article <867ko3yyik.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 04:21:59 +0900,
In article <864rj7yljs.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 07:44:15 +0900,
In article <861yeazvtg.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 15:41:18 +0900,
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
At Tue, 2 Apr 2002 16:16:04 +0900,
原です。
小林です。
[#16555] File.fnmatch (Re: [rubyist:1286] Re: ARGV の機能) — Koji Arai <JCA02266@...>
新井です。
In article <20020324.135631.115921076.JCA02266@nifty.ne.jp>,
新井です。
In article <20020324.143726.89024092.JCA02266@nifty.ne.jp>,
新井です。
[#16593] Oniguruma and multibyte character literal — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
まつもと ゆきひろです
なかだです。
[#16609] control uid/gid — nagai@...
永井@知能.九工大です.
[#16633] socket.c/sock_addrinfo() — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#16636] -L for iconv — Tanaka Akira <akr@...17n.org>
FreeBSD で --prefix つきで Ruby を install するときに、ext/iconv を使
[#16652] [OniGuruma] nested repeat operator — "K.Kosako" <kosako@...>
[ruby-talk:36959]で指摘された
なかだです。
なひです。
なかだです。
なひです。
なかだです。
まつもと ゆきひろです
In article <20020329022810.68F9E17@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvohemzoku6.fsf@coulee.a02.aist.go.jp>から
In article <20020329090116.832F4807@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvod6xnohi8.fsf@coulee.a02.aist.go.jp>から
In article <20020402043641.5E1F6783@helium.ruby-lang.org>,
[#16697] assignment nil to $~ — Tanaka Akira <akr@...17n.org>
% ruby -e '$~ = nil'
まつもと ゆきひろです
In article <1017631490.892199.30753.nullmailer@ev.netlab.jp>,
[ruby-dev:16609] control uid/gid
永井@知能.九工大です.
現実逃避で,メソッド名等を考え直してみました.
考えてみると,何も Process モジュールに
メソッドを用意しなければならないわけでもないので,
Process::UserID.<method> などとしてみた案です.
条件判断用のメソッドは追加になっていますが,
メソッド体系としては前と変っていません.
ぜひ意見をお願いします.
============================================================
uid/gid 操作の生のシステムコールの実装 (ポータビリティは期待できない)
Process::ID_Syscall.setuid(id)
Process::ID_Syscall.seteuid(id)
Process::ID_Syscall.setreuid(rid,eid)
Process::ID_Syscall.setgid(id)
Process::ID_Syscall.setegid(id)
Process::ID_Syscall.setregid(rid,eid) など
============================================================
uid/gid 操作のために実装するメソッド
Process::UserID.real_id
Process::UserID.effective_id
Process::UserID.set(id)
Process::UserID.set_effective(id)
Process::UserID.exchange_reid
Process::UserID.exchangeable?
Process::UserID.has_saved_id?
Process::UserID.switch_auth
Process::UserID.switch_auth { ... }
-------------------
Process::GroupID.real_id
Process::GroupID.effective_id
Process::GroupID.set(id)
Process::GroupID.set_effective(id)
Process::GroupID.exchange_reid
Process::GroupID.exchangeable?
Process::GroupID.has_saved_id?
Process::GroupID.switch_auth
Process::GroupID.switch_auth { ... }
============================================================
Process::UserID.real_id [Process::GroupID.real_id]
仕様 : 現在の実ユーザ ID を得る
============================================================
Process::UserID.effective_id [Process::GroupID.effective_id]
仕様 : 現在の実効ユーザ ID を得る
============================================================
Process::UserID.set(id) [Process::GroupID.set(id)]
仕様 : 実/実効/保存ユーザ ID のすべてを変更して,
他のユーザとしての権限を放棄する.
成功時は id を返す.
完全放棄できない場合(一部ユーザ ID の変更ができない場合)は
例外を発生する.
例外の発生時に,このメソッドを呼び出す前の各ユーザ ID の値が
保存されているかどうかは保証されない.
注意 : 以前の Process.uid= とは互換性がないことに注意.
setreuid(id,-1) によって実装されていたものを用いていたケースは,
例えば次のように書き換える必要があるだろう.
Process::UserID.exchange_reid ;# (r,e,s)==(u1,u2,??) ==> (u2,u1,??)
Process::UserID.set_effective(id);# (u2,u1,??) ==> (u2,id,??)
Process::UserID.exchange_reid ;# (u2,id,??) ==> (id,u2,??)
============================================================
Process::UserID.set_effective(id) [Process::GroupID.set_evective(id)]
仕様 : 実効ユーザ ID を変更する.
成功時は id を返す.
保存ユーザ ID の変化は,Process::UserID.exchageable? が
true かどうかで決まる.
定義されない環境では,保存ユーザ ID は変化しない.
定義されている環境では,id が実ユーザ ID と異なる値に設定された場合,
保存ユーザ ID は新しい実効ユーザ ID の値に設定される.
設定できない場合は例外を発生する.
============================================================
Process::UserID.exchange_reid [Process::GroupID.exchange_reid]
仕様 : 実ユーザ ID と実効ユーザ ID とを入れ換える.
保存ユーザ ID は新しい実効ユーザ ID と同じになる.
環境依存により実装されていない場合は例外を発生する.
戻り値としては,新しい実効ユーザ ID を返す.
============================================================
Process::UserID.exchangeable? [Process::GroupID.exchangeable?]
仕様 : 実ユーザ ID と実効ユーザ ID との入れ換えが可能な環境かどうか
(Process::UserID.exchange_reid が実装されているか) を真偽値で返す.
入れ換え可能なら true を返す.
============================================================
Process::UserID.has_saved_id? [Process::GroupID.has_saved_id?]
仕様 : 保存ユーザ ID を持つ環境かどうかを真偽値で返す.
保存ユーザ ID を持つなら true を返す.
ただし,保存ユーザ ID の有無を明確に判定できない環境では,
この値は推定値である (誤りの可能性もある) ことに注意が必要.
現在は,次の条件のいずれかが満足される場合に
保存ユーザ ID を持つものと判定する.
・setresuid を持つ
・seteuid を持つ
・_POSIX_SAVED_IDS が真として定義されている
============================================================
Process::UserID.switch_auth [Process::GroupID.switch_auth]
Process::UserID.switch_auth { ... } [Process::GroupID.switch_auth { ... }]
仕様 : ユーザ権限を(一時的に)変更する.
ブロックが与えられたならば,権限を移行してそのブロックを実行した後,
元の権限に復帰する.
途中で実/実効/保存ユーザ ID を変更しなければ,
ブロックを与えない呼び出しを二度実行することで,
権限の一時的変更と元の権限への復帰とが可能となる.
ブロックが与えられない場合の戻り値は元に戻せる(変更できる) ID 値,
ブロックが与えられた場合の戻り値はブロックの値を返す.
実/実効/保存ユーザ ID が二つのユーザ権限を移行できる状態でなければ
例外を発生する (変更できるのは実ユーザ ID の権限へか,
保存ユーザ ID の権限へかのいずれかである).
ブロックを与えた際に,ブロック内でユーザ ID が変更されたなどの理由で
元の権限に復帰できない場合も例外を発生する.
保存ユーザ ID を持たない環境では,このメソッドの実行によって
実ユーザ ID が変化する (ブロックを与えた場合はブロック実行中のみ).
============================================================
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp