?(+([!@])@) is not very smart for something:something@ but i guess it is enough ?
( tabulation should be present below ) Index: ./distrib/miniroot/install.sub =================================================================== RCS file: /cvs/src/distrib/miniroot/install.sub,v retrieving revision 1.1154 diff -u -p -r1.1154 install.sub --- ./distrib/miniroot/install.sub 26 May 2020 16:21:00 -0000 1.1154 +++ ./distrib/miniroot/install.sub 13 Jul 2020 18:26:42 -0000 @@ -1775,7 +1775,7 @@ install_http() { HTTP_SERVER=${1%%/*} # Repeat loop to get user to confirm server address. ;; - ?(http?(s)://)+([A-Za-z0-9:.\[\]_-])) + ?(http?(s)://)?(+([!@])@)+([A-Za-z0-9:.\[\]_-])) case $resp in https://*) _tls=force _http_proto=https;; http://*) _tls=no _http_proto=http;; --