Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-excon for openSUSE:Factory checked in at 2023-03-14 18:15:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-excon (Old) and /work/SRC/openSUSE:Factory/.rubygem-excon.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-excon" Tue Mar 14 18:15:44 2023 rev:41 rq:1071135 version:0.99.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-excon/rubygem-excon.changes 2022-12-14 14:10:59.539491415 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-excon.new.31432/rubygem-excon.changes 2023-03-14 18:15:54.679496602 +0100 @@ -1,0 +2,7 @@ +Mon Mar 13 12:46:58 UTC 2023 - Martin Vidner <mvid...@suse.com> + +- updated to version 0.99.0 + among other changes, a fix for bsc#1209175, yast2-docker: + - fix for URI gem changes when host empty for unix urls + +------------------------------------------------------------------- Old: ---- excon-0.94.0.gem New: ---- excon-0.99.0.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-excon.spec ++++++ --- /var/tmp/diff_new_pack.GElNQH/_old 2023-03-14 18:15:55.359500237 +0100 +++ /var/tmp/diff_new_pack.GElNQH/_new 2023-03-14 18:15:55.371500302 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-excon # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ # Name: rubygem-excon -Version: 0.94.0 +Version: 0.99.0 Release: 0 %define mod_name excon %define mod_full_name %{mod_name}-%{version} ++++++ excon-0.94.0.gem -> excon-0.99.0.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CONTRIBUTORS.md new/CONTRIBUTORS.md --- old/CONTRIBUTORS.md 2022-11-08 15:55:49.000000000 +0100 +++ new/CONTRIBUTORS.md 2023-02-03 16:26:59.000000000 +0100 @@ -1,140 +1,182 @@ -* Aaron Stone <aa...@serendipity.cx> -* Adam Esterline <a...@esterlines.com> -* Alexander Sandström <alexan...@skovik.com> -* Andrew Katz <andrew.k...@outright.com> -* Andy Delcambre <adelcam...@gmail.com> -* Anshul Khandelwal <ans...@anshulkhandelwal.com> -* Ash Wilson <smashwil...@gmail.com> -* Ben Burkert <b...@benburkert.com> -* Benedikt Böhm <b...@xnull.de> -* Bo Jeanes <m...@bjeanes.com> -* Brandur <bran...@mutelight.org> -* Brian D. Burns <ios...@gmail.com> -* Brian Hartsock <brian.harts...@gmail.com> -* Bryan Paxton <starbe...@pobox.com> -* Caio Chassot <d...@caiochassot.com> -* Caius Durling <d...@caius.name> -* Carl HoÌrberg <carl.hoerb...@gmail.com> -* Carl Hörberg <carl.hoerb...@gmail.com> -* Carlos Sanchez <csanc...@maestrodev.com> -* Casper Thomsen <c...@clearhaus.com> -* Chris Hanks <christopher.m.ha...@gmail.com> -* Claudio Poli <masterk...@gmail.com> -* Damien Mathieu <dam...@heroku.com> -* Dan Hensgen <d...@methodhead.com> -* Dan Peterson <dpi...@gmail.com> -* Dan Prince <dpri...@redhat.com> -* Dane Harrigan <dane.harri...@gmail.com> -* Dave Myron <therealdave.my...@gmail.com> -* Dave Newton <davelnew...@gmail.com> -* David Biehl <dbi...@ncmedical.com> -* David Biehl <lazyl...@gmail.com> -* Dimitrij Denissenko <dimit...@blacksquaremedia.com> -* Dominik Richter <dominik.rich...@gmail.com> -* Doug McInnes <d...@dougmcinnes.com> -* Eugene Howe <eug...@xtreme-computers.net> -* Evan Phoenix <e...@fallingsnow.net> -* Fabian Wiesel <fabian.wie...@sap.com> -* Federico Ravasio <ravasio.feder...@gmail.com> -* Glenn Pratt <glennpr...@gmail.com> -* Graeme Nelson <graeme.nel...@gmail.com> -* Guillaume Balaine <igos...@gmail.com> -* Hakan Ensari <hakan.ens...@papercavalier.com> -* Ian Neubert <i...@ianneubert.com> -* Jacob Atzen <ja...@incremental.dk> -* James Cox <ja...@imaj.es> -* James Watling <watling.ja...@gmail.com> -* Jean Mertz <j...@mertz.fm> -* Jeremy Hinegardner <jer...@copiousfreetime.org> -* Jesse Kempf <jesse.ke...@opower.com> -* Joe Rafaniello <jrafa...@redhat.com> -* John Keiser <jkei...@opscode.com> -* John Leach <j...@brightbox.co.uk> -* Jonas Pfenniger <jo...@pfenniger.name> -* Jonathan Dance <git...@wuputah.com> -* Jonathan Dance <j...@wuputah.com> -* Jonathan Roes <jr...@jroes.net> -* Joshua B. Smith <jbsm...@us.ibm.com> -* Joshua Gross <jos...@surfeasy.com> -* Joshua Mckinney <joshmc...@gmail.com> -* Joshua Napoli <jnap...@swipely-napoli.home> -* Joshua Napoli <jnapoli@swipely-napoli.local> -* Kelly Mahan <kma...@kmahan.com> -* Kensuke Nagae <kya...@gmail.com> -* Konstantin Shabanov <eteht...@gmail.com> -* Kyle Rames <kyle.ra...@rackspace.com> -* Lewis Marshall <le...@lmars.net> -* Lincoln Stoll <m...@lstoll.net> -* Louis Sobel <so...@mit.edu> -* Mahemoff <mich...@mahemoff.com> -* Mathias Meyer <me...@paperplanes.de> -* Matt Gauger <matt.gau...@gmail.com> -* Matt Sanders <m...@modal.org> -* Matt Sanders <m...@polycot.com> -* Matt Snyder <snyder2...@me.com> -* Matt Todd <chiol...@gmail.com> -* Max Lincoln <m...@devopsy.com> -* Michael Brodhead <m...@engineyard.com> -* Michael Hale <m...@hales.ws> -* Michael Rowe <mr...@mojain.com> -* Michael Rykov <mry...@gmail.com> -* Mike Heffner <mi...@fesnel.com> -* Myron Marston <myron.mars...@gmail.com> -* Nathan Long <nathan.l...@tma1.com> -* Nathan Sutton <n...@zencoder.com> -* Nick Osborn <nick.osb...@digital.cabinet-office.gov.uk> -* Nicolas Sanguinetti <conta...@nicolassanguinetti.info> -* Paul Gideon Dann <pdgid...@gmail.com> -* Pavel <pavel.e...@gmail.com> -* Peter Meier <peter.me...@immerda.ch> -* Peter Weldon <peter.wel...@null.net> -* Peter Weldon <pe...@lautus.net> -* Phil Ross <phil.r...@gmail.com> -* Richard Ramsden <rich...@rramsden.ca> -* Ruslan Korolev <r...@fastmail.com> -* Ruslan Korolev <r...@gmx.com> -* Ruslan Kyrychuk <ruslan.kyryc...@gmail.com> -* Ryan Bigg <radarliste...@fastmail.fm> -* Ryan Mohr <ryan.m...@gmail.com> -* Sam Withrow <sam.with...@curiousnation.org> -* Scott Gonyea <m...@aitrus.org> -* Scott Gonyea <m...@sgonyea.com> -* Scott Walkinshaw <scott.walkins...@gmail.com> -* Sean Cribbs <seancri...@gmail.com> -* Sergio Rubio <rubi...@frameos.org> -* Shai Rosenfeld <shaigui...@gmail.com> -* Stefan Merettig <stefan-meret...@nuriaproject.org> -* Stephen Chu <git...@stephenchu.com> -* Swanand Pagnis <swana...@users.noreply.github.com> -* Terry Howe <terrylh...@gmail.com> -* Thom Mahoney & Josh Lane <tmaho...@engineyard.com> -* Thom May <t...@digital-science.com> -* Tim Carey-Smith <t...@spork.in> -* Todd Lunter <tlun...@gmail.com> -* Tom Maher <tma...@heroku.com> -* Tom Maher <tma...@tursom.org> -* Trym Skaar <t...@tryms.no> -* Tuomas Silen <tuomas.si...@nodeta.fi> -* Victor Costan <cos...@gmail.com> -* Viven <vivien.schi...@gmail.com> -* Wesley Beary <geemus+git...@gmail.com> -* Wesley Beary <gee...@engineyard.com> -* Wesley Beary <gee...@gmail.com> -* Wesley Beary <wbe...@engineyard.com> -* Wesley Beary <wes...@heroku.com> -* Zach Anker <zan...@squareup.com> -* chrisrhoden <carho...@gmail.com> -* dickeyxxx <j...@dickeyxxx.com> -* geemus (Wesley Beary) <wbe...@engineyard.com> -* geemus <gee...@gmail.com> -* ggoodale <ggood...@gmail.com> -* marios <mar...@redhat.com> -* mkb <m...@black-ice.org> -* phiggins <p...@peterhiggins.org> -* rin_ne <rinrin...@gmail.com> -* rinrinne <rinrin...@gmail.com> -* rkyrychuk <ruslan.kyryc...@gmail.com> -* sshaw <skye.s...@gmail.com> -* starbelly <starbe...@pobox.com> -* twrodriguez <tw.rodrig...@gmail.com> -* zimbatm <zimb...@zimbatm.com> \ No newline at end of file +* Aaron Stone +* Adam Avilla +* Adam Esterline +* Alexander Sandström +* Alexandr Burov +* Andrew Katz +* Andrew Metcalf +* Andrew Sullivan Cant +* André Diego Piske +* Andy Delcambre +* Anshul Khandelwal +* Anton Chuchkalov +* Antonio Terceiro +* Ash Wilson +* Atul Bhosale +* Bart de Water +* Ben Burkert +* Benedikt Böhm +* Bill Mill +* Bo Jeanes +* Brandur +* Brian D. Burns +* Brian Hartsock +* Bryan Paxton +* Caio Chassot +* Caius Durling +* Carl HoÌrberg +* Carl Hörberg +* Carlos Sanchez +* Casper Thomsen +* Chris Hanks +* Christoph Rieà +* Christophe Taton +* Claudio Poli +* Craig Shannon +* Damien Mathieu +* Dan Hensgen +* Dan Peterson +* Dan Prince +* Dane Harrigan +* Daniel Berger +* Dave Myron +* Dave Newton +* Dave Vasilevsky +* David Biehl +* David Taylor +* Dimitrij Denissenko +* Dominik Richter +* Doug McInnes +* Esteban Pastorino +* Eugene Howe +* Evan Phoenix +* Fabian Wiesel +* Federico Ravasio +* Felix Wolfsteller +* Glenn Pratt +* Graeme Nelson +* Grey Baker +* Guillaume Balaine +* Hakan Ensari +* Hiroshi Hatake +* Ian Neubert +* Igor Fedoronchuk +* Jacob Atzen +* James Cox +* James Watling +* Jean Mertz +* Jeremy Hinegardner +* Jesse Kempf +* Jessica Jiang +* Joe Rafaniello +* John Keiser +* John Leach +* Jonas Pfenniger +* Jonathan Dance +* Jonathan Roes +* Joshua B. Smith +* Joshua Gross +* Joshua Mckinney +* Joshua Napoli +* Kelly Mahan +* Kensuke Nagae +* Kimmo Lehto +* Koen Rouwhorst +* Konstantin Shabanov +* Kyle Purkiss +* Kyle Rames +* Lewis Marshall +* Lincoln Stoll +* Louis Sobel +* Mahemoff +* Marco Costa +* Markus Bucher +* Mathias Meyer +* Matt Gauger +* Matt Palmer +* Matt Sanders +* Matt Snyder +* Matt Todd +* Maurice Schreiber +* Max Lincoln +* Michael Brodhead +* Michael Hale +* Michael Rowe +* Michael Rykov +* Mike Heffner +* Milovan Zogovic +* Myron Marston +* Nathan Long +* Nathan Sutton +* Nick Osborn +* Nicolas Leger +* Nicolas Sanguinetti +* Paul Gideon Dann +* Pavel +* Pavel Valena +* Peter Meier +* Peter Weldon +* Phil Ross +* Raul Murciano +* Richard Godbee +* Richard Ramsden +* Rohan Mendon +* Ruslan Korolev +* Ruslan Kyrychuk +* Ryan Bigg +* Ryan Mohr +* Ryan Schlesinger +* Ryoji Yoshioka +* Sam +* Sam Lehman +* Sam Withrow +* Scott Gonyea +* Scott Walkinshaw +* Sean Cribbs +* Sergio Rubio +* Shai Rosenfeld +* Stan Hu +* Stefan Merettig +* Stephen Chu +* Swanand Pagnis +* Terry Howe +* Thom Mahoney & Josh Lane +* Thom May +* Tim Carey-Smith +* Timothée Peignier +* Tobias Schmidt +* Todd Lunter +* Tom Maher +* Trym Skaar +* Tuomas Silen +* Victor Costan +* Viven +* VÃt Ondruch +* Wesley Beary +* Yusuke Nakamura +* Zach Anker +* chrisrhoden +* dependabot[bot] +* dickeyxxx +* geemus +* geemus (Wesley Beary) +* ggoodale +* ivan.filenko +* jasquat +* karimb +* marios +* mkb +* nathannaveen +* ojab +* patrick brisbin +* pavel +* phiggins +* rin_ne +* rinrinne +* rkyrychuk +* shale +* sshaw +* starbelly +* twrodriguez +* wsnarski +* zimbatm \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2022-11-08 15:55:49.000000000 +0100 +++ new/README.md 2023-02-03 16:26:59.000000000 +0100 @@ -446,7 +446,16 @@ `client_key_pass` is optional. -If you already have loaded the certificate and key into memory, then pass it through like: +Optionally, you can also pass the whole chain by passing the extra certificates through `client_chain`: + +```ruby +connection = Excon.new('https://example.com', + client_cert: 'mycert.pem', + client_chain: 'mychain.pem', + client_key: 'mycert.key') +``` + +If you already have loaded the certificate, key and chain into memory, then pass it through like: ```ruby client_cert_data = File.load 'mycert.pem' @@ -454,6 +463,7 @@ connection = Excon.new('https://example.com', client_cert_data: client_cert_data, + client_chain_data: client_chain_data, client_key_data: client_key_data) ``` Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/data/cacert.pem new/data/cacert.pem --- old/data/cacert.pem 2022-11-08 15:55:49.000000000 +0100 +++ new/data/cacert.pem 2023-02-03 16:26:59.000000000 +0100 @@ -1,7 +1,7 @@ ## ## Bundle of CA Root Certificates ## -## Certificate data from Mozilla as of: Tue Oct 11 03:12:05 2022 GMT +## Certificate data from Mozilla as of: Tue Jan 10 04:12:06 2023 GMT ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates @@ -14,7 +14,7 @@ ## Just configure this file as the SSLCACertificateFile. ## ## Conversion done with mk-ca-bundle.pl version 1.29. -## SHA256: 3ff8bd209b5f2e739b9f2b96eacb694a774114685b02978257824f37ff528f71 +## SHA256: 90c470e705b4b5f36f09684dc50e2b79c8b86989a848b62cd1a7bd6460ee65f6 ## @@ -489,29 +489,6 @@ +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== -----END CERTIFICATE----- -Network Solutions Certificate Authority -======================================= ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG -EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr -IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx -MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx -jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT -aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT -crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc -/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB -AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv -bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA -A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q -4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ -GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD -ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey ------END CERTIFICATE----- - COMODO ECC Certification Authority ================================== -----BEGIN CERTIFICATE----- @@ -1654,36 +1631,6 @@ yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 -----END CERTIFICATE----- -Staat der Nederlanden EV Root CA -================================ ------BEGIN CERTIFICATE----- -MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE -CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g -RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M -MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl -cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk -SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW -O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r -0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 -Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV -XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr -08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV -0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd -74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx -fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa -ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI -eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu -c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq -5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN -b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN -f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi -5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 -WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK -DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy -eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== ------END CERTIFICATE----- - IdenTrust Commercial Root CA 1 ============================== -----BEGIN CERTIFICATE----- @@ -2135,87 +2082,6 @@ aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== -----END CERTIFICATE----- -TrustCor RootCert CA-1 -====================== ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP -MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig -U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx -MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu -YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe -VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy -dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq -jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4 -pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0 -JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h -gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw -/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j -BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5 -mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf -ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C -qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P -3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk= ------END CERTIFICATE----- - -TrustCor RootCert CA-2 -====================== ------BEGIN CERTIFICATE----- -MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w -DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT -eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0 -eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy -MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h -bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0 -IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb -ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk -RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1 -oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb -XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1 -/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q -jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP -eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg -rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh -8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU -2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h -Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp -kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv -2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3 -S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw -PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv -DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU -RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE -xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX -RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ ------END CERTIFICATE----- - -TrustCor ECA-1 -============== ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP -MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig -U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw -N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5 -MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y -IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR -MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23 -xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc -p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+ -fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj -YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL -f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF -AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u -/ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F -hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs -J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC -jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g== ------END CERTIFICATE----- - SSL.com Root Certification Authority RSA ======================================== -----BEGIN CERTIFICATE----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/excon.gemspec new/excon.gemspec --- old/excon.gemspec 2022-11-08 15:55:49.000000000 +0100 +++ new/excon.gemspec 2023-02-03 16:26:59.000000000 +0100 @@ -26,7 +26,6 @@ s.add_development_dependency('eventmachine', '>= 1.0.4') s.add_development_dependency('open4') s.add_development_dependency('rake') - s.add_development_dependency('rdoc') s.add_development_dependency('shindo') s.add_development_dependency('sinatra') s.add_development_dependency('sinatra-contrib') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/excon/connection.rb new/lib/excon/connection.rb --- old/lib/excon/connection.rb 2022-11-08 15:55:49.000000000 +0100 +++ new/lib/excon/connection.rb 2023-02-03 16:26:59.000000000 +0100 @@ -62,6 +62,7 @@ # @option params [Class] :instrumentor Responds to #instrument as in ActiveSupport::Notifications # @option params [String] :instrumentor_name Name prefix for #instrument events. Defaults to 'excon' def initialize(params = {}) + @pid = Process.pid @data = Excon.defaults.dup # merge does not deep-dup, so make sure headers is not the original @data[:headers] = @data[:headers].dup @@ -89,7 +90,9 @@ end if @data[:scheme] == UNIX - if @data[:host] + # 'uri' >= v0.12.0 returns an empty string instead of nil for no host. + # So treat the parameter as present if and only if it is both non-nill and non-empty. + if @data[:host] && !@data[:host].empty? raise ArgumentError, "The `:host` parameter should not be set for `unix://` connections.\n" + "When supplying a `unix://` URI, it should start with `unix:/` or `unix:///`." elsif !@data[:socket] @@ -478,6 +481,11 @@ @_excon_sockets ||= {} @_excon_sockets.compare_by_identity + if @pid != Process.pid + @_excon_sockets.clear # GC will take care of closing sockets + @pid = Process.pid + end + if @data[:thread_safe_sockets] # In a multi-threaded world, if the same connection is used by multiple # threads at the same time to connect to the same destination, they may @@ -577,6 +585,8 @@ raise ArgumentError, "The `:ssl_proxy_headers` parameter should only be used with HTTPS requests." end if @data[:proxy][:scheme] == UNIX + # URI.parse might return empty string for security reasons. + @data[:proxy][:host] = nil if @data[:proxy][:host] == "" if @data[:proxy][:host] raise ArgumentError, "The `:host` parameter should not be set for `unix://` proxies.\n" + "When supplying a `unix://` URI, it should start with `unix:/` or `unix:///`." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/excon/constants.rb new/lib/excon/constants.rb --- old/lib/excon/constants.rb 2022-11-08 15:55:49.000000000 +0100 +++ new/lib/excon/constants.rb 2023-02-03 16:26:59.000000000 +0100 @@ -72,6 +72,8 @@ :client_key_pass, :client_cert, :client_cert_data, + :client_chain, + :client_chain_data, :certificate, :certificate_path, :disable_proxy, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/excon/response.rb new/lib/excon/response.rb --- old/lib/excon/response.rb 2022-11-08 15:55:49.000000000 +0100 +++ new/lib/excon/response.rb 2023-02-03 16:26:59.000000000 +0100 @@ -20,15 +20,24 @@ def host @data[:host] end + def scheme + @data[:scheme] + end def local_address @data[:local_address] end def local_port @data[:local_port] end + def http_method # can't be named "method" + @data[:method] + end def path @data[:path] end + def query + @data[:query] + end def port @data[:port] end @@ -72,9 +81,13 @@ :body => String.new, :cookies => [], :host => datum[:host], + :scheme => datum[:scheme], + :method => datum[:method], :headers => Excon::Headers.new, :path => datum[:path], + :query => datum[:query], :port => datum[:port], + :omit_default_port => datum[:omit_default_port], :status => status, :status_line => line, :reason_phrase => reason_phrase diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/excon/socket.rb new/lib/excon/socket.rb --- old/lib/excon/socket.rb 2022-11-08 15:55:49.000000000 +0100 +++ new/lib/excon/socket.rb 2023-02-03 16:26:59.000000000 +0100 @@ -72,8 +72,8 @@ if idx.nil? result << block else - add_to_read_buffer(block.slice!(idx+1, block.length)) - result << block + result << block.slice!(0, idx+1) + add_to_read_buffer(block) break end block = read_nonblock(@data[:chunk_size]) || raise(EOFError) @@ -194,8 +194,14 @@ def read_nonblock(max_length) begin - while !@backend_eof && (!max_length || @read_buffer.length < max_length) - @read_buffer << @socket.read_nonblock(@data[:chunk_size]) + if max_length + until @backend_eof || @read_buffer.length >= max_length + @read_buffer << @socket.read_nonblock(max_length - @read_buffer.length) + end + else + while !@backend_eof + @read_buffer << @socket.read_nonblock(@data[:chunk_size]) + end end rescue OpenSSL::SSL::SSLError => error if error.message == 'read would block' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/excon/ssl_socket.rb new/lib/excon/ssl_socket.rb --- old/lib/excon/ssl_socket.rb 2022-11-08 15:55:49.000000000 +0100 +++ new/lib/excon/ssl_socket.rb 2023-02-03 16:26:59.000000000 +0100 @@ -90,6 +90,14 @@ else ssl_context.key = OpenSSL::PKey::RSA.new(client_key_data, client_key_pass) end + if client_chain_data && OpenSSL::X509::Certificate.respond_to?(:load) + ssl_context.extra_chain_cert = OpenSSL::X509::Certificate.load(client_chain_data) + elsif client_chain_data + certs = client_chain_data.scan(/-----BEGIN CERTIFICATE-----(?:.|\n)+?-----END CERTIFICATE-----/) + ssl_context.extra_chain_cert = certs.map do |cert| + OpenSSL::X509::Certificate.new(cert) + end + end elsif @data.key?(:certificate) && @data.key?(:private_key) ssl_context.cert = OpenSSL::X509::Certificate.new(@data[:certificate]) if OpenSSL::PKey.respond_to? :read @@ -171,6 +179,14 @@ end end + def client_chain_data + @client_chain_data ||= if (ccd = @data[:client_chain_data]) + ccd + elsif (path = @data[:client_chain]) + File.read path + end + end + def connect # backwards compatability for things lacking nonblock @nonblock = HAVE_NONBLOCK && @nonblock diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/excon/version.rb new/lib/excon/version.rb --- old/lib/excon/version.rb 2022-11-08 15:55:49.000000000 +0100 +++ new/lib/excon/version.rb 2023-02-03 16:26:59.000000000 +0100 @@ -1,4 +1,4 @@ # frozen_string_literal: true module Excon - VERSION = '0.94.0' + VERSION = '0.99.0' end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/excon.rb new/lib/excon.rb --- old/lib/excon.rb 2022-11-08 15:55:49.000000000 +0100 +++ new/lib/excon.rb 2023-02-03 16:26:59.000000000 +0100 @@ -198,8 +198,13 @@ headers_match = !stub.has_key?(:headers) || stub[:headers].keys.all? do |key| case value = stub[:headers][key] when Regexp - if (match = value.match(request_params[:headers][key])) - captures[:headers][key] = match.captures + case request_params[:headers][key] + when String + if (match = value.match(request_params[:headers][key])) + captures[:headers][key] = match.captures + end + when Regexp # for unstub on regex params + match = (value == request_params[:headers][key]) end match else @@ -209,8 +214,13 @@ non_headers_match = (stub.keys - [:headers]).all? do |key| case value = stub[key] when Regexp - if (match = value.match(request_params[key])) - captures[key] = match.captures + case request_params[key] + when String + if (match = value.match(request_params[key])) + captures[key] = match.captures + end + when Regexp # for unstub on regex params + match = (value == request_params[key]) end match else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2022-11-08 15:55:49.000000000 +0100 +++ new/metadata 2023-02-03 16:26:59.000000000 +0100 @@ -1,16 +1,16 @@ --- !ruby/object:Gem::Specification name: excon version: !ruby/object:Gem::Version - version: 0.94.0 + version: 0.99.0 platform: ruby authors: - dpiddy (Dan Peterson) - geemus (Wesley Beary) - nextmat (Matt Sanders) -autorequire: +autorequire: bindir: bin cert_chain: [] -date: 2022-11-08 00:00:00.000000000 Z +date: 2023-02-03 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rspec @@ -97,20 +97,6 @@ - !ruby/object:Gem::Version version: '0' - !ruby/object:Gem::Dependency - name: rdoc - requirement: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0' -- !ruby/object:Gem::Dependency name: shindo requirement: !ruby/object:Gem::Requirement requirements: @@ -249,7 +235,7 @@ documentation_uri: https://github.com/excon/excon/blob/master/README.md source_code_uri: https://github.com/excon/excon wiki_uri: https://github.com/excon/excon/wiki -post_install_message: +post_install_message: rdoc_options: - "--charset=UTF-8" require_paths: @@ -265,8 +251,8 @@ - !ruby/object:Gem::Version version: '0' requirements: [] -rubygems_version: 3.3.5 -signing_key: +rubygems_version: 3.4.1 +signing_key: specification_version: 4 summary: speed, persistence, http(s) test_files: []