Opened 7 years ago
Closed 7 years ago
#56076 closed defect (fixed)
wget @1.19.4_2 breaks Digest Authentication
Reported by: | jak574 | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | janstary (Jan Starý) | |
Port: | wget |
Description
Updating from wget 1.19.4_0 to 1.19.4_2 broke Digest Authentication. It now errors out with "Unknown authentication scheme."
Example output from wget 1.19.4_2:
%> wget -O -o --no-check-certificate https://www.redacted.com/~redacted --2018-03-16 12:14:04-- https://www.redacted.com/~redacted Resolving www.redacted.com (www.redacted.com)... 123.123.123.123 Connecting to www.redacted.com (www.redacted.com)|123.123.123.123|:443... connected. WARNING: cannot verify www.redacted.com's certificate, issued by â: Self-signed certificate encountered. HTTP request sent, awaiting response... 401 Authorization Required Unknown authentication scheme. Username/Password Authentication Failed.
Before (using wget 1.19.4_0):
%>wget -O -o --no-check-certificate https://www.redacted.com/~redacted --2018-03-16 12:14:59-- https://www.redacted.com/~redacted Resolving www.redacted.com (www.redacted.com)... 123.123.123.123 Connecting to www.redacted.com (www.redacted.com)|123.123.123.123|:443... connected. WARNING: The certificate of â is not trusted. WARNING: The certificate of â hasn't got a known issuer. HTTP request sent, awaiting response... 401 Authorization Required Authentication selected: Digest realm="Redacted Restricted", nonce="8n7z6IlnBQA=7481515c6fgdgfda85a52fb534bf11af6ab318f", algorithm=MD5, domain="https://redacted/ https://www.redacted.com/ http://www.redacted.com/ http://www.redacted.com http://redacted/ http://www.redacted.com/~redacted/", qop="auth" Connecting to www.redacted.com (www.redacted.com)|123.123.123.123|:443... connected. WARNING: The certificate of â is not trusted. WARNING: The certificate of â hasn't got a known issuer. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://www.redacted.com/~redacted/ [following] --2018-03-16 12:15:00-- https://www.redacted.com/~redacted/ Connecting to www.redacted.com (www.redacted.com)|123.123.123.123|:443... connected. WARNING: The certificate of â is not trusted. WARNING: The certificate of â hasn't got a known issuer. HTTP request sent, awaiting response... 401 Authorization Required Authentication selected: Digest realm="Redacted Restricted", nonce="EPv06IlnBQA=8c2fa442a625c6bdfgdfgdf8f36853ec45573b029", algorithm=MD5, domain="https://redacted/ https://www.redacted.com/ http://www.redacted.com/ http://www.redacted.com http://redacted/ http://www.redacted.com/~redacted/", qop="auth" Connecting to www.redacted.com (www.redacted.com)|123.123.123.123|:443... connected. WARNING: The certificate of â is not trusted. WARNING: The certificate of â hasn't got a known issuer. HTTP request sent, awaiting response... 200 OK Length: 7715 (7.5K) [text/html] Saving to: â -o 100%[================================================================>] 7.53K --.-KB/s in 0s 2018-03-16 12:15:00 (273 MB/s) - â saved [7715/7715]
Change History (10)
comment:1 follow-up: 3 Changed 7 years ago by jak574
comment:2 Changed 7 years ago by jak574
Cc: | jak574 added |
---|
comment:3 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | janstary added; ryandesign jak574 removed |
---|---|
Milestone: | MacPorts 2.4.3 |
Owner: | set to ryandesign |
Status: | new → assigned |
Summary: | wget 1.19.4_2 breaks Digest Authentication → wget @1.19.4_2 breaks Digest Authentication |
Replying to jak574:
Offending change seems to have been made here:
changeset:126f8d18bf1c975c4f1dd32430c324bf770c3e4d/macports-ports
That change (to 1.19.4_1) should not have changed anything. It should merely have made explicit what was already happening.
The relevant change is probably the next one (to 1.19.4_2) which changed the ssl variant from using gnutls to using openssl:
changeset:886e416e16c99243c931d2a1de65cb7a2a413e71/macports-ports
To verify that that's the cause, you could try reinstalling the port with the newly-added gnutls variant and see if it works again:
sudo port install wget +gnutls
comment:4 Changed 7 years ago by jak574
I tried it with both +ssl and +gnutls and digest authentication doesn't work either way with the 1.19.4_2 portfile. Both versions error out with "Unknown authentication scheme".
The git check-in I pointed to above specifically adds the following line to the configuration:
--disable-digest
Unsurprisingly, that disables digest authentication support. The old portfile didn't have that and digest worked. I modified the port file to change this line to
--enable-digest
it fixed the issue.
So rather than making explicit what was already happening, I believe that the update to the port file is explicitly turning off features that would otherwise have been on by default.
I've been using wget in a production system with MacPorts for about 10 years in this configuration. The upgrade to 1.19.4_2 broke that system.
comment:5 Changed 7 years ago by jak574
I just took a quick look at the wget configure file. --disable-digest is considered an "Optional Feature". I.e. if you don't specifically add it to the configure command, then digest is enabled by default.
comment:6 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Ok, thanks for checking. The intention of the first commit was to make explicit what was already happening implicitly. Looks like we inadvertently turned off an option that we didn't know was on by default. We should turn it back on.
Looking closer at that commit, and at the difference in configure output before and after the change, I see that the following features which were on before are now off:
:info:configure Digest: no :info:configure NTLM: no :info:configure OPIE: no :info:configure POSIX xattr: no :info:configure Debugging: no
I think we should turn them all on again. Jan?
comment:8 Changed 7 years ago by janstary (Jan Starý)
If people are using them, we surely should. Fixed in https://github.com/macports/macports-ports/pull/1440
comment:9 Changed 7 years ago by janstary (Jan Starý)
NTLM is Windows NT Lan Manager https://en.wikipedia.org/wiki/NT_LAN_Manager - do we want that too?
comment:10 Changed 7 years ago by pmetzger (Perry E. Metzger)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I merged Jan's pull request.
Offending change seems to have been made here:
changeset:126f8d18bf1c975c4f1dd32430c324bf770c3e4d/macports-ports