[ruby-list:50683] Re: DRb friend

From: emo@...
Date: 2018-07-09 23:48:45 UTC
List: ruby-list #50683
説明が不十分の中、わざわざテストしていただいて
ありがとうございます。

Ruby 1.9 以降、セキュリティが強化されている
ようですね。
動いているシステムを更新するのは、中々
難しいものがあり、新しいバージョンでの
チェックを怠っていました。

江本

On 2018/07/09 20:55, Masatoshi SEKI wrote:
> 
> 咳といいます。
> 
> とても長い間dRubyを使ってくれてありがとうございます。
> 
> たしか、friendは一つのプロセスで複数のDRbServerを持つケースで、
> 同じプロセス内でそれぞれのURIのオブジェクトのメソッドを呼び合う場合への対応です。
> 通常の使用では素通しです。
> 
> 質問のソースコードが少なかったのでirbで実験してみました。
> 
> [teminal1]
>   % irb -r drb
> irb(main):001:0> DRb.start_service('druby://localhost:54321', ENV, :safe_level => 1)
> => ...
> 
> [teminal2]
>   % irb -r drb
> irb(main):001:0> ro = DRbObject.new_with_uri('druby://localhost:54321')
> => #<DRb::DRbObject:0x00007faf29093258 @uri="druby://localhost:54321", @ref=nil>
> irb(main):002:0> ro.size
> => 25
> irb(main):003:0> ro['PATH']
> Traceback (most recent call last):
>         11: from /usr/local/bin/irb:11:in `<main>'
>         10: from (irb):3
>          9: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:1143:in `method_missing'
>          8: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:1163:in `with_friend'
>          7: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:1144:in `block in method_missing'
>          6: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:1232:in `open'
>          5: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:1145:in `block (2 levels) in method_missing'
>          4: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:1257:in `send_message'
>          3: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:944:in `recv_reply'
>          2: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:640:in `recv_reply'
>          1: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:578:in `load'
> DRb::DRbConnError (connection closed)
> 
> [terminal1]
> #<Thread:0x00007fa73f848b20@/usr/local/lib/ruby/2.6.0/drb/drb.rb:1587 run> terminated with exception (report_on_exception is true):
> Traceback (most recent call last):
> 	2: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:1591:in `block in perform'
> 	1: from /usr/local/lib/ruby/2.6.0/drb/drb.rb:1640:in `perform_without_block'
> /usr/local/lib/ruby/2.6.0/drb/drb.rb:1640:in `[]': Insecure operation - [] (SecurityError)
> 
> 
> おそらく質問のプログラムもサーバー側でSecurityErrorが出ているのではないかと想像します。
> 経験上、safe_level = 0で運用するのをお勧めします。
> 
> 
> 
> 


-- 
509-5292岐阜県土岐市下石 322-6
自然科学研究機構  核融合科学研究所 高温プラズマ物理研究系        江本雅彦
====+====|====+====|====+====|====+====|====+====|====+====|====+====|===
National Institute for Fusion Science
Diagnostics Division, Department of Large Helical Device Project
                                                      ** EMOTO Masahiko **
                       Address : 322-6, Oroshi, Toki, Gifu, 509-5292 Japan
                                         E-mail :emoto.masahiko@nifs.ac.jp
                           PHONE  +81-572-58-2242   FAX    +81-572-58-2624



Attachments (1)

smime.p7s (3.91 KB, application/pkcs7-signature)

In This Thread