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 <[email protected]> + +- 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 <[email protected]> -* Adam Esterline <[email protected]> -* Alexander Sandström <[email protected]> -* Andrew Katz <[email protected]> -* Andy Delcambre <[email protected]> -* Anshul Khandelwal <[email protected]> -* Ash Wilson <[email protected]> -* Ben Burkert <[email protected]> -* Benedikt Böhm <[email protected]> -* Bo Jeanes <[email protected]> -* Brandur <[email protected]> -* Brian D. Burns <[email protected]> -* Brian Hartsock <[email protected]> -* Bryan Paxton <[email protected]> -* Caio Chassot <[email protected]> -* Caius Durling <[email protected]> -* Carl HoÌrberg <[email protected]> -* Carl Hörberg <[email protected]> -* Carlos Sanchez <[email protected]> -* Casper Thomsen <[email protected]> -* Chris Hanks <[email protected]> -* Claudio Poli <[email protected]> -* Damien Mathieu <[email protected]> -* Dan Hensgen <[email protected]> -* Dan Peterson <[email protected]> -* Dan Prince <[email protected]> -* Dane Harrigan <[email protected]> -* Dave Myron <[email protected]> -* Dave Newton <[email protected]> -* David Biehl <[email protected]> -* David Biehl <[email protected]> -* Dimitrij Denissenko <[email protected]> -* Dominik Richter <[email protected]> -* Doug McInnes <[email protected]> -* Eugene Howe <[email protected]> -* Evan Phoenix <[email protected]> -* Fabian Wiesel <[email protected]> -* Federico Ravasio <[email protected]> -* Glenn Pratt <[email protected]> -* Graeme Nelson <[email protected]> -* Guillaume Balaine <[email protected]> -* Hakan Ensari <[email protected]> -* Ian Neubert <[email protected]> -* Jacob Atzen <[email protected]> -* James Cox <[email protected]> -* James Watling <[email protected]> -* Jean Mertz <[email protected]> -* Jeremy Hinegardner <[email protected]> -* Jesse Kempf <[email protected]> -* Joe Rafaniello <[email protected]> -* John Keiser <[email protected]> -* John Leach <[email protected]> -* Jonas Pfenniger <[email protected]> -* Jonathan Dance <[email protected]> -* Jonathan Dance <[email protected]> -* Jonathan Roes <[email protected]> -* Joshua B. Smith <[email protected]> -* Joshua Gross <[email protected]> -* Joshua Mckinney <[email protected]> -* Joshua Napoli <[email protected]> -* Joshua Napoli <[email protected]> -* Kelly Mahan <[email protected]> -* Kensuke Nagae <[email protected]> -* Konstantin Shabanov <[email protected]> -* Kyle Rames <[email protected]> -* Lewis Marshall <[email protected]> -* Lincoln Stoll <[email protected]> -* Louis Sobel <[email protected]> -* Mahemoff <[email protected]> -* Mathias Meyer <[email protected]> -* Matt Gauger <[email protected]> -* Matt Sanders <[email protected]> -* Matt Sanders <[email protected]> -* Matt Snyder <[email protected]> -* Matt Todd <[email protected]> -* Max Lincoln <[email protected]> -* Michael Brodhead <[email protected]> -* Michael Hale <[email protected]> -* Michael Rowe <[email protected]> -* Michael Rykov <[email protected]> -* Mike Heffner <[email protected]> -* Myron Marston <[email protected]> -* Nathan Long <[email protected]> -* Nathan Sutton <[email protected]> -* Nick Osborn <[email protected]> -* Nicolas Sanguinetti <[email protected]> -* Paul Gideon Dann <[email protected]> -* Pavel <[email protected]> -* Peter Meier <[email protected]> -* Peter Weldon <[email protected]> -* Peter Weldon <[email protected]> -* Phil Ross <[email protected]> -* Richard Ramsden <[email protected]> -* Ruslan Korolev <[email protected]> -* Ruslan Korolev <[email protected]> -* Ruslan Kyrychuk <[email protected]> -* Ryan Bigg <[email protected]> -* Ryan Mohr <[email protected]> -* Sam Withrow <[email protected]> -* Scott Gonyea <[email protected]> -* Scott Gonyea <[email protected]> -* Scott Walkinshaw <[email protected]> -* Sean Cribbs <[email protected]> -* Sergio Rubio <[email protected]> -* Shai Rosenfeld <[email protected]> -* Stefan Merettig <[email protected]> -* Stephen Chu <[email protected]> -* Swanand Pagnis <[email protected]> -* Terry Howe <[email protected]> -* Thom Mahoney & Josh Lane <[email protected]> -* Thom May <[email protected]> -* Tim Carey-Smith <[email protected]> -* Todd Lunter <[email protected]> -* Tom Maher <[email protected]> -* Tom Maher <[email protected]> -* Trym Skaar <[email protected]> -* Tuomas Silen <[email protected]> -* Victor Costan <[email protected]> -* Viven <[email protected]> -* Wesley Beary <[email protected]> -* Wesley Beary <[email protected]> -* Wesley Beary <[email protected]> -* Wesley Beary <[email protected]> -* Wesley Beary <[email protected]> -* Zach Anker <[email protected]> -* chrisrhoden <[email protected]> -* dickeyxxx <[email protected]> -* geemus (Wesley Beary) <[email protected]> -* geemus <[email protected]> -* ggoodale <[email protected]> -* marios <[email protected]> -* mkb <[email protected]> -* phiggins <[email protected]> -* rin_ne <[email protected]> -* rinrinne <[email protected]> -* rkyrychuk <[email protected]> -* sshaw <[email protected]> -* starbelly <[email protected]> -* twrodriguez <[email protected]> -* zimbatm <[email protected]> \ 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: []
