=begin
Example trigger:
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|
@@ -132,7 +132,7 @@
def get_methods(obj, delim=".")
prefix = @prefix + delim
obj.class.public_instance_methods(false).collect { |name|
=end