diff --git a/src/ChangeLog b/src/ChangeLog index c57476f7..d5b9f71b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2005-06-25 Hrvoje Niksic + + * http.c (http_loop): Don't warn about wildcards in HTTP URLs if + globbing isn't requested in the first place. + + * retr.c (retrieve_url): Temporarily turn off globbing when + processing HTTP->FTP redirects. + 2005-06-25 Hrvoje Niksic * utils.c (with_thousand_seps_sum): Now defined only if diff --git a/src/http.c b/src/http.c index 36a8e9fb..295475d4 100644 --- a/src/http.c +++ b/src/http.c @@ -1996,7 +1996,7 @@ http_loop (struct url *u, char **newloc, char **local_file, const char *referer, *newloc = NULL; /* Warn on (likely bogus) wildcard usage in HTTP. */ - if (has_wildcards_p (u->path)) + if (opt.ftp_glob && has_wildcards_p (u->path)) logputs (LOG_VERBOSE, _("Warning: wildcards not supported in HTTP.\n")); xzero (hstat); diff --git a/src/retr.c b/src/retr.c index 0285a57a..6fed26a1 100644 --- a/src/retr.c +++ b/src/retr.c @@ -660,14 +660,16 @@ retrieve_url (const char *origurl, char **file, char **newloc, } else if (u->scheme == SCHEME_FTP) { - /* If this is a redirection, we must not allow recursive FTP - retrieval, so we save recursion to oldrec, and restore it - later. */ - bool oldrec = opt.recursive; + /* If this is a redirection, temporarily turn off opt.ftp_glob + and opt.recursive, both being undesirable when following + redirects. */ + bool oldrec = opt.recursive, oldglob = opt.ftp_glob; if (redirection_count) - opt.recursive = false; + opt.recursive = opt.ftp_glob = false; + result = ftp_loop (u, dt, proxy_url); opt.recursive = oldrec; + opt.ftp_glob = oldglob; /* There is a possibility of having HTTP being redirected to FTP. In these cases we must decide whether the text is HTML