From: HD Moore Date: 2010-04-28T03:54:09+09:00 Subject: [ruby-core:29824] [Bug #3208] xmlrpc is incompatible with development head Issue #3208 has been updated by HD Moore. Example trigger: # svn co https://metasploit.com/svn/framework3/trunk msf3/ # cd msf3/ # ruby msfrpcd -P test [*] XMLRPC starting on 0.0.0.0:55553 (SSL):Basic... [*] XMLRPC initializing... [*] XMLRPC backgrounding... /home/projects/metasploit/framework3/trunk/data/msfweb/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb:25:in `+': can't convert Symbol into String (TypeError) from /home/projects/metasploit/framework3/trunk/data/msfweb/vendor/rails/activesupport/lib/active_support/core_ext/string/output_safety.rb:25:in `add_with_safety' from /home/hdm/.rvm/ruby-1.9.1-head/lib/ruby/1.9.1/xmlrpc/utils.rb:135:in `block in get_methods' from /home/hdm/.rvm/ruby-1.9.1-head/lib/ruby/1.9.1/xmlrpc/utils.rb:134:in `collect' from /home/hdm/.rvm/ruby-1.9.1-head/lib/ruby/1.9.1/xmlrpc/utils.rb:134:in `get_methods' from /home/hdm/.rvm/ruby-1.9.1-head/lib/ruby/1.9.1/xmlrpc/server.rb:195:in `add_handler' from /home/projects/metasploit/framework3/trunk/plugins/xmlrpc.rb:100:in `run' from msfrpcd:94:in `
' This is a fairly typical XMLRPC implementation, the source can be seen at: https://metasploit.com/svn/framework3/trunk/lib/msf/core/rpc/service.rb The patch: --- /home/hdm/.rvm/ruby-1.9.1-head/lib/ruby/1.9.1/xmlrpc/utils.rb 2010-04-27 11:45:29.709063880 -0700 +++ /home/hdm/.rvm/ruby-1.9.1-head/lib/ruby/1.9.1/xmlrpc/utils.rb.new 2010-04-27 11:45:05.818745153 -0700 @@ -112,7 +112,7 @@ def get_methods(obj, delim=".") prefix = @prefix + delim @methods.collect { |name, meth, sig, help| - [prefix + name, obj.method(meth).to_proc, sig, help] + [prefix + name.to_s, obj.method(meth).to_proc, sig, help] } end @@ -132,7 +132,7 @@ def get_methods(obj, delim=".") prefix = @prefix + delim obj.class.public_instance_methods(false).collect { |name| - [prefix + name, obj.method(name).to_proc, nil, nil] + [prefix + name.to_s, obj.method(name).to_proc, nil, nil] } end end ---------------------------------------- http://redmine.ruby-lang.org/issues/show/3208 ---------------------------------------- http://redmine.ruby-lang.org