summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog3
-rw-r--r--doc/apt.conf.5.xml7
-rw-r--r--doc/examples/configure-index3
-rw-r--r--methods/http.cc3
-rw-r--r--methods/https.cc5
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);