[#7978] Patch for Unix socket peer credentials — "James F. Hranicky" <jfh@...>

This patch adds support for getting the uid and gid of the peer

27 messages 2006/06/09
[#8004] Re: Patch for Unix socket peer credentials — Tanaka Akira <akr@...17n.org> 2006/06/16

In article <200606091528.30171.jfh@cise.ufl.edu>,

[#8005] Re: Patch for Unix socket peer credentials — "James F. Hranicky" <jfh@...> 2006/06/16

On Friday 16 June 2006 11:51, Tanaka Akira wrote:

[#8010] Re: Patch for Unix socket peer credentials — Tanaka Akira <akr@...17n.org> 2006/06/17

In article <200606161327.35948.jfh@cise.ufl.edu>,

[#8191] Re: Patch for Unix socket peer credentials — "James F. Hranicky" <jfh@...> 2006/07/10

On Saturday 17 June 2006 06:27, Tanaka Akira wrote:

[#8193] Re: Patch for Unix socket peer credentials — Tanaka Akira <akr@...> 2006/07/11

In article <200607101352.16804.jfh@cise.ufl.edu>,

[#8212] Re: Patch for Unix socket peer credentials — "James F. Hranicky" <jfh@...> 2006/07/13

On Tuesday 11 July 2006 00:10, Tanaka Akira wrote:

[#8217] Re: Patch for Unix socket peer credentials — nobu@... 2006/07/14

Hi,

[#8257] Re: Patch for Unix socket peer credentials — "James F. Hranicky" <jfh@...> 2006/07/18

On Thursday 13 July 2006 22:48, nobu@ruby-lang.org wrote:

[#8258] Re: Patch for Unix socket peer credentials — Eric Hodel <drbrain@...7.net> 2006/07/18

On Jul 18, 2006, at 12:27 PM, James F. Hranicky wrote:

[#8073] 1.8.5p1 build failure on Solaris 10 — "Daniel Berger" <Daniel.Berger@...>

Solaris 10

23 messages 2006/06/27
[#8074] Re: 1.8.5p1 build failure on Solaris 10 — Yukihiro Matsumoto <matz@...> 2006/06/28

Hi,

[#8078] Re: 1.8.5p1 build failure on Solaris 10 — "Daniel Berger" <Daniel.Berger@...> 2006/06/28

Yukihiro Matsumoto wrote:

[#8079] Re: 1.8.5p1 build failure on Solaris 10 — ts <decoux@...> 2006/06/28

>>>>> "D" == Daniel Berger <Daniel.Berger@qwest.com> writes:

[#8096] Re: 1.8.5p1 build failure on Solaris 10 — ville.mattila@... 2006/06/29

ts <decoux@moulon.inra.fr> wrote on 28.06.2006 17:37:00:

[PATCH] SSL client certificate support for OpenURI

From: "Marshall T. Vandegrift" <mvandegrift@...>
Date: 2006-06-14 15:36:12 UTC
List: ruby-core #7992

Hello:

The attached patch modifies 'open-uri.rb' to allow users to specify
SSL client certificates and keys for HTTPS sessions.

-- 
Marshall T. Vandegrift <mvandegrift@iss.net>
ISS.Researcher | 404.236.3986w 518.859.4559m

Attachments (1)

open-uri-ssl_cert-patch.diff (1.91 KB, text/x-patch)
--- ruby-trunk/lib/open-uri.rb	2006-06-13 13:46:48.000000000 -0400
+++ ruby-modified/lib/open-uri.rb	2006-06-13 13:51:09.000000000 -0400
@@ -101,6 +101,8 @@
     :read_timeout => true,
     :ssl_ca_cert => nil,
     :ssl_verify_mode => nil,
+    :ssl_cert => nil,
+    :ssl_key => nil
   }
 
   def OpenURI.check_options(options) # :nodoc:
@@ -282,6 +284,24 @@
       else
         store.set_default_paths
       end
+      if options[:ssl_cert]
+        if options[:ssl_cert].is_a? OpenSSL::X509::Certificate
+          http.cert = options[:ssl_cert]
+        else
+          http.cert = OpenSSL::X509::Certificate.new(File.read(options[:ssl_cert]))
+        end
+      end
+      if options[:ssl_key]
+        if options[:ssl_key].is_a? OpenSSL::PKey::PKey
+          http.key = options[:ssl_key]
+        else
+          begin
+            http.key = OpenSSL::PKey::DSA.new(File.read(options[:ssl_key]))
+          rescue OpenSSL::PKey::DSAError
+            http.key = OpenSSL::PKey::RSA.new(File.read(options[:ssl_key]))
+          end
+        end
+      end
       store.set_default_paths
       http.cert_store = store
     end
@@ -607,6 +627,23 @@
     #
     #  :ssl_verify_mode is used to specify openssl verify mode.
     #
+    # [:ssl_cert]
+    #  Synopsis:
+    #    :ssl_cert=>filename
+    #    :ssl_cert=>x509cert
+    #
+    #  :ssl_cert is used to specify a client certificate for SSL.  It
+    #  may be either a filename or an OpenSSL::X509::Certificate
+    #  object.
+    #
+    # [:ssl_key]
+    #  Synopsis:
+    #    :ssl_key=>filename
+    #    :ssl_key=>pkey
+    #
+    #  :ssl_cert is used to specify a detached private key for SSL.
+    #  It may be either a filename or an OpenSSL::PKey::PKey object.
+    #
     # OpenURI::OpenRead#open returns an IO like object if block is not given.
     # Otherwise it yields the IO object and return the value of the block.
     # The IO object is extended with OpenURI::Meta.

In This Thread

Prev Next