diff options
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | doc/apt.conf.5.xml | 7 | ||||
-rw-r--r-- | doc/examples/configure-index | 3 | ||||
-rw-r--r-- | methods/http.cc | 3 | ||||
-rw-r--r-- | methods/https.cc | 5 |
5 files changed, 18 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog index 51f6cdfa1..ed67aaac2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -63,6 +63,9 @@ apt (0.7.25) UNRELEASED; urgency=low * cmdline/apt-mark: - print an error if a new state file can't be created, thanks Carl Chenet! (Closes: #521289) + * methods/http{,s}.cc + - add config setting for User-Agent to the Acquire group, + thanks Timothy J. Miller! (Closes: #355782) [ Chris Leick ] * doc/ various manpages: diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml index e2db9defb..726bca2cc 100644 --- a/doc/apt.conf.5.xml +++ b/doc/apt.conf.5.xml @@ -275,7 +275,12 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; <para>The used bandwidth can be limited with <literal>Acquire::http::Dl-Limit</literal> which accepts integer values in kilobyte. The default value is 0 which deactivates the limit and tries uses as much as possible of the bandwidth (Note that this option implicit - deactivates the download from multiple servers at the same time.)</para></listitem> + deactivates the download from multiple servers at the same time.)</para> + + <para><literal>Acquire::http::User-Agent</literal> can be used to set a different + User-Agent for the http download method as some proxies allow access for clients + only if the client uses a known identifier.</para> + </listitem> </varlistentry> <varlistentry><term>https</term> diff --git a/doc/examples/configure-index b/doc/examples/configure-index index 27118fb7e..16e864d89 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -191,6 +191,7 @@ Acquire Max-Age "86400"; // 1 Day age on index files No-Store "false"; // Prevent the cache from storing archives Dl-Limit "7"; // 7Kb/sec maximum download rate + User-Agent "Debian APT-HTTP/1.3"; }; // HTTPS method configuration: @@ -204,6 +205,8 @@ Acquire CaPath "/etc/ssl/certs"; Verify-Host" "true"; AllowRedirect "true"; + + User-Agent "Debian APT-CURL/1.0"; }; ftp diff --git a/methods/http.cc b/methods/http.cc index 461a98406..8fcff0b5d 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -728,7 +728,8 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out) Req += string("Authorization: Basic ") + Base64Encode(Uri.User + ":" + Uri.Password) + "\r\n"; - Req += "User-Agent: Debian APT-HTTP/1.3 ("VERSION")\r\n\r\n"; + Req += "User-Agent: " + _config->Find("Acquire::http::User-Agent", + "Debian APT-HTTP/1.3 ("VERSION")") + "\r\n\r\n"; if (Debug == true) cerr << Req << endl; diff --git a/methods/https.cc b/methods/https.cc index 79e6fea3f..e8d7bb5c6 100644 --- a/methods/https.cc +++ b/methods/https.cc @@ -209,7 +209,10 @@ bool HttpsMethod::Fetch(FetchItem *Itm) curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, dlLimit); // set header - curl_easy_setopt(curl, CURLOPT_USERAGENT,"Debian APT-CURL/1.0 ("VERSION")"); + curl_easy_setopt(curl, CURLOPT_USERAGENT, + _config->Find("Acquire::https::User-Agent", + _config->Find("Acquire::http::User-Agent", + "Debian APT-CURL/1.0 ("VERSION")"))); // set timeout int timeout = _config->FindI("Acquire::http::Timeout",120); |