[#17055] Set#map! vs. map — "David A. Black" <dblack@...>
Hi --
Hi,
At Tue, 3 Jun 2008 10:13:07 +0900,
At Tue, 3 Jun 2008 13:39:10 +0900,
Hi --
At Tue, 3 Jun 2008 18:03:23 +0900,
[#17067] Eval'ing 'yield' in 1.8 and 1.9 — "Vladimir Sizikov" <vsizikov@...>
Hi,
Hi,
[#17069] Ruby on zLinux — "Eric K. Dickinson" <eric.dickinson@...>
I posted this on the Ruby-Talk list with no success.
[#17084] Enumerable::Enumerator#with_memo — "Akinori MUSHA" <knu@...>
Hi,
Akinori MUSHA wrote:
Akinori MUSHA wrote:
On Mon, Jun 9, 2008 at 12:11 PM, David Flanagan <david@davidflanagan.com> wrote:
On Mon, Jun 9, 2008 at 10:57 PM, Jeremy Kemper <jeremy@bitsweat.net> wrote:
Martin DeMello wrote:
On Tue, Jun 10, 2008 at 10:04 AM, David Flanagan
David Flanagan wrote:
[#17092] Iconv#iconv(str, start, length) doesn't really convert str[start, length] — Vincent <vincentlu@...>
Hi Core,
Hi Core,
Hi,
[#17106] r16747: This commit and comment are real? — "Luis Lavena" <luislavena@...>
Checking a feed of the changes in ruby repository found this:
On Wed, Jun 4, 2008 at 7:21 PM, Luis Lavena <luislavena@gmail.com> wrote:
[#17116] Standardizing RUBY_PLATFORM — Brian Ford <brixen@...>
Hi all,
On Jun 4, 8:52=A0pm, Brian Ford <bri...@gmail.com> wrote:
[#17126] remove ObjectSpace.each_object from test/unit — Tanaka Akira <akr@...>
I wrote a patch to remove ObjectSpace.each_object from test/unit.
[#17155] lambda { break } — ts <decoux@...>
Hi,
[#17161] Ruby 1.8.7-p17 has been released — "Akinori MUSHA" <knu@...>
Folks,
[#17162] Release Plan: Ruby 1.9.0-2 — SASADA Koichi <ko1@...>
Hi,
Hi,
Hi,
Hi,
Kouhei Sutou <kou@cozmixng.org> writes:
I have to agree, on the documentation side.
SASADA Koichi wrote:
[#17167] Mail count in Subject — "Dirk Traulsen" <dirk.traulsen@...>
Hi!
All,
Warren Brown wrote:
At 11:54 08/06/10, Urabe Shyouhei wrote:
On Tue, Jun 10, 2008 at 4:54 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Luis Lavena wrote:
[#17186] REXML Separation — Federico Builes <federico.builes@...>
Hello,
[#17261] [Ruby 1.9 - Bug #161] (Open) Profile library seems broken in 1.9 15427cat t.rv — Dave Thomas <redmine@...>
Issue #161 has been reported by Dave Thomas.
[#17272] [Ruby 1.9 - Bug #167] (Open) net/telnet login() method no longer works under 1.9 — Dave Thomas <redmine@...>
Issue #167 has been reported by Dave Thomas.
On Jun 15, 2008, at 11:25 PM, Dave Thomas wrote:
Yes, indeed it does...
[#17283] Major change in 1.8.6: convert_type now uses private conversion methods too — "Vladimir Sizikov" <vsizikov@...>
Hi,
Vladimir Sizikov wrote:
Hi,
[#17291] miniruby dependencies broken in 1.9 — Ryan Davis <ryand-ruby@...>
I've been having builds break with -j 4. This should add $(PREP) to
Hi,
[#17293] [Ruby 1.8 - Bug #175] (Open) Rational#power2 raises a NameError or causes infinite loops when passed a Rational — Arthur Schreiber <redmine@...>
Issue #175 has been reported by Arthur Schreiber.
[#17310] [Ruby 1.9 - Bug #178] (Open) File.open on sprintf-formatted string fails with encoding conversion error on OS X — Eric Hodel <redmine@...>
Issue #178 has been reported by Eric Hodel.
Issue #178 has been updated by Yui NARUSE.
[#17327] A plea for a release process — Brian Ford <brixen@...>
Hi all,
Hello,
On Jun 18, 1:12=A0pm, "U.Nakamura" <u...@garbagecollect.jp> wrote:
[#17345] Understanding the output of Kernel#caller — "Wilson Bilkovich" <wilsonb@...>
I am trying to understand what Ruby 1.8 outputs when "caller" is invoked.
[#17353] patches for tests of rubygems — "Yusuke ENDOH" <mame@...>
Hi,
Hi,
On Jun 24, 2008, at 05:55 AM, Yusuke ENDOH wrote:
On Jun 25, 2008, at 11:21 AM, Eric Hodel wrote:
[#17356] A faster Array#delete — Daniel Berger <djberg96@...>
Hi all,
[#17377] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — "Bill Kelly" <billk@...>
Hi,
[#17392] XMLRPC socket patch — Dario Meloni <mellon85@...>
Hi,
[#17393] URGENT: Possible fixes for segfaults and vulnerabilities available for review in ruby-talk — "Igal Koshevoy" <igal@...>
All currently available versions of MRI Ruby are either vulnerable to
Sorry for a late reply but I think I've fixed this issue. Can someone
Urabe Shyouhei wrote:
Igal Koshevoy wrote:
Urabe Shyouhei wrote:
Igal Koshevoy wrote:
Urabe Shyouhei wrote:
Hello, I think current 1.8.6/1.8.7 is stable than p230/p22, so I decided
On Wed, Jul 2, 2008 at 12:41 PM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Hello,
Hi Urabe,
Vladimir Sizikov wrote:
Charles Oliver Nutter wrote:
Urabe Shyouhei wrote:
Igal Koshevoy wrote:
Charles Oliver Nutter wrote:
On 7/3/08, Igal Koshevoy <igal@pragmaticraft.com> wrote:
Wilson Bilkovich wrote:
Charles Oliver Nutter wrote:
On 02/07/2008, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
In article <a5d587fb0807160533r4534fabdg257b4a9523b15f1e@mail.gmail.com>,
On Sat, Jul 19, 2008 at 02:18:05PM +0900, Federico Builes wrote:
On Sun, Jul 20, 2008 at 12:43:46AM +0900, Federico Builes wrote:
When will we see a new 1.8.6 release?
Hi,
Hi,
On Fri, Jul 25, 2008 at 02:04:15AM +0900, Vladimir Sizikov wrote:
On Fri, Jul 25, 2008 at 04:35:43AM +0900, Jeremy Henty wrote:
Jeremy,
Hi,
On Thu, Jul 24, 2008 at 9:19 PM, Nobuyoshi Nakada <nobu@ruby-lang.org>
Hi,
Hi,
When can we expect a release?
Hi Vladimir, hi Urabe,
Thank you, I merged this revision into 1.8.7.
Hi,
In article <48662E99.7030508@pragmaticraft.com>,
Federico Builes wrote:
Igal Koshevoy wrote:
M. Edward (Ed) Borasky wrote:
Igal Koshevoy wrote:
Igal Koshevoy wrote:
Tanaka Akira wrote:
In article <48678E3D.8020602@pragmaticraft.com>,
Tanaka Akira wrote:
In article <4867A6AC.4060902@pragmaticraft.com>,
[#17412] Time for a release management committee? — Charles Oliver Nutter <charles.nutter@...>
It seems like recent problems with patchlevel and minor 1.8 releases
[#17427] 1.8 release management — Yukihiro Matsumoto <matz@...>
Hi,
On Sun, Jun 29, 2008 at 06:06:14PM +0900, Yukihiro Matsumoto wrote:
Hi,
Let me describe some simple questions about Ruby 1.8.6 that are not
For what I know,
On 6/30/08, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Wilson Bilkovich wrote:
On Thu, Jul 3, 2008 at 4:41 PM, Igal Koshevoy <igal@pragmaticraft.com> wrote:
Luis Lavena wrote:
Urabe Shyouhei wrote:
Igal Koshevoy wrote:
Urabe Shyouhei wrote:
Hi,
Vladimir Sizikov wrote:
On Fri, Jul 4, 2008 at 10:49 PM, Igal Koshevoy <igal@pragmaticraft.com> wrote:
[ruby-core:17392] XMLRPC socket patch
Hi, I have made a patch to the XMLRPC implementation used in Ruby to allow more flexibility in it's usage. I have developed this to let the developer choose which transport system to use. The http implementation is normally used, but for some needs i had to use local domain sockets. To obtain this i have added support for socket factories. There is a new initialization method to set the socket factory (and new3 has been adapted) and the initialize method has 10 arguments now. The main difference is in the do_rpc method that will issue e new socket from the factory and write the request to it and will read the answer. The limitation is that since there is no protocol the socket must be closed to end the communication. ------------------ Dario Meloni
Attachments (1)
diff --git a/client.rb b/client.rb
index 398b21b..58050ce 100644
--- a/client.rb
+++ b/client.rb
@@ -282,6 +282,13 @@ require "net/http"
module XMLRPC
+ # sockets returned from issue, must be closed after received each answer
+ class SocketFactory
+ def issue() # returns a new socket to be used with the library
+ raise "This class must be subclassed"
+ end
+ end
+
class Client
USER_AGENT = "XMLRPC::Client (Ruby #{RUBY_VERSION})"
@@ -293,12 +300,18 @@ module XMLRPC
# Constructors -------------------------------------------------------------------
def initialize(host=nil, path=nil, port=nil, proxy_host=nil, proxy_port=nil,
- user=nil, password=nil, use_ssl=nil, timeout=nil)
+ user=nil, password=nil, use_ssl=nil, timeout=nil, socket=nil)
@http_header_extra = nil
@http_last_response = nil
@cookie = nil
-
+ @socket = socket
+
+ if @socket != nil then
+ if ! @socket.is_a? XMLRPC::SocketFactory then
+ raise "The socket parameter was not a XMLRPC::SocketFactory subclass"
+ end
+ end
@host = host || "localhost"
@path = path || "/RPC2"
@proxy_host = proxy_host
@@ -324,8 +337,10 @@ module XMLRPC
@proxy_port = @proxy_port.to_i if @proxy_port != nil
# HTTP object for synchronous calls
+ if @socket == nil then
Net::HTTP.version_1_2
@http = Net::HTTP.new(@host, @port, @proxy_host, @proxy_port)
+ end
@http.use_ssl = @use_ssl if @use_ssl
@http.read_timeout = @timeout
@http.open_timeout = @timeout
@@ -366,11 +381,17 @@ module XMLRPC
hash.each { |k,v| h[k.to_s.downcase] = v }
self.new(h['host'], h['path'], h['port'], h['proxy_host'], h['proxy_port'], h['user'], h['password'],
- h['use_ssl'], h['timeout'])
+ h['use_ssl'], h['timeout'], h['socket'])
end
alias new_from_hash new3
+ def new4( socket )
+ self.new(nil,nil,nil,nil,nil,nil,nil,nil,nil,socket)
+ end
+
+ alias new_with_socket new4
+
end
@@ -498,6 +519,19 @@ module XMLRPC
end
def do_rpc(request, async=false)
+ data = nil
+ if @socket != nil then # using user socket
+ # must do the same things, send the same things (header and post http structure)
+ # but to the socket! not to a http/https server
+ sock = @socket.issue()
+ if sock.write(request) != request.length then
+ raise "Not all the data has been sent"
+ end
+ # read the whole data until the socket is closed (not sure this works for now)
+ data = sock.read()
+ # after any answer the socket is closed
+ return data # return data to the parser
+ else
header = {
"User-Agent" => USER_AGENT,
"Content-Type" => "text/xml; charset=utf-8",
@@ -564,8 +598,8 @@ module XMLRPC
c = resp["Set-Cookie"]
@cookie = c if c
-
return data
+ end
end
def gen_multicall(methods=[], async=false)