[MacPorts] #63829: mpstats submit failed cause DST Root CA X3 Expiration

MacPorts noreply at macports.org
Sun Nov 7 11:09:48 UTC 2021


#63829: mpstats submit failed cause DST Root CA X3 Expiration
----------------------------+--------------------
  Reporter:  laggardkernel  |      Owner:  (none)
      Type:  defect         |     Status:  new
  Priority:  High           |  Milestone:
 Component:  ports          |    Version:
Resolution:                 |   Keywords:
      Port:  mpstats        |
----------------------------+--------------------
Changes (by ryandesign):

 * port:   => mpstats


Old description:

> It seems {{{mpstats}}} is using the system curl. DST Root CA X3 from lets
> encrypt expired (more than 1 month ago). curl post to macports.org just
> fails.
>
> https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
>
> > As planned, the DST Root CA X3 cross-sign has expired, and we’re now
> using our own ISRG Root X1 for trust on almost all devices.
>
> {{{
> /opt/local/libexec/mpstats submit
> Submitting data to https://ports.macports.org/statistics/submit/ ...
> Error: Peer certificate cannot be authenticated with given CA
> certificates
>     while executing
> "curl post "submission\[data\]=$json" $stats_url"
> }}}
>
> {{{
> ❯ /usr/bin/curl https://ports.macports.org/statistics/submit/
> curl: (60) SSL certificate problem: certificate has expired
> More details here: https://curl.haxx.se/docs/sslcerts.html
>
> curl performs SSL certificate verification by default, using a "bundle"
>  of Certificate Authority (CA) public keys (CA certs). If the default
>  bundle file isn't adequate, you can specify an alternate file
>  using the --cacert option.
> If this HTTPS server uses a certificate signed by a CA represented in
>  the bundle, the certificate verification probably failed due to a
>  problem with the certificate (it might be expired, or the name might
>  not match the domain name in the URL).
> If you'd like to turn off curl's verification of the certificate, use
>  the -k (or --insecure) option.
> HTTPS-proxy has similar options --proxy-cacert and --proxy-insecure.
> }}}
>

> We should make {{{mpstats}}} use the curl from port for macOS <= 10.14.
>
> https://github.com/Homebrew/brew/issues/12161#issuecomment-933510324
>
> And modify the mpstats Portfile is enough. From what I've learned,
> mpstats doesn't call the curl command line directlly.
> comment:ticket:61333t:20

New description:

 It seems {{{mpstats}}} is using the system curl. DST Root CA X3 from lets
 encrypt expired (more than 1 month ago). curl post to macports.org just
 fails.

 https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/

 > As planned, the DST Root CA X3 cross-sign has expired, and we’re now
 using our own ISRG Root X1 for trust on almost all devices.

 {{{
 /opt/local/libexec/mpstats submit
 Submitting data to https://ports.macports.org/statistics/submit/ ...
 Error: Peer certificate cannot be authenticated with given CA certificates
     while executing
 "curl post "submission\[data\]=$json" $stats_url"
 }}}

 {{{
 ❯ /usr/bin/curl https://ports.macports.org/statistics/submit/
 curl: (60) SSL certificate problem: certificate has expired
 More details here: https://curl.haxx.se/docs/sslcerts.html

 curl performs SSL certificate verification by default, using a "bundle"
  of Certificate Authority (CA) public keys (CA certs). If the default
  bundle file isn't adequate, you can specify an alternate file
  using the --cacert option.
 If this HTTPS server uses a certificate signed by a CA represented in
  the bundle, the certificate verification probably failed due to a
  problem with the certificate (it might be expired, or the name might
  not match the domain name in the URL).
 If you'd like to turn off curl's verification of the certificate, use
  the -k (or --insecure) option.
 HTTPS-proxy has similar options --proxy-cacert and --proxy-insecure.
 }}}


 We should make {{{mpstats}}} use the curl from port for macOS <= 10.14.

 https://github.com/Homebrew/brew/issues/12161#issuecomment-933510324

 And modify the mpstats Portfile is enough. From what I've learned, mpstats
 doesn't call the curl command line directlly. comment:ticket:61333:20

--

Comment:

 Short of redesigning mpstats to not use the curl facilities in MacPorts
 that use the system libcurl by default, this cannot be fixed in mpstats.
 And I don't see why we would pursue a fix that would only fix mpstats; why
 not pursue a fix that would fix MacPorts base and mpstats at the same
 time?

 The ticket proposing we should bundle a newer curl/openssl/cert bundle
 with MacPorts is #51516.

-- 
Ticket URL: <https://trac.macports.org/ticket/63829#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list