aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/fetch
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/fetch')
-rw-r--r--usr.bin/fetch/fetch.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c
index 65ba091e3334..73ee96541859 100644
--- a/usr.bin/fetch/fetch.c
+++ b/usr.bin/fetch/fetch.c
@@ -1200,17 +1200,18 @@ main(int argc, char *argv[])
if (e) {
r = 1;
if ((fetchLastErrCode
+ && fetchLastErrCode != FETCH_AUTH
&& fetchLastErrCode != FETCH_UNAVAIL
&& fetchLastErrCode != FETCH_MOVED
&& fetchLastErrCode != FETCH_URL
&& fetchLastErrCode != FETCH_RESOLV
&& fetchLastErrCode != FETCH_UNKNOWN
- && (is_http
- && fetchLastErrCode != FETCH_PROTO
+ && (!is_http || (
+ fetchLastErrCode != FETCH_PROTO
&& fetchLastErrCode != FETCH_SERVER
&& fetchLastErrCode != FETCH_TEMP
&& fetchLastErrCode != FETCH_TIMEOUT
- ))) {
+ )))) {
if (w_secs && v_level)
fprintf(stderr, "Waiting %ld seconds "
"before retrying\n", w_secs);